The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

This R-package moewishart provides maximum likelihood
estimation (MLE) and Bayesian estimation for the Wishart mixture
model and the Wishart mixture-of-experts
(MoE-Wishart) model. It implements four different
inference algorithms for the two model:
Install the latest released version from CRAN:
install.packages("moewishart")Install the latest development version from GitHub:
# library("devtools")
devtools::install_github("zhizuio/moewishart")Data simulation from a MoE-Wishart model:
library(moewishart)
n <- 200 # number of subjects
p <- 2 # dimension of covariance matrix
set.seed(123) # fix coefficients of underlying MoE model
Xq <- 3
K <- 3
betas <- matrix(runif(Xq * K, -2, 2), nrow = Xq, ncol = K)
betas[, K] <- 0
# simulate data
dat <- simData(n, p,
Xq = 3, K = 3, betas = betas,
pis = c(0.35, 0.40, 0.25),
nus = c(8, 12, 3)
)
# fit Bayesian MoE-Wishart model
set.seed(123)
fit <- moewishart(
dat$S,
X = cbind(1, dat$X), K = 3,
mh_sigma = c(0.2, 0.1, 0.2), # RW-MH variances (length K)
mh_beta = c(0.3, 0.3), # RW-MH variances (length K-1)
niter = 3000, burnin = 1000
)Posterior means for degrees of freedom (DoF) of Wishart distributions:
burnin <- 1000
nu_mcmc <- fit$nu[-c(1:burnin), ]
colMeans(nu_mcmc)
#> [1] 8.574911 14.397351 3.310689
True DoF:
dat$nu # true nu
#> [1] 8 12 3
Posterior means for scale matrices of Wishart distributions:
MoE_Sigma <- Reduce("+", fit$Sigma) / length(fit$Sigma)
MoE_Sigma
#> , , 1
#>
#> [,1] [,2]
#> [1,] 0.5197160 0.2103881
#> [2,] 0.2103881 0.7470847
#>
#> , , 2
#>
#> [,1] [,2]
#> [1,] 1.7637949 0.5540576
#> [2,] 0.5540576 1.3244947
#>
#> , , 3
#>
#> [,1] [,2]
#> [1,] 4.1115070 -0.1267705
#> [2,] -0.1267705 3.0385263
Posterior means for gating coefficients:
beta_mcmc <- fit$Beta_samples[-c(1:burnin), , ]
apply(beta_mcmc, c(2, 3), mean)
#> [,1] [,2] [,3]
#> [1,] -0.3656861 -0.08024419 0
#> [2,] -0.9526224 2.24956385 0
#> [3,] 1.7609922 2.40287152 0
#> [4,] -0.4953755 -2.56072719 0# fit Bayesian Wishart mixture model
set.seed(123)
fit2 <- mixturewishart(
dat$S,
K = 3,
mh_sigma = c(0.2, 0.1, 0.2), # RW-MH variances
niter = 3000, burnin = 1000
)
Posterior means for subpopulation probabilities:
colMeans(fit2$pi[-c(1:burnin), ])
#> [1] 0.2690425 0.5088864 0.2220712Posterior means for DoF of Wishart distributions:
colMeans(fit2$nu[-c(1:burnin), ])
#> [1] 7.986113 12.153338 3.284252# fit MoE-Wishart model via EM alg.
set.seed(123)
fit3 <- moewishart(
dat$S,
X = cbind(1, dat$X), K = 3,
method = "em",
niter = 3000
)EM estimates for DoF of Wishart distributions:
fit3$nu
#> [1] 7.515417 13.987158 3.274665
EM estimates for Wishart scale matrices:
fit3$Sigma
#> [[1]]
#> [,1] [,2]
#> [1,] 0.5591113 0.2324429
#> [2,] 0.2324429 0.8148737
#>
#> [[2]]
#> [,1] [,2]
#> [1,] 1.7665723 0.5567668
#> [2,] 0.5567668 1.3336367
#>
#> [[3]]
#> [,1] [,2]
#> [1,] 4.3139885 -0.1886288
#> [2,] -0.1886288 3.0983710
EM estimates for gating coefficients:
fit3$Beta
#> comp1 comp2 comp3
#> [1,] -0.006270492 0.1302039 0
#> [2,] -0.798302303 2.0340525 0
#> [3,] 1.598530103 2.2399293 0
#> [4,] -0.510585695 -2.3465248 0# fit Wishart mixture model via EM alg.
set.seed(123)
fit4 <- mixturewishart(
dat$S,
K = 3,
method = "em",
niter = 3000
)
EM estimates for DoF of Wishart distributions:
fit4$nu
#> [1] 2.995383 7.682819 11.309040
EM estimate for Wishart scale matrices:
fit4$Sigma
#> [[1]]
#> [,1] [,2]
#> [1,] 4.048859 -1.10103
#> [2,] -1.101030 2.79641
#>
#> [[2]]
#> [,1] [,2]
#> [1,] 0.5582012 0.2515063
#> [2,] 0.2515063 0.8151752
#>
#> [[3]]
#> [,1] [,2]
#> [1,] 2.0930529 0.6273737
#> [2,] 0.6273737 1.5706730Mai TT, Zhao Z (2026). Mixture-of-experts Wishart model for covariance matrices with an application to Cancer drug screening. arXiv:2602.13888.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.