Skip to main content

A Python powered library for statistical analysis and visualization of state transition phenomena

Project description

The transitionMatrix Library

../../examples/overview.png

transitionMatrix is a pure Python powered library for the statistical analysis and visualization of state transition phenomena. It can be used to analyze any dataset that captures timestamped transitions in a discrete state space.

Functionality

You can use transitionMatrix to:

  • Estimate transition matrices from historical event data using a variety of estimators

  • Characterise transition matrices (identify their key properties)

  • Visualize event data and transition matrices

  • Manipulate transition matrices (derive generators, perform comparisons, stress transition rates etc.)

  • Access standardized Datasets for testing

  • Extract and work with credit default curves (absorbing states)

  • Map credit ratings using mapping tables

  • More (still to be documented :-)

Architecture

  • transitionMatrix provides intuitive objects for handling transition matrices individually and as sets (based on numpy arrays)

  • supports file input/output in json and csv formats

  • it has a powerful API for handling event data (based on pandas and numpy)

  • supports visualization using matplotlib

Installation

You can install and use the transitionMatrix package in any system that supports the Scipy ecosystem of tools

Dependencies

  • TransitionMatrix requires Python 3 (currently 3.7)

  • It depends on numerical and data processing Python libraries (Numpy, Scipy, Pandas).

  • The Visualization API depends on Matplotlib.

  • The precise dependencies are listed in the requirements.txt file.

  • TransitionMatrix may work with earlier versions of python / these packages but it is not tested.

From PyPI

pip3 install transitionMatrix

From sources

Download the sources in your preferred directory:

git clone https://github.com/open-risk/transitionMatrix

Using virtualenv

It is advisable to install the package in a virtualenv so as not to interfere with your system’s python distribution

virtualenv -p python3 tm_test
source tm_test/bin/activate

If you do not have pandas already installed make sure you install it first (this will also install numpy and other required dependencies).

pip3 install -r requirements.txt

Finally issue the install command and you are ready to go!

python3 setup.py install

File structure

The distribution has the following structure:

| transitionMatrix/     Directory with the library source code
| -- model.py           File with main data structures
| -- estimators/        Directory with the estimator methods
| -- statespaces/       Directory with state space objects and methods
| -- creditratings/     Directory with predefined credit rating structures
| -- generators/        Directory with data generator methods
| -- utils/             Directory with helper classes and methods
| -- examples/          Directory with usage examples
| ---- python/          Examples as standalone python scripts
| ---- notebooks/       Examples as jupyter notebooks
| -- datasets/          Directory with a variety of datasets useful for getting started
| -- tests/             Directory with the testing suite

Other similar open source software

  • etm, an R package for estimating empirical transition matrices

  • msSurv, an R Package for Nonparametric Estimation of Multistate Models

  • msm, Multi-state modelling with R

  • mstate, competing risks and multistate models in R

  • lifelines, python survival package

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

transitionMatrix-0.5.1.tar.gz (5.1 MB view hashes)

Uploaded Source

Built Distribution

transitionMatrix-0.5.1-py2.py3-none-any.whl (4.2 MB view hashes)

Uploaded Python 2 Python 3

Supported by

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