楼主: 聪明的蜘蛛
1498 3

[问答] 循环编程求助 [推广有奖]

  • 2关注
  • 6粉丝

已卖:155份资源

讲师

23%

还不是VIP/贵宾

-

威望
0
论坛币
384 个
通用积分
24.1005
学术水平
12 点
热心指数
11 点
信用等级
11 点
经验
30118 点
帖子
119
精华
0
在线时间
768 小时
注册时间
2008-6-28
最后登录
2025-9-11

楼主
聪明的蜘蛛 在职认证  发表于 2015-5-21 11:44:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教各位大神,下面的极大似然估计可以估计出三个参数u、k和w。为了解决新的问题,u不再是一个具体数值,而是一个数列,optim函数下只能求具体值,就需要对每一步求一个u。总共需要运行262次,每次返回一个结果,最后形成包含262个u的序列。现在的问题是,在极大似然函数LL外加循环时,到return这一步就中断了,在循环内则会报错。请教各位,这个问题该如何解决,谢谢大家了!
  1. LL<- function(x,data)
  2. {
  3.   u<- x[1]
  4.   w<- x[2]
  5.   k<- x[3]
  6.   extra.sum<-0
  7.   for (a in 2:262) {
  8.     inner.sum<-0
  9.     outer.sum<-0
  10.     for (b in 1:261) {
  11.       if (data[b] >= data[a]) {
  12.         next
  13.       } else {
  14.         inner.sum <- inner.sum + w * exp(w * (data[b] - data[a]))
  15.         extra.sum <- extra.sum + exp(w * data[b])-exp(w * (data[b] - 4350))
  16.       }
  17.     }
  18.     k0_inner.sum <- k * inner.sum
  19.     log_inner.sum <- log(u + k0_inner.sum)
  20.     outer.sum <- outer.sum + log_inner.sum
  21.     k0_extra.sum <- k * extra.sum
  22.   }
  23.   c<- outer.sum-u*4350-k0_extra.sum
  24.   return(-c)
  25. }
  26. Data.res<- optim(c(0.036,0.06,0.048) , LL , data = dday )
  27. Data.res$par
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:RETURN 极大似然估计 Optim 极大似然 似然估计 return 如何

才华是刀刃 辛苦是磨刀石

沙发
sun-shiqing 发表于 2015-5-21 18:22:37
楼主能讲详细点吗?程序可读性不是特别强,或者说我看不太懂

藤椅
聪明的蜘蛛 在职认证  发表于 2015-5-23 10:46:46
sun-shiqing 发表于 2015-5-21 18:22
楼主能讲详细点吗?程序可读性不是特别强,或者说我看不太懂
谢谢,问题已经解决了。

板凳
小鳄鱼a 发表于 2015-5-30 21:54:53
遇到了类似的问题,能否分享下

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

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