Skip to main content

Probabilistic modeling of tabular data with normalizing flows.

Project description

build codecov PyPI version DOI Docs

PZFlow

PZFlow is a python package for probabilistic modeling of tabular data with normalizing flows.

If your data consists of continuous variables that can be put into a Pandas DataFrame, pzflow can model the joint probability distribution of your data set.

The Flow class makes building and training a normalizing flow simple. It also allows you to easily sample from the normalizing flow (e.g., for forward modeling or data augmentation), and calculate posteriors over any of your variables.

There are several tutorial notebooks in the docs.

Installation

See the instructions in the docs.

Citation

We are preparing a paper on pzflow. If you use this package in your research, please check back here for a citation before publication. In the meantime, please cite the Zenodo release.

Sources

PZFlow was originally designed for forward modeling of photometric redshifts as a part of the Creation Module of the DESC RAIL project. The idea to use normalizing flows for photometric redshifts originated with Bryce Kalmbach. The earliest version of the normalizing flow in RAIL was based on a notebook by Francois Lanusse and included contributions from Alex Malz.

The functional jax structure of the bijectors was originally based on jax-flows by Chris Waites. The implementation of the Neural Spline Coupling is largely based on the Tensorflow implementation, with some inspiration from nflows.

Neural Spline Flows are based on the following papers:

NICE: Non-linear Independent Components Estimation
Laurent Dinh, David Krueger, Yoshua Bengio
arXiv:1410.8516

Density estimation using Real NVP
Laurent Dinh, Jascha Sohl-Dickstein, Samy Bengio
arXiv:1605.08803

Neural Spline Flows
Conor Durkan, Artur Bekasov, Iain Murray, George Papamakarios
arXiv:1906.04032

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pzflow-3.1.1.tar.gz (8.7 MB view details)

Uploaded Source

Built Distribution

pzflow-3.1.1-py3-none-any.whl (8.7 MB view details)

Uploaded Python 3

File details

Details for the file pzflow-3.1.1.tar.gz.

File metadata

  • Download URL: pzflow-3.1.1.tar.gz
  • Upload date:
  • Size: 8.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/3.10.0-1160.88.1.el7.x86_64

File hashes

Hashes for pzflow-3.1.1.tar.gz
Algorithm Hash digest
SHA256 75713a79150ed8d82d5aa4733be46d6054b80365c9f47731e1697c2292e34ed9
MD5 6dfa2a786cf59cb1be2bdba20dbad17c
BLAKE2b-256 25b2c1a5f9ede854b53c48c5b3ebff0e115048af0712a6ff85b2d65bcd06c2cf

See more details on using hashes here.

Provenance

File details

Details for the file pzflow-3.1.1-py3-none-any.whl.

File metadata

  • Download URL: pzflow-3.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Linux/3.10.0-1160.88.1.el7.x86_64

File hashes

Hashes for pzflow-3.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d46b92aa8e5adb3f0212013708c42b4a80b7f97f6e931f7dfc3fcaacdde464c0
MD5 dbd7371cda4eae698209838d0404f39b
BLAKE2b-256 b7f7ff2a27fdb0aa6ad641611c557f6b5038f378b810c68faa75cb7c821cb9bf

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page