enorm_mix: Normal Mixture Estimation

View source: R/enorm_mix.R

Inferences Normal MixtureR Documentation

Normal Mixture Estimation

Description

Estimates parameters of a univariate Normal mixture with k-means clustering and EM-algorithm.

Usage

enorm_mix(data, g, lim.em = 100, criteria = "dif.psi", epsilon = 1e-05, 
          plot.it = TRUE, empirical = FALSE, col.estimated = "orange", 
          col.empirical = "navy", ...)

Arguments

data

vector containing the sample, or list obtained with rnorm_mix.

g

number of components in the mixture.

lim.em

limit of EM Iterations.

criteria

the stop criteria to be used, could be "dif.psi" to calculate differences on parameters matrix or "dif.lh" to calculate differences on Likelihood function.

epsilon

minimal difference value to algorithm stops.

plot.it

logical, TRUE to plot the histogram with estimated distribution curve.

empirical

logical, TRUE to add the empirical curve ("Kernel Density Estimation") in the plot.

col.estimated

a colour to be used in the curve of estimated density.

col.empirical

a colour to be used in the curve of empirical density.

...

further arguments and graphical parameters passed to hist.

Author(s)

CASTRO, M. O.; MONTALVO, G. S. A.

Examples

## Generate a sample.
data = rnorm_mix(n = 1000, pi = c(0.6, 0.4), mean = c(10, 18), sd = c(1, 2))

## And now, estimate the parameters, using the 'data' list.
enorm_mix(data, g = 2)

## Or using the sample vector.
enorm_mix(data$sample, g = 2)

## Using the diference in the log-likelihood as stop criteria.
enorm_mix(data, g = 2, criteria = "dif.lh")

## Not plotting the graphic.
enorm_mix(data, g = 2, plot.it = FALSE)

## Adding the empirical curve to the graphic.
enorm_mix(data, g = 2, empirical = TRUE)

## Changing the color of the curves.
enorm_mix(data, g = 2, empirical = TRUE, col.estimated = "pink", col.empirical = "red3")

## Using "..."
enorm_mix(data, g = 2, empirical = TRUE, col.estimated = "pink", col.empirical = "red3",
          breaks = 300)

matheuscastro43/finiteMix documentation built on March 30, 2022, 12:49 p.m.