Skip to main content

Package implementing PLN models

Project description

PLNmodels: Poisson lognormal models

The Poisson lognormal model and variants can be used for analysis of mutivariate count data. This package implements efficient algorithms extracting meaningful data from difficult to interpret and complex multivariate count data. It has been built to scale on large datasets even though it has memory limitations. Possible fields of applications include

  • Genomics (number of times a gene is expressed in a cell)
  • Ecology (species abundances)

One main functionality is to normalize the count data to obtain more valuable data. It also analyse the significance of each variable and their correlation as well as the weight of covariates (if available).

Getting started

The getting started can be found here. If you need just a quick view of the package, see the quickstart next.

🛠 Installation

pyPLNmodels is available on pypi. The development version is available on GitHub.

Package installation

pip install pyPLNmodels

⚡️ Quickstart

The package comes with an ecological data set to present the functionality

import pyPLNmodels
from pyPLNmodels.models import PlnPCAcollection, Pln, ZIPln
from pyPLNmodels.oaks import load_oaks
oaks = load_oaks()

Unpenalized Poisson lognormal model (aka PLN)

pln = Pln.from_formula("endog ~ 1  + tree + dist2ground + orientation ", data = oaks, take_log_offsets = True)
pln.fit()
print(pln)
transformed_data = pln.transform()

Rank Constrained Poisson lognormal for Poisson Principal Component Analysis (aka PLNPCA)

pca =  PlnPCAcollection.from_formula("endog ~ 1  + tree + dist2ground + orientation ", data = oaks, take_log_offsets = True, ranks = [3,4,5])
pca.fit()
print(pca)
transformed_data = pca.best_model().transform()

Zero inflated Poisson Log normal Model (aka ZIPln)

zi =  ZIPln.from_formula("endog ~ 1  + tree + dist2ground + orientation ", data = oaks, take_log_offsets = True)
zi.fit()
print(zi)
transformed_data = zi.transform()

👐 Contributing

Feel free to contribute, but read the CONTRIBUTING.md first. A public roadmap will be available soon.

⚡️ Citations

Please cite our work using the following references:

  • J. Chiquet, M. Mariadassou and S. Robin: Variational inference for probabilistic Poisson PCA, the Annals of Applied Statistics, 12: 2674–2698, 2018. link

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

pyplnmodels-0.0.73.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyPLNmodels-0.0.73-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file pyplnmodels-0.0.73.tar.gz.

File metadata

  • Download URL: pyplnmodels-0.0.73.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for pyplnmodels-0.0.73.tar.gz
Algorithm Hash digest
SHA256 df674e5d9dd84b8154de4d2375a43b7fa3bac6d5c6c0b58b2b6ec503a8cd6567
MD5 d877609b2e02ca6855125763654c3628
BLAKE2b-256 e1a1df462722221b74a2410068e38bf52e82e523be3f10cb98f9cb0457ada7b8

See more details on using hashes here.

File details

Details for the file pyPLNmodels-0.0.73-py3-none-any.whl.

File metadata

  • Download URL: pyPLNmodels-0.0.73-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for pyPLNmodels-0.0.73-py3-none-any.whl
Algorithm Hash digest
SHA256 28b12ea4fc0afa8e4a04b7e13e85a0010df674dc84dc421a3271ea5e55fcc772
MD5 61c3d4c85672364766c7bee8251b8dd0
BLAKE2b-256 b963005bfc19d9c9f12b277e13f73503154e5c7a33b8c93bc1fd021ea96e0113

See more details on using hashes here.

Supported by

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