# Spectrally regularised LVMs
![GitHub license](https://img.shields.io/github/license/RyanBalshaw/spectrally-regularised-LVMs)
![GitHub last commit](https://img.shields.io/github/last-commit/RyanBalshaw/spectrally-regularised-LVMs)
![PyPI](https://img.shields.io/pypi/v/spectrally-regularised-lvms)
![PyPI - Wheel](https://img.shields.io/pypi/wheel/spectrally-regularised-lvms?color=blueviolet)
![Read the Docs](https://img.shields.io/readthedocs/spectrally-regularised-lvms?color=informational)
![GitHub issues](https://img.shields.io/github/issues/RyanBalshaw/spectrally-regularised-LVMs?color=critical)
[![DOI](https://zenodo.org/badge/633742820.svg)](https://doi.org/10.5281/zenodo.14717880)
*Spectrally-regularised-LVMs* is a Python-based [package](https://pypi.org/project/spectrally-regularised-lvms/) which facilitates the estimation of the linear latent variable model (LVM) parameters with a unique spectral regularisation term in single channel time-series applications.
## Purpose
LVMs are a statistical methodology which try to capture the underlying structure in some observed data. This package caters to single channel time-series applications and provides a methodology to estimate the LVM parameters. The model parameters are encouraged to capture non-duplicate information via a spectral regularisation term which penalises source duplication of the spectral information captured by the latent sources.
The purpose of this package is to provide a complete framework for LVMs with spectral regularisation that caters to a variety of LVM objective functions.
# Documentation
Please visit the [documentation](http://spectrally-regularised-lvms.readthedocs.io/) page for all supporting documentation for this package.
# Installation
The package is designed to be used through the Python API, and can be installed using [pip](https://pypi.org/project/pip/):
```console
$ pip install spectrally-regularised-lvms
```
A more detailed discussion regarding installation is given in the [documentation](http://spectrally-regularised-lvms.readthedocs.io/).
# Requirements
This package used Python ≥ 3.11 or later to run. For other python dependencies, please check the `pyproject.toml`
[file](https://github.com/RyanBalshaw/spectrally-regularised-LVMs/blob/main/pyproject.toml) included in this repository. The dependencies of this package are as follows:
| Package | Version |
|:-----------------------------------------------:|:-----------------:|
| [Python](https://www.python.org/) | ≥ 3.11 |
| [Numpy](https://numpy.org/) | ≥ 1.23.1, < 2.0 |
| [Matplotlib](https://matplotlib.org/) | ≥ 3.5.2 |
| [SciPy](https://scipy.org/) | ≥ 1.8.1 |
| [scikit-learn](https://scikit-learn.org/) | ≥ 1.1.2 |
| [tqdm](https://github.com/tqdm/tqdm) | ≥ 4.64.1 |
| [SymPy](https://www.sympy.org/en/index.html) | ≥ 1.1.1, < 1.13 |
| [Poetry](https://python-poetry.org/) | ≥ 2.0 |
# API usage
Please visit [the docs](http://spectrally-regularised-lvms.readthedocs.io/) for all supporting API documentation for this package.
# Contributing
This package uses [Poetry](https://python-poetry.org/) for dependency management and Python packaging and [git](https://git-scm.com/) for version control. To get started, first install git and Poetry. Then one may clone this repository via
```console
$ git clone git@github.com:RyanBalshaw/spectrally-regularised-LVMs.git
$ cd spectrally-regularised-LVMs
```
Then, install the necessary dependencies in a local environment via
```console
$ poetry install --with dev,docs
$ poetry shell
```
If you obtain an error with the `poetry shell` command, please make sure to see this [release note](https://python-poetry.org/blog/announcing-poetry-2.0.0/#poetry-export-and-poetry-shell-only-available-via-plugins) for Poetry version 2. You can check your poetry version with `poetry --version`.
This will install all necessary package dependencies and activate the virtual environment. You can then set up the [pre-commit](https://pre-commit.com/) hooks via
```console
$ pre-commit install -t pre-push
pre-commit installed at .git/hooks/pre-commit
```
# License
This project is licensed under MIT License - see the [LICENSE](https://github.com/RyanBalshaw/spectrally-regularised-LVMs/blob/main/LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "spectrally-regularised-LVMs",
"maintainer": "Ryan Balshaw",
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": "ryanbalshaw81@gmail.com",
"keywords": "Linear LVMs, Spectral regularisation, Python",
"author": "Ryan Balshaw",
"author_email": "ryanbalshaw81@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/16/69/a1a1d8007afdb9d24a3c623d213f5b3dee78be5058b36417e9765f5ab1db/spectrally_regularised_lvms-0.1.4.tar.gz",
"platform": null,
"description": "# Spectrally regularised LVMs\n![GitHub license](https://img.shields.io/github/license/RyanBalshaw/spectrally-regularised-LVMs)\n![GitHub last commit](https://img.shields.io/github/last-commit/RyanBalshaw/spectrally-regularised-LVMs)\n![PyPI](https://img.shields.io/pypi/v/spectrally-regularised-lvms)\n![PyPI - Wheel](https://img.shields.io/pypi/wheel/spectrally-regularised-lvms?color=blueviolet)\n![Read the Docs](https://img.shields.io/readthedocs/spectrally-regularised-lvms?color=informational)\n![GitHub issues](https://img.shields.io/github/issues/RyanBalshaw/spectrally-regularised-LVMs?color=critical)\n[![DOI](https://zenodo.org/badge/633742820.svg)](https://doi.org/10.5281/zenodo.14717880)\n\n*Spectrally-regularised-LVMs* is a Python-based [package](https://pypi.org/project/spectrally-regularised-lvms/) which facilitates the estimation of the linear latent variable model (LVM) parameters with a unique spectral regularisation term in single channel time-series applications.\n\n## Purpose\nLVMs are a statistical methodology which try to capture the underlying structure in some observed data. This package caters to single channel time-series applications and provides a methodology to estimate the LVM parameters. The model parameters are encouraged to capture non-duplicate information via a spectral regularisation term which penalises source duplication of the spectral information captured by the latent sources.\n\nThe purpose of this package is to provide a complete framework for LVMs with spectral regularisation that caters to a variety of LVM objective functions.\n\n# Documentation\nPlease visit the [documentation](http://spectrally-regularised-lvms.readthedocs.io/) page for all supporting documentation for this package.\n\n# Installation\nThe package is designed to be used through the Python API, and can be installed using [pip](https://pypi.org/project/pip/):\n```console\n$ pip install spectrally-regularised-lvms\n```\n\nA more detailed discussion regarding installation is given in the [documentation](http://spectrally-regularised-lvms.readthedocs.io/).\n\n# Requirements\n\nThis package used Python \u2265 3.11 or later to run. For other python dependencies, please check the `pyproject.toml`\n[file](https://github.com/RyanBalshaw/spectrally-regularised-LVMs/blob/main/pyproject.toml) included in this repository. The dependencies of this package are as follows:\n\n| Package \t | Version \t |\n|:-----------------------------------------------:|:-----------------:|\n| [Python](https://www.python.org/) \t | \u2265 3.11 \t |\n| [Numpy](https://numpy.org/) \t | \u2265 1.23.1, < 2.0\t |\n| [Matplotlib](https://matplotlib.org/) \t | \u2265 3.5.2 \t |\n| [SciPy](https://scipy.org/) \t | \u2265 1.8.1 \t |\n| [scikit-learn](https://scikit-learn.org/) \t | \u2265 1.1.2 \t |\n| [tqdm](https://github.com/tqdm/tqdm) \t | \u2265 4.64.1 \t |\n| [SymPy](https://www.sympy.org/en/index.html) \t | \u2265 1.1.1, < 1.13 \t |\n| [Poetry](https://python-poetry.org/) \t | \u2265 2.0 \t |\n\n# API usage\nPlease visit [the docs](http://spectrally-regularised-lvms.readthedocs.io/) for all supporting API documentation for this package.\n\n# Contributing\nThis package uses [Poetry](https://python-poetry.org/) for dependency management and Python packaging and [git](https://git-scm.com/) for version control. To get started, first install git and Poetry. Then one may clone this repository via\n```console\n$ git clone git@github.com:RyanBalshaw/spectrally-regularised-LVMs.git\n$ cd spectrally-regularised-LVMs\n```\n\nThen, install the necessary dependencies in a local environment via\n```console\n$ poetry install --with dev,docs\n$ poetry shell\n```\n\nIf you obtain an error with the `poetry shell` command, please make sure to see this [release note](https://python-poetry.org/blog/announcing-poetry-2.0.0/#poetry-export-and-poetry-shell-only-available-via-plugins) for Poetry version 2. You can check your poetry version with `poetry --version`.\n\nThis will install all necessary package dependencies and activate the virtual environment. You can then set up the [pre-commit](https://pre-commit.com/) hooks via\n```console\n$ pre-commit install -t pre-push\npre-commit installed at .git/hooks/pre-commit\n```\n\n# License\nThis project is licensed under MIT License - see the [LICENSE](https://github.com/RyanBalshaw/spectrally-regularised-LVMs/blob/main/LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A framework of linear LVMs with spectral regularisation.",
"version": "0.1.4",
"project_urls": {
"Bug tracker": "https://github.com/RyanBalshaw/spectrally-regularised-LVMs/issues"
},
"split_keywords": [
"linear lvms",
" spectral regularisation",
" python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "de8bfdf787dcc1360328d017d7129a93b3dfbfcad05785ff903fddcef6bc636f",
"md5": "48b1fce5e9fb21891c42e5f518a04f0c",
"sha256": "697985dae89be19ef21966f356298537f4113f7810bbdc428dfcbc86db45bdc8"
},
"downloads": -1,
"filename": "spectrally_regularised_lvms-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "48b1fce5e9fb21891c42e5f518a04f0c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 34364,
"upload_time": "2025-01-23T08:34:21",
"upload_time_iso_8601": "2025-01-23T08:34:21.819832Z",
"url": "https://files.pythonhosted.org/packages/de/8b/fdf787dcc1360328d017d7129a93b3dfbfcad05785ff903fddcef6bc636f/spectrally_regularised_lvms-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1669a1a1d8007afdb9d24a3c623d213f5b3dee78be5058b36417e9765f5ab1db",
"md5": "91158fcb8eea994261331e65d8bf4dee",
"sha256": "2266ec6e5a4abc0ffe90bfa82cb1ac4d15023188e46fe7e7ef8d2acbce3617dd"
},
"downloads": -1,
"filename": "spectrally_regularised_lvms-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "91158fcb8eea994261331e65d8bf4dee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 32404,
"upload_time": "2025-01-23T08:34:24",
"upload_time_iso_8601": "2025-01-23T08:34:24.233143Z",
"url": "https://files.pythonhosted.org/packages/16/69/a1a1d8007afdb9d24a3c623d213f5b3dee78be5058b36417e9765f5ab1db/spectrally_regularised_lvms-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-23 08:34:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RyanBalshaw",
"github_project": "spectrally-regularised-LVMs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "contourpy",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "cycler",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "fonttools",
"specs": [
[
"==",
"4.55.3"
]
]
},
{
"name": "joblib",
"specs": [
[
"==",
"1.4.2"
]
]
},
{
"name": "kiwisolver",
"specs": [
[
"==",
"1.4.8"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.10.0"
]
]
},
{
"name": "mpmath",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.2.2"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.2"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"11.1.0"
]
]
},
{
"name": "pyparsing",
"specs": [
[
"==",
"3.2.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"==",
"1.6.1"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.15.1"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "sympy",
"specs": [
[
"==",
"1.13.3"
]
]
},
{
"name": "threadpoolctl",
"specs": [
[
"==",
"3.5.0"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
}
],
"lcname": "spectrally-regularised-lvms"
}