| Type: | Package | 
| Title: | Matrix Normal Distribution | 
| Version: | 1.0 | 
| Date: | 2024-05-21 | 
| Author: | Michail Tsagris [aut, cre], Alzeley Omar [ctb] | 
| Maintainer: | Michail Tsagris <mtsagris@uoc.gr> | 
| Depends: | R (≥ 4.0) | 
| Imports: | Rfast | 
| Description: | Density computation, random matrix generation and maximum likelihood estimation of the matrix normal distribution. References: Pocuca N., Gallaugher M. P., Clark K. M. & McNicholas P. D. (2019). Assessing and Visualizing Matrix Variate Normality. <doi:10.48550/arXiv.1910.02859> and the relevant wikipedia page. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| NeedsCompilation: | no | 
| Packaged: | 2024-05-21 11:55:32 UTC; mtsag | 
| Repository: | CRAN | 
| Date/Publication: | 2024-05-22 12:20:10 UTC | 
Matrix Normal Distribution
Description
Density computation, random matrix generation and maximum likelihood estimation of the matrix normal distribution. For references see: Pocuca N., Gallaugher M. P., Clark K. M. & McNicholas P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859 and the relevant wikipedia page.
Details
| Package: | MN | 
| Type: | Package | 
| Version: | 1.0 | 
| Date: | 2024-05-21 | 
Maintainers
Michail Tsagris <mtsagris@uoc.gr>.
Author(s)
Michail Tsagris mtsagris@uoc.gr and Omar Alzeley oazeley@uqu.edu.sa
References
Pocuca, N., Gallaugher, M. P., Clark, K. M., & McNicholas, P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859.
Density of the matrix normal distribution
Description
Density of the matrix normal distribution.
Usage
dmn(X, M, U, V, logged = FALSE)
Arguments
X | 
 A list with k elements, k matrices of dimension   | 
M | 
 The mean matrix of the distribution, a numerical matrix of dimensions   | 
U | 
 The covariance matrix associated with the rows, a numerical matrix of dimensions   | 
V | 
 The covariance matrix associated with the columns, a numerical matrix of dimensions   | 
logged | 
 Should the logarithm of the density be computed?  | 
Value
A numeric vector with the (logged) density values.
Author(s)
Omar Alzeley.
R implementation and documentation: Omar Alzeley oazeley@uqu.edu.sa.
References
https://en.wikipedia.org/wiki/Matrix_normal_distribution#Definition
Pocuca, N., Gallaugher, M. P., Clark, K. M., & McNicholas, P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859.
See Also
Examples
M <- as.matrix(iris[1:8, 1:4])
U <- cov( matrix( rnorm(100 * 8), ncol = 8 ) )
V <- cov( iris[1:50, 1:4] )
X <- rmn(10, M, U, V)
dmn(X, M, U, V, TRUE)
Distance-Distance Plot
Description
Distance-Distance Plot
Usage
ddplot(X, M, U, V)
Arguments
X | 
 A list with k elements, k matrices of dimension   | 
M | 
 The mean matrix of the distribution, a numerical matrix of dimensions   | 
U | 
 The covariance matrix associated with the rows, a numerical matrix of dimensions   | 
V | 
 The covariance matrix associated with the columns, a numerical matrix of dimensions   | 
Details
The distance-distance plot is produced. This is a scatter plot of the Mahalanobis distances computed using the estimated parameters from the multivariate normal and matrix normal distribution. See Pocuca et al. (2019) for more details.
Value
A scatter plot of the Mahalanobis distances.
Author(s)
Michail Tsagris and Omar Alzeley.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr and Omar Alzeley oazeley@uqu.edu.sa.
References
Pocuca N., Gallaugher M. P., Clark K. M. & McNicholas P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859.
See Also
Examples
M <- as.matrix(iris[1:8, 1:4])
U <- cov( matrix( rnorm(100 * 8), ncol = 8 ) )
V <- cov( iris[1:50, 1:4] )
X <- rmn(100, M, U, V)
ddplot(X, M, U, V)
Kolmogorov-Smirnov test for matrix normality
Description
Kolmogorov-Smirnov test for matrix normality
Usage
ddkstest(X, M, U, V, alpha = 0.05)
Arguments
X | 
 A list with k elements, k matrices of dimension   | 
M | 
 The mean matrix of the distribution, a numerical matrix of dimensions   | 
U | 
 The covariance matrix associated with the rows, a numerical matrix of dimensions   | 
V | 
 The covariance matrix associated with the columns, a numerical matrix of dimensions   | 
alpha | 
 The significance level for the test, set by default equal to 0.05.  | 
Details
The Kolmogorov-Smirnov test for matrix normality is performed. See Pocuca (2019) for more details.
Value
A message. If the Kronecker product covariance structure is not present, the message reads "Reject" and "Not reject otherwise".
Author(s)
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
References
Pocuca N., Gallaugher M. P., Clark K. M. & McNicholas P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859.
See Also
Examples
M <- as.matrix(iris[1:8, 1:4])
U <- cov( matrix( rnorm(100 * 8), ncol = 8 ) )
V <- cov( iris[1:50, 1:4] )
X <- rmn(200, M, U, V)
ddkstest(X, M, U, V)
Maximum likelihood estimation of the the matrix normal distribution
Description
Maximum likelihood estimation of the the matrix normal distribution.
Usage
mn.mle(X)
Arguments
X | 
 A list with k elements (k is the sample size), k matrices of dimension   | 
Value
A list including:
runtime | 
 The runtime required for the whole fitting procedure.  | 
iters | 
 The number of iterations required for the estimation of the U and V matrices.  | 
M | 
 The estimated mean matrix of the distribution, a numerical matrix of dimensions   | 
U | 
 The estimated covariance matrix associated with the rows, a numerical matrix of dimensions   | 
V | 
 The estimated covariance matrix associated with the columns, a numerical matrix of dimensions   | 
Author(s)
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
References
https://en.wikipedia.org/wiki/Matrix_normal_distribution#Definition
Pocuca N., Gallaugher M. P., Clark K. M. & McNicholas P. D. (2019). Assessing and Visualizing Matrix Variate Normality. arXiv:1910.02859.
See Also
Examples
M <- as.matrix(iris[1:8, 1:4])
U <- cov( matrix( rnorm(100 * 8), ncol = 8 ) )
V <- cov( iris[1:50, 1:4] )
X <- rmn(200, M, U, V)
mod <- mn.mle(X)
Random matrices simulation from the matrix normal distribution
Description
Random matrices simulation from the matrix normal distribution.
Usage
rmn(k, M, U, V)
Arguments
k | 
 The sample size, the number of matrices to simulate.  | 
M | 
 The mean matrix of the distribution, a numerical matrix of dimensions   | 
U | 
 The covariance matrix associated with the rows, a numerical matrix of dimensions   | 
V | 
 The covariance matrix associated with the columns, a numerical matrix of dimensions   | 
Value
A list with k elements, k matrices of dimension n \ times p each. These are the random matrices drawn from a matrix normal distribution.
Author(s)
Michail Tsagris.
R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.
References
https://en.wikipedia.org/wiki/Matrix_normal_distribution#Definition
See Also
Examples
M <- as.matrix(iris[1:8, 1:4])
U <- cov( matrix( rnorm(100 * 8), ncol = 8 ) )
V <- cov( iris[1:50, 1:4] )
X <- rmn(10, M, U, V)