Skip to content
Snippets Groups Projects
Forked from BATARDIERE Bastien / pyPLNmodels
534 commits behind the upstream repository.

PLNmodels: Poisson lognormal models

The Poisson lognormal model and variants can be used for analysis of mutivariate count data. This package implements efficient algorithms to fit such models.

Installation

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

Package installation

pip install pyPLNmodels

Usage and main fitting functions

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

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

Unpenalized Poisson lognormal model (aka PLN)

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

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

pca =  PlnPCACollection.from_formula("counts ~ 1  + tree + dist2ground + orientation ", data = oaks, take_log_offsets = True, ranks = [3,4,5])
pca.fit()
print(pca)

References

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