全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
11524 16
2010-10-05
请教各位高手一个问题:matlab里的copulafit是用极大似然估计参数的吧。我现在用copulafit集成了两组数据,参数已经估计出来了,现在想查看copulafit里产生的极大似然估计值,不知道怎么看。
说得更具体点就是我想用极大似然估计值用在AIC里来选择最优copula函数。
求教,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-10-6 08:17:03
建议采Patton_copula_toolbox,
可以直接得到*negative* LL.
而copulafit则需修改程序,
我改为copulafit1.m,得到的nll当然
与Patton_copula_toolbox相同.
楼主若需要我再上传.
两者比较如下:
%%%%%%%%%
load stockreturns
x = stocks(:,1);
y = stocks(:,2);
u = ksdensity(x,x,'function','cdf');
v = ksdensity(y,y,'function','cdf');
options = statset('copulafit');
lowerBnd = options.TolBnd;

%%%%% 'Clayton'
theta0 = 1;
lower = 0.0001;
[kappa2,LL2] = fmincon('claytonCL',theta0,[],[],[],[],lower,[],[],options,[u,v])
%  kappa2 =    1.3979, LL2 = -25.1516
[alphaHat,nll]=copulafit1('Clayton', [u v])
%  alphaHat =  1.3979, nll = -25.1516

%%%%% 'Frank'
[ kappa5 LL5] = fmincon('frankCL',theta0,[],[],[],[],lower,[],[],options,[u,v])
%  kappa5 =    6.2835  LL5 = -34.1131
[alphaHat,nll]=copulafit1('Frank', [u v])
%  alphaHat =  6.2835  nll = -34.1131

%%%%% 'Gumbel'
[ kappa6 LL6] = fmincon('gumbelCL',theta0,[],[],[],[],lower,[],[],options,[u,v])
%  kappa6 =    2.0826, LL6 =  -35.5635
[alphaHat,nll]=copulafit1('Gumbel', [u v])
%  alphaHat =  2.0826, nll =  -35.5635
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-9 02:29:34
我这里有一个现成的copulafit函数,是Matlab的M文件,功能良好!
附件列表

一个copulafit的m文件.txt

大小:23.99 KB

只需: 1 个论坛币  马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-9 17:17:20
你可以修改copulafit('Gaussian',U)的那段程序吗?我看源程序里似乎没有计算其极大似然估计值,所以我也不知道怎么修改。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-9 18:23:43
kappa1 = corrcoef12(norminv(u),norminv(v))
%kappa1 =    0.7221
LL1 = NormalCopula_CL(kappa1,[u,v])
%   LL1 =    -36.7976

RHOHAT = copulafit('Gaussian',[u,v])
%RHOHAT =1.0000    0.7221
%        0.7221    1.0000
x = norminv(u,0,1);
y = norminv(v,0,1);
theta=RhoHat(1,2)
CL = -1*(2*(1-theta^2))^(-1)*(x.^2+y.^2-2*theta*x.*y);
CL = CL + 0.5*(x.^2+y.^2);  
CL = sum(CL) - size(x,1)/2*log(1-theta^2);
nll = -CL
% nll = -36.7976

Patton_copula_toolbox
http://econ.duke.edu/~ap172/code.html
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-10-9 21:28:45
谢谢你,终于做出来了,这次写毕业论文用到matlab,我是现学的,所以很多都不太懂,真的很感谢你。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群