前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用R语言做极大似然估计实例

使用R语言做极大似然估计实例

作者头像
拓端
发布2022-04-15 13:56:27
7020
发布2022-04-15 13:56:27
举报
文章被收录于专栏:拓端tecdat

原文链接:http://tecdat.cn/?p=18970

在普遍的理解中,最大似然估计是使用已知的样本结果信息来反向推断最有可能导致这些样本结果的模型参数值!

换句话说,最大似然估计提供了一种在给定观测数据的情况下评估模型参数的方法,即“模型已确定且参数未知”。

在所有双射函数的意义上,极大似然估计是不变的

,如果

的极大似然估计

等于

中的似然函数。由于

是的最大似然估计

因此,

的最大似然估计 。

例如,伯努利分布为

给定样本

,概率是

则对数似然

与ICI

因此,一阶条件

何时满足

。为了说明,考虑以下数据

代码语言:javascript
复制
> X
\[1\] 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1

(负)对数似然

代码语言:javascript
复制
> loglik=function(p){
+ -sum(log(dbinom(X,size=1,prob=p)))
+ }

我们可以在下面看到

代码语言:javascript
复制
> plot(u,v,type="l",xlab="",ylab="")

根据以上计算,我们知道的极大似然估计 是

代码语言:javascript
复制
> mean(X)
\[1\] 0.53

数值为

代码语言:javascript
复制
$par
\[1\] 0.53

$value
\[1\] 10.36

$counts
function gradient
20 NA

$convergence
\[1\] 0

$message
NULL

我们没有说优化是在区间内

。但是,我们的概率估计值属于

。为了确保最优值在

,我们可以考虑一些约束优化程序

代码语言:javascript
复制
ui=matrix(c(1,-1),2,1), ci=c(0,-1)
$par
\[1\] 0.53

$value
\[1\] 10.36

$counts
function gradient
20 NA

$convergence
\[1\] 0

$message
NULL

$outer.iterations
\[1\] 2

$barrier.value
\[1\] 6.91e-05

在上一张图中,我们达到了对数似然的最大值

代码语言:javascript
复制
> abline(v=opt$par,col="red")

另一种方法是考虑

(如指数分布)。则对数似然

这里

因此,一阶条件

满足

从数值角度来看,我们有相同的最优值

代码语言:javascript
复制
(opt=optim(0,loglik))
$par
\[1\] 0.13

$value
\[1\] 10.36

$counts
function gradient
20 NA

$convergence
\[1\] 0

$message
NULL

> exp(opt$par)/(1+exp(opt$par))
\[1\] 0.53

本文摘选《使用R语言做极大似然估计实例》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=18970
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档