runtime for t-copulafit

조회 수: 3(최근 30일)
Peter Mills
Peter Mills 2017년 10월 11일
댓글: Brendan Hamm 2017년 10월 24일
Please see the attached code and change the value “numberofvariates” that is currently 11 to see the effect on the runtime. This value is the number of conditional variables and hence the number of columns in the matrix uw. With this value of 11 the code take about 5 minutes to run (for a multivariate t-Copula with 11 degrees of freedom). With this of 12 the code take 7 minutes to run. For the case where numberofvariates the run time is 3.5 minutes. Given the increase in runtime, I can see why 30 variates takes a very long time to run. Please can you help me with improve the runtime?
numberofvariates=11;
tic; [rhohatT,nuhatT,nuciT] = copulafit('t',[uw(:,1:numberofvariates) v]);
etime = toc;

채택된 답변

Brendan Hamm
Brendan Hamm 2017년 10월 11일
Your best option is to change the method for negative log-likelihood calculations. This is only recommended for large samples.
[rhohatT,nuhatT,nuciT] = copulafit('t',[uw(:,1:numberofvariates) v],'Method','ApproximateML');
  댓글 수: 2
Brendan Hamm
Brendan Hamm 2017년 10월 24일
For more information on the algorithm being used, please see the source:
[1] Bouyé, E., V. Durrleman, A. Nikeghbali, G. Riboulet, and T. Roncalli. “Copulas for Finance: A Reading Guide and Some Applications.” Working Paper. Groupe de Recherche Opérationnelle, Crédit Lyonnais, Paris, 2000.
I am unaware of an exact value for "large"
The resulting copula from the Approximate method will have fatter tails as the nu parameter decreases.

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

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by