meanvarTMD function

Mean and variance for doubly truncated multivariate distributions

Mean and variance for doubly truncated multivariate distributions

It computes the mean vector and variance-covariance matrix for some doubly truncated skew-elliptical distributions. It supports the p-variate Normal, Skew-normal (SN), Extended Skew-normal (ESN) and Unified Skew-normal (SUN) as well as the Student's-t, Skew-t (ST), Extended Skew-t (EST) and Unified Skew-t (SUT) distribution.

meanvarTMD(lower = rep(-Inf,length(mu)),upper = rep(Inf,length(mu)),mu,Sigma ,lambda = NULL,tau = NULL,Gamma = NULL,nu = NULL,dist)

Arguments

  • lower: the vector of lower limits of length pp.
  • upper: the vector of upper limits of length pp.
  • mu: a numeric vector of length pp representing the location parameter.
  • Sigma: a numeric positive definite matrix with dimension ppxpp representing the scale parameter.
  • lambda: a numeric matrix of dimension ppxqq representing the skewness/shape matrix parameter for the SUN and SUT distribution. For the ESN and EST distributions (q=1q=1), lambda is a numeric vector of dimension pp (see examples at the end of this help). If all(lambda == 0), the SUN/ESN/SN (SUT/EST/ST) reduces to a normal (t) symmetric distribution.
  • tau: a numeric vector of length qq representing the extension parameter for the SUN and SUT distribution. For the ESN and EST distributions, tau is a positive scalar (q=1q=1). Furthermore, if tau == 0, the ESN (EST) reduces to a SN (ST) distribution.
  • Gamma: a correlation matrix with dimension qqxqq. It must be provided only for the SUN and SUT cases. For particular cases SN, ESN, ST and EST, we have that Gamma == 1 (see examples at the end of this help).
  • nu: It represents the degrees of freedom for the Student's t-distribution being a positive real number.
  • dist: represents the truncated distribution to be used. The values are normal, SN , ESN and SUN for the doubly truncated Normal, Skew-normal, Extended Skew-normal and Unified-skew normal distributions and, t, ST , EST and SUT for the for the doubly truncated Student-t, Skew-t, Extended Skew-t and Unified skew-t distributions.

Details

Univariate case is also considered, where Sigma will be the variance σ2\sigma^2. Normal case code is an R adaptation of the Matlab available function dtmvnmom.m from Kan & Robotti (2017) and it is used for p<=3. For higher dimensions we use an extension of the algorithm in Vaida (2009).

Returns

It returns a list with three elements: - mean: the mean vector of length pp

  • EYY: the second moment matrix of dimensions ppxpp

  • varcov: the variance-covariance matrix of dimensions ppxpp

References

Galarza, C. E., Lin, T. I., Wang, W. L., & Lachos, V. H. (2021). On moments of folded and truncated multivariate Student-t distributions based on recurrence relations. Metrika, 84(6), 825-850 doi:10.1007/s00184-020-00802-1.

Galarza, C. E., Matos, L. A., Dey, D. K., & Lachos, V. H. (2022a). "On moments of folded and doubly truncated multivariate extended skew-normal distributions." Journal of Computational and Graphical Statistics, 1-11 doi:10.1080/10618600.2021.2000869.

Galarza, C. E., Matos, L. A., Castro, L. M., & Lachos, V. H. (2022b). 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.

Author(s)

Christian E. Galarza <cgalarza88@gmail.com > and Victor H. Lachos <hlachos@uconn.edu >

Maintainer: Christian E. Galarza <cgalarza88@gmail.com >

Note

If nu >= 300, Normal case is considered."

Warning

For the tt cases, the algorithm supports degrees of freedom nu <= 2.

See Also

MCmeanvarTMD, momentsTMD, meanvarFMD, meanvarFMD,momentsFMD, dmvSN,pmvSN,rmvSN, dmvESN,pmvESN,rmvESN, dmvST,pmvST,rmvST, dmvEST,pmvEST,rmvEST

Examples

a = c(-0.8,-0.7,-0.6) b = c(0.5,0.6,0.7) 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) # Theoretical value value1 = meanvarTMD(a,b,mu,Sigma,dist="normal") #MC estimate MC11 = MCmeanvarTMD(a,b,mu,Sigma,dist="normal") #by defalut n = 10000 MC12 = MCmeanvarTMD(a,b,mu,Sigma,dist="normal",n = 10^5) #more precision # Now works for for any nu>0 value2 = meanvarTMD(a,b,mu,Sigma,dist = "t",nu = 0.87) value3 = meanvarTMD(a,b,mu,Sigma,lambda = c(-2,0,1),dist = "SN") value4 = meanvarTMD(a,b,mu,Sigma,lambda = c(-2,0,1),nu = 4,dist = "ST") value5 = meanvarTMD(a,b,mu,Sigma,lambda = c(-2,0,1),tau = 1,dist = "ESN") value6 = meanvarTMD(a,b,mu,Sigma,lambda = c(-2,0,1),tau = 1,nu = 4,dist = "EST") #Skew-unified Normal (SUN) and Skew-unified t (SUT) distributions Lambda = matrix(c(1,0,2,-3,0,-1),3,2) #A skewness matrix p times q Gamma = matrix(c(1,-0.5,-0.5,1),2,2) #A correlation matrix q times q tau = c(-1,2) #A vector of extension parameters of dim q value7 = meanvarTMD(a,b,mu,Sigma,lambda = Lambda,tau = c(-1,2),Gamma = Gamma,dist = "SUN") value8 = meanvarTMD(a,b,mu,Sigma,lambda = Lambda,tau = c(-1,2),Gamma = Gamma,nu = 4,dist = "SUT") #The ESN and EST as particular cases of the SUN and SUT for q=1 Lambda = matrix(c(-2,0,1),3,1) Gamma = 1 value9 = meanvarTMD(a,b,mu,Sigma,lambda = Lambda,tau = 1,Gamma = Gamma,dist = "SUN") value10 = meanvarTMD(a,b,mu,Sigma,lambda = Lambda,tau = 1,Gamma = Gamma,nu = 4,dist = "SUT") round(value5$varcov,2) == round(value9$varcov,2) round(value6$varcov,2) == round(value10$varcov,2)
  • Maintainer: Christian E. Galarza
  • License: GPL (>= 2)
  • Last published: 2024-10-28

Useful links