DMOEM {DOEM}R Documentation

The DMOEM is an overrelaxation algorithm in distributed manner, which is used to solve the parameter estimation of Poisson mixture model.

Description

The DMOEM is an overrelaxation algorithm in distributed manner, which is used to solve the parameter estimation of Poisson mixture model.

Usage

DMOEM(
  y,
  M,
  K,
  seed,
  alpha0,
  lambda0,
  MOEMalpha0,
  MOEMlambda0,
  omega,
  T,
  epsilon
)

Arguments

y

is a data matrix

M

is the number of subsets

K

is the number of Poisson distribution

seed

is the recommended way to specify seeds

alpha0

is the initial value of the mixing weight under the EM algorithm

lambda0

is the initial value of the mean under the EM algorithm

MOEMalpha0

is the initial value of the mixing weight under the monotonically overrelaxed EM algorithm

MOEMlambda0

is the initial value of the mean under the monotonically overrelaxed EM algorithm

omega

is the overrelaxation factor

T

is the number of iterations

epsilon

is the threshold value

Value

DMOEMtime,DMOEMalpha,DMOEMlambda

Examples

library(stats)
set.seed(637351)
K=5 
alpha1=c(rep(1/K,K)) 
lambda1=c(1,2,3,4,5) 
n=300 
U=sample(c(1:n),n,replace=FALSE)
y= c(rep(0,n)) 
for(i in 1:n){
if(U[i]<=0.2*n){
y[i] = rpois(1,lambda1[1])} 
else if(U[i]>0.2*n & U[i]<=0.4*n){
y[i] = rpois(1,lambda1[2])} 
else if(U[i]>0.4*n & U[i]<=0.6*n){
y[i] = rpois(1,lambda1[3])} 
else if(U[i]>0.6*n & U[i]<=0.8*n){
y[i] = rpois(1,lambda1[4])}
else if(U[i]>0.8*n ){
y[i] = rpois(1,lambda1[5])} 
}
M=5
seed=637351
set.seed(123) 
e=sample(c(1:n),K)
alpha0= MOEMalpha0=e/sum(e)
lambda0= MOEMlambda0=c(1.5,2.5,3.5,4.5,5.5)
omega=0.8
T=10
epsilon=0.005
DMOEM(y,M,K,seed,alpha0,lambda0,MOEMalpha0,MOEMlambda0,omega,T,epsilon)

[Package DOEM version 0.0.0.1 Index]