mixalg.EM {CAMAN}R Documentation

EM algorithm

Description

In the fixed support size case the number of components k is assumed to be known. Here the unknown parameters are the mixing weights p[j] and the parameters lambda[j] of the subpopulation.

Estimation of these models' parameters is usually achieved by application of the EM algorithm.

Usage

mixalg.EM (mix = NULL, p, t, obs = NULL, weights = NULL, family = "gaussian", 
    data = NULL, pop.at.risk = NULL, var.lnOR = NULL, limit = 0.01, 
    acc = 10^(-7), numiter = 5000)    

Arguments

mix

A CAMAN-object which quantifies a finite mixture model and the input data.

p

vector containing the starting values for p

t

vector containing the starting values for the distribution specific parameters (poisson->\lambda, gaussian-> \mu)

obs

observed / dependent variable. Vector or colname of data. Must be specified!

weights

weights of the data. Vector or colname of data. Default is NULL.

family

the underlying type density function as a character ("gaussian", "poisson" or "binomial")!

data

an optional data frame. obs, weights, pop.at.risk and var.lnOR can be specified as column name of the data frame.

pop.at.risk

population at risk: These data could be used to determine a mixture model for Poisson data. Vector or colname of data. Default isNULL.

var.lnOR

variances of the data: These variances might be given when working with meta analyses! Vector or colname of data. Default is NULL.

limit

parameter to control the limit of union several components. Default is 0.01.

acc

convergence criterion. VEM and EM loops stop when deltaLL<acc. Default is 10^(-7).

numiter

parameter to control the maximal number of iterations in the VEM and EM loops. Default is 5000.

Value

The function returns a CAMAN.object object, thus the same as mixalg!

Author(s)

Peter Schlattmann and Johannes Hoehne

Examples

data(vitA)
m1<-mixalg.EM(obs="logrr",var.lnOR="var" ,family="gaussian",
              p=c(1),t=c(0),data=vitA)
m2<-mixalg.EM(obs="logrr",var.lnOR="var" ,family="gaussian",
              p=c(0.5,0.5),t=c(-0.3,0.2),data=vitA)

# apply EM-algorithm on an existing CAMAN.object: 
data(thai_cohort)
mix0 <- mixalg(obs="counts", weights="frequency", family="poisson", 
               data=thai_cohort, numiter=18000, acc=0.00001,startk=25)
em0<-mixalg.EM(mix0,p=c(1),t=c(1))
em1<-mixalg.EM(mix0,p=c(0.7,0.3),t=c(2,9))


[Package CAMAN version 0.78 Index]