楼主: shirley0319
3916 2

[问答] 求助!如何用Matlab求一个矩阵使得表达式取得最大值(copula参数估计) [推广有奖]

  • 0关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
204 点
帖子
9
精华
0
在线时间
22 小时
注册时间
2010-3-25
最后登录
2017-8-10

楼主
shirley0319 发表于 2011-4-11 17:33:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如果用两步极大似然估计法估计t-Copula参数,那thea的估计是不是就是rou,如果是的话,rou是一个矩阵,怎么用matlab来计算密度函数的最大值?
二维码

扫码加我 拉你入群

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

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

关键词:Copula MATLAB atlab opula matla MATLAB Copula 参数估计 极值

沙发
epoh 发表于 2011-4-11 21:01:32
copulafit.m
function  nll = negloglike_t(nu, R, t)  
% Compute negative log-likelihood for a t copula at nu and R = chol(Rho)
    [n,d] = size(t);
    % R = R ./ repmat(sqrt(sum(R.^2,1)),d,1);
    R = bsxfun(@rdivide, R, sqrt(sum(R.^2,1)));

    % nll = -sum(log(mvtpdf(t,R'*R,nu)) - sum(log(tpdf(t,nu)),2)),
    % where t = tinvLocal(u,nu)
    tRinv = t / R;
    nll = - n*gammaln((nu+d)/2) + n*d*gammaln((nu+1)/2) - n*(d-1)*gammaln(nu/2) ...
          + n*sum(log(abs(diag(R)))) ...
          + ((nu+d)/2)*sum(log(1+sum(tRinv.^2, 2)./nu)) ...
          - ((nu+1)/2)*sum(sum(log(1+t.^2./nu),2),1);
end

藤椅
matlab-007 发表于 2014-12-1 20:12:19
建议用copulafit函数试试

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

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