Provides a post-processed posterior for Bayesian inference of a banded covariance matrix.
bandPPP(X, k, eps, prior = list(), nsample = 2000)
a nsample \(\times\) p(p+1)/2 matrix including lower triangular elements of covariance matrix.
dimension of covariance matrix.
a n \(\times\) p data matrix with column mean zero.
a scalar value (natural number) specifying the bandwidth of covariance matrix.
a small positive number decreasing to \(0\) with default value \((log(k))^2 * (k + log(p))/n\).
a list giving the prior information.
The list includes the following parameters (with default values in parentheses):
A (I)
giving the positive definite scale matrix for the inverse-Wishart prior,
nu (p + k)
giving the degree of freedom of the inverse-Wishar prior.
a scalar value giving the number of the post-processed posterior samples.
Kwangmin Lee
Lee, Lee, and Lee (2023+) proposed a two-step procedure generating samples from the post-processed posterior for Bayesian inference of a banded covariance matrix:
Initial posterior computing step: Generate random samples from the following initial posterior obtained by using the inverse-Wishart prior \(IW_p(B_0, \nu_0)\) $$ \Sigma \mid X_1, \ldots, X_n \sim IW_p(B_0 + nS_n, \nu_0 + n), $$ where \(S_n = n^{-1}\sum_{i=1}^{n}X_iX_i^\top\).
Post-processing step: Post-process the samples generated from the initial samples $$ \Sigma_{(i)} := \left\{\begin{array}{ll}B_{k}(\Sigma^{(i)}) + \left[\epsilon_n - \lambda_{\min}\{B_{k}(\Sigma^{(i)})\}\right]I_p, & \mbox{ if } \lambda_{\min}\{B_{k}(\Sigma^{(i)})\} < \epsilon_n, \\ B_{k}(\Sigma^{(i)}), & \mbox{ otherwise }, \end{array}\right. $$
where \(\Sigma^{(1)}, \ldots, \Sigma^{(N)}\) are the initial posterior samples, \(\epsilon_n\) is a small positive number decreasing to \(0\) as \(n \rightarrow \infty\), and \(B_k(B)\) denotes the \(k\)-band operation given as $$ B_{k}(B) = \{b_{ij}I(|i - j| \le k)\} \mbox{ for any } B = (b_{ij}) \in R^{p \times p}. $$ For more details, see Lee, Lee and Lee (2023+).
Lee, K., Lee, K., and Lee, J. (2023+), "Post-processes posteriors for banded covariances", Bayesian Analysis, DOI: 10.1214/22-BA1333.
cv.bandPPP estimate
n <- 25
p <- 50
Sigma0 <- diag(1, p)
X <- MASS::mvrnorm(n = n, mu = rep(0, p), Sigma = Sigma0)
res <- bspcov::bandPPP(X,2,0.01,nsample=100)
Run the code above in your browser using DataLab