楼主: chkv
20087 9

[实际应用] 如何用R编程实现最大似然估计? [推广有奖]

  • 0关注
  • 0粉丝

已卖:617份资源

博士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
10307 个
通用积分
0.2400
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2994 点
帖子
171
精华
0
在线时间
342 小时
注册时间
2009-5-12
最后登录
2024-12-3

楼主
chkv 发表于 2011-6-6 17:11:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想自己用R编写程序,实现最大似然估计,请教各位高手应该如何去做呢?
二维码

扫码加我 拉你入群

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

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

关键词:最大似然估计 最大似然 似然估计 R编程 如何用 编写程序 如何

沙发
ywh19860616 发表于 2011-6-6 17:25:53
楼主请参考包maxlik
一份耕耘,一份收获。

藤椅
chkv 发表于 2011-6-8 16:18:31
我的意思是自己便一个小程序,只要能做出来就可以了,而不管递归算法的优化。

板凳
小山小山 发表于 2011-11-22 10:42:58
考试要用到,希望有用!

报纸
qoiqpwqr 发表于 2011-11-22 11:09:14
chkv 发表于 2011-6-8 16:20
我的意思是自己便一个小程序,只要能做出来就可以了,而不管递归算法的优化。
把你的likelihood写出来,然后用optim去求最大值就行了。

地板
trier2006 发表于 2011-11-22 11:14:29
强人,
最好的医生是自己,最好的药物是时间……

7
snakepointid 发表于 2015-6-28 13:04:58
首先要定义你要构造你的似然函数,这个是先验的,是你根据分布和结合理论知识所选择的模型,比如一个分布差不多符合正态分布,那么你就可以构造一个正态分布的似然函数:
normal <- function(theta,x){
  mu <- theta[1]
  sigma2 <- theta[2]
  n <- length(x)
  logL <- -0.5*n*log(2*pi)-0.5*n*log(sigma2)-(1/(2*sigma2))*sum((x-mu)**2)
  return (-logL)
}
然后就是把你的数据,似然函数,和一个你认为最接近结果的起始值一股脑放进optim就可以了
result <- optim(c(0,1),normal,x=x)
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

8
waterhorse 发表于 2015-6-30 00:15:39
snakepointid explained very well

9
ryoeng 在职认证  发表于 2015-6-30 01:06:07
提示: 作者被禁止或删除 内容自动屏蔽

10
七七禾页 发表于 2018-2-11 21:25:09
> loglik <- function(param) {
+   p <- param[1]
+   k1 <- param[2]
+   k2<-param[3]
+   u1<-param[4]
+   u2<-param[5]
+   ll <-  sum(log(p*exp(k1)*cos(x-u1)/(2*pi*besselj(x))+(1-p)*exp(k2)*cos(x-u2)/(2*pi*besselj(x))))
+   ll
+ }
> res <- maxLik(loglik, start=c(0,0,0,0,0)) # use 'wrong' start values
Show Traceback

Rerun with Debug
Error in Math.data.frame(x - u1) :
  non-numeric variable in data frame: chushichulizhong In addition: Warning messages:
1: In Ops.factor(left, right) : ‘-’ not meaningful for factors
2: In Ops.factor(left, right) : ‘-’ not meaningful for factors
3: In Ops.factor(left, right) : ‘-’ not meaningful for factors
请问这个代码是哪错了,极大似然估计5个参数的

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 17:52