mst.mle(X, y, freq, start, fixed.df=NA, trace=FALSE,
algorithm = c("nlminb","Nelder-Mead", "BFGS", "CG", "SANN"), control=list())
st.mle(X, y, freq, start, fixed.df=NA, trace=FALSE,
algorithm = c("nlminb","Nelder-Mead", "BFGS", "CG", "SANN"), control=list())
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.y
.
If X
is supplied, then it must include a column of 1's.y
.mst.mle
, a list contaning the components
beta
,Omega
, alpha
,
df
of the type described below; for st.mle
, a vector whose
components contain analogous ingredients as before,NA
(default value) if df
is a parameter
to be estimated.trace=TRUE
, details are printed. Default value is FALSE
."nlminb"
, then this function is called; in all other cases,
optim
is called, withnlminb
or optim
; see the documentation of this function for its usage.mst.mle
, this is a list containing the direct parameters
beta
, Omega
, alpha
.
Here, beta
is a matrix of regression coefficients with
dim(beta)=c(ncol(X),ncol(y))
, Omega
is a covariance matrix
of order ncol(y)
, alpha
is a vector of shape parameters of
length ncol(y)
. For st.mle
, dp
is a vector of
length ncol(X)+3
, containing c(beta, omega, alpha, df)
, where
omega
is the square root of Omega
.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.nlminb
or optim
, plus an item with the name
of the selected
algorithm; see the documentation of either nlminb
or optim
for explanation of the other components.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.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 also 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.
Numerical search of the maximum likelihood estimates is performed in a
suitable re-parameterization of the original parameters with aid of the
selected optimizer (nlminb
or optim
) which is supplied
with the derivatives of the log-likelihood function. Notice that, in
case the optimizer is optim
), the gradient may or may not be
used, depending on which specific method has been selected. On exit
from the optimizer, an inverse transformation of the parameters is
performed. For a specific description on the re-parametrization adopted,
see Section 5.1 and Appendix B of Azzalini & Capitanio (2003).
dmst
,msn.mle
,mst.fit
,
nlminb
, optim
data(ais, package="sn")
attach(ais)
X.mat <- model.matrix(~lbm+sex)
b <- sn.mle(X.mat, 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)
Run the code above in your browser using DataLab