楼主: pany16
1970 4

[问答] 求助:R做极大似然估计 [推广有奖]

  • 0关注
  • 0粉丝

学前班

70%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
83 点
帖子
2
精华
0
在线时间
2 小时
注册时间
2017-5-29
最后登录
2018-5-30

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位哥哥姐姐,为什么我用R做极大似然估计时,参数估计得到的结果总是与设计的初始值一样?我做的其实是一个威布尔分布的参数估计, 代码如下,劳烦大家帮忙解答啊~

  1. x=read.table(file.choose());
  2. a=x[,5]
  3. a=a/10
  4. ll=function(para)
  5. {
  6. k=para[1];
  7. c=para[2];
  8. f=k/c*(a/c)^(k-1)*exp(-(a/c)^k);
  9. ll=sum(log(f));
  10. return(-11);
  11. }
  12. geyser.est=nlminb(c(2,10),ll,lower=c(0.0001,0.0001),upper=c(Inf,Inf));
  13. options(digits=3);
  14. geyser.est$par;
复制代码



二维码

扫码加我 拉你入群

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

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

关键词:极大似然估计 极大似然 似然估计 function options R语言 极大似然估计 初始值设计 经院 求助

沙发
foozhencheng 学生认证  发表于 2017-5-30 10:45:36 来自手机 |只看作者 |坛友微信交流群
试试fitdistr函数~

使用道具

藤椅
中国梦丶 发表于 2017-9-26 10:29:01 |只看作者 |坛友微信交流群
请问楼主解决这个问题了吗,我最近也遇到了类似的问题

使用道具

板凳
gcwy 在职认证  发表于 2017-9-27 09:46:56 |只看作者 |坛友微信交流群
1、我不太了解韦布尔分布,是不是您的数据都是大于0的,如果不是,在您的似然函数里需要对数据进行处理,使得每一个数据大于0(貌似等于0也不可以,因为对数似然函数里有log(a),其中a不能等于0)
2、似然函数最好写成对数似然函数的形式,可能是因为优化函数算法的问题,貌似不做对数变化优化不出来。(具体原因不详,纯属猜测,本人不是搞数理统计和数学的。)
3、最后,您的似然函数里return(-ll),括号里写成了“负十一”。
  1. ll<-function(para)
  2. {
  3.   k=para[1]
  4.   c=para[2]
  5.   a[a<0]<-0
  6.   
  7.   f<-log(k/c)+(k-1)*log(a/c)-(a/c)^k
  8.   ll<-sum(f)
  9.   return(-ll)
  10. }
  11. geyser.est<-nlminb(c(1,0.1),ll,lower=c(0.0001,0.0001),upper=c(Inf,Inf));
复制代码

使用道具

报纸
中国梦丶 发表于 2017-9-27 12:21:25 来自手机 |只看作者 |坛友微信交流群
pany16 发表于 2017-5-30 10:12
各位哥哥姐姐,为什么我用R做极大似然估计时,参数估计得到的结果总是与设计的初始值一样?我做的其实是一个 ...
我也遇到了同样的问题,不过我其中一组初始值,换其他的初始值了以后又不一样,每次都不一样,很苦恼

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 15:18