Maximum likelihood estimation for multivariate skew-normal distribution

Usage

msn_mle(X, y, freq, start, traceout, iter_max, x_tol)

Arguments

y a matrix or a vector. In y is a matrix, rows refer to observations, and columns to components of the multivariate distribution. In y is a vector, it is converted to a one-column matrix, and a scalar skew-normal distribution is fitted.
X a matrix of covariate values. If missing, a one-column matrix of 1's is created; otherwise, it must have the same number of rows of y.
freq a vector of weights. If missing, a one-column matrix of 1's is created; otherwise it must have the same number of rows of y.
start a list contaning the components beta,Omega, alpha, of the type described below. The dp component of the returned list from a previous call has the required format.
traceout logical value which controls printing of the algorithm convergence. If traceout=1, details are printed. Default value is 0.
iter_max maximum number of iterations of the optimisation routine. Default is 150.
x_tol tolerance (default is 1e-8).

Description

Fits a multivariate skew-normal (MSN) distribution to data, or fits a linear regression model with multivariate skew-normal errors, using maximum likelihood estimation.

Details

The parameter freq is intended for use with grouped data, setting the values of y equal to the central values of the cells; in this case the resulting estimate is an approximation to the exact maximum likelihood estimate. If freq is not set, exact maximum likelihood estimation is performed.

The working parameter used in the maximization stage is c(beta,alpha/omega), since a profile deviance (-2*log-likelihood) for this parameter is actually used; see Azzalini and Capitanio (1998) for details. The optimizer routine is called, supplying the gradient of the profile deviance. PP Although the function accepts a vector y as input, the use of sn.mle is recommended in the scalar case.

Value

a list containing the following components:

dp a list containing the direct parameters beta, Omega, alpha. Here, beta is a matrix of regression coefficients with size(beta)=[size(X,1),size(y,2)), Omega is a covariance matrix of order size(y,2), alpha is a vector of shape parameters of length size(y,2).
se a list containing the components beta, alpha, info. Here, beta and alpha are the standard errors for the corresponding point estimates; info is the observed information matrix for the working parameter, as explained below.
options messages from the optimisation routine; see the documentation of foptions for explanation of its components.

BACKGROUND

The multivariate skew-normal distribution is discussed by Azzalini and Dalla Valle (1996); the (Omega,alpha) parametrization adopted here is the one of Azzalini and Capitanio (1998).

References

Azzalini, A. and Dalla Valle, A. (1996). The multivariate skew-normal distribution. Biometrika 83, 715-726.

Azzalini, A. and Capitanio, A. (1999). Statistical applications of the multivariate skew-normal distribution. J.Roy.Statist.Soc. B 61, part 3.

See Also

dmsn, sn_mle, msn_fit, foptions

Examples

# a simple case
b = msn_mle(NaN,[lbm,bmi,ssf])
#
# a regressione case
a = msn_mle([ones(length)lbm),1),lbm], bmi, NaN, NaN, NaN, NaN,1e-6)
#
# refine the previous outcome
a1 = msn.mle([ones(length)lbm),1),lbm], bmi, NaN, a_dp, NaN, NaN,1e-9)


[Package Contents]