2537 2

[问答] 关于最大似然估计的问题,自己写的似然函数,出现错误吗,求拯救 [推广有奖]

  • 3关注
  • 0粉丝

大专生

18%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
3 点
热心指数
3 点
信用等级
1 点
经验
1150 点
帖子
29
精华
0
在线时间
40 小时
注册时间
2011-10-27
最后登录
2012-4-20

楼主
温柔天堂小美 发表于 2012-2-14 15:32:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
程序如下:
psi=c("p","mu","lam1","ome1","ome2","eps1","eps2","sig1","sig2","alp1","alp2","bet1","bet2","d")
fn=function(psi)
{
n=length(y)
epsi=numeric(n)
sigm1=numeric(n)
sigm2=numeric(n)
epsi0=(p*lam1^2+(1-p)*(p*lam1/(1-p))^2+p*ome1/(1-bet1)+(1-p)*ome2/(1-bet2))/(p*(1-alp1-bet1)/(1-bet1)+(1-p)*(1-alp2-bet2)/(1-bet2))
sigm1[1]=(ome1+alp1*epsi0)/(1-bet1)
sigm2[1]=(ome2+alp2*epsi0)/(1-bet2)
for(t in 1:n)
{
sigm1[t+1]=ome1+alp1*epsi0+bet1*sigm1[t]
sigm2[t+1]=ome2+alp2*epsi0+bet2*sigm2[t]
}
for (t in 1)
{
epsi[t]=(y[1]-mu)/gamma(1)
}
for (t in 2)
{
epsi[t]=(y[2]-mu)/gamma(1)+gamma(1-d)*(y[1]-mu)/(gamma(-d)*gamma(2))
}
for(t in 3:n)
{
epsi[t]=(y[t]-mu)/gamma(1)+gamma(1-d)*(y[t-1]-mu)/(gamma(-d)*gamma(2))+gamma(2-d)*(y[t-2]-mu)/(gamma(-d)*gamma(3))
}
llk=sum(log(p*sigm1[t+1]^(-0.5)*exp(-0.5*((epsi[t]-lam1)/sigm1[t+1])^2)+(1-p)*sigm2[t+1]^(-0.5)*exp(-0.5*((epsi[t]-lam2)/sigm2[t+1])^2)+(n/2)*ln(2*pi)))
return(-llk)
}
optim(r=c(0.5,rep(0,13)),fn,method="L-BFGS-B" )
错误提示:错误于optim(r = c(0.5, rep(0, 13)), fn, method = "L-BFGS-B") :
  cannot coerce type 'closure' to vector of type 'double'
mle(fn, start =list(p=0.5,mu=0,lam1=0,ome1=0,ome2=0,eps1=0,eps2=0,sig1=0,sig2=0,alp1=0,alp2=0,bet1=0,bet2=0,d=0), method = "BFGS")
错误提示:错误于mle(fn, start = list(p = 0.5, mu = 0, lam1 = 0, ome1 = 0, ome2 = 0,  :
  'start'里的一些带名参数不是给所提供的对数似然作为参数来用的
求帮助,求拯救,我自己看不出问题,非常感谢!

二维码

扫码加我 拉你入群

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

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

关键词:最大似然估计 最大似然 似然函数 似然估计 function 函数

沙发
温柔天堂小美 发表于 2012-2-14 20:40:20
崩溃,没人拯救我吗,我改了似然函数,还是不行,还是那两种提示,太崩溃啦

藤椅
DM小菜鸟 发表于 2015-2-9 17:21:57
initial <- c(0, 0)
opt <- optim()
改成这样你再试一试

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

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