quant: Quantitative tests of pypomp
These quantitative tests, or simply quant tests, are designed to assess the accuracy and performance of pypomp for problems existing on a scale too large to be run on a laptop within the unit tests in pypomp:pypomp/tests.
The quant tests also provide additional examples of pypomp, focused on technical issues that extend the simpler examples in pypomp:tutorials.
🚀 Quick Links
- 💻 Core Repository — Source code and issue tracker for the
pypomppackage. - 📖 Read the Documentation — Core library API reference and user guide.
- 🎓 Tutorials — Examples and tutorials for learning
pypomp.
Quantitative Tests Index
Below is a list of quantitative test reports available in this repository:
1. SPX (S&P 500) Model
- Parameter Estimation & Convergence (
tests/spx/estimation): Compares parameter estimation traces and log-likelihood estimates on the SPX index dataset usingpypomp(CPU/GPU) and R’spomp. - Runtime & Performance Benchmark (
tests/spx/timing): Benchmarks execution speed, speedup factors, and CPU/GPU throughput relative to Rpomp. - Fixed-Parameter Likelihood Validation (
tests/spx/loglik): Evaluates particle filter log-likelihood estimates at fixed parameter values (rep3600) via two-sample KS test. - Computational Scaling Benchmark (
tests/spx/scaling): Evaluates execution speed and VRAM memory scaling across particle counts (\(J\)) and parallel search chains on GPU.
2. Dhaka Cholera Model
- IF2 vs IFAD (
tests/dacca/algorithms): Compares how far iterated filtering alone and iterated filtering with gradient training get on the same likelihood for a comparable wall-clock budget. - Runtime & Performance Benchmark (
tests/dacca/timing): Benchmarks IF2 and particle filter execution speed inpypomp(CPU/GPU) against Rpomp, on identical work. - Fixed-Parameter Likelihood Validation (
tests/dacca/loglik): Checks that the particle filter yields the same distribution of log-likelihoods inpypompandpompat the published MLE.
3. Random Number Generators
- Random Number Generators Benchmark & Comparison (
tests/samplers): Benchmarks the execution speed and validates the statistical accuracy ofpypomp’s fast approximate inverse CDF samplers (fast_poisson,fast_binomial,fast_gamma,fast_nbinomial) againstjax.randomandscipy.stats.
4. Measles Model
- Fixed-Parameter Likelihood Validation (
tests/measles/loglik): Compares the distribution of particle filter log-likelihoods at the He et al. (2010) estimates inpypomp(32- and 64-bit) against R’spomp. - Parameter Estimation (
tests/measles/estimation): Compares the distribution of IF2 parameter estimates from a global search inpypompversuspomp, from identical starting points. - Runtime & Throughput Benchmark (
tests/measles/timing): Benchmarks IF2 and particle filter execution speed on the discrete measles model. Contrastspypompon GPU and CPU with Rpomp, and the fast samplers inpypomp.randomwith stock JAX samplers.
5. Panel Measles Model
- Fixed-Parameter Likelihood Validation (
tests/panel_measles/loglik): Compares the distribution of panel particle filter log-likelihoods at the He et al. (2010) estimates inpypompagainst R’spanelPomp. - Parameter Estimation (
tests/panel_measles/estimation): Compares the distribution of block-IF2 parameter estimates from a global search inpypompversuspanelPomp, from identical starting points, and reports thepypomp-only mix-and-match step. - Runtime & Throughput Benchmark (
tests/panel_measles/timing): Benchmarks block-IF2 and particle filter execution speed on the 4-unit mixed panel model, contrastingpypompon GPU and CPU with RpanelPomp.