spEMsymloc: Semiparametric EM-like Algorithm for univariate symmetric...

Description Usage Arguments Value References See Also Examples

View source: R/spEMsymloc.R

Description

Returns semiparametric EM algorithm output (Bordes et al, 2007, and Benaglia et al, 2009) for location mixtures of univariate data and symmetric component density.

Usage

1
2
spEMsymloc(x, mu0, bw = bw.nrd0(x), h=bw, eps = 1e-8, maxiter = 100, 
           stochastic = FALSE, verbose = FALSE)

Arguments

x

A vector of length n consisting of the data.

mu0

Either a vector specifying the initial centers for the kmeans function, and from which the number of component is obtained, or an integer m specifying the number of initial centers, which are then choosen randomly in kmeans.

bw

Bandwidth for density estimation, equal to the standard deviation of the kernel density.

h

Alternative way to specify the bandwidth, to provide backward compatibility.

eps

Tolerance limit for declaring algorithm convergence. Convergence is declared before maxiter iterations whenever the maximum change in any coordinate of the lambda (mixing proportion estimates) and mu (means) vector does not exceed eps.

maxiter

The maximum number of iterations allowed, for both stochastic and non-stochastic versions; for non-stochastic algorithms (stochastic = FALSE), convergence may be declared before maxiter iterations (see eps above).

stochastic

Flag, if FALSE (the default), runs the non-stochastic version of the algorithm, as in Benaglia et al (2009). Set to TRUE to run a stochastic version which simulates the posteriors at each iteration (as in Bordes et al, 2007), and runs for maxiter iterations.

verbose

If TRUE, print updates for every iteration of the algorithm as it runs

Value

spEMsymloc returns a list of class npEM with the following items:

data

The raw data (an n x r matrix).

posteriors

An n x m matrix of posterior probabilities for observations. If stochastic = TRUE, this matrix is computed from an average over the maxiter iterations.

bandwidth

Same as the bw input argument, returned because this information is needed by any method that produces density estimates from the output.

lambda

The sequence of mixing proportions over iterations.

lambdahat

The final estimate for mixing proportions if stochastic = FALSE, the average over the sequence if stochastic = TRUE.

mu

the sequence of component means over iterations.

muhat

the final estimate of component means if stochastic = FALSE, the average over the sequence if stochastic = TRUE.

symmetric

Flag indicating that the kernel density estimate is using a symmetry assumption.

References

See Also

plot.npEM, rnormmix, npEM, spEMsymlocN01, plotseq.npEM

Examples

1
2
3
4
5
6
7
8
## Example from a normal location mixture
set.seed(100)
n <- 200
lambda <- c(1/3,2/3)
mu <- c(0, 4); sigma<-rep(1, 2)
x <- rnormmix(n, lambda, mu, sigma)
out.stoc <- spEMsymloc(x, mu0=c(-1, 2), stochastic=TRUE)
out.nonstoc <- spEMsymloc(x, mu0=c(-1, 2))

Example output

mixtools package, version 1.1.0, Released 2017-03-10
This package is based upon work supported by the National Science Foundation under Grant No. SES-0518772.

mixtools documentation built on Feb. 7, 2020, 5:12 p.m.