Python中的多变量Copula

时间:2017-10-30 17:45:38

标签: python

我想在Python中计算k维向量的Copula,其中k> 2。

当k = 2时,我找到了AMBHAS package,这似乎工作正常,但据我所知它只适用于二维,即双变量,copulas。

经过多挖掘后,我发现scikits.statsmodels,但据我所知,它是沙箱形式。

我可以自己手动编写代码,这不是问题,但我希望通过使用标准软件包来避免这样做的麻烦。

Python中是否有可用的多变量Copula包,我根本无法找到?

3 个答案:

答案 0 :(得分:2)

对于藤蔓 - copula,您可以尝试以下一种或所有:

pyvine

starvine

pyvinecopulalib

所有这些python软件包的功能似乎都不如R软件包那么好:VineCopula。当k> 1时,所有这些包装都可以适合并从藤蔓丛中取样。 2.

答案 1 :(得分:1)

尝试使用copulae软件包。可以找到文档here

https://pypi.org/project/copulae/

https://anaconda.org/conda-forge/copulae

答案 2 :(得分:1)

有一个用于多变量高斯copula的python软件包 https://pypi.org/project/copula/

相应的Github存储库:github

通过pip安装:

pip install copula

用法:

from copula import Copula
data = [[2,1,2,4],[3,1,7,4],[2,9,1,0],[3,6,1,6] ]
cop = Copula(data)
samples = cop.gendata(3)
print(samples)
[2.697128268374179, 6.29726013955287, 2.983951810593502, 2.1149729235834496], [3.0, 1.0, 6.831369733333171, 4.631091408593663], [2.147377031275032, 6.75098812552581, 1.9789800708813163, 1.1200891337867478]]