mom2cum: Conversion of an array of moments to cumulants

View source: R/truncNorm.R

mom2cumR Documentation

Conversion of an array of moments to cumulants

Description

Given an array of moments of a multivariate distribution, the corresponding cumulants up to the 4th order and other connected quantities are computed, notably the Mardia's measures of multivariate skewness and kurtosis

Usage

mom2cum(mom)

Arguments

mom

an array whose entries are assumed to represent moments of a multivariate distribution; see ‘Details’ for an extended description.

Details

The structure of the input array mom is of type M/M[1] where M represents the output from function recintab. For a d-dimensional random variable, mom is a k-fold d-dimensional array, where k is the highest order of moments being considered; see the documentation of recintab for a more detailed description. However, it is not necessary that mom originates from recintab; the moments can refer to any distribution, as long as mom has the appropriate structure and content.

Also, it is not necessary that all entries of mom are there; values not required for the processing can be left as NA. For computing cumulants of order k, say, we only need cross moments whose exponents add up to k or less.

Conversion from moments to cumulants is performed by using formulae (2.7) of McCullagh (1987). See also ρ_{23}^2 in his (2.15) and ρ_4 in (2.16) for computing the Mardia's (1970, 1974) measures of multivariate skewness and kurtosis.

In some cases, the function may report inconsistencies detected in the argument mom. A typical origin of this situation is in numerical inaccuracies of the returned value of recintab, as explained in more detail in its documentation. When detected, cases of these sort are flagged in the returned $message string, and a warning message is issued. The absence of such string does not represent a guarantee of perfect input.

Value

In the multivariate case, a list with the following elements, provided moments of the required order are available, up to the maximal order 4.

cum1

the d-vector of first-order cumulants, AKA the expected value or the mean value; this will be there if mom contains all moments of order 1.

order2

a list with the following components: m2, the (d,d) matrix of second order moments; cum2, the (d,d) matrix of second order cumulants, AKA the variance-covariance matrix, the variance matrix, the covariance matrix, the dispersion matrix; conc.matrix, the concentration matrix, that is, the inverse of cum2; log.det.cum2, the logarithm of the determinant of cum2.

order3

a list with the following components: m3, array of third order moments, having dimension (d,d,d); cum3, array of third order cumulants, having dimension (d,d,d); m3.marginal, vector of third order marginal moments; centr.mom3.marginal, vector of third order marginal central moments; gamma1.marginal, vector of third order marginal standardized cumulants; gamma1.Mardia, the Mardia measure of multivariate skewness; beta1.Mardia, the Mardia measure of multivariate skewness, again.

order4

a list with the following components: m4, array of fourth order moments, with dimension (d,d,d,d); cum4, array of fourth order cumulants, with dimension (d,d,d,d); m4.marginal, vector of fourth order marginal moments; centr.mom4.marginal, vector of fourth order marginal central moments; gamma2.marginal, vector of fourth order marginal standardized cumulants; gamma2.Mardia, the Mardia measure of multivariate kurtosis, γ_{2,d}; beta2.Mardia, the Mardia measure of multivariate kurtosis, β_{2,d}.

message

possibly, a character string indicating that some inconsistency has been detected in the argument mom; see ‘Details’.

In the univariate case a list with elements:

cum

a vector of cumulants,

centr.mom

a vector of central moments,

std.cum

a vector with the third and the fourth standardized cumulants (when enough moments are available), representing common measures of skewness and kurtosis.

message

possibly, a character string indicating that some inconsistency has been detected in the argument mom; see ‘Details’.

Note

In the case of a multivariate truncated normal distribution, a user does not need to call this function; mom.mtruncnorm provides a more convenient interface for the same computations. The present function needs to be called only if the array mom represents the moments of some other distribution.

Author(s)

Adelchi Azzalini

References

Mardia, K. V. (1970). Measures of multivariate skewness and kurtosis with applications Biometrika, 57, 519-530.

Mardia, K. V. (1974). Applications of some measures of multivariate skewness and kurtosis in testing normality and robustness studies. Sankhya ser.B, 36, 115-128.

McCullagh, Peter (1987). Tensor Methods in Statistics. Chapman & Hall, London.

See Also

recintab

Examples

mu <- c(1, -0.5)
Sigma <- toeplitz(1/(1:2))
low <- c(-Inf, -3)
hi <- c(1.5, Inf)
mom <- recintab(c(3,3), low, hi, mu, Sigma)
cum <- mom2cum(mom)
print(cum$order3$gamma1.marginal)
print(cum$order3$gamma1.Mardia)

mnormt documentation built on Sept. 26, 2022, 5:05 p.m.