Hello,
I wanted to calculate sample based kucherenko indices. Sample size = 36000. I recognised that the total effect is always 1 if the sample consists of more than 11 input variables. I recognised that this is due to the following line in the matlab-code of the file “uq_Kucherenko_samplebased_index.m”:
- code: binopts.nBins = floor(nthroot(nbin,numel(VariableSettot)));
This line results in nBins = 1 if the number of input variables is high.
Is this an error in the code? How can I solve this problem?
I would appreciate any help!
Thank you and kind regards!
Hi DHeiden,
I encountered the same issue: 30 input variables and total effect indices are all equal to 1. I was wondering if you have figured this out? Any pointers would be apprecited!
Thanks,
Xinyue
Hi,
I am sorry, I could not find a solution for the problem, no.
Regards,
Daniel
Hi Daniel,
Thank you for getting back to me, and no worries at all. It seems that this issue remains unresolved, and we may need to look for alternatives or workarounds.
Thanks again,
Xinyue
Not necessarily a bug: the automatic binning collapses to one bin when the d-th root of the sample count falls below 2, and with one bin the conditional expectations cannot separate inputs, so total indices become 1. For 30 inputs a safe default would need an impractically large sample. If the function exposes a manual bin-count option, try forcing a small value above 1 and validate on a low-dimensional test with known indices; otherwise use a different estimator or group/reduce inputs. It is worth reporting to UQLab support as a limitation.