草庐IT

统计系列(二)常见的概率分布

HsuHeinrich 2023-07-27 原文

统计系列(二)常见的概率分布

离散概率分布

伯努利分布

  1. 背景:抛一次硬币,正面朝上的概率
  2. 定义:一次试验中,只有两种结果,成功(X=1)概率为p,失败(X=0)概率为1-p。定义为伯努利试验。
  3. 数学描述
    • P ( X = x ) = p x ( 1 − p ) 1 − x , x ∈ { 0 , 1 } P(X=x)=p^{x}(1-p)^{1-x}, x \in\{0,1\} P(X=x)=px(1p)1x,x{0,1}
    • E ( X ) = p E(X)=p E(X)=p; D ( X ) = p ( 1 − p ) D(X)=p(1-p) D(X)=p(1p)

二项分布

  1. 背景
    • 扔10次硬币,有3次正面朝上的概率
    • 上了一学期的课,有10次迟到的概率
  2. 定义:n次伯努利试验中,成功k次的概率
  3. 数学描述
    • X ∼ B ( n , p ) X \sim B(n, p) XB(n,p)
    • P ( X = k ) = C n k p k ( 1 − p ) n − k P(X=k)=C_{n}^{k}p^{k}(1-p)^{n-k} P(X=k)=Cnkpk(1p)nk
    • E ( X ) = n p E(X)=np E(X)=np; D ( X ) = n p ( 1 − p ) D(X)=np(1-p) D(X)=np(1p)

多项分布

  1. 背景
    • 掷10次骰子,有3次6的概率
    • 踢10场足球,A球队赢7负1平2的概率
  2. 定义:假设每次试验的结果有k种,且每种结果的概率为p1,p2,…pk。且k种结果的概率之和为1。重复n次试验,每种结果出现次数集合的概率(例如每种结果的次数分别为x1,x2…xk次)
  3. 数学描述
    • X ∼ P N ( N : p 1 . p 2 , … , p n ) X \sim PN(N:p1.p2,…,pn) XPN(Np1p2pn)
    • P ( X 1 = x 1 , X 2 = x 2 , . . . , X k = x k ) = n ! x 1 ! x 2 ! . . . x k ! p 1 x 1 p 2 x 2 . . . p k x k P(X_1=x_1, X_2=x_2,..., X_k=x_k)=\frac{n!}{x_1!x_2!...x_k!}p_{1}^{x_1}p_{2}^{x_2}...p_{k}^{x_k} P(X1=x1,X2=x2,...,Xk=xk)=x1!x2!...xk!n!p1x1p2x2...pkxk
    • 多项分布对每种结果都有均值和方差: E ( X i ) = n p i E(X_i)=np_i E(Xi)=npi; D ( X i ) = n p i ( 1 − p i ) D(X_i)=np_i(1-p_i) D(Xi)=npi(1pi)

几何分布

  1. 背景:
    • 抛几次硬币能出现正面
    • 考几次六级能通过
  2. 定义:几何分布由n次伯努利分布构成,随机变量X表示第一次成功所进行试验的次数。即前k-1次均失败,第k次成功。
  3. 数学描述:
    • X ∼ G E ( p ) X \sim GE(p) XGE(p)
    • P ( X = k ) = ( 1 − p ) k − 1 p P(X=k)=(1-p)^{k-1}p P(X=k)=(1p)k1p
    • E ( X ) = 1 p E(X)=\frac{1}{p} E(X)=p1; D ( X ) = 1 − p p 2 D(X)=\frac{1-p}{p^2} D(X)=p21p

泊松分布

  1. 背景:
    • 网站每分钟有100次访问的概率
    • 每天能卖多少个馒头
  2. 定义:某一时间区间内发生随机事件次数的概率分布
  3. 数学描述:
    • X ∼ P ( λ ) X \sim P(\lambda) XP(λ)
    • P ( X = k ) = λ k k ! e − λ P(X=k)=\frac{\lambda^k}{k!}e^{-\lambda} P(X=k)=k!λkeλ
    • E ( X ) = λ E(X)=\lambda E(X)=λ D ( X ) = λ D(X)=\lambda D(X)=λ
  4. 二项分布与泊松分布
    1. 假设老板一周的馒头销量分别为[3,7,4,6,5],均值为5。每天需要准备多少个才能有95%的把握保证供应呢?
    2. 将每一天的营业时间切割成n等分,n越大越好。则每个区间 n i n_i ni只可能出现卖出馒头和未卖出馒头。则一天卖出k个馒头的概率符合二项分布 B ( n , p ) B(n, p) B(n,p)。即 lim ⁡ n → ∞ ( n k ) p k ( 1 − p ) n − k \lim _{n \rightarrow \infty}\left(\begin{array}{l}n \\ k\end{array}\right) p^{k}(1-p)^{n-k} limn(nk)pk(1p)nk
    3. 因此该问题转化为了二项分布,二项分布的期望为 E ( X ) = n p = μ E(X)=np=\mu E(X)=np=μ;则 p = μ n p=\frac{\mu}{n} p=nμ。带入上述极限公式则得到 lim ⁡ n → ∞ ( n k ) ( μ k ) k ( 1 − ( μ k ) ) n − k = μ k k ! e − μ \lim _{n \rightarrow \infty}\left(\begin{array}{l}n \\ k\end{array}\right) (\frac{\mu}{k})^{k}(1-(\frac{\mu}{k}))^{n-k}=\frac{\mu^k}{k!}e^{-\mu} limn(nk)(kμ)k(1(kμ))nk=k!μkeμ。所以一天内卖出k个馒头的概率为: P ( X = k ) = λ k k ! e − λ P(X=k)=\frac{\lambda^k}{k!}e^{-\lambda} P(X=k)=k!λkeλ μ = λ \mu=\lambda μ=λ,均值的替换)。因此泊松分布可以理解为n较大,p较小的二项分布
    4. 已知 x ˉ = 5 \bar{x}=5 xˉ=5,所以 λ = 5 \lambda=5 λ=5。带入概率密度函数有: P ( X = k ) = 5 k k ! e − 5 P(X=k)=\frac{5^k}{k!}e^{-5} P(X=k)=k!5ke5。根据python stats.poisson.cdf(k, 5) 计算得到:当k=9时,累计概率为0.968,因此每天需要至少准备9个馒头才能有95%的把握保证供应。

连续概率分布

均匀分布

  1. 背景:
    • 掷一枚骰子,出现3的概率
    • 生成1-100之间的随机数
  2. 定义:X在区间[a,b]上发生的概率均相等
  3. 数学描述:
    • X ∼ U ( a , b ) X \sim U(a, b) XU(a,b)
    • f ( x ) = { 0 , x < a  或  x > b 1 b − a , a ≤ x ≤ b f(x)=\left\{\begin{array}{l}0, x < a \text { 或 } x > b \\ \frac{1}{b-a}, a \leq x \leq b\end{array}\right. f(x)={0,x<a  x>bba1,axb
    • E ( X ) = a + b 2 E(X)=\frac{a+b}{2} E(X)=2a+b; D ( X ) = ( b − a ) 2 12 D(X)=\frac{(b-a)^2}{12} D(X)=12(ba)2

指数分布

  1. 背景:
    • 婴儿出生的时间间隔
    • 网站访问的时间间隔
  2. 定义:两次随机事件发生时间间隔的概率分布
  3. 数学描述
    • X ∼ E ( λ ) X \sim E(\lambda) XE(λ)
    • f ( x ) = λ e − λ x , x ≥ 0 f(x)=\lambda e^{-\lambda x},x \geq 0 f(x)=λeλx,x0 P ( X ≤ x ) = F ( x ) = 1 − e − λ x P(X \leq x)=F(x)=1-e^{-\lambda x} P(Xx)=F(x)=1eλx
    • E ( x ) = 1 λ E(x)=\frac{1}{\lambda} E(x)=λ1; D ( x ) = 1 λ 2 D(x)=\frac{1}{\lambda^2} D(x)=λ21
  4. 泊松分布与指数分布
    1. 馒头卖出之间的时间间隔
    2. 同样的将每天的营业时间切分为n等分,假设周三一天没有卖出馒头,则意味着周二最后一次卖出馒头和周四第一次卖出馒头之间间隔大于1天。某一天没有卖出馒头的概率根据泊松分布有 P ( X = 0 ) = λ 0 0 ! e − λ = e − λ P(X=0)=\frac{\lambda^0}{0!}e^{-\lambda}=e^{-\lambda} P(X=0)=0!λ0eλ=eλ。则时间间隔大于1天的概率 P ( Y > 1 ) = P ( X = 0 ) = e − λ P(Y>1)=P(X=0)=e^{-\lambda} P(Y>1)=P(X=0)=eλ。扩展泊松函数得到新的函数 P ( X = k , t ) = ( λ t ) k k ! e λ t P(X=k, t)=\frac{(\lambda t)^k}{k!}e^{\lambda t} P(X=k,t)=k!(λt)keλt(泊松过程),当t=1时就是泊松分布。因此有 P ( Y > t ) = P ( X = 0 , t ) = ( λ t ) 0 0 ! e − λ t = e − λ t P(Y>t)=P(X=0,t)=\frac{(\lambda t)^0}{0!}e^{-\lambda t}=e^{-\lambda t} P(Y>t)=P(X=0,t)=0!(λt)0eλt=eλt,从而得到累计分布函数 P ( Y ≤ t ) = 1 − P ( Y > t ) = 1 − e − λ t = F ( y ) P(Y \leq t)=1-P(Y>t)=1-e^{-\lambda t}=F(y) P(Yt)=1P(Y>t)=1eλt=F(y)。对 F ( y ) F(y) F(y)求导得到概率密度函数 f ( y ) = λ e − λ y f(y)=\lambda e^{-\lambda y} f(y)=λeλy
    3. 泊松分布和指数分布的期望分别是: λ , 1 λ \lambda,\frac{1}{\lambda} λ,λ1。所以两者是倒数关系,因为每日卖出的馒头数越多,则每日卖出馒头的时间间隔就越短。
    4. 已知每天卖出5个馒头,因此每日卖出馒头的时间间隔的期望是 1 / 5 = 0.2 ( 天 ) 1/5=0.2(天) 1/5=0.2()
    5. 每天卖出馒头间隔低于0.5天的概率 P ( X ≤ 0.5 ) = 1 − e − 5 ∗ 0.5 = 0.918 P(X \leq 0.5)=1-e^{-5*0.5}=0.918 P(X0.5)=1e50.5=0.918

伽马分布

  1. 背景:第3个婴儿出生的时间间隔
  2. 定义:事件第 i 次发生和第 i+k 次发生的时间间隔
  3. 数学描述:
    • X ∼ G a ( α , λ ) X \sim Ga(\alpha,\lambda) XGa(α,λ)
    • f ( x ) = λ α Γ ( α ) x α − 1 e − λ x , x ≥ 0 f(x)=\frac{\lambda^\alpha}{\Gamma(\alpha)}x^{\alpha-1}e^{-\lambda x},x \geq 0 f(x)=Γ(α)λαxα1eλx,x0,其中 α > 0 \alpha>0 α>0为形状参数, λ > 0 \lambda>0 λ>0为尺度参数
    • E ( X ) = α λ E(X)=\frac{\alpha}{\lambda} E(X)=λα, D ( X ) = α λ 2 D(X)=\frac{\alpha}{\lambda^2} D(X)=λ2α
    • Γ ( 1 ) = 1 , Γ ( 1 2 ) = π \Gamma(1)=1,\Gamma(\frac{1}{2})=\sqrt{\pi} Γ(1)=1,Γ(21)=π
  4. 两个特例
    • α = 1 , G a ( 1 , λ ) = E ( λ ) \alpha=1, Ga(1,\lambda)=E(\lambda) α=1,Ga(1,λ)=E(λ),即等于指数分布
    • α = n 2 , λ = 1 2 , G a ( n 2 , 1 2 ) = χ 2 ( n ) \alpha=\frac{n}{2},\lambda=\frac{1}{2}, Ga(\frac{n}{2},\frac{1}{2})=\chi^2(n) α=2n,λ=21,Ga(2n,21)=χ2(n),即等于卡方分布

贝塔分布

  1. 背景:棒球运动员击球率的概率分布
  2. 定义:定义(0,1)区间的连续概率分布,可以看做一个概率的概率分布。即当你不知道一个东西的具体概率时,它可以给出所有概率出现的可能性大小
  3. 数学描述:
    • X ∼ B e t a ( α , β ) X \sim Beta(\alpha,\beta) XBeta(α,β)
    • f ( x ) = 1 B ( α , β ) x α − 1 ( 1 − x ) β − 1 f(x)=\frac{1}{B(\alpha,\beta)}x^{\alpha-1}(1-x)^{\beta-1} f(x)=B(α,β)1xα1(1x)β1
    • E ( X ) = α α + β E(X)=\frac{\alpha}{\alpha+\beta} E(X)=α+βα, D ( X ) = α β ( α + β ) 2 ( α + β + 1 ) D(X)=\frac{\alpha\beta}{(\alpha+\beta)^2(\alpha+\beta+1)} D(X)=(α+β)2(α+β+1)αβ

高斯分布

  1. 背景:某个学校学生身高的分布
  2. 数学描述:
    • X ∼ N ( μ , σ 2 ) X \sim N(\mu,\sigma^2) XN(μ,σ2)
    • f ( x ) = 1 σ 2 π e − ( x − μ ) 2 / 2 σ 2 f(x)=\frac{1}{\sigma \sqrt{2 \pi}} \mathrm{e}^{-(x-\mu)^{2} / 2 \sigma^{2}} f(x)=σ2π 1e(xμ)2/2σ2
    • E ( X ) = μ E(X)=\mu E(X)=μ; D ( X ) = σ 2 D(X)=\sigma^2 D(X)=σ2

总结

每个概率分布都有其适宜的应用场景,且相互之间都有一定的联系。所以了解各概率分布的应用场景和内在关联,有助于提高对概率分布的理解。

共勉~

参考

有关统计系列(二)常见的概率分布的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. ruby - 分布式事务和队列,ruby,erlang,scala - 2

    我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  6. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  7. ruby - 将对象设置为 nil 是否很常见? - 2

    我正在构建一个应用程序,想知道是否将未使用的对象设置为nil是生产级编码中的常见做法。我知道这只是垃圾收集器的提示,并不总是处理对象。 最佳答案 根据这个thread如果您使用完一个成员对象,将其设置为nil将引发被引用对象被垃圾回收。如果它是局部变量,方法exit将做同样的事情。也就是说,如果您要求将成员显式设置为nil,我会质疑您的设计。 关于ruby-将对象设置为nil是否很常见?,我们在StackOverflow上找到一个类似的问题: https://

  8. ruby - 变量赋值后的 if 语句 - 有多常见? - 2

    我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby

  9. ruby - 从结束值创建一系列字符串 - 2

    我使用irb。下面是我写的代码。“斧头”..“bc”我期待"ax""ay""az""ba"bb""bc"但结果只是“斧头”..“bc”我该如何纠正?谢谢。 最佳答案 >puts("ax".."bc").to_aaxayazbabbbc 关于ruby-从结束值创建一系列字符串,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7617092/

  10. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

随机推荐