rmatrixt {MixMatrix}R Documentation

Distribution functions for the matrix variate t distribution.

Description

Density and random generation for the matrix variate t distribution.

Usage

rmatrixt(n, df, mean, L = diag(dim(as.matrix(mean))[1]),
  R = diag(dim(as.matrix(mean))[2]), U = L %*% t(L), V = t(R) %*%
  R, list = FALSE, array = NULL, force = FALSE)

dmatrixt(x, df, mean = matrix(0, p, n), L = diag(p), R = diag(n),
  U = L %*% t(L), V = t(R) %*% R, log = FALSE)

Arguments

n

number of observations for generation

df

degrees of freedom (>0, may be non-integer), df = 0, Inf is allowed and will return a normal distribution.

mean

p * q This is really a 'shift' rather than a mean, though the expected value will be equal to this if df > 2

L

p * p matrix specifying relations among the rows. By default, an identity matrix.

R

q * q matrix specifying relations among the columns. By default, an identity matrix.

U

LL^T - p * p positive definite matrix for rows, computed from L if not specified.

V

R^T R - q * q positive definite matrix for columns, computed from R if not specified.

list

Defaults to FALSE . If this is TRUE , then the output will be a list of matrices.

array

If n = 1 and this is not specified and list is FALSE , the function will return a matrix containing the one observation. If n > 1 , should be the opposite of list . If list is TRUE , this will be ignored.

force

In rmatrix: if TRUE, will take the input of R directly - otherwise uses V and uses Cholesky decompositions. Useful for generating degenerate t-distributions. Will also override concerns about potentially singular matrices unless they are not, in fact, invertible.

x

quantile for density

log

logical; in dmatrixt, if TRUE, probabilities p are given as log(p).

Details

The matrix t-distribution is parameterized slightly differently from the univariate and multivariate t-distributions - the variance is scaled by a factor of 1/df. In this parameterization, the variance for a 1 * 1 matrix variate t-distributed random variable with identity variance matrices is 1/(df-2) instead of df/(df-2). A Central Limit Theorem for the matrix variate T is then that as df goes to infinity, MVT(0, df, I_p, df*I_q) converges to MVN(0,I_p,I_q).

Value

rmatrixt returns either a list of n p * q matrices or a p * q * n array.

dmatrixt returns the density at x.

References

Gupta, Arjun K, and Daya K Nagar. 1999. Matrix Variate Distributions. Vol. 104. CRC Press. ISBN:978-1584880462

Dickey, James M. 1967. “Matricvariate Generalizations of the Multivariate t Distribution and the Inverted Multivariate t Distribution.” Ann. Math. Statist. 38 (2): 511–18. doi: 10.1214/aoms/1177698967

See Also

rmatrixnorm, rmatrixinvt,rt and Distributions.

Examples

set.seed(20180202)
# random matrix with df = 10 and the given mean and L matrix
rmatrixt(n=1,df=10,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2),
   L=matrix(c(2,1,0,.1),nrow=2),list=FALSE)
# comparing 1-D distribution of t to matrix
summary(rt(n=100,df=10))
summary(rmatrixt(n=100,df=10,matrix(0)))
# demonstrating equivalence of 1x1 matrix t to usual t
set.seed(20180204)
x = rmatrixt(n=1,mean=matrix(0),df=1)
dt(x,1)
dmatrixt(x,df=1)


[Package MixMatrix version 0.2.2 Index]