update_s | R Documentation |
This function updates the class weight vector by drawing from its posterior distribution.
update_s(delta, m)
delta |
A numeric for the concentration parameter vector |
m |
The vector of current class frequencies. |
Let m=(m_1,\dots,m_C)
be the frequencies of C
classes.
Given the class weight (probability) vector s=(s_1,\dots,s_C)
, the distribution
of m
is multinomial and its likelihood is
L(m\mid s) \propto \prod_{i=1}^C s_i^{m_i}.
The conjugate prior p(s)
for s
is a Dirichlet distribution, which has a density function
proportional to
\prod_{i=1}^C s_i^{\delta_i-1},
where \delta = (\delta_1,\dots,\delta_C)
is the concentration parameter vector.
Note that in {RprobitB}
, \delta_1=\dots=\delta_C
. This restriction is necessary because the class number C
can change.
The posterior distribution of s
is proportional to
p(s) L(m\mid s) \propto \prod_{i=1}^C s_i^{\delta_i + m_i - 1},
which in turn is proportional to a Dirichlet distribution with parameters \delta+m
.
A vector, a draw from the Dirichlet posterior distribution for s
.
### number of classes
C <- 4
### current class sizes
m <- sample.int(C)
### concentration parameter for Dirichlet prior (single-valued)
delta <- 1
### updated class weight vector
update_s(delta = 1, m = m)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.