数学-n个互相独立的连续随机变量中第i小的数值期望

6.4.2020 updated:
现在回看了一下当时自己…哎……
整半天原来可以直接调用已有结论……加在文末了……

提出问题

n 个互相独立的 01 之间等概率生成的随机变量,求从小到大排序后第 i 个数的数值期望

一个简化的问题

我们先来求解一个简化的问题:最大值的数值期望是多少?

我们会发现,由于这些变量都是在 01 之间等概率生成的,所以一个变量小于等于 x 的概率为 x(即 P(x0x)=x),则这 n 个数中最大值为 x 的概率为 xn1(其他 n1 个变量都小于等于 x

再考虑到有 n 个数都有可能成为最大值,所以最后答案还要再乘(n1)(实际上这个组合数应该放在原式的概率函数 p(x) 里的,但为了表达方便,我们将这个组合数提到最外面最后进行计算,后面的运算也是如此)

由于期望的计算公式为

E(x)=k=1+xkpk

套到这题里就是

01xxn1dx=1n+1

乘上组合数,得到这个简化问题的答案为 nn+1

扩展

我们现在求得了最大值(第 n 个数)的数值期望为 nn+1,同理可以计算出最小数(第 1 个数)的数值期望为 1n+1,由期望的线性性大胆猜想第 i 个数的数值期望为 in+1

下面来证明这个式子

类比上面求最大值的解法,我们可以很容易地列出我们需要的式子

01xxi1(1x)nidx=01xi(1x)nidx

(第 i 个数为 x 的概率为前 i1 个数都小于等于 x,后 ni 个数都大于等于 x,则概率为 xi1(1x)ni

这个式子在最后还要乘一个 n(n1i1)n 个数都有可能成为第 i 个数,还要再选出小于等于 xi1 个数)

我们列出了式子,但这个式子并不像 xn 这样好积分;为此,我们考虑分部积分:

abuvdx=uv|ababvudx

积分

明确目标,我们要求

01xi(1x)nidx

{u=(1x)niv=xi

则原式即为

01uvdx=(uv)|0101uvdx

由于 uvx=01 时都为零,则只需要考虑后面的式子即可:

01uvdx=01(ni)(1x)ni11i+1xi+1dx=nii+101xi+1(1x)ni1dx

数列

发现这个式子和原式长得很像,可以对比一下:

01xi(1x)nidx01xi+1(1x)ni1dx

ai=01xi(1x)nidx,则可以得到一个有趣的递推式 ai=nii+1ai+1,而边界条件即为一开始证明的式子 an=nn+1

从而可以得到 ai 的通项公式 ai=i!(ni)!(n+1)!

所以前面那一长溜的积分式,可以化简为 i!(ni)!(n+1)!

最后不要忘记之前提取出来的组合系数 n(n1i1)

解得的答案为 i!(ni)!(n+1)!n(n1i1)=in+1

猜想得证

结论

n 个互相独立的 01 之间等概率生成的随机变量,求从小到大排序后第 i 个数的数值期望为 in+1

可以推广,若变量的生成范围为 [l,r],则第 i 小数的数值期望为 l+i(rl)n+1

最近加了友链的一位同学知道一个比较简单的组合解释,果真还是老了啊

updated:Γ 函数与 B 函数

上面整这半天实际上可以用已有结论:

引入 Gamma 函数与 Beta 函数:

Γ(x)=0+tx1etdtB(x,y)=01tx1(1t)y1dt

有几个结论:

  • Γ(1)=1Γ(x+1)=xΓ(x),故 Γ(x+1)=x!(xZ)
  • B(x,y)=Γ(x)Γ(y)Γ(x+y)

然后考虑到之前关键求的是

01xi(1x)nidx=B(i+1,ni+1)

然后直接套结论就好了……还是数学没学好的说……(不过问了好几位dalao都没人提这玩意TAT)

posted @   oier_hzy  阅读(2941)  评论(5编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示