All Projects → DanielBok → copulae

DanielBok / copulae

Licence: MIT license
Multivariate data modelling with Copulas in Python

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
cython
566 projects

Projects that are alternatives of or similar to copulae

mixedvines
Python package for canonical vine copula trees with mixed continuous and discrete marginals
Stars: ✭ 36 (-62.5%)
Mutual labels:  modeling, dependency-analysis, data-analysis, copula, copula-models, copulas, dependency-modeling, copulae
django-admin-page-lock
Page Lock for Django Admin allows developers to implement customizable locking pages.
Stars: ✭ 13 (-86.46%)
Mutual labels:  pypi, pypi-packages
starcli
✨ Browse trending GitHub projects from your command line
Stars: ✭ 436 (+354.17%)
Mutual labels:  pypi, pypi-packages
Pylightxl
A light weight, zero dependency, minimal functionality excel read/writer python library
Stars: ✭ 134 (+39.58%)
Mutual labels:  pypi, data-analysis
rfc-bibtex
A command line tool that creates bibtex entries for IETF RFCs and Internet Drafts.
Stars: ✭ 43 (-55.21%)
Mutual labels:  pypi, pypi-packages
Dephell
📦 🔥 Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.
Stars: ✭ 1,730 (+1702.08%)
Mutual labels:  pypi, conda
Dapy
Easy-to-use data analysis / manipulation framework for humans
Stars: ✭ 523 (+444.79%)
Mutual labels:  pypi, data-analysis
caipyra
import caipyra module code
Stars: ✭ 25 (-73.96%)
Mutual labels:  pypi, pypi-packages
computational-neuroscience
Short undergraduate course taught at University of Pennsylvania on computational and theoretical neuroscience. Provides an introduction to programming in MATLAB, single-neuron models, ion channel models, basic neural networks, and neural decoding.
Stars: ✭ 36 (-62.5%)
Mutual labels:  modeling, data-analysis
Nbdev
Create delightful python projects using Jupyter Notebooks
Stars: ✭ 3,061 (+3088.54%)
Mutual labels:  pypi, conda
Sealion
The first machine learning framework that encourages learning ML concepts instead of memorizing class functions.
Stars: ✭ 278 (+189.58%)
Mutual labels:  modeling, data-analysis
pypi-command-line
A powerful, colorful, beautiful command-line-interface for pypi.org
Stars: ✭ 32 (-66.67%)
Mutual labels:  pypi, pypi-packages
hacking-datascience
Notebooks and design assets related to my publication 'hacking-datascience' on Medium.
Stars: ✭ 41 (-57.29%)
Mutual labels:  data-analysis
duckpy
A simple Python library for searching on DuckDuckGo.
Stars: ✭ 20 (-79.17%)
Mutual labels:  pypi
tempo
API for manipulating time series on top of Apache Spark: lagged time values, rolling statistics (mean, avg, sum, count, etc), AS OF joins, downsampling, and interpolation
Stars: ✭ 212 (+120.83%)
Mutual labels:  data-analysis
whyqd
data wrangling simplicity, complete audit transparency, and at speed
Stars: ✭ 16 (-83.33%)
Mutual labels:  data-analysis
spectrochempy
SpectroChemPy is a framework for processing, analyzing and modeling spectroscopic data for chemistry with Python
Stars: ✭ 34 (-64.58%)
Mutual labels:  data-analysis
Data-Science-Resources
A guide to getting started with Data Science and ML.
Stars: ✭ 17 (-82.29%)
Mutual labels:  data-analysis
website-old
The Frictionless Data website.
Stars: ✭ 31 (-67.71%)
Mutual labels:  data-analysis
thanker
Don't be a wanker, be a thanker! Automatically give thanks to Pypi packages you use in your project.
Stars: ✭ 25 (-73.96%)
Mutual labels:  pypi

Copulae

Probably the second most popular copula package in Python. 😣

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.

Versions

Anaconda Version PyPI version

Continuous Integration

Build Status Anaconda-Server Badge Downloads Anaconda-Server Badge

Documentation

Documentation Status

Coverage

Coverage Status

Installing

Install and update using pip and on conda.

# conda
conda install -c conda-forge copulae 
# PyPI
pip install -U copulae

Documentation

The documentation is located at https://copulae.readthedocs.io/en/latest/. Please check it out. :)

Simple 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
p = cop.params
# cop.params = ...  # you can override parameters too, even after it's fitted!  

# get a summary of the copula. If it's fitted, fit details will be present too
cop.summary()

# overriding parameters, for Elliptical Copulae, you can override the correlation matrix
cop[:] = np.eye(8)  # in this case, this will be equivalent to an Independent Copula

Most of the copulae work roughly the same way. They share pretty much the same API. The difference lies in the way they are parameterized. Read the docs to learn more about them. 😊

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 (Permanently in the works 😊)
  • Elliptical Copulas
    • Gaussian (Normal)
    • Student (T)
  • Implement in Archimedean copulas
    • Clayton
    • Gumbel
    • Frank
    • Empirical
    • Joe
    • AMH
    • Rho finding via Cubatures
  • Mixture copulas
    • Gaussian Mixture Copula
    • Generic Mixture Copula
    • Marginal Copula
  • Vine Copulas
  • Copula Tests
    • Radial Symmetry
    • Exchangeability
    • Goodness of Fit
      • Pairwise Rosenblatt
      • Multi-Independence
      • General GOF
    • Model Selection
      • Cross-Validated AIC/BIC
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].