Skip to main content

Python copulae library for dependency modelling

Project description

Copulae

Copulae is a package used to model complex dependency structures. Copulae implements common and popular copula structures to bind multiple univariate streams of data together. All copula implemented are multivariate by default.

Continuous Integration

Build Status

Documentation

Documentation Status

Coverage

Coverage Status

Installing

Install and update using pip

pip install -U copulae

Still working on the conda build. Please wait a while more!!

Usage

from copulae import NormalCopula
import numpy as np

np.random.seed(8)
data = np.random.normal(size=(300, 8))
cop = NormalCopula(8)
cop.fit(data)

cop.random(10)  # simulate random number

# getting parameters
print(cop.params)  

# overriding parameters
cop[:] = np.eye(8)  # in this case,  setting to independent Gaussian Copula

I'll work on the docs and other copulas as soon as I can!

Acknowledgements

Most of the code has been implemented by learning from others. Copulas are not the easiest beasts to understand but here are some items that helped me along the way. I would recommend all the works listed below.

Elements of Copula Modeling with R

I referred quite a lot to the textbook when first learning. The authors give a pretty thorough explanation of copula from ground up. They go from describing when you can use copulas for modeling to the different classes of copulas to how to fit them and more.

Blogpost from Thomas Wiecki

This blogpost gives a very gentle introduction to copulas. Before diving into all the complex math you'd find in textbooks, this is probably the best place to start.

Motivations

I started working on the copulae package because I couldn't find a good existing package that does multivariate copula modeling. Presently, I'm building up the package according to my needs at work. If you feel that you'll need some features, you can drop me a message. I'll see how I can schedule it. 😊

TODOS

  • Set up package for pip and conda installation
  • More documentation on usage and post docs on rtd
  • Elliptical Copulas
    • Gaussian (Normal)
    • Student (T)
  • Implement in Archmedeans copulas
    • Clayton
    • Gumbel
    • Frank
    • Joe
    • AMH
  • Implement goodness of fit
  • Implement mixed copulas
  • Implement more solvers
  • Implement convenient graphing functions

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

copulae-0.2.1.tar.gz (205.0 kB view details)

Uploaded Source

Built Distribution

copulae-0.2.1-py3-none-any.whl (271.6 kB view details)

Uploaded Python 3

File details

Details for the file copulae-0.2.1.tar.gz.

File metadata

  • Download URL: copulae-0.2.1.tar.gz
  • Upload date:
  • Size: 205.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for copulae-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4b6963c488ebec36fb91fb5cabd07c14a4d1c596df11c4865dd3b49a549157b8
MD5 ec0b4d7ba0d23bfb728edb6e20e5eb53
BLAKE2b-256 9a27158b83417e42e9664355b3087900db8f362c8003bece5f0413171139ad9f

See more details on using hashes here.

File details

Details for the file copulae-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: copulae-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 271.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.31.1 CPython/3.6.8

File hashes

Hashes for copulae-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d3854a52acff4d1a1d7f2ec11c16f38d5d78f1d8a8ddab5cbf1809ff11cd32ea
MD5 8d1a1d80215035a2f7a8ba6dd5ca4423
BLAKE2b-256 52677159743ebfdca742264817f801c71c62804172a6ac6b9e01855a201b2e3b

See more details on using hashes here.

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