ExponentialFamily

ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.

https://github.com/reactivebayes/exponentialfamily.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.7%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.

Basic Info
Statistics
  • Stars: 14
  • Watchers: 7
  • Forks: 2
  • Open Issues: 15
  • Releases: 24
Created about 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

ExponentialFamily.jl

| Documentation | Build Status | Code Coverage | Zenodo | |:-------------------------------------------------------------------------:|:------------------------------------------------------:|:---------------------------------------:|:--------------------------------------------------------------------------------------:| | | CI Aqua | CodeCov |DOI|

ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations. It is designed to facilitate working with exponential family distributions and offers specialized functionality tailored to this class of distributions.

Key Features

  • Distributions: ExponentialFamily.jl includes a wide range of exponential family distributions such as Gaussian, Gamma, Poisson, Fisher, and more. These distributions are built upon the foundation of Distributions.jl, ensuring compatibility and consistency.

  • Analytic Products: The package provides support for analytic products of distributions belonging to the same exponential family. These products are useful for conjugate computations in inference algorithms, enabling efficient calculations in Bayesian inference and other probabilistic models.

  • Analytical attributes: ExponentialFamily.jl offers hand-written and efficient functions to compute various attributes of members of the exponential family, such as base measure, sufficient statistics, the log partition function, mappings between different parametrizations and others.

  • Fisher Information: ExponentialFamily.jl also offers computation of the Fisher Information (FI) for various distributions. FI is a crucial quantity in statistical inference, providing insights into the sensitivity of a model's parameters to changes in the data. Essentially FI is the hessian of logpartition with respect to vectorized natural parameters. FI allows users to gain a deeper understanding of the behavior and performance of their probabilistic models.

Read more about the package in the documentation.

Installation

ExponentialFamily.jl can be installed through the Julia package manager. In the Julia REPL, type ] to enter the package manager mode and run: julia pkg> add ExponentialFamily

License

MIT License Copyright (c) 2023-2024 BIASlab, 2024-present ReactiveBayes

Owner

  • Name: ReactiveBayes
  • Login: ReactiveBayes
  • Kind: organization
  • Location: Netherlands

Open source software for reactive, efficient and scalable Bayesian inference

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: "Şenöz"
    given-names: "İsmail"
    orcid: "https://orcid.org/0000-0001-7355-2138"
  - family-names: "Bagaev"
    given-names: "Dmitry"
    orcid: "https://orcid.org/0000-0001-9655-7986"
  - family-names: "Lukashchuk"
    given-names: "Mykola"
    orcid: "https://orcid.org/0009-0003-3011-0825"
title: "ExponentialFamily.jl"
version: 1.6.0
date-released: "2023-10-31"
repository-code: "https://github.com/ReactiveBayes/ExponentialFamily.jl"
abstract: "ExponentialFamily.jl provides a comprehensive framework for working with exponential family distributions in Julia. The key feature of the package is the implementation of exponential family distributions in their natural parameterization. Through a unified interface, it exposes fundamental properties like sufficient statistics, log partition functions, and Fisher information matrices, while leveraging Julia's type system for both intuitive modeling and high performance."
keywords:
  - distributions
  - "exponential family"
  - interface
  - Julia
  - "probabilistic programming"
license: MIT
url: "https://github.com/ReactiveBayes/ExponentialFamily.jl"
type: software

GitHub Events

Total
  • Create event: 29
  • Commit comment event: 18
  • Release event: 11
  • Issues event: 13
  • Watch event: 1
  • Delete event: 18
  • Issue comment event: 48
  • Push event: 122
  • Pull request event: 35
  • Pull request review comment event: 17
  • Pull request review event: 46
Last Year
  • Create event: 29
  • Commit comment event: 18
  • Release event: 11
  • Issues event: 13
  • Watch event: 1
  • Delete event: 18
  • Issue comment event: 48
  • Push event: 122
  • Pull request event: 35
  • Pull request review comment event: 17
  • Pull request review event: 46

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 20
  • Total pull requests: 117
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 12 days
  • Total issue authors: 9
  • Total pull request authors: 10
  • Average comments per issue: 6.15
  • Average comments per pull request: 0.93
  • Merged pull requests: 91
  • Bot issues: 0
  • Bot pull requests: 21
Past Year
  • Issues: 6
  • Pull requests: 28
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 13 days
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.86
  • Merged pull requests: 24
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ismailsenoz (6)
  • Nimrais (6)
  • Raphael-Tresor (3)
  • bvdmitri (3)
  • albertpod (3)
  • bartvanerp (2)
  • HoangMHNguyen (2)
  • wouterwln (2)
  • ThijsvdLaar (1)
  • wmkouw (1)
  • JuliaTagBot (1)
  • MagnusKoudahl (1)
Pull Request Authors
  • ismailsenoz (33)
  • albertpod (25)
  • github-actions[bot] (21)
  • Nimrais (21)
  • wouterwln (19)
  • bvdmitri (8)
  • HoangMHNguyen (5)
  • Raphael-Tresor (4)
  • bartvanerp (2)
  • Chengfeng-Jia (2)
  • Sepideh-Adamiat (1)
Top Labels
Issue Labels
bug (8) enhancement (7) help wanted (1) good first issue (1)
Pull Request Labels
breaking (2) enhancement (1) good first issue (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 61 total
  • Total dependent packages: 2
  • Total dependent repositories: 0
  • Total versions: 26
juliahub.com: ExponentialFamily

ExponentialFamily.jl is a Julia package that extends the functionality of Distributions.jl by providing a collection of exponential family distributions and customized implementations.

  • Versions: 26
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 61 Total
Rankings
Dependent repos count: 10.1%
Dependent packages count: 36.8%
Average: 41.3%
Forks count: 53.3%
Stargazers count: 65.2%
Last synced: 7 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/cache v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite