Learn R Programming

NPflow

Overview

NPflow is a package for performing Bayesian estimation of Dirichlet process mixtures of multivariate skew $t$-distributions. It is especially oriented towards flow-cytometry data preprocessing applications, but can be useful for numerous other applications.

The main function of the package is DPMpost().

The method implemented in this package is detailed in the following article:

Hejblum BP, Alkhassim C, Gottardo R, Caron F and Thiebaut R (2019). Sequential Dirichlet Process Mixtures of Multivariate Skew t-distributions for Model-based Clustering of Flow Cytometry Data. The Annals of Applied Statistics, 13(1):638-660. <doi: 10.1214/18-AOAS1209> <arXiv: 1702.04407>

Installation

The easiest way to get NPflow is to install it from CRAN:

install.packages("NPflow")

Or to get the development version from GitHub:

#install.packages("devtools")
devtools::install_github("sistm/NPflow", ref="CRANrelease")

ā€“ Boris Hejblum

Copy Link

Version

Install

install.packages('NPflow')

Monthly Downloads

285

Version

0.13.5

License

LGPL-3 | file LICENSE

Last Published

January 13th, 2024

Functions in NPflow (0.13.5)

DPMGibbsSkewT_SeqPrior

Slice Sampling of Dirichlet Process Mixture of skew Student's t-distributions
DPMGibbsN_parallel

Slice Sampling of the Dirichlet Process Mixture Model with a prior on alpha
DPMGibbsSkewN_parallel

Parallel Implementation of Slice Sampling of Dirichlet Process Mixture of skew normal distributions
DPMGibbsSkewT

Slice Sampling of Dirichlet Process Mixture of skew Student's t-distributions
DPMpost

Posterior estimation for Dirichlet process mixture of multivariate (potentially skew) distributions models
DPMGibbsN

Slice Sampling of the Dirichlet Process Mixture Model with a prior on alpha
DPMGibbsN_SeqPrior

Slice Sampling of Dirichlet Process Mixture of Gaussian distributions
DPMGibbsSkewN

Slice Sampling of Dirichlet Process Mixture of skew normal distributions
DPMGibbsSkewT_parallel

Slice Sampling of Dirichlet Process Mixture of skew Student's t-distributions
DPMGibbsSkewT_SeqPrior_parallel

Slice Sampling of Dirichlet Process Mixture of skew Student's t-distributions
FmeasureC_no0

C++ implementation of the F-measure computation without the reference class 0
Flimited

Compute a limited F-measure
MAP_sNiW_mmEM

EM MAP for mixture of sNiW
MLE_sNiW

MLE for sNiW distributed observations
MLE_NiW_mmEM

EM MLE for mixture of NiW
NPflow-package

Bayesian Nonparametrics for Automatic Gating of Flow Cytometry data
Fmeasure_costC

Multiple cost computations with the F-measure as the loss function
FmeasureC

C++ implementation of the F-measure computation
MLE_gamma

MLE for Gamma distribution
MLE_sNiW_mmEM

EM MLE for mixture of sNiW
NuMatParC

C++ implementation of similarity matrix computation using pre-computed distances
burn.DPMMclust

Burning MCMC iterations from a Dirichlet Process Mixture Model.
cluster_est_Fmeasure

Point estimate of the partition using the F-measure as the cost function.
cytoScatter

Scatterplot of flow cytometry data
cluster_est_Mbinder_norm

Point estimate of the partition using a modified Binder loss function
cluster_est_binder

Point estimate of the partition for the Binder loss function
lgamma_mv

Multivariate log gamma function
cluster_est_pear

Gets a point estimate of the partition using posterior expected adjusted Rand index (PEAR)
invwishrnd

Sample from a inverse-Wishart distribution
evalClustLoss

ELoss of a partition point estimate compared to a gold standard
mmsNiWpdfC

C++ implementation of multivariate structured Normal inverse Wishart probability density function for multiple inputs
mmvtpdfC

C++ implementation of multivariate Normal probability density function for multiple inputs
print.summaryDPMMclust

Methods for a summary of a DPMMclust object
mmNiWpdfC

C++ implementation of multivariate Normal inverse Wishart probability density function for multiple inputs
mmNiWpdf

multivariate Normal inverse Wishart probability density function for multiple inputs
mmvnpdfC

C++ implementation of multivariate Normal probability density function for multiple inputs
mmvsnpdfC

C++ implementation of multivariate skew Normal probability density function for multiple inputs
mmsNiWlogpdf

Probability density function of multiple structured Normal inverse Wishart
mvsnlikC

C++ implementation of multivariate skew normal likelihood function for multiple inputs
mvsnpdf

multivariate Skew-Normal probability density function
mvnpdf

multivariate-Normal probability density function
plot_DPMsn

Plot of a Dirichlet process mixture of skew normal distribution partition
mvnpdfC

C++ implementation of multivariate normal probability density function for multiple inputs
plot_DPM

Plot of a Dirichlet process mixture of gaussian distribution partition
mmvstpdfC

C++ implementation of multivariate Normal probability density function for multiple inputs
plot_ConvDPM

Convergence diagnostic plots
mvnlikC

C++ implementation of multivariate Normal probability density function for multiple inputs
mvstpdf

multivariate skew-t probability density function
mvtpdf

multivariate Student's t-distribution probability density function
mvstlikC

C++ implementation of multivariate skew t likelihood function for multiple inputs
priormix

Construction of an Empirical based prior
plot_DPMst

Plot of a Dirichlet process mixture of skew t-distribution partition
rNiW

Sample from a Normal inverse-Wishart distribution whose parameter are given by the structure hyper
sample_alpha

Sampler for the concentration parameter of a Dirichlet process
similarityMat

Computes the co-clustering (or similarity) matrix
similarityMatC

C++ implementation
sampleClassC

C++ implementation of the multinomial sampling from a matrix of column vectors, each containing the sampling probabilities for their respective draw
rNNiW

Sample from a normal inverse Wishart distribution whose parameter are given by the structure SufStat
postProcess.DPMMclust

Post-processing Dirichlet Process Mixture Models results to get a mixture distribution of the posterior locations
traceEpsC

C++ implementation of residual trace computation step used when sampling the scale
rCRP

Generating cluster data from the Chinese Restaurant Process
update_SS

Return updated sufficient statistics S with new data matrix z
similarityMat_nocostC

C++ implementation
update_SSst

Return updated sufficient statistics S for skew t-distribution with data matrix z
summary.DPMMclust

Summarizing Dirichlet Process Mixture Models
update_SSsn

Return updated sufficient statistics S with new data matrix z
vclust2mcoclustC

C++ implementation
wishrnd

Sample from a Wishart distribution