Learn R Programming

sn (version 2.1.1)

sn-st.info: Expected and observed Fisher information for SN and ST distributions

Description

Computes Fisher information for parameters of simple sample having skew-normal (SN) or skew-\(t\) (ST) distribution or for a regression model with errors term having such distributions, in the DP and CP parametrizations.

Usage

sn.infoUv(dp=NULL, cp=NULL, x=NULL, y, w, penalty=NULL,  norm2.tol=1e-06) 
    
sn.infoMv(dp, x=NULL, y, w, penalty=NULL, norm2.tol=1e-06, at.MLE=TRUE)

st.infoUv(dp = NULL, cp = NULL, x = NULL, y, w, fixed.nu = NULL, symmetr = FALSE, penalty = NULL, norm2.tol = 1e-06)

st.infoMv(dp, x = NULL, y, w, fixed.nu = NULL, symmetr = FALSE, penalty = NULL, norm2.tol = 1e-06)

Value

a list containing the following components:

dp, cp

one of the two arguments is the one supplied on input; the other one matches the previous one in the alternative parametrization.

type

the type of information matrix: "observed" or "expected".

info.dp, info.cp

matrices of Fisher (observed or expected) information in the two parametrizations.

asyvar.dp, asyvar.cp

inverse matrices of Fisher information in the two parametrizations, when available; See ‘Details’ for additional information.

aux

a list containing auxiliary elements, depending of the selected function and the type of computation.

Arguments

dp, cp

direct or centred parameters, respectively; one of them can be a non-NULL argument. For the univariate SN distribution, sn.infoUv is to be used, and these arguments are vectors. In the multivariate case, sn.infoMv is to be used and these arguments are lists. See dp2cp for their description.

x

an optional matrix which represents the design matrix of a regression model

y

a numeric vector (for sn.infoUv and st.infoUv) or a matrix (for sn.infoMv and st.infoMv) representing the response. In the SN case ( sn.infoUv and sn.infoMv), y can be missing, and in this case the expected information matrix is computed; otherwise the observed information is computed. In the ST case (st.infoUv and st.infoMv), y is a required argument, since only the observed information matrix for ST distributions is implemented. See ‘Details’ for additional information.

w

an optional vector of weights (only meaningful for the observed information, hence if y is missing); if missing, a vector of 1's is generated.

fixed.nu

an optional numeric value which declares a fixed value of the degrees of freedom, nu. If not NULL, the information matrix has a dimension reduced by 1.

symmetr

a logical flag which indicates whether a symmetry condition of the distribution is being imposed; default is symmetr=FALSE.

penalty

a optional character string with the name of the penalty function used in the call to selm; see this function for its description.

norm2.tol

for the observed information case, the Mahalanobis squared distance of the score function from 0 is evaluated; if it exceeds norm2.tol, a warning message is issued, since the ‘information matrix’ so evaluated may be not positive-definite. See ‘Details’ for additional information.

at.MLE

a logical flag; if at.MLE=TRUE (default value), it generates a warning if the information matrix is not positive definite or an error if the observed information matrix is not evaluated at a maximum of the log-likelihood function.

Background

The information matrix for the the univariate SN distribution in the two stated parameterizations in discussed in Sections 3.1.3--4 of Azzalini and Capitanio (2014). For the multivariate distribution, Section 5.2.2 of this monograph summarizes briefly the findings of Arellano-Valle and Azzalini (2008).

For ST distributions, only the observed information matrix is provided, at the moment. Computation for the univariate case is based on DiCiccio and Monti (2011). For the multivariate case, the score function is computed using an expression of Arellano-Valle (2010) followed by numerical differentiation.

Details

In the univariate SN case, when x is not set, then a simple random sample is assumed and a matrix x with a single column of all 1's is constructed; in this case, the supplied vector dp or cp must have length 3. If x is set, then the supplied vector of parameters, dp or cp, must have length ncol(x)+2. In the multivariate case, a direct extension of this scheme applies.

If the observed information matrix is required, dp or cp should represent the maximum likelihood estimates (MLE) for the given y, otherwise the information matrix may fail to be positive-definite and it would be meaningless anyway. Therefore, the squared Mahalobis norm of the score vector is evaluated and compared with norm2.tol. If it exceeds this threshold, this is taken as an indication that the supplied parameter list is not at the MLE and a warning message is issued. The returned list still includes info.dp and info.cp, but in this case these represent merely the matrices of second derivatives; asyvar.dp and asyvar.cp are set to NULL.

References

Arellano-Valle, R. B. (2010). The information matrix of the multivariate skew-t distribution. Metron, LXVIII, 371--386.

Arellano-Valle, R. B., and Azzalini, A. (2008). The centred parametrization for the multivariate skew-normal distribution. J. Multiv. Anal. 99, 1362--1382. Corrigendum: 100 (2009), 816.

Azzalini, A. with the collaboration of Capitanio, A. (2014). The Skew-Normal and Related Families. Cambridge University Press, IMS Monographs series.

DiCiccio, T. J. and Monti, A. C. (2011). Inferential aspects of the skew \(t\)-distribution. Quaderni di Statistica 13, 1--21.

See Also

dsn, dmsn, dp2cp

Examples

Run this code
infoE <- sn.infoUv(dp=c(0,1,5))           # expected information
set.seed(1); rnd <- rsn(100, dp=c(0, 1, 3))
fit <- selm(rnd~1, family="SN")
infoO <- sn.infoUv(cp=coef(fit), y=rnd)   # observed information
#
data(wines)
X <- model.matrix(~ pH + wine, data=wines)
fit <- sn.mple(x=X, y=wines$alcohol)
infoE <- sn.infoUv(cp=fit$cp, x=X)
infoO <- sn.infoUv(cp=fit$cp, x=X, y=wines$alcohol)

Run the code above in your browser using DataLab