Skip to main content

A framework of linear LVMs with spectral regularisation.

Project description

Spectrally regularised LVMs

GitHub license GitHub last commit PyPI PyPI - Wheel Read the Docs GitHub issues DOI

Spectrally-regularised-LVMs is a Python-based package 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 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:

$ pip install spectrally-regularised-lvms

A more detailed discussion regarding installation is given in the documentation.

Requirements

This package used Python ≥ 3.11 or later to run. For other python dependencies, please check the pyproject.toml file included in this repository. The dependencies of this package are as follows:

Package Version
Python ≥ 3.11
Numpy ≥ 1.23.1, < 2.0
Matplotlib ≥ 3.5.2
SciPy ≥ 1.8.1
scikit-learn ≥ 1.1.2
tqdm ≥ 4.64.1
SymPy ≥ 1.1.1, < 1.13
Poetry ≥ 2.0

API usage

Please visit the docs for all supporting API documentation for this package.

Contributing

This package uses Poetry for dependency management and Python packaging and git for version control. To get started, first install git and Poetry. Then one may clone this repository via

$ git clone git@github.com:RyanBalshaw/spectrally-regularised-LVMs.git
$ cd spectrally-regularised-LVMs

Then, install the necessary dependencies in a local environment via

$ 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 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 hooks via

$ 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 file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spectrally_regularised_lvms-0.1.4.post1.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file spectrally_regularised_lvms-0.1.4.post1.tar.gz.

File metadata

File hashes

Hashes for spectrally_regularised_lvms-0.1.4.post1.tar.gz
Algorithm Hash digest
SHA256 cb3552bcad37f0dd054afd4c40b2750538979ae356910cef942a32520c8918d2
MD5 1637556b8494dd727e2068ac9a60c032
BLAKE2b-256 fcbea0d5a4e844943f0e0412b934f3f48007debbfeca1c6d1a023a57b8503616

See more details on using hashes here.

File details

Details for the file spectrally_regularised_lvms-0.1.4.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for spectrally_regularised_lvms-0.1.4.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 4c33f58b05a003ef34e81671d9ed1beca70b2a3f678a3cba29bb46fbc301b943
MD5 0cf9193bafe15f6c495a7d61662e27fd
BLAKE2b-256 71e88bb420b7d0a3eaf39b1791ef10e820a12c2f4f45a24ace0c208bdce680f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page