Multivariate Covariance Generalized Linear Models in Python

Multivariate Covariance Generalized Linear Models in Python: The mcglm library - Published in JOSS (2024)

https://github.com/jeancmaia/mcglm

Science Score: 93.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

data-science python statistical-inference statistical-models

Scientific Fields

Mathematics Computer Science - 88% confidence
Economics Social Sciences - 63% confidence
Last synced: 4 months ago · JSON representation

Repository

Python Framework for Multivariate Covariance Generalized Linear Models

Basic Info
  • Host: GitHub
  • Owner: jeancmaia
  • License: isc
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage: https://mcglm.readthedocs.io/
  • Size: 13.5 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 1
Topics
data-science python statistical-inference statistical-models
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Multivariate Covariance Generalized Linear Models

https://pypi.org/project/mcglm/

The mcglm package brings to python language one of the most powerful extensions to GLMs(Nelder, Wedderburn; 1972), the Multivariate Covariance Generalized Linear Models(Bonat, Jørgensen; 2016).

The GLMs have consolidated as a unified statistical model for analyzing non-gaussian independent data throughout the years. Notwithstanding enhancements to Linear Regression Models(Gauss), some key assumptions, such as the independence of components in the response, each element of the target belonging to an exponential dispersion family maintains.

MCGLM aims to expand the GLMs by allowing fitting on a wide variety of inner-dependent datasets, such as spatial and longitudinal, and supplant the exponential dispersion family output by second-moment assumptions(Wedderburn; 1974)

https://jeancmaia.github.io/posts/tutorial-mcglm/tutorial_mcglm.html


The mcglm python package follows the standard pattern of the statsmodels library and aims to be another API on the package. Therefore, Python machine learning practitioners will be very familiar with this new statistical model.

To install this package, use

bash pip install mcglm

Tutorial MCGLM instills on the library usage by a wide-variety of examples(https://jeancmaia.github.io/posts/tutorial-mcglm/tutorial_mcglm.html). The following code snippet shows the model fitting for a Gaussian regression analysis.

```python modelresults = MCGLM(endog=y, exog=X).fit()

modelresults.summary() ```

Workflow for developers/contributors

Contributions are key for the mcglm library to continue expanding. We need your help to make it a fabulous tool.

In order to submit new features or bug fixes, one must open a regular PR and ask for peer review. Currently, it is possible to include "jeancmaia" as a reviewer. Furthermore, developing the codebase aligned with the PEP 8 style and comprehensive unit tests are mandatory.

We recommend using the poetry to create a local Python environment.

poetry install

Before pushing to GitHub, run the following commands:

  1. To format the code base with black.

poetry run black mcglm

  1. To run local tests to ensure realiablity of code.

poetry run python tests

Owner

  • Login: jeancmaia
  • Kind: user
  • Location: Curitiba

JOSS Publication

Multivariate Covariance Generalized Linear Models in Python: The mcglm library
Published
June 27, 2024
Volume 9, Issue 98, Page 6037
Authors
Jean Carlos Faoot Maia ORCID
Paraná Federal University, Brazil
Wagner Hugo Bonat ORCID
Paraná Federal University, Brazil
Editor
Chris Vernon ORCID
Tags
statistical models multivariate statistical analysis longitudinal data analysis MCGLM GLM statsmodels

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 90
  • Total Committers: 2
  • Avg Commits per committer: 45.0
  • Development Distribution Score (DDS): 0.078
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
jean j****n@p****n 83
Jean Carlos Faoot Maia j****a@g****m 7
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 3
  • Total pull requests: 20
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 2.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Spaak (3)
Pull Request Authors
  • jeancmaia (21)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

poetry.lock pypi
  • 136 dependencies
pyproject.toml pypi
  • Sphinx ^5.1.1 develop
  • black ^22.3.0 develop
  • coverage ^6.4.1 develop
  • jupyter ^1.0.0 develop
  • jupyterlab ^3.4.3 develop
  • pylint ^2.14.3 develop
  • pytest ^5.2 develop
  • matplotlib ^3.5.2
  • numpy 1.19.5
  • pandas ^1.3.3
  • patsy ^0.5.2
  • python >=3.9,<3.10
  • scipy 1.7.1
  • seaborn ^0.11.2
  • statsmodels ^0.13.2