proxymix: Kullback-Leibler Optimal Gaussian Mixture Proxies for Target Densities

Fits multivariate Gaussian-mixture proxies that are Kullback-Leibler optimal to user-supplied target densities on real Euclidean space. Three fitting regimes are unified under one verb: (i) closed-form moment matching for a single component, (ii) classical expectation-maximisation when independent samples are available, and (iii) importance-sampled expectation-maximisation that minimises the Kullback-Leibler divergence when the target can be evaluated point-wise but not (cheaply) sampled. Closed-form Gaussian-mixture operators (density, sampling, marginalisation, conditioning, divergence) round out the toolkit. The conditioning operator drives multiple imputation of data missing at random, covering the multimodal and heteroscedastic cases a single-Gaussian model cannot represent. Implements the regime hierarchy of van der Hoek and Elliott (2024) <doi:10.1080/07362994.2024.2372605>.

Version: 0.16.0
Depends: R (≥ 4.3)
Imports: S7, stats, mvnfast, cli, rlang, data.table, withr
Suggests: mclust, mice, generics, ggplot2, viridis, patchwork, knitr, rmarkdown, testthat (≥ 3.0.0), vdiffr, spelling, covr
Published: 2026-10-08
DOI: 10.32614/CRAN.package.proxymix (may not be active yet)
Author: Max Moldovan ORCID iD [aut, cre], John van der Hoek [aut]
Maintainer: Max Moldovan <max.moldovan at gmail.com>
BugReports: https://github.com/max578/proxymix/issues
License: MIT + file LICENSE
URL: https://github.com/max578/proxymix, https://max578.github.io/proxymix/
NeedsCompilation: no
Language: en-AU
Citation: proxymix citation info
Materials: README, NEWS
CRAN checks: proxymix results

Documentation:

Reference manual: proxymix.html , proxymix.pdf
Vignettes: Mapping the optima of an objective (source, R code)
How well a mixture proxies four awkward shapes (source, R code)
Testing the last observation for instability (source, R code)
Reading the entropy of a fitted mixture (source, R code)
Compressing a kernel density estimate into a mixture (source, R code)
One mixture, many methods (source, R code)
Imputing missing data with a mixture (source, R code)
Missing data that depends on the missing value (source, R code)
The closed-form operator calculus on a mixture (source, R code)
Compressing a Bayesian posterior you can evaluate but not sample (source, R code)
Fitting a proxy to a density you cannot sample (source, R code)
Choosing between the three fitting regimes (source, R code)

Downloads:

Package source: proxymix_0.16.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): not available, r-release (x86_64): not available, r-oldrel (x86_64): not available

Linking:

Please use the canonical form https://CRAN.R-project.org/package=proxymix to link to this page.