Learn R Programming

mixSSG (version 2.1.1)

fitmssg: Computing the maximum likelihood estimator for the mixtures of skewed sub-Gaussian stable distributions using the EM algorithm.

Description

Each \(d\)-dimensional skewed sub-Gaussian stable (SSG) random vector \(\bf{Y}\), admits the representation given by Teimouri (2022): $$ {\bf{Y}} \mathop=\limits^d {\boldsymbol{\mu}}+\sqrt{P}{\boldsymbol{\lambda}}\vert{Z}_0\vert + \sqrt{P}{\Sigma}^{\frac{1}{2}}{\bf{Z}}_1, $$ where \(\boldsymbol{\mu}\) (location vector in \({{{R}}}^{d}\), \(\boldsymbol{\lambda}\) (skewness vector in \({{{R}}}^{d}\)), \(\Sigma\) (positive definite symmetric dispersion matrix), and \(0<\alpha \leq 2\) (tail thickness) are model parameters. Furthermore, \(P\) is a positive stable random variable, \({Z}_0\sim N({0},1)\), and \(\bf{Z}_1\sim N_{d}\bigl({\bf{0}}, \Sigma\bigr)\). We note that \(Z\), \(Z_0\), and \(\boldsymbol{Z}_1\) are mutually independent.

Usage

fitmssg(Y, K, eps = 0.15, initial = "FALSE", method = "moment", starts = starts)

Value

a list of estimated parameters corresponding to \(K\) clusters, predicted labels for clusters, the log-likelihood value across iterations, the Bayesian information criterion (BIC), and the Akaike information criterion (AIC).

Arguments

Y

an \(n\times d\) matrix of observations.

K

number of component.

eps

threshold value for stopping EM algorithm. It is 0.15 by default. The algorithm can be implemented faster if eps is larger.

initial

logical statement. If initial = TRUE, then a list of the initial values must be given. Otherwise, it is determined by method.

method

either em or moment. If method = "moment", then the initial values are determined through the method of moment applied to each of \(K\) clusters that are obtained through the k-means method of Hartigan and Wong (1979). Otherwise, the initial values for each cluster are determined through the EM algorithm (Teimouri et al., 2018) developed for sub-Gaussian stable distributions applied to each of \(K\) clusters.

starts

a list of initial values if initial="TRUE". The list contains a vector of length \(K\) of mixing (weight) parameters, a vector of length \(K\) of tail thickness parameters, \(K\) vectors of length of \(d\) of location parameters, \(K\) dispersion matrices, \(K\) vectors of length of \(d\) of skewness parameters, respectively.

Author

Mahdi Teimouri

References

M. Teimouri, 2022. Finite mixture of skewed sub-Gaussian stable distributions, arxiv.org/abs/2205.14067.

M. Teimouri, S. Rezakhah, and A. Mohammadpour, 2018. Parameter estimation using the EM algorithm for symmetric stable random variables and sub-Gaussian random vectors, Journal of Statistical Theory and Applications, 17(3), 439-41.

J. A. Hartigan, M. A. Wong, 1979. Algorithm as 136: A k-means clustering algorithm, Journal of the Royal Statistical Society. Series c (Applied Statistics), 28, 100-108.

Examples

Run this code
# \donttest{
data(bankruptcy)
out1<-fitmssg(bankruptcy[,2:3], K=2, eps = 0.15, initial="FALSE", method="moment", starts=starts)
n1 <- 100
n2 <- 50
omega1 <- n1/(n1 + n2)
omega2 <- n2/(n1 + n2)
alpha1 <- 1.6
alpha2 <- 1.6
mu1 <- c(-1, -1)
mu2 <- c(6, 6)
sigma1 <- matrix( c(2, 0.20, 0.20, 0.5), 2, 2 )
sigma2 <- matrix( c(0.4, 0.10, 0.10, 0.2  ), 2, 2 )
lambda1 <- c(5, 5)
lambda2 <- c(-5, -5)
Sigma <- array( NA, c(2, 2, 2) )
Sigma[, , 1] <- sigma1
Sigma[, , 2] <- sigma2
starts<-list( c(omega1,omega2), c(alpha1,alpha2), rbind(mu1,mu2), Sigma, rbind(lambda1,lambda2) )
Y <- rbind( rssg(n1 , alpha1, mu1, sigma1, lambda1),  rssg(n2, alpha2, mu2, sigma2, lambda2) )
out2<-fitmssg(Y, K=2, eps=0.15, initial="TRUE", method="moment", starts=starts)
# }

Run the code above in your browser using DataLab