Package: VeccTMVN 1.2.1

Jian Cao

VeccTMVN: Multivariate Normal Probabilities using Vecchia Approximation

Under a different representation of the multivariate normal (MVN) probability, we can use the Vecchia approximation to sample the integrand at a linear complexity with respect to n. Additionally, both the SOV algorithm from Genz (92) and the exponential-tilting method from Botev (2017) can be adapted to linear complexity. The reference for the method implemented in this package is Jian Cao and Matthias Katzfuss (2024) "Linear-Cost Vecchia Approximation of Multivariate Normal Probabilities" <doi:10.48550/arXiv.2311.09426>. Two major references for the development of our method are Alan Genz (1992) "Numerical Computation of Multivariate Normal Probabilities" <doi:10.1080/10618600.1992.10477010> and Z. I. Botev (2017) "The Normal Law Under Linear Restrictions: Simulation and Estimation via Minimax Tilting" <doi:10.48550/arXiv.1603.04166>.

Authors:Jian Cao [aut, cre], Matthias Katzfuss [aut]

VeccTMVN_1.2.1.tar.gz
VeccTMVN_1.2.1.tar.gz(r-4.5-noble)VeccTMVN_1.2.1.tar.gz(r-4.4-noble)
VeccTMVN_1.2.1.tgz(r-4.4-emscripten)VeccTMVN_1.2.1.tgz(r-4.3-emscripten)
VeccTMVN.pdf |VeccTMVN.html
VeccTMVN/json (API)
NEWS

# Install 'VeccTMVN' in R:
install.packages('VeccTMVN', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/jcatwood/vecctmvn/issues

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library

fortranopenblascppopenmp

2.26 score 36 scripts 268 downloads 13 exports 21 dependencies

Last updated 1 months agofrom:bf5a2517aa. Checks:OK: 2. Indexed: no.

TargetResultDate
Doc / VignettesOKDec 26 2024
R-4.5-linux-x86_64OKDec 26 2024

Exports:FIC_reorder_univarfind_nn_corrget_sp_inv_cholloglk_censor_MVNmvrandnmvrandtpmvnpmvn_MLMCpmvtpmvt_MLMCptmvrandnunivar_orderVecc_reorder

Dependencies:alabamaBHdotCall64fieldsFNNGpGpGPvecchialatticemapsMatrixnleqslvnumDerivqrngRcppRcppArmadillospacefillrspamsparseinvTruncatedNormaltruncnormviridisLite

Readme and manuals

Help Manual

Help pageTopics
Univariate ordering under FIC approximation, first m chosen by m iter of dense univariate reorderingFIC_reorder_univar
Find ordered nearest neighbors based on a correlation Matrix. Assuming the absolute value of the correlation is monotonically decreasing with distance. Returns an n X (m + 1) matrix similar to `GpGp::find_ordered_nn`.find_nn_corr
Get the inverse upper Cholesky factor under the Vecchia approximationget_sp_inv_chol
Compute censored multivariate normal (MVN) log-probabilities that have spatial covariance matrices using Vecchia approximationloglk_censor_MVN
Simulate truncated multivariate normal (TMVN) using the Vecchia approximationmvrandn
Simulate truncated multivariate normal (TMVT) using the Vecchia approximationmvrandt
Compute multivariate normal (MVN) probabilities that have spatial covariance matrices using Vecchia approximationpmvn
Applying the multi-level Monte Carlo (MLMC) technique to the pmvn function The function uses 'NLevel1 = 1' for 'm = m2' and the same exponential tilting parameter as 'm = m1' to compute one MC estimate. This MC estimate is used to correct the bias from the Vecchia approximationpmvn_MLMC
Compute multivariate Student-t (MVT) probabilities that have spatial covariance matrices using Vecchia approximationpmvt
Applying the multi-level Monte Carlo (MLMC) technique to the pmvt function The function uses 'NLevel1 = 1' for 'm = m2' and the same exponential tilting parameter as 'm = m1' to compute one MC estimate. This MC estimate is used to correct the bias from the Vecchia approximationpmvt_MLMC
Simulate partially censored multivariate normal (MVN) at censored locations using the Vecchia approximationptmvrandn
Univariate variable reordering, described in Genz and Bretz (2009) If failed due to PD singularity, the unfinished order will be returned and a warning will be issuedunivar_order
Univariate ordering under Vecchia approximationVecc_reorder
VeccTMVNVeccTMVN