DOEM1 {DEM}R Documentation

The DOEM1 algorithm is an online EM algorithm in distributed manner, which is used to solve the parameter estimation of multivariate Gaussian mixture model.

Description

The DOEM1 algorithm is an online EM algorithm in distributed manner, which is used to solve the parameter estimation of multivariate Gaussian mixture model.

Usage

DOEM1(y, M, seed, alpha0, mu0, sigma0, i, epsilon, a, b, c)

Arguments

y

is a data matrix

M

is the number of subsets

seed

is the recommended way to specify seeds

alpha0

is the initial value of the mixing weight

mu0

is the initial value of the mean

sigma0

is the initial value of the covariance

i

is the number of iterations

epsilon

is the threshold value

a

represents the power of the reciprocal of the step size

b

indicates that the M-step is not implemented for the first b data points

c

represents online iteration starting at 1/c of the total sample size

Value

DOEM1alpha,DOEM1mu,DOEM1sigma,DOEM1time

Examples

library(mvtnorm)
alpha1= c(rep(1/4,4)) 
mu1=matrix(0,nrow=4,ncol=4) 
for (k in 1:4){
mu1[4,]=c(runif(4,(k-1)*3,k*3)) 
}
sigma1=list()
for (k in 1:4){
sigma1[[k]]= diag(4)*0.1
}
y= matrix(0,nrow=200,ncol=4) 
for(k in 1:4){
y[c(((k-1)*200/4+1):(k*200/4)),] = rmvnorm(200/4,mu1[k,],sigma1[[k]]) 
}
M=2
seed=123
alpha0= alpha1
mu0=mu1
sigma0=sigma1
i=10
epsilon=0.005
a=1
b=10
c=2
DOEM1(y,M,seed,alpha0,mu0,sigma0,i,epsilon,a,b,c)

[Package DEM version 0.0.0.2 Index]