mst.mle {sn} | R Documentation |
Fits a skew-t (ST) or multivariate skew-t (MST) distribution to data, or fits a linear regression model with (multivariate) skew-t errors, using maximum likelihood estimation.
mst.mle(X, y, freq, start=NA, fixed.df=NA, trace=FALSE, method="BFGS", control=list(iter.max=150, x.tol=1e-8) ) st.mle(X, y, freq, start=NA, fixed.df=NA, trace=FALSE, method="BFGS", control=list(iter.max=150, x.tol=1e-8) )
y |
a matrix (for mst.mle ) or a vector (for st.mle ).
If y is a matrix, rows refer to observations, and columns to
components of the multivariate distribution.
|
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 .
If X is supplied, then it must include a column of 1's.
|
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 ,
df of the type described below. The dp component of the returned
list from a previous call has the required format and it can be used as a new
start .
|
fixed.df |
a scalar value containing the degrees of freedom (df), if these must
be taked as fixed, or NA (deafult value) if df is a parameter
to be estimated.
|
trace |
logical value which controls printing of the algorithm convergence.
If trace=TRUE , details are printed. Default value is FALSE .
|
method |
this parameter is just passed to the optimizer optim ;
see the documentation of this function for its usage. Default value is
"BFGS" .
|
control |
this parameter is passed to the optimizer optim ;
see the documentation of this function for its usage.
|
If y
is a vector and it is supplied to mst.mle
, then
it is converted to a one-column matrix, and a scalar skew-t
distribution is fitted. This is the mechanism used by st.mle
which is simply an interface to mst.mle
.
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.
A list containing the following components:
call |
a string containing the calling statement. |
dp |
a list containing the direct parameters beta , Omega , alpha .
Here, beta is a matrix of regression coefficients with
dim(beta)=c(nrow(X),ncol(y)) , Omega is a covariance matrix of
order ncol(y) , alpha is a vector of shape parameters of length
ncol(y) .
Notice that, if st.mle was called or equivalently mst.mle
was called with y a vector, then Omega represents the
square of the scale parameter.
|
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.
|
optim |
the list returned by the optimizer optim ; see the documentation
of this function for explanation of its components.
|
The family of multivariate skew-t distributions is an extension of the
multivariate Student's t family, via the introduction of a shape
parameter which regulates skewness; when shape=0
, the skew-t
distribution reduces to the usual t distribution.
When df=Inf
the distribution reduces to the multivariate skew-normal
one; see dmsn
. See the reference below for additional information.
Azzalini, A. and Capitanio, A. (2002). Distributions generated by perturbation of symmetry with emphasis on a multivariate skew t distribution. Submitted to J.Roy. Statist. Soc.
data(ais,package=sn) attach(ais) M <- model.matrix(~lbm+sex) b <- sn.mle(M, bmi) # b <- mst.mle(y=cbind(Ht,Wt)) # # a multivariate regression case: a <- mst.mle(X=cbind(1,Ht,Wt), y=bmi, control=list(x.tol=1e-6)) # # refine the previous outcome a1 <- mst.mle(X=cbind(1,Ht,Wt), y=bmi, control=list(x.tol=1e-9), start=a$dp)