One E-Step {pmclust} | R Documentation |
This function will perform one E-step based on current parameters.
This is a core function of em.onestep
.
e.step.dmat
is a ddmatrix
version of e.step
.
e.step(PARAM, update.logL = TRUE) e.step.dmat(PARAM, update.logL = TRUE)
PARAM |
a set of parameters. |
update.logL |
TRUE for update observed data log likelihood. |
This function will base on the current parameter to
compute the densities for all observations for all
K
components, and update the Z.spmd
matrix.
If the update.logL
is true, then the log likelihood
W.spmd.rowSums
will be also updated before the end
of this function.
Sum of W.spmd.rowSums
of all processors will be the
observed data log likelihood for the current iteration.
Several global variables will be overwrote after this call including
Z.spmd
, W.spmd.rowSums
,
W.spmd
, U.spmd
,
and Z.colSums
.
Since the clusters can be degenerated or highly flat, these cause very large positive or negative exponents in densities. The log likelihood will tend to be inaccurate (not finite). Since the mixture structures can be over fit, this also cause very tiny mixing proportions. The poster probabilities can also unstable (NaN).
These can be solved by rescaling the range of exponents carefully
and adjust the scaling factor on the log values.
See CONTROL
for details about constrains on E- and M-steps.
Wei-Chen Chen wccsnow@gmail.com and George Ostrouchov.
High Performance Statistical Computing (HPSC) Website: http://thirteen-01.stat.iastate.edu/snoweye/hpsc/
Programming with Big Data in R Website: http://r-pbd.org/
set.global
,
em.onestep
,
m.step
.
## Not run: # This is a core function for em.onestep() # see the source code for details. ## End(Not run)