runtime for t-copulafit
5 views (last 30 days)
Show older comments
Peter Mills on 11 Oct 2017
Commented: Brendan Hamm on 24 Oct 2017
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?
tic; [rhohatT,nuhatT,nuciT] = copulafit('t',[uw(:,1:numberofvariates) v]);
etime = toc;
Brendan Hamm on 11 Oct 2017
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');
Brendan Hamm on 24 Oct 2017
For more information on the algorithm being used, please see the source:
 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.
More Answers (0)
Find more on Probability Distributions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!