vinecopulib/pyvinecopulib

RuntimeError: parameters exceed upper bound for Clayton copula

Closed this issue · 3 comments

dmey commented

When trying to fit a parametric model to a datasets comprising of 25 000 samples and 822 features. I got the following error:

RuntimeError: parameters exceed upper bound for Clayton copula; 
bound:
28
actual:
99988

I tried with the following family sets: pv.all, pv.itau. No issues with nonparametric tll.

This is a weird error. I'm afraid we'll need the data for debugging :/

dmey commented

Sure, thanks! I have created a minimal example -- after downloading and extracting sample_data.zip , you can test with:

import pickle
with open("sample_data.pickle","rb") as f:
    sample_data = pickle.load(f)
ctrl = pv.FitControlsVinecop(family_set=pv.itau, parametric_method="itau")
model = pv.Vinecop(sample_data, controls=ctrl)

EDIT: update attachment

OK it's fixed in the cpp version, we'll probably release a new version in the next 1-2 weeks. In the meanwhile, I created a branch pyvinecopulib/fixed that should contain the fix.