sdv-dev / Copulas

A library to model multivariate data using copulas.

Home Page:https://sdv.dev/Copulas/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Integration of copulas pdf not equal to 1.

siddharthfcb opened this issue · comments

Environment details

  • Copulas version: 0.7
  • Python version:3.8
  • Operating System: MacOS

Problem description

I was trying to fit a Gaussian Copula to a bivariate data. After fitting the bivariate copula. I tried integrating the pdf using MC integration, the integration is not equal to 1.

from copulas.datasets import sample_bivariate_age_income

data = sample_bivariate_age_income()
data.head()

from copulas.multivariate import GaussianMultivariate
# from copulas.multivariate import Vine

dist = GaussianMultivariate()
dist.fit(data)

N=1000000

XX=np.random.uniform(0, 100, N)
YY=np.random.uniform(0, 1000, N)
# ZZ=np.random.uniform(-5, 15, N)

# accum=np.sum(dist.pdf(np.transpose(np.array([XX,YY,ZZ]))))
accum=np.sum(dist.pdf(np.transpose(np.array([XX,YY]))))
measure = 100*1000
print(measure * accum/float(N))