matrixqda {MixMatrix} | R Documentation |
See matrixlda
: quadratic discriminant analysis for matrix
variate observations.
matrixqda(x, grouping, prior, tol = 1e-04, method = "normal", nu = 10, ..., subset)
x |
3-D array of matrix data indexed by the third dimension |
grouping |
vector |
prior |
a vector of prior probabilities of the same length as the number of classes |
tol |
by default, |
method |
whether to use the normal distribution ( |
nu |
If using the t-distribution, the degrees of freedom parameter. By default, 10. |
... |
Arguments passed to or from other methods, such
as additional parameters to pass to |
subset |
An index vector specifying the cases to be used in the training sample. (NOTE: If given, this argument must be named.) |
This uses MLmatrixnorm
or MLmatrixt
to find the means and
variances for the case when different groups have different variances.
Returns a list of class matrixqda
containing
the following components:
prior
the prior probabilities used.
counts
the counts of group membership
means
the group means.
U
the between-row covariance matrices
V
the between-column covariance matrices
lev
levels of the grouping factor
N
The number of observations used.
method
The method used.
nu
The degrees of freedom parameter if the t-distribution was used.
call
The (matched) function call.
G Z Thompson, R Maitra, W Q Meeker, A Bastawros (2019), "Classification with the matrix-variate-t distribution", arXiv e-prints arXiv:1907.09565 https://arxiv.org/abs/1907.09565
Venables, W. N. & Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer, New York. ISBN 0-387-95457-0
Pierre Dutilleul. The MLE algorithm for the matrix normal distribution. Journal of Statistical Computation and Simulation, (64):105–123, 1999.
predict.matrixqda
, qda
,
MLmatrixnorm
, MLmatrixt
,
matrixlda
, and matrixmixture
set.seed(20180221) # construct two populations of 3x4 random matrices with different means A <- rmatrixnorm(30,mean=matrix(0,nrow=3,ncol=4)) B <- rmatrixnorm(30,mean=matrix(1,nrow=3,ncol=4)) C <- array(c(A,B), dim=c(3,4,60)) #combine together groups <- c(rep(1,30),rep(2,30)) # define groups prior <- c(.5,.5) # set prior D <- matrixqda(C, groups, prior) logLik(D) print(D)