0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用Python实现极大似然估计?

马哥Linux运维 来源:lq 2019-02-15 14:07 次阅读

极大似然估计(Maximum likelihood estimation, 简称MLE)是很常用的参数估计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。也就是说,如果已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值。极大似然估计是建立在这样的思想上:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值(请参见“百度百科”)。

本文以一个简单的离散型分布的例子,interwetten与威廉的赔率体系 投掷硬币估计头像(head)向上的概率。投掷硬币落到地面后,不是head向上就是tail朝上,这是一个典型的伯努利实验,形成一个伯努利分布,有着如下的离散概率分布函数:

其中,x等于1或者0,即结果,这里用1表示head、0表示tail。

对于n次独立的投掷,很容易写出其似然函数:

现在想用极大似然估计的方法把p估计出来。就是使得上面这个似然函数取极大值的情况下的p的取值,就是要估计的参数。

首先用Python把投掷硬币模拟出来:

通过此模拟,使用sympy库把似然函数写出来:

从上面的结论可以看出,作100次伯努利实验,出现positive、1及head的数目是53个,相应的0也就是tail的数目是47个,比较接近我们设的初始值0.5即1.0/2(注意:现在我们假设p是未知的,要去估计它,看它经过Python的极大似然估计是不是0.5!)。

下面,我们使用Python求解这个似然函数取极大值时的p值:

结果没有什么悬念,53/100的值很接近0.5!

取对数后,上面Python的算法最后实际上是求解下式为0的p值:

上式留给网友自行推导,很多资料都可找到该式。这个式子,是著名的Logistic回归参数估计的极大似然估计算法的基础。

进一步,为了更加直观的理解投掷硬币的伯努利实验,我们给出以均值(均值为100*0.5=50)为中心对称的加总离散概率(概率质量函数(probability mass function),Python里面使用pmf函数计算):

对于上面的Python代码,可以通过下图更好地去理解:

把这20个离散的概率全部显示出来,也可以看到在0.08左右取到它们的最大值:

本文针对简单的离散概率质量函数的分布使用Python进行了极大似然估计,同时该方法可以应用于连续分布的情形,只要通过其概率密度函数得出其似然函数即可。希望网友把本文的代码实践一遍,也可以和R语言、SAS等软件得到的结论相比较,从而得到更好的极大似然估计的实现方法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62576
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84634
  • 最大似然估计

    关注

    0

    文章

    2

    浏览量

    1651

原文标题:用Python实现极大似然估计

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [7.2]--极大估计

    人工智能
    jf_75936199
    发布于 :2023年01月21日 23:57:05

    [7.4.1]--极大估计

    机器学习
    jf_90840116
    发布于 :2023年02月22日 11:44:23

    极大估计(1)#机器学习

    机器学习
    未来加油dz
    发布于 :2023年07月14日 16:36:36

    极大参数辨识方法

    极大参数辨识方法.ppt
    发表于 08-13 15:51

    这6点帮你解决参数未知的重要问题 | AI知识科普

    理解、逐层深入。一蹴而就是不可能的。今天,班主任就给你们讲一个在机器学习中重要的方法——极大估计。这是一个,能够让你拥有拟合最大盈利函数模型的
    发表于 08-10 11:47

    函数之间的区别分析

    函数
    发表于 07-15 07:25

    巴斯卡分布中未知参数的估计

    在巴斯卡分布的参数r,p都未知的情况下,讨论了未知参数的极大估计。结果表明,r的极大
    发表于 03-08 18:09 17次下载

    多传感器的极大配准算法研究

    数据配准是多传感器数据融合的先期处理过程。在研究了传统的最小二乘算法的基础上, 提出了基于三维坐标系中的极大配准算法, 解决了最小二乘配准算法对于传感器相距较远
    发表于 07-10 09:14 11次下载

    基于极大似然法的椒盐噪声滤波算法

    本文提出了一种新的基于极大似然法的椒盐噪声滤波算法。在传统BP 算法中引入了极大估计,在训练样本时能够在考虑网络逼近行为的同时对噪声分布
    发表于 08-04 14:58 22次下载

    基于平均比的鲁棒性突发检测

    突发检测对突发解调起着初始捕获同步的重要作用。该文对未定时随机采样调制信号,提出一种基于平均比的突发检测方法,该方法利用平均比对突发信号做贝叶斯检测,
    发表于 02-08 16:08 14次下载

    基于正交训练序列的MIMO系统联合最大时频同步和信道估计

    该文推导了多输入多输出(MIMO)系统中的符号定时、频偏和信道参数的联合最大(ML)估计。针对联合ML 估计没有闭合的表达式、数值计算复杂度高的问题,该文提出了一种基于重复
    发表于 03-06 10:49 16次下载

    基于广义比的频谱感知算法_张兵

    基于广义比的频谱感知算法_张兵
    发表于 03-19 19:25 0次下载

    【智能控制】极大参数辨识方法

    【智能控制】极大参数辨识方法
    发表于 08-07 10:07 0次下载

    最大检测算法认识与理解

    最大检测(Maximum Likelihood,ML)检测,也被称作最大序列估计(MLSE),从严格意义上讲它不是均衡方案而是接收机
    发表于 12-01 11:50 2.3w次阅读
    最大<b class='flag-5'>似</b><b class='flag-5'>然</b>检测算法认识与理解

    基于极大的非监督噪声功率谱估计方法

    噪声功率谱估计是语音增强算法的基本组成部分,传统算法大多采用启发式的估计方法,因而不能保证噪声估计值的统计最优。提出了一种基于极大
    发表于 03-07 10:14 1次下载
    基于<b class='flag-5'>极大</b><b class='flag-5'>似</b><b class='flag-5'>然</b>的非监督噪声功率谱<b class='flag-5'>估计</b>方法