楼主: xiaolanemma
11685 16

求教copulafit [推广有奖]

  • 0关注
  • 0粉丝

大专生

83%

还不是VIP/贵宾

-

威望
0
论坛币
825 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
991 点
帖子
60
精华
0
在线时间
51 小时
注册时间
2009-3-22
最后登录
2021-1-12

楼主
xiaolanemma 发表于 2010-10-5 16:49:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位高手一个问题:matlab里的copulafit是用极大似然估计参数的吧。我现在用copulafit集成了两组数据,参数已经估计出来了,现在想查看copulafit里产生的极大似然估计值,不知道怎么看。
说得更具体点就是我想用极大似然估计值用在AIC里来选择最优copula函数。
求教,谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:copulafit Copula opula fit 极大似然估计 求教 copulafit

用专业的心做专业的事!

沙发
epoh 发表于 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

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

一个copulafit的m文件.txt
下载链接: https://bbs.pinggu.org/a-766633.html

23.99 KB

需要: 1 个论坛币  [购买]

csu

板凳
xiaolanemma 发表于 2010-10-9 17:17:20
你可以修改copulafit('Gaussian',U)的那段程序吗?我看源程序里似乎没有计算其极大似然估计值,所以我也不知道怎么修改。
用专业的心做专业的事!

报纸
epoh 发表于 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

地板
xiaolanemma 发表于 2010-10-9 21:28:45
谢谢你,终于做出来了,这次写毕业论文用到matlab,我是现学的,所以很多都不太懂,真的很感谢你。
用专业的心做专业的事!

7
taohui04 发表于 2012-4-1 13:50:45
epoh 发表于 2010-10-6 08:17
建议采Patton_copula_toolbox,
可以直接得到*negative* LL.
而copulafit则需修改程序,
您好! 那个 copulafit1 能传上来看看吗? 我也很迷惑

8
epoh 发表于 2012-4-1 18:38:17
taohui04 发表于 2012-4-1 13:50
您好! 那个 copulafit1 能传上来看看吗? 我也很迷惑
抱歉,时间久了,文件已被我清除

9
taohui04 发表于 2012-4-2 02:46:45
epoh 发表于 2012-4-1 18:38
抱歉,时间久了,文件已被我清除
您好 有没有完整的copula例子    我 现在就是不知道怎么检验? 好郁闷

10
epoh 发表于 2012-4-2 08:37:27
taohui04 发表于 2012-4-2 02:46
您好 有没有完整的copula例子    我 现在就是不知道怎么检验? 好郁闷
那你就安装Dynamic Copula Toolbox 3.0
跑一下CopulaToolboxTutorial就清楚了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 08:11