Is it possible to use t-copula in Matlab for around 450,000 variables?

2 ビュー (過去 30 日間)
saber 2013 年 6 月 10 日
Is it possible to use t-copula in Matlab for around 450,000 variables? or there is any limitation?

回答 (1 件)

Tom Lane
Tom Lane 2013 年 6 月 11 日
I see no limitation imposed by the copularnd function when I look at the code. However, the correlation matrix is going to be 450000-by-450000 for this. When I try to create that matrix, I run out of memory. If you do manage to create it, I wouldn't be surprised to find that copularnd needs to create other temporary variables of a comparable size as it tries to do its thing.
  1 件のコメント
saber 2013 年 6 月 11 日
Thanks Tom,
Yes, I agree. I have 450000 variables each of them consists of 288 samples. At first I tried to fit t-copula to a number of 1000 variables just to test. I used this function :
[RHO,nu] = copulafit('t',C,'Method','ApproximateML');
but the following error was appeared :
Error using ==> copulafit>profileNLL_t at 268 The estimate of Rho has become rank-deficient. You may have too few data, or strong dependencies among variables.
Error in ==> copulafit>bracket1D at 544 oldnll = nllFun(bound);
Error in ==> copulafit at 162 [lowerBnd,upperBnd] = bracket1D(profileFun,lowerBnd,5); % 'upper', search ascending from 5
Error in ==> tcopula2 at 45
[RHO,nu] = copulafit('t',C,'Method','ApproximateML');
However, when I run for 100 variables, it is done without error!



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by