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

조회 수: 1 (최근 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!

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Probability Distributions에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by