hoggorm

hoggorm: a python library for explorative multivariate statistics - Published in JOSS (2019)

https://github.com/olivertomic/hoggorm

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 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

chemometrics explorative-statistics multivariate-analysis multivariate-statistics partial-least-squares-regression principal-component-analysis statistics

Scientific Fields

Economics Social Sciences - 40% confidence
Engineering Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Explorative multivariate statistics in Python

Basic Info
  • Host: GitHub
  • Owner: olivertomic
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 3.95 MB
Statistics
  • Stars: 80
  • Watchers: 7
  • Forks: 25
  • Open Issues: 7
  • Releases: 3
Topics
chemometrics explorative-statistics multivariate-analysis multivariate-statistics partial-least-squares-regression principal-component-analysis statistics
Created over 9 years ago · Last pushed over 4 years ago
Metadata Files
Readme Changelog Contributing License Authors

README.rst

hoggorm
=======

.. image:: https://img.shields.io/pypi/l/hoggorm.svg
    :target: https://github.com/olivertomic/hoggorm/blob/master/LICENSE

.. image:: https://readthedocs.org/projects/hoggorm/badge/?version=latest
    :target: https://hoggorm.readthedocs.io/en/latest/?badge=latest

.. image:: http://joss.theoj.org/papers/10.21105/joss.00980/status.svg
   :target: https://doi.org/10.21105/joss.00980

.. image:: https://codecov.io/gh/olivertomic/hoggorm/branch/master/graph/badge.svg?token=IWQHXZQY4F
   :target: https://codecov.io/gh/olivertomic/hoggorm/branch/master

.. image:: https://github.com/olivertomic/hoggorm/workflows/ci-build/badge.svg?branch=master
   :target: https://github.com/olivertomic/hoggorm/actions?query=workflow%3Aci-build
   
.. image:: https://app.codacy.com/project/badge/Grade/16c4487ca1b945a28af18f44f04be0d5
    :alt: Codacy Badge	
    :target: https://www.codacy.com/gh/andife/hoggorm/dashboard?utm_source=github.com&utm_medium=referral&utm_content=andife/hoggorm&utm_campaign=Badge_Grade
   
.. image:: https://bestpractices.coreinfrastructure.org/projects/4359/badge
   :target: https://bestpractices.coreinfrastructure.org/projects/4359
   

hoggorm is a Python package for explorative multivariate statistics in Python. It contains the following methods:

* PCA (principal component analysis)
* PCR (principal component regression)
* PLSR (partial least squares regression)
  
  - PLSR1 for single variable responses
  - PLSR2 for multivariate responses
* matrix correlation coefficients RV, RV2 and SMI.

Unlike `scikit-learn`_, which is an excellent python machine learning package focusing on classification, regression, clustering and predicition, hoggorm rather aims at understanding and interpretation of the variance in the data. hoggorm also contains tools for prediction.
The complementary package `hoggormplot`_ can be used for visualization of results of models trained with hoggorm. 

.. _scikit-learn: https://scikit-learn.org/stable/
.. _hoggormplot: https://github.com/olivertomic/hoggormPlot

Examples
--------

.. |ColabCancer| image:: https://colab.research.google.com/assets/colab-badge.svg
    :target: https://colab.research.google.com/github/olivertomic/hoggorm/blob/master/examples/PCA/PCA_on_cancer_data.ipynb
    :alt: Open in Colab

.. |BinderCancer| image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/olivertomic/hoggorm/master?filepath=examples/PCA/PCA_on_cancer_data.ipynb
    :alt: Open in Binder

.. |BinderSensory| image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/olivertomic/hoggorm/master?filepath=examples%2FPCR%2FPCR_on_sensory_and_fluorescence_data.ipynb
    :alt: Open in Binder

.. |ColabSensory| image:: https://colab.research.google.com/assets/colab-badge.svg
    :target: https://colab.research.google.com/github/olivertomic/hoggorm/blob/master/examples/RV_%26_RV2/RV_and_RV2_on_sensory_and_fluorescence_data.ipynb
    :alt: Open In Colab

.. |ColabPCRCheese| image:: https://colab.research.google.com/assets/colab-badge.svg
    :target: https://colab.research.google.com/github/olivertomic/hoggorm/blob/master/examples/PCR/PCR_on_sensory_and_fluorescence_data.ipynb
    :alt: Open In Colab

.. |ColabPLSR2Cheese| image:: https://colab.research.google.com/assets/colab-badge.svg
    :target: https://colab.research.google.com/github/olivertomic/hoggorm/blob/master/examples/PLSR/PLSR_on_sensory_and_fluorescence_data.ipynb
    :alt: Open In Colab

Below are links to some Jupyter notebooks that illustrate how to use hoggorm and hoggormplot with the methods mentioned above. All examples are also found in the `examples`_ folder.

- Jupyter notebooks with examples of how to use hoggorm
  
  - for `PCA`_
		- `PCA on cancer data`_ on men in OECD countries |ColabCancer| |BinderCancer|
		- `PCA on NIR spectroscopy data`_ measured on gasoline
		- `PCA on sensory data`_ measured on cheese
  - for `PCR`_
		- `PCR on sensory and fluorescence spectroscopy data`_ measured on cheese |ColabPCRCheese|
  - for `PLSR1`_ for univariate response (one response variable)
    	- `PLSR1 on NIR spectroscopy and octane data`_ measured on gasoline
  - for `PLSR2`_ for multivariate response (multiple response variables)
    	- `PLSR2 on sensory and fluorescence spectroscopy data`_ measured on cheese |ColabPLSR2Cheese|
  - for matrix correlation coefficients `RV and RV2`_
		- `RV and RV2 coefficient on sensory and fluorescence spectroscopy data`_ measured on cheese |ColabSensory| |BinderSensory|
  - for the `SMI`_ (similarity of matrix index)
		- `SMI on sensory data and fluorescence data`_
		- `SMI on pseudo-random numbers`_
  
.. _examples: https://github.com/olivertomic/hoggorm/tree/master/examples
.. _PCA: https://github.com/olivertomic/hoggorm/tree/master/examples/PCA
.. _PCR: https://github.com/olivertomic/hoggorm/tree/master/examples/PCR
.. _PLSR1: https://github.com/olivertomic/hoggorm/tree/master/examples/PLSR
.. _PLSR2: https://github.com/olivertomic/hoggorm/tree/master/examples/PLSR
.. _RV and RV2: https://github.com/olivertomic/hoggorm/tree/master/examples/RV_%26_RV2
.. _PCA on cancer data: https://github.com/olivertomic/hoggorm/blob/master/examples/PCA/PCA_on_cancer_data.ipynb
.. _PCA on NIR spectroscopy data: https://github.com/olivertomic/hoggorm/blob/master/examples/PCA/PCA_on_spectroscopy_data.ipynb
.. _PCA on sensory data: https://github.com/olivertomic/hoggorm/blob/master/examples/PCA/PCA_on_descriptive_sensory_analysis_data.ipynb
.. _PCR on sensory and fluorescence spectroscopy data: https://github.com/olivertomic/hoggorm/blob/master/examples/PCR/PCR_on_sensory_and_fluorescence_data.ipynb
.. _PLSR1 on NIR spectroscopy and octane data: https://github.com/olivertomic/hoggorm/blob/master/examples/PLSR/PLSR_on_NIR_and_octane_data.ipynb
.. _PLSR2 on sensory and fluorescence spectroscopy data: https://github.com/olivertomic/hoggorm/blob/master/examples/PLSR/PLSR_on_sensory_and_fluorescence_data.ipynb
.. _RV and RV2 coefficient on sensory and fluorescence spectroscopy data: https://github.com/olivertomic/hoggorm/blob/master/examples/RV_%26_RV2/RV_and_RV2_on_sensory_and_fluorescence_data.ipynb
.. _SMI: https://github.com/olivertomic/hoggorm/tree/master/examples/SMI
.. _SMI on sensory data and fluorescence data: https://github.com/olivertomic/hoggorm/blob/master/examples/SMI/SMI_on_sensory_and_fluorescence.ipynb
.. _SMI on pseudo-random numbers: https://github.com/olivertomic/hoggorm/blob/master/examples/SMI/SMI_pseudo-random_numbers.ipynb




Requirements
------------
Make sure that Python 3.6 or higher is installed. A convenient way to install Python and many useful packages for scientific computing is to use the `Anaconda distribution`_.

.. _Anaconda distribution: https://www.anaconda.com/download/

- numpy >= 1.9

Installation
------------

Using pip
*********

.. image:: https://pepy.tech/badge/hoggorm
    :target: https://pepy.tech/project/hoggorm
    :alt: PyPI Downloads

.. image:: https://pepy.tech/badge/hoggorm/month
    :target: https://pepy.tech/project/hoggorm/month
    :alt: PyPI Downloads

.. image:: https://pepy.tech/badge/hoggorm/week
    :target: https://pepy.tech/project/hoggorm/week
    :alt: PyPI Downloads

Install hoggorm easily from the command line from the `PyPI - the Python Packaging Index`_.

.. _PyPI - the Python Packaging Index: https://pypi.python.org/pypi

.. code-block:: bash

	pip install hoggorm

Using conda
***********

.. image:: https://img.shields.io/conda/dn/conda-forge/hoggorm.svg
    :target: https://anaconda.org/conda-forge/hoggorm
    :alt: Conda Downloads

.. image:: https://img.shields.io/conda/vn/conda-forge/hoggorm.svg
    :target: https://anaconda.org/conda-forge/hoggorm
    :alt: Conda Version
 
You can install using the conda package manager by running

.. code-block:: bash

    conda install -c conda-forge hoggorm


Documentation
-------------
.. image:: https://readthedocs.org/projects/hoggorm/badge/?version=latest

- Documentation at `Read the Docs`_
- Jupyter notebooks with `examples`_ of how to use Hoggorm together with the complementary plotting package `hoggormplot`_.
  
  
.. _Read the Docs: https://hoggorm.readthedocs.io/en/latest/
.. _examples: https://github.com/olivertomic/hoggorm/tree/master/examples
.. _hoggormplot: https://github.com/olivertomic/hoggormPlot


Citing hoggorm
--------------

If you use hoggorm in a report or scientific publication, we would appreciate citations to the following paper:

.. image:: https://joss.theoj.org/papers/10.21105/joss.00980/status.svg
   :target: https://doi.org/10.21105/joss.00980

Tomic et al., (2019). hoggorm: a python library for explorative multivariate statistics. Journal of Open Source Software, 4(39), 980, https://doi.org/10.21105/joss.00980 

Bibtex entry:

.. code-block:: bash

    @article{hoggorm,
      title={hoggorm: a python library for explorative multivariate statistics},
      author={Tomic, Oliver and Graff, Thomas and Liland, Kristian Hovde and N{\ae}s, Tormod},
      journal={The Journal of Open Source Software},
      volume={4},
      number={39},
      year={2019},
      doi={10.21105/joss.00980},
      url={http://joss.theoj.org/papers/10.21105/joss.00980}
    }


Owner

  • Name: Oliver Tomic
  • Login: olivertomic
  • Kind: user
  • Location: Ås, Norway
  • Company: Norwegian University of Life Sciences

Associate professor @NMBU, Norway.

JOSS Publication

hoggorm: a python library for explorative multivariate statistics
Published
July 11, 2019
Volume 4, Issue 39, Page 980
Authors
Oliver Tomic ORCID
Norwegian University of Life Sciences, Ås, Norway
Thomas Graff
TGXnet, Norway
Kristian Hovde Liland ORCID
Norwegian University of Life Sciences, Ås, Norway
Tormod Næs
Nofima, Ås, Norway
Editor
Arfon Smith ORCID
Tags
multivariate statistics explorative multivariate analysis chemometrics partial least squares regression principal component regression principal component analysis

GitHub Events

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

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 232
  • Total Committers: 4
  • Avg Commits per committer: 58.0
  • Development Distribution Score (DDS): 0.289
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Oliver Tomic o****c@z****m 165
Thomas Graff g****s@g****m 42
Andreas Fehlner f****r@a****e 22
Kristian Hovde Liland k****d 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 19
  • Total pull requests: 34
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 8
  • Total pull request authors: 3
  • Average comments per issue: 1.37
  • Average comments per pull request: 0.09
  • Merged pull requests: 32
  • 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
  • andife (12)
  • alphomeg (1)
  • eric-valente (1)
  • sjentoft (1)
  • Mohamed0gad (1)
  • martinbo94 (1)
  • ViesLink (1)
  • davidechicco (1)
Pull Request Authors
  • olivertomic (22)
  • andife (9)
  • khliland (3)
Top Labels
Issue Labels
bug (2) question (2) codecov (1) enhancement (1) Dimensionality issue (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 165 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 3
    (may contain duplicates)
  • Total versions: 8
  • Total maintainers: 2
pypi.org: hoggorm

Package for explorative multivariate statistics

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 165 Last month
Rankings
Forks count: 7.7%
Stargazers count: 8.0%
Dependent repos count: 9.0%
Dependent packages count: 10.0%
Average: 11.6%
Downloads: 23.6%
Maintainers (2)
Last synced: 4 months ago
conda-forge.org: hoggorm

hoggorm is a Python package for explorative multivariate statistics Including PCA, PCR, PLSR, PLSR1, PLSR2, matrix correlation coefficients RV, RV2 and SMI. hoggorm aims at understanding and interpretation of the variance in the data.

  • Versions: 1
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Forks count: 29.9%
Average: 31.7%
Dependent repos count: 34.0%
Stargazers count: 34.2%
Last synced: 4 months ago