Pardon our dust!
After distributing parts of the inference package peacemeal to colleagues and students, we're finally assembling a coherent web site for the entire package. We're slowly but steadily documenting the existing packages. The package itself is available (see the sidebar). We also have preliminary API documentation available (also via the sidebar; this documentation is incomplete because it was built with a tool that cannot access some of our inline documentation; we are migrating to Sphinx to overcome this limitation). Please check back as we add content, move prototype modules out of the sandbox, and build new examples.
The inference Package
Page Contents
- Overview
- A Library and a Framework
The inference package is a collection of Python modules implementing a variety of methods targeting the statistical inference problemsand the statistical modeling styleof the physical sciences. Our own discipline is astronomy, and our choice of problems and methods most directly targets the needs of astronomers, but many tools here may be of use to other physical scientists.
We adopt a narrow view of statistical inference for this package: we strive to provide tools that not only provide a "best" estimate or choice in a problem, but that also quantify uncertainties. For many scientific purposes, merely knowing what's "best" is not enough; we also need to know the range of possibilities that are "nearly as good." That's the kind of science the inference package aims to address.
You may instead have a simple problem (perhaps just a part of a bigger problem) that requires only a "quick-and-dirty" result to work with. Or you may have a data set that is so large, or a model so complicated, that it is unlikely you could usefully quantify uncertainties. In these cases, a "best" result will, or must, suffice, and you should probably look elsewhere for help; see our Resources section for suggestions.
But if you're in the regime where you need to seriously address uncertainties, explore inference further; there may be something here that can help you.
A Library and a Framework
The modules comprising the inference package fall into two categories:
- Library modules: These modules implement tools that are largely self-contained. They fall into three categories:
- Statistical tools: These modules implement statistical methods targeting specific, focused problems, such as estimating rates from Poisson-distributed event counts, or fitting a line to data with errors in both abscissa and ordinate.
- Signal models: These modules implement functions and classes for calculating predictions from selected widely-used models in astronomy and physics, such as Keplerian models for orbital motion, or cosmological models for the distribution of luminous sources in space-time.
- Utilities: These modules implement algorithms that are useful for statistical computation, but which may be useful in other settings; examples include multi-dimensional numerical integration and Monte Carlo algorithms.
- Parametric Inference Engine (PIE): These modules comprise a framework facilitating exploring the parameter spaces of statistical models for data, for three different general modeling approaches: chi-squared (or nonlinear weighted least squares), maximum likelihood, and Bayesian.
The two main sections of this web siteLibrary and PIEdescribe these parts of the package. Examples presents some illustrative examples. Resources collects a variety of Python and other resources useful for statistical computation in the physical sciences.