# Spectrally regularised LVMs






[](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/fc/be/a0d5a4e844943f0e0412b934f3f48007debbfeca1c6d1a023a57b8503616/spectrally_regularised_lvms-0.1.4.post1.tar.gz",
"platform": null,
"description": "# Spectrally regularised LVMs\n\n\n\n\n\n\n[](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.post1",
"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": "71e88bb420b7d0a3eaf39b1791ef10e820a12c2f4f45a24ace0c208bdce680f0",
"md5": "0cf9193bafe15f6c495a7d61662e27fd",
"sha256": "4c33f58b05a003ef34e81671d9ed1beca70b2a3f678a3cba29bb46fbc301b943"
},
"downloads": -1,
"filename": "spectrally_regularised_lvms-0.1.4.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0cf9193bafe15f6c495a7d61662e27fd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 38061,
"upload_time": "2025-02-09T15:34:46",
"upload_time_iso_8601": "2025-02-09T15:34:46.825104Z",
"url": "https://files.pythonhosted.org/packages/71/e8/8bb420b7d0a3eaf39b1791ef10e820a12c2f4f45a24ace0c208bdce680f0/spectrally_regularised_lvms-0.1.4.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fcbea0d5a4e844943f0e0412b934f3f48007debbfeca1c6d1a023a57b8503616",
"md5": "1637556b8494dd727e2068ac9a60c032",
"sha256": "cb3552bcad37f0dd054afd4c40b2750538979ae356910cef942a32520c8918d2"
},
"downloads": -1,
"filename": "spectrally_regularised_lvms-0.1.4.post1.tar.gz",
"has_sig": false,
"md5_digest": "1637556b8494dd727e2068ac9a60c032",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 33092,
"upload_time": "2025-02-09T15:34:49",
"upload_time_iso_8601": "2025-02-09T15:34:49.936158Z",
"url": "https://files.pythonhosted.org/packages/fc/be/a0d5a4e844943f0e0412b934f3f48007debbfeca1c6d1a023a57b8503616/spectrally_regularised_lvms-0.1.4.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-09 15:34:49",
"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"
}