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

2 ビュー (過去 30 日間)
saber
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
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