aschein / prgds

Poisson-Randomized Gamma Dynamical Systems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

prgds

Poisson-randomized gamma dynamical systems

Installing

An Anaconda environment is included at environment.yml. Run the following command in the home directory to create an Anaconda environment with all necessary packages and configurations:

conda env create -f environment.yml

This will create an environment called pgds. To acivate it, type:

conda activate prgds

Then you should be able to compile the code by changing directory to the src/ folder and typing

cd src/
make

What's included in src:

  • apf.pyx: Allocation-based Poisson factorization (APF). This is the base class for Poisson tensor decomposition models with non-negative priors.
  • bessel.pyx: Sampling algorithms for the Bessel distribution.
  • sbch.pyx: Sampling algorithms for the size-biased confluent hypergeometric (SCH) distribution.
  • pgds.pyx: Tensor generalization of Poisson--gamma dynamical systems (PGDS) of Schein et al. (2016).
  • prgds.pyx: Poisson-randomized gamma dynamical systems (PRGDS).
  • bpmf.pyx: Bayesian Poisson matrix factorization (BPMF).
  • bpmf_example.ipynb: Example using BPMF for count or matrix factorization.

Dependencies:

OSX users will have to install a version of the GNU Compiler Collection (GCC). If using Anaconda,

conda install -c conda-forge gcc

and then change the relevant line in setup.py. OSX users may run into issues compiling on MacOS 10.14 or greater which can be fixed by following the solutions in this thread.

OSX users will also have to install the GNU Scientific library (GSL). If using Anaconda,

conda install -c conda-forge gsl

OSX users with problems compiling may find answers to this question useful.

About

Poisson-Randomized Gamma Dynamical Systems


Languages

Language:Cython 83.7%Language:Python 13.4%Language:Jupyter Notebook 2.8%Language:Makefile 0.0%Language:Shell 0.0%