MLE_NiW_mmEM {NPflow} | R Documentation |
EM MLE for mixture of NiW
Description
Maximum likelihood estimation of mixture of Normal inverse Wishart distributed observations with an EM algorithm
Usage
MLE_NiW_mmEM(
mu_list,
S_list,
hyperG0,
K,
maxit = 100,
tol = 0.1,
doPlot = TRUE
)
Arguments
mu_list |
a list of length |
S_list |
a list of length |
hyperG0 |
prior mixing distribution used for randomly initializing the algorithm. |
K |
integer giving the number of mixture components. |
maxit |
integer giving the maximum number of iteration for the EM algorithm.
Default is |
tol |
real number giving the tolerance for the stopping of the EM algorithm.
Default is |
doPlot |
a logical flag indicating whether the algorithm progression should be plotted. Default is |
Examples
set.seed(123)
U_mu <- list()
U_Sigma <- list()
U_nu<-list()
U_kappa<-list()
d <- 2
hyperG0 <- list()
hyperG0[["mu"]] <- rep(1,d)
hyperG0[["kappa"]] <- 0.01
hyperG0[["nu"]] <- d+1
hyperG0[["lambda"]] <- diag(d)
for(k in 1:200){
NiW <- rNiW(hyperG0, diagVar=FALSE)
U_mu[[k]] <-NiW[["mu"]]
U_Sigma[[k]] <-NiW[["S"]]
}
hyperG02 <- list()
hyperG02[["mu"]] <- rep(2,d)
hyperG02[["kappa"]] <- 1
hyperG02[["nu"]] <- d+10
hyperG02[["lambda"]] <- diag(d)/10
for(k in 201:400){
NiW <- rNiW(hyperG02, diagVar=FALSE)
U_mu[[k]] <-NiW[["mu"]]
U_Sigma[[k]] <-NiW[["S"]]
}
mle <- MLE_NiW_mmEM( U_mu, U_Sigma, hyperG0, K=2)
hyperG0[["mu"]]
hyperG02[["mu"]]
mle$U_mu
hyperG0[["lambda"]]
hyperG02[["lambda"]]
mle$U_lambda
hyperG0[["nu"]]
hyperG02[["nu"]]
mle$U_nu
hyperG0[["kappa"]]
hyperG02[["kappa"]]
mle$U_kappa
[Package NPflow version 0.13.5 Index]