mmle {robustmatrix} | R Documentation |
Maximum Likelihood Estimation for Matrix Normal Distribtuion
Description
mmle
computes the Maximum Likelihood Estimators (MLEs) for the matrix normal distribution
using the iterative flip-flop algorithm (Dutilleul 1999).
Usage
mmle(X, max_iter = 100L, lambda = 0, silent = FALSE)
Arguments
X |
a 3d array of dimension |
max_iter |
upper limit of iterations. |
lambda |
a smooting parameter for the rowwise and columnwise covariance matrices. |
silent |
Logical. If FALSE (default) warnings and errors are printed. |
Value
A list containing the following:
mu |
Estimated |
cov_row |
Estimated |
cov_col |
Estimated |
cov_row_inv |
Inverse of |
cov_col_inv |
Inverse of |
norm |
Forbenius norm of squared differences between covariance matrices in final iteration. |
iterations |
Number of iterations of the mmle procedure. |
References
Dutilleul P (1999). “The mle algorithm for the matrix normal distribution.” Journal of Statistical Computation and Simulation, 64(2), 105-123. doi:10.1080/00949659908811970.
See Also
For robust parameter estimation use mmcd
.
Examples
n = 1000; p = 2; q = 3
mu = matrix(rep(0, p*q), nrow = p, ncol = q)
cov_row = matrix(c(1,0.5,0.5,1), nrow = p, ncol = p)
cov_col = matrix(c(3,2,1,2,3,2,1,2,3), nrow = q, ncol = q)
X <- rmatnorm(n = 1000, mu, cov_row, cov_col)
par_mmle <- mmle(X)