matlab检验贝塔分布规律,贝塔分布背后的直觉:概率的概率分布

matlab检验贝塔分布规律,贝塔分布背后的直觉:概率的概率分布编者按 贝塔分布的定义很简单 具有两个参数 gt 0 的一组定义在 0 1 区间的连续概率分布 但是 它背后的直觉却不是那么明显 StackOverflo 数据科学家 DavidRobinso 在 CrossValidat 解释了贝塔分布背后的直觉 简而言之 贝塔分布代表 probabilitie 概率的复数形式 的分布 也就是说 它代表当我们不知道概率是什么时 概率的所有

编者按:贝塔分布的定义很简单,具有两个参数α、β(α,β > 0)的一组定义在(0, 1)区间的连续概率分布。但是,它背后的直觉却不是那么明显。Stack Overflow数据科学家David Robinson在Cross Validated解释了贝塔分布背后的直觉。

简而言之,贝塔分布代表probabilities(概率的复数形式)的分布,也就是说,它代表当我们不知道概率是什么时,概率的所有可能值。

所有看棒球的人都熟悉打击率这个概念,也就是安打数除以打数(因此,打击率是0到1之间的百分数)。

.266是一个平均水平的打击率,而.300是一个优秀的打击率。

假设我们想预测某个棒球手在整个赛季的打击率。你可能会说,使用已有的打击率数据不就行了?但是在赛季刚开始的时候,这会是一个非常差的衡量指标,如果棒球手的打数只有几次,可能预测出棒球手的打击率为1.000或0.000这样的数字。

我们为什么知道上面的预测很糟糕?如果我们观察到棒球手在赛季一开始出现了一个三振,为什么没人会预测这个棒球手在整个赛季都拿不到一个安打?因为我们有先验知识,我们知道,在历史上,绝大多数棒球手的赛季平均打击率在.215到.360之间,有一些极端罕见的例外低于或高于这个范围。我们知道,如果一个棒球手刚开始出现了几个三振,那可能意味着他最终的打击率会比平均值低一点,但我们知道他大概不会偏离上面提到的范围。

我们的打击率问题可以表示为二项分布(一系列成功和失败),表示这些先验预期(在统计学上我们直接称为先验)的最好方式是贝塔分布——也就是说,在我们观测到棒球手的打击数据前,我们大致期望他的打击率会是这样的。贝塔分布的定义域为(0, 1),和概率一样,因此我们知道我们的路线是正确的——但是贝塔分布与当前任务的相关性远不止这些。

我们期望,棒球手整个赛季的打击率最有可能在.27附近,但.21到.35

也很合理。这可以用参数α=81、β=219的贝塔分布表示:

curve(dbeta(x, 81, 219))

125843841_1_20180301044911592

注意,分布的均值为α/(α β) = 81/(81 219) = .270。

整个分布基本上完全位于(.2, .35)之间,对打击率而言,这个范围很合理。

在我们的例子中,贝塔分布的x轴代表打击率。因此,不仅y轴代表概率(更准确地说,概率密度),x轴也代表概率(打击率是安打的概率)!贝塔分布是概率的概率分布。

接着我们讨论为什么贝塔分布非常合适我们的问题。假设棒球手完成了一个安打。当前赛季的记录为安打 1;打数 1。我们需要更新概率——我们希望略微移动整个曲线以反映我们新获得的信息。尽管相应的数学证明有点复杂(证明见此),结果非常简单。新的贝塔分布将是:

Beta(α0 hits,β0 misses)

其中,α0和β0是刚开始的参数81和219。因此,在这一情形下,α增加了1(1次安打),而β完全没有增加(目前还没有落空)。这意味着我们的新分布是Beta(81 1,219):

curve(dbeta(x, 82, 219))

125843841_2_20180301044911686

注意上面的图像基本上没有变动——肉眼观察不到改变!(这是因为一个安打其实说明不了什么。)

然而,随着赛季的进行,棒球手的安打数越多,曲线为了适应新证据所作的移动也会越多,而且,由于我们有更多的证据,它会收拢。比如,到赛季的一半,球手的打数达到了300,其中有100个安打。新的分布会是Beta(81 100,219 200):

curve(dbeta(x, 81 100, 219 200))

125843841_3_20180301044911795

注意,和原来相比,现在曲线变得更狭长了,同时向右侧(更高的击打率)移动了。我们对球手的打击率更有概念了。

基本上,所得贝塔分布的期望值,就是我们新的估计。回顾一下,贝塔分布的期望值为α/(α β)。因此,在真实打数为300,安打数为100的情况下,新贝塔分布的期望值为(81 100)/(81 100 219 200) = .303。注意它比朴素的估计值100/(100 200) = .333要低,但比赛季开始前的估计值81/(81 219) = .270要高。你可能会注意到,这一等式等价于球手加上“提前开始”的安打数和落空数——也就是说“在赛季开始时,球手已经有81安打、219落空的记录”。

因此,贝塔函数最适宜用来表示概率的概率分布——当你并不预先知道概率是多少,但具备一些合理的猜测的时候。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232943.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vscode设置字体大小和字体(vscode窗口字体大小设置)

    VScode如何设置字体大小第一步:首先打开vscode,在vscode的左下角有一个设置按钮,单机打开,选择settings选项第二步:在设置中查找font(字体)选项,并打开第三步:在font选项内,选择fontsize,就可以设置字体的大小了还有一些其他的关于字体的设置也可以进行修改…

    2022年4月18日
    4.0K
  • python字典详解_python字典get方法

    python字典详解_python字典get方法字典字典的key和value一一对应的,字典是可变的,也是有序的(python3.6版本开始字典有序),可迭代的增加元素当key不存在时,直接赋值a={"status"

    2022年7月30日
    8
  • 迭代器和生成器

    迭代器可迭代的数据类型查看数据类型的所有方法可迭代协议:迭代器协议和可迭代对象判断一个数据类型是否是迭代器和可迭代对象:迭代器协议的原理1#基于迭代器协议2li=[1,2,3]

    2022年3月29日
    49
  • COleVariant和VARIANT转换为CString类型

    COleVariant和VARIANT转换为CString类型COleVariant是数据库常用到的数据类型。它可以是字串,整型值,日期等。知道怎样将它转换为CString很有用处。        设有CString A; COleVariant B; 来看看怎样将COleVariant转换为CString:        switch(B.vt){            case VT_BSTR:  A=B.bstrVal; bre

    2022年7月18日
    17
  • zabbix监控哪些指标_zabbix监控爱快

    zabbix监控哪些指标_zabbix监控爱快前言面试中经常会被问到一些技术问题,面试官一方面是看你对于当前技术的点的掌握情况,另一方面是判断你是否在公司里干过,毕竟很多技术只要自学一下就能应付面试。今天我们来聊聊,面试中那些高频的问题,比如zabbix你都监控哪些参数。一.原理解释说到监控,在运维这个行业其实有很多开源的监控方案,目前最常见的就是zabbix+grafana,我工作那时候还是用cacti和nagios的比较多。还记得以前去面试,面试官来了一句,zabbix会搭建吗,会的话你在这搭建下,30分钟搭建出来就入职。不管

    2025年8月21日
    3
  • 互联网公司忽悠员工的黑话,套路太深了。。。

    据说这些是互联网公司招工时忽悠的黑话,大家来看看是不是真的? 再列举几个黑话: 老板: 产品: 程序员: 据说这些是互联网公司招工时忽悠的黑话,大家来看看是不是真的? 再列举几个黑…

    2021年6月24日
    92

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号