Freedom251 › Statistical Analysis Software
ExpFamilyPCA.jl

What ExpFamilyPCA.jl is
ExpFamilyPCA.jl is a free, MIT-licensed Julia package for exponential family principal component analysis. It extends principal component analysis to non-Gaussian data and accepts real-valued Julia AbstractMatrix inputs, with observations in rows and features in columns. EPCA objects include fit!, compress, and decompress methods for fitting data, reducing new data, and reconstructing it. Built-in models cover Bernoulli, Binomial, Continuous Bernoulli, Gamma, Gaussian, Negative Binomial, Pareto, Poisson, and Weibull distributions. You can define a model for another distribution by supplying mathematical parts such as an objective and link function. Configuration includes regularization, starting parameter values, parameter bounds, and iteration controls. Listed applications include belief compression, text analysis, denoising, sample debiasing, clustering, and dimensionality reduction. Custom specifications can use Symbolics.jl for symbolic differentiation and Optim.jl for optimization. Installation uses Julia’s package manager with Pkg.add("ExpFamilyPCA"). Fitting may take a long time depending on dataset size and model complexity. It runs on Linux and supports scripting.
Who it suits
It suits Julia users working with non-Gaussian matrices for compression, analysis, denoising, clustering, or dimensionality reduction. It is also aimed at users who need built-in or custom exponential-family models.
What it does well
- Free MIT-licensed Julia package
- Supports nine built-in distributions
- Provides fit, compress, and decompress methods
- Allows custom distribution models
- Configurable optimization controls
What to know first
- Linux platform listed
- Fitting can take a long time
- Requires Julia package-manager installation
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open-source package | Julia package · MIT license | Free |
As sisl.github.io lists them, read 12 Oct 2026. The maker's own page has the final word.
Verdict
ExpFamilyPCA.jl provides a focused Julia workflow for exponential-family PCA, with several built-in distributions and options for custom models. Its Linux support and potentially lengthy fitting make it most suitable for technical users comfortable with Julia and configurable optimization.
Facts from ExpFamilyPCA.jl's own pages
- Custom models
- Users can define EPCA models for custom distributions by specifying mathematical components such as an objective and link function. · sisl.github.io, 12 Oct 2026
- Data import formats
- Julia AbstractMatrix data · sisl.github.io, 23 Sept 2026
- Free plan
- Yes · sisl.github.io, 23 Sept 2026
- Input format
- The fitting and compression methods accept real-valued abstract matrices, with rows representing observations and columns representing features. · sisl.github.io, 12 Oct 2026
- Installation
- The project instructs users to install it through Julia's package manager with Pkg.add("ExpFamilyPCA"). · sisl.github.io, 12 Oct 2026
- Integrations
- The documentation describes using Symbolics.jl for symbolic differentiation and Optim.jl for optimization in custom EPCA specifications. · sisl.github.io, 12 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 12 Oct 2026
- Model workflow
- EPCA objects provide fit!, compress, and decompress methods for fitting data, compressing new data, and reconstructing data. · github.com, 12 Oct 2026
- Optimization
- The package documents configurable optimization options, including regularization, initialization values, parameter bounds, and iteration controls. · sisl.github.io, 12 Oct 2026
- Performance limit
- The documentation warns that fitting may take a long time depending on dataset size and model complexity. · sisl.github.io, 12 Oct 2026
- Purpose
- ExpFamilyPCA.jl is a Julia package for exponential family principal component analysis, a generalization of PCA for non-Gaussian data. · github.com, 12 Oct 2026
- Scripting support
- Yes · sisl.github.io, 23 Sept 2026
- Support and contributions
- The project invites users to ask questions and contribute, and directs requests for new compressors or model improvements to GitHub issues. · sisl.github.io, 12 Oct 2026
- Supported distributions
- Built-in models cover Bernoulli, Binomial, Continuous Bernoulli, Gamma, Gaussian, Negative Binomial, Pareto, Poisson, and Weibull distributions. · sisl.github.io, 12 Oct 2026
- Use cases
- The project describes applications including belief compression, text analysis, denoising, sample debiasing, clustering, and dimensionality reduction. · github.com, 12 Oct 2026
Where ExpFamilyPCA.jl stands on Freedom251
- Statistical Analysis Software#51 of 106