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. Functions copied from sn CRAN library
v0.4.18 because they were later deprecated in that library.
Arguments
- 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. IfXis supplied, then it must include a column of 1's.- y
a matrix (for
mst.mle) or a vector (forst.mle). Ifyis a matrix, rows refer to observations, and columns to components of the multivariate distribution.- freq
a vector of weights. If missing, a vector of 1's is created; otherwise it must have length equal to the number of rows of
y.- start
for
mst.mle, a list contaning the componentsbeta,Omega,alpha,dfof the type described below; forst.mle, a vector whose components contain analogous ingredients as before, with the exception that the scale parameter is the square root ofOmega. In both cases, thedpcomponent of the returned list from a previous call has the required format and it can be used as a newstart. If thestartparameter is missing, initial values are selected by the function.- fixed.df
a scalar value containing the degrees of freedom (df), if these must be taked as fixed, or
NA(default value) ifdfis a parameter to be estimated.- trace
logical value which controls printing of the algorithm convergence. If
trace=TRUE, details are printed. Default value isFALSE.- algorithm
a character string which selects the numerical optimization procedure used to maximize the loglikelihood function. If this string is set equal to
"nlminb", then this function is called; in all other cases,optimis called, withmethodset equal to the given string. Default value is"nlminb".- control
this parameter is passed to the chose optimizer, either
nlminboroptim; see the documentation of this function for its usage.
Value
A list containing the following components:
- call
a string containing the calling statement.
- dp
for
mst.mle, this is a list containing the direct parametersbeta,Omega,alpha. Here,betais a matrix of regression coefficients withdim(beta)=c(ncol(X),ncol(y)),Omegais a covariance matrix of orderncol(y),alphais a vector of shape parameters of lengthncol(y). Forst.mle,dpis a vector of lengthncol(X)+3, containingc(beta, omega, alpha, df), whereomegais the square root ofOmega.- se
a list containing the components
beta,alpha,info. Here,betaandalphaare the standard errors for the corresponding point estimates;infois the observed information matrix for the working parameter, as explained below.- algorithm
the list returned by the chose optimizer, either
nlminboroptim, plus an item with thenameof the selected algorithm; see the documentation of eithernlminboroptimfor explanation of the other components.
Details
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 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.
likelihood estimation, use st.mle.grouped.
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).
Background
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.
References
Azzalini, A. and Capitanio, A. (2003). Distributions generated by perturbation of symmetry with emphasis on a multivariate skew t distribution. The full version of the paper published in abriged form in J.Roy. Statist. Soc. B 65, 367–389, is available at http://azzalini.stat.unipd.it/SN/se-ext.ps
Examples
dat <- rt(100, df=5, ncp=100)
fit <- st.mle(y=dat)
fit
#> $call
#> st.mle(y = dat)
#>
#> $dp
#> location scale shape df
#> 69.507859 57.744264 14.520298 5.980555
#>
#> $se
#> scale dat
#> 2.060842 8.046592 6.243089 3.892236
#>
#> $logL
#> [1] -500.9718
#>
#> $algorithm
#> $algorithm$par
#> location shape
#> 69.5078594 4.0560240 0.2514587 1.7885133
#>
#> $algorithm$objective
#> [1] 1001.944
#>
#> $algorithm$convergence
#> [1] 0
#>
#> $algorithm$iterations
#> [1] 14
#>
#> $algorithm$evaluations
#> function gradient
#> 24 15
#>
#> $algorithm$message
#> [1] "relative convergence (4)"
#>
#> $algorithm$value
#> [1] 1001.944
#>
#> $algorithm$name
#> [1] "nlminb"
#>
#>