Skip to content

A collection of Poisson lognormal models for multivariate count data analysis

License

Notifications You must be signed in to change notification settings

PLN-team/PLNmodels

Repository files navigation

PLNmodels: Poisson lognormal models

R build status Coverage status CRAN_Status_Badge Lifecycle: stable

The Poisson lognormal model and variants can be used for a variety of multivariate problems when count data are at play (including PCA, LDA and network inference for count data). This package implements efficient algorithms to fit such models accompanied with a set of functions for visualization and diagnostic. See this deck of slides for a comprehensive introduction.

Installation

PLNmodels is available on CRAN. The development version is available on Github.

R Package installation

Installing PLNmodels

  • For the last stable version, use the CRAN version
install.packages("PLNmodels")
  • For the development version, use the github install
remotes::install_github("pln-team/PLNmodels")
  • For a specific tagged release, use
remotes::install_github("pln-team/PLNmodels@tag_number")

Usage and main fitting functions

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

library(PLNmodels)
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)

The main fitting functions work with the usual R formula notations, with mutivariate responses on the left hand side. You probably want to start by one of them. Check the corresponding vignette and documentation page. There is a dedicated vignettes for each model in the package (See https://pln-team.github.io/PLNmodels/articles/).

Unpenalized Poisson lognormal model (aka PLN)

myPLN <- PLN(Abundance ~ 1, data = trichoptera)

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

myPCA <- PLNPCA(Abundance ~ 1, data = trichoptera, ranks = 1:8)

Poisson lognormal discriminant analysis (aka PLNLDA)

myLDA <- PLNLDA(Abundance ~ 1, grouping = Group, data = trichoptera)

Sparse Poisson lognormal model for sparse covariance inference for counts (aka PLNnetwork)

myPLNnetwork <- PLNnetwork(Abundance ~ 1, data = trichoptera)

Mixture of Poisson lognormal models for model-based clustering of counts (aka PLNmixture)

myPLNmixture <- PLNmixture(Abundance ~ 1, data = trichoptera)

References

Please cite our work using the following references:

  • J. Chiquet, M. Mariadassou and S. Robin: The Poisson-lognormal model as a versatile framework for the joint analysis of species abundances, Frontiers in Ecology and Evolution, 2021. link

  • J. Chiquet, M. Mariadassou and S. Robin: Variational inference for sparse network reconstruction from count data, Proceedings of the 36th International Conference on Machine Learning (ICML), 2019. link

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