Skip to main content

CWGP

Project description

Compositionally Warped Gaussian Processes

This package is dedicated to realizing methods used in this paper.

TLDR;

A package that transforms anything to a Gaussian distribution.

Tutorial

Visit here

Installation

pip install CWGP

Quick Start

Let's randomly generate 100 numbers following an exponential distribution.

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

exp = np.random.exponential(scale=5, size=50)
idx = np.arange(50)

We now instantiate a CWGP class consisting of 3 Sinh-Arcsinh transformations.

from cwgp.cwgp import CWGP

compgp = CWGP(["sa","box_cox"])

We then fit our data into the model. This minimizes the negative log likelihood function and stores the corresponding parameters for us.

compgp.fit(exp, idx)

To get the parameters, we do

params = compgp.phi.res.x

We then transform the data via

t_exp, d = compgp.phi.comp_phi(params, exp)
sns.distplot(t_exp)
plt.show()

Let's make a QQ-plot and see how Gaussian it is.

from scipy import stats

stats.probplot(t_exp, dist="norm", plot=plt)
plt.show()

The inverse function is also implemented.

inv_t_exp = compgp.phi.inv_comp_phi(params, t_exp)
fig, ax = plt.subplots(1, 2)
sns.distplot(inv_t_exp, ax=ax[0])
sns.distplot(exp, ax=ax[1])
plt.show()

The one on the left is the one being transformed and transformed-back, and the one on the right is the original distribution. They should be exactly the same.

Transformations

Sinh-Arcsinh (sa)

from cwgp.transformations import sa

Arcsinh (asinh)

from cwgp.transformations import asinh

Box-Cox (box_cox)

from cwgp.transformations import box_cox

Sinh-Arcsinh and Affine (SAL)

from cwgp.transformations import sal

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

CWGP-2.0.7.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

CWGP-2.0.7-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file CWGP-2.0.7.tar.gz.

File metadata

  • Download URL: CWGP-2.0.7.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.9

File hashes

Hashes for CWGP-2.0.7.tar.gz
Algorithm Hash digest
SHA256 4c0379391962987c3b77c6308da95fac45e99d5c3a482db54131359a0ddcc410
MD5 a5f8eaa6b8a66b238167b87edc2854c1
BLAKE2b-256 2cef7ed0587f6d2bfbb6fda1b2bbb28bf6cb063f1371cb726d5242914a4e9ebc

See more details on using hashes here.

File details

Details for the file CWGP-2.0.7-py3-none-any.whl.

File metadata

  • Download URL: CWGP-2.0.7-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.9

File hashes

Hashes for CWGP-2.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5bb518870a4cecb093a8b0bc33f17f34d54060ceeaff1fa0167bb39666ec2b0e
MD5 87e4fa567b2c1014d8c9aa98fb0a038d
BLAKE2b-256 21a02d0eb5de1b310a86f495a138b13b5d186c977487609f1490efd603535517

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