mvtelliptical {relliptical}R Documentation

Mean and Variance for Truncated Multivariate Elliptical Distributions

Description

This function approximates the mean vector and variance-covariance matrix for some specific truncated elliptical distributions. The argument dist sets the distribution to be used and accepts the values Normal, t, Laplace, PE, PVII, Slash, and CN, for the truncated Normal, Student-t, Power Exponential, Pearson VII, Slash, and Contaminated Normal distribution, respectively. Moments are computed through Monte Carlo method for the truncated variables and using properties of the conditional expectation for the non-truncated variables.

Usage

mvtelliptical(lower, upper = rep(Inf, length(lower)), mu = rep(0,
  length(lower)), Sigma = diag(length(lower)), dist = "Normal",
  nu = NULL, n = 10000, burn.in = 0, thinning = 3)

Arguments

lower

vector of lower truncation points of length p.

upper

vector of upper truncation points of length p.

mu

numeric vector of length p representing the location parameter.

Sigma

numeric positive definite matrix with dimension pxp representing the scale parameter.

dist

represents the truncated distribution to be used. The values are 'Normal', 't', 'Laplace', 'PE', 'PVII', 'Slash', and 'CN' for the truncated Normal, Student-t, Laplace, Power Exponential, Pearson VII, Slash, and Contaminated Normal distributions, respectively.

nu

additional parameter or vector of parameters depending on the density generating function. See Details.

n

number of Monte Carlo samples to be generated.

burn.in

number of samples to be discarded as a burn-in phase.

thinning

factor for reducing the autocorrelation of random points.

Details

This function also considers the univariate case. The argument nu is a parameter or vector of parameters depending on the density generating function (DGF). For the truncated Student-t, Power Exponential, and Slash distribution, nu is a positive number. For the truncated Pearson VII, nu is a vector with the first element greater than p/2 and the second element a positive number. For the truncated Contaminated Normal distribution, nu is a vector of length 2 assuming values between 0 and 1.

Value

It returns a list with three elements:

EY

the mean vector of length p.

EYY

the second moment matrix of dimensions pxp.

VarY

the variance-covariance matrix of dimensions pxp.

Note

The Normal distribution is a particular case of the Power Exponential distribution when nu = 1. The Student-t distribution with \nu degrees of freedom results from the Pearson VII distribution when nu = ((\nu+p)/2, \nu).

In the Student-t distribution, if nu >= 300, the Normal case is considered. For Student-t distribution, the algorithm also supports degrees of freedom nu <= 2. For Pearson VII distribution, the algorithm supports values of m <= (p+2)/2 (first element of nu).

Author(s)

Katherine L. Valeriano, Christian E. Galarza and Larissa A. Matos

References

Fang KT, Kotz S, Ng KW (2018). Symmetric multivariate and related distributions. Chapman and Hall/CRC.

Galarza CE, Matos LA, Castro LM, Lachos VH (2022). “Moments of the doubly truncated selection elliptical distributions with emphasis on the unified multivariate skew-t distribution.” Journal of Multivariate Analysis, 189, 104944. doi:10.1016/j.jmva.2021.104944.

Valeriano KA, Galarza CE, Matos LA (2023). “Moments and random number generation for the truncated elliptical family of distributions.” Statistics and Computing, 33(1), 32.

See Also

rtelliptical

Examples

# Truncated Student-t distribution
set.seed(5678)
mu = c(0.1, 0.2, 0.3)
Sigma = matrix(data = c(1,0.2,0.3,0.2,1,0.4,0.3,0.4,1), nrow=length(mu),
               ncol=length(mu), byrow=TRUE)

# Example 1: one doubly truncated student-t (nu = 0.80) and Laplace
a = c(-0.8, -Inf, -Inf)
b = c(0.5, 0.6, Inf)
MC11 = mvtelliptical(a, b, mu, Sigma, "t", 0.80) # Student-t
MC12 = mvtelliptical(a, b, mu, Sigma, "Laplace") # Laplace

# Example 2: two doubly truncated student-t (nu = 0.80)
MC12 = mvtelliptical(a, b, mu, Sigma, "t", 0.80) # By default n=1e4

# Truncated Pearson VII distribution
set.seed(9876)
MC21 = mvtelliptical(a, b, mu, Sigma, "PVII", c(1.90,0.80), n=1e6) # More precision
c(MC12$EY); c(MC21$EY)
MC12$VarY;  MC21$VarY

# Truncated Normal distribution
set.seed(1234)
MC31 = mvtelliptical(a, b, mu, Sigma, "Normal", n=1e4)
MC32 = mvtelliptical(a, b, mu, Sigma, "Normal", n=1e6) # More precision

[Package relliptical version 1.3.0 Index]