最近参与翻译的一本书,以下是我翻译的其中一章,其余可以阅读
https://github.com/apachecn/prob140-textbook-zh
英文原文:https://nbviewer.jupyter.org/github/prob140/textbook/tree/gh-pages/notebooks/
18. 正态和伽马分布族
# HIDDEN
from datascience import *
from prob140 import *
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
%matplotlib inline
import math
from scipy import stats
正态分布族在概率论和数据科学中有独一无二的地位。在你理解更多正式的概率论之前,你就开始使用Data 8中的正态分布。所以,你已经将几个基本事实视为理所当然而无需证明。这章我们将开始研究并建立这些事实,同时研究独立正态分布变量的和的问题。
至于伽马分布族,通过练习题进行研究的特性出现在了许多的场景中。举一个例子,你已经证明指数分布属于伽马分布族,就像属于标准正态分布的变量的平方一样。稍后在这章,我们将收集我们知道的关于伽马分布族的内容以及看看在独立伽马分布的变量平方中能挖掘到什么样的东西。
18.1 标准正态分布:基础
尽管自从Data 8我们已经接受标准正态分布的密度函数,我们还没有证明它的确是一个密度函数-积分为1。我们也没有检查它的期望是否存在,也没有检查它的标准差的确为1。
现在是时候完成这些了,只有这样才能确保我们关于正态分布密度的计算是合理的。
在开始的地方我们需要回忆一些关于不相关的瑞利分布的事实,我们曾经在研究指数分布的平方根的分布的时候遇见过。
假定
T
T
服从参数为的指数分布。那么我们可以说
R=T−−√
R
=
T
就是一个瑞利分布,并且其累计分布函数为
同时其密度函数为
事实上,存在一个瑞利分布族,其中每一个都有着 cR c R 的分布( c c 是常数)。但是让我们定义就是唯一的瑞利分布,然后研究 R R 是如何与标准正态分布联系起来。
积分的常数
假定和
Y
Y
是相互独立的标准正态分布变量。因为我们还没有证明标准正态分布的密度函数中积分为
1/2–√
1
/
2
的常数,现在暂定其为
c
c
。然后,
X
X
和
Y
Y
的联合分布密度为
不管这个常数的具体值,这个联合分布拥有圆对称性。如果两个点在与原点相同径向距离的平面上,那么这个联合密度在这两个点上是一样的。现在使用另外的记号来使这一结论更清晰。
现在假定 R=X2+Y2−−−−−−−√ R = X 2 + Y 2 。为了找到 R R 的密度,现在尝试计算。这个事件在下图中展示。
# NO CODE
x = np.append(np.arange(-1, 0.999, 0.01), 1)
y = (1 - x**2)**0.5
plt.plot(x, y, color='gold', lw=10)
y2 = -1*y
plt.plot(x, y2, color='gold', lw=10)
plt.plot([-1.8, 1.8], [0, 0], color='k', lw=1)
plt.plot([0, 0], [-1.8, 1.8], color='k', lw=1)
plt.xlim(-1.8, 1.8)
plt.ylim(-1.6, 1.6)
plt.xticks([])
plt.yticks([])
plt.text(0.9, -0.15, '$dr$', size=16)
plt.xlabel('$X$')
plt.ylabel('$Y$', rotation=0)
plt.title('$\{R \in dr \}$')
plt.axes().set_aspect('equal');
为了得到联合密度曲面下的相关体积,两个观察会有帮助。
- 由于具有圆对称性,联合密度曲面在整个黄色的圆环上都是同一高度,且高度为 c2e−12r2 c 2 e − 1 2 r 2 。
- 圆环的区域基本上等价于一个矩形,且矩形宽为 dr d r ,长等于周长 2πr 2 π r 。
因此,
所以 R R 的密度函数为
将这个密度函数与瑞利分布的密度函数比较。这两者是一样的除了常数部分不同。瑞利分布的常数为1而对于新的 R R 分布,其常数为。但是由于两个函数是等价的,因此常数部分也必定相同。因此 1=2πc2 1 = 2 π c 2 ,这就意味着
现在我们知道标准正态分布的密度函数 ϕ ϕ 也是一个密度函数,
# NO CODE
z = np.arange(-3.5, 3.51, 0.01)
phi = stats.norm.pdf(z)
plt.plot(z, phi, color='k', lw=2)
plt.ylim(0, 0.41)
plt.title('Density of $X$')
plt.xlabel('$z$')
plt.ylabel('$\phi(z)$', rotation=0);
def indep_standard_normals(x,y):
return 1/(2*math.pi) * np.exp(-0.5*(x**2 + y**2))
Plot_3d((-4, 4), (-4, 4), indep_standard_normals, rstride=4, cstride=4)
plt.title('Joint Density of $X$ and $Y$');
期望
如果
Z
Z
服从标准正态分布且存在,那么
E(Z)
E
(
Z
)
必须关于
0
0
对称。但是你已经在习题中看到并不是所有的对称函数都有期望,柯西函数就是其中一个例子。为了确保,我们必须首先确保
E(|Z|)
E
(
|
Z
|
)
是有限的。
我们不止证明了 E(|Z|) E ( | Z | ) 的值是有限的,因此 E(Z)=0 E ( Z ) = 0 ,同时我们还得到了 E(|Z|) E ( | Z | ) 的具体值。
方差
如果 X X 和是独立的标准正态分布变量,我们已经证明了 R=X2+Y2−−−−−−−√ R = X 2 + Y 2 就是瑞利分布。
同时也知道了瑞利分布能够作为参数 1/2 1 / 2 的指数分布的平方根的分布出现。
紧接着,如果 X X 和是独立的标准正态分布变量,那么 X2+Y2 X 2 + Y 2 就是服从参数 1/2 1 / 2 的指数分布。
在后面的章节我们会对这些进行更深入的研究。至此,让我们总结两个关于期望的观察结果。
- X2+Y2 X 2 + Y 2 服从参数 1/2 1 / 2 的指数分布,因此 E(X2+Y2)=2 E ( X 2 + Y 2 ) = 2 。
- X X 和服从完全一样的分布,因此 E(X2)=E(Y2) E ( X 2 ) = E ( Y 2 ) 。
综上, E(X2)=1 E ( X 2 ) = 1 。我们知道 E(X)=0 E ( X ) = 0 ,因此 Var(X)=1 V a r ( X ) = 1 且 SD(X)=1 S D ( X ) = 1 。
18.2 独立正态分布变量的和
基于以下事实,这一节将包含多个例子:
独立正态分布变量的和同样服从正态分布
我们将会在下一节使用矩母函数证明这一观点。而现在,我们将进行一个快速的模拟并观察如何在例子中利用这一事实。
mu_X = 10
sigma_X = 2
mu_Y = 15
sigma_Y = 3
x = stats.norm.rvs(mu_X, sigma_X, size=10000)
y = stats.norm.rvs(mu_Y, sigma_Y, size=10000)
s = x+y
Table().with_column('S = X+Y', s).hist(bins=20)
plt.title('$X$ is normal (10, $2^2$); $Y$ is normal (15, $3^2$)');
上面的仿真随机生成了 10,000 10 , 000 个样本 X+Y X + Y ,其中 X X 服从均值为,标准差为 2 2 的正态分布,独立于 X X 且其服从均值为,标准差为 3 3 的正态分布。由结果可以清楚地看出两者和服从正态分布。你可以改变参数然后检查和的分布是否是一样的形状,尽管坐标轴的标签不一样。
为了确认是否真的是正态分布,你必须算出和的均值和方差。这里仅仅使用均值和方差的特性:
如果服从 (μX,σ2X) ( μ X , σ X 2 ) 的正态分布, Y Y 独立于且服从 (μY,σ2Y) ( μ Y , σ Y 2 ) 的正态分布,那么 X+Y X + Y 也是正态分布且均值为 μX+μY μ X + μ Y ,方差为 σ2X+σ2Y σ X 2 + σ Y 2 。
这意味着我们不需要 X X 和的联合密度就能得到 X+Y X + Y 事件的概率。
独立同正态分布变量的和
假定 X1,X2,…,Xn X 1 , X 2 , … , X n 是独立同正态分布的变量,且其均值为 μ μ ,方差为 σ2 σ 2 。现在 Sn=X1+X2+…+Xn S n = X 1 + X 2 + … + X n 。那么 Sn S n 的分布也是正态分布,但是其均值为 nμ n μ ,方差为 nσ2 n σ 2 。
这个看起来很想中心极限定理,但是需要注意到这里没有假设 n n 很大,也不是近似服从正态分布。
如果潜在分布是正态分布,那么无论样本大小,独立抽取的样本的和也是正态分布。
两个独立正态分布变量间的区别
如果是正态分布,那么
−Y
−
Y
也是。因此如果
X
X
和是独立的正态分布,那么
X−Y
X
−
Y
也是正态的,并且均值为
μx−μy
μ
x
−
μ
y
,方差则等于
举个例子,如果 A、B A 、 B 两人的身高分别为 HA H A 和 HB H B ,并假设 HA H A 和 HB H B 是独立同正态分布,均值为 66 66 英寸,标准差为 3 3 英寸。那么比 B B 高英寸的概率是
因为 HA−HB H A − H B 是正态分布,均值为 0 0 ,标准差为。
# NO CODE
mu = 0
sigma = 18**0.5
x = np.arange(mu - 3.5*sigma, mu + 3.5*sigma+0.1, 0.1)
plt.plot(x, stats.norm.pdf(x, mu, sigma), color='darkblue', lw=2)
w = np.arange(2, mu+3.5*sigma+0.1, 0.1)
plt.fill_between(w, stats.norm.pdf(w, mu, sigma), color='gold')
plt.xticks(np.arange(mu-3*sigma, mu+3*sigma+0.1, sigma))
plt.title('$P(H_A - H_B > 2) = 31.87\%$');
mu = 0
sigma = 18**0.5
1 - stats.norm.cdf(2, mu, sigma)
比较两样本的比例
一个候选者正在参与竞选。在州1, 50% 50 % 的选民偏爱他,在州2,只有 27% 27 % 的选民选择他。每个州随机抽取1000名选民。你可以假定样本之间相互独立并且在每个州都有成千上万的选民。
问题:样本来自州1的概率是多少,选择候选人的选民比例是洲2样本比例的两倍多。
答案:对于 i=1,2 i = 1 , 2 , Xi X i 是在州 i i 的样本中选民选择候选人的比例。我们想要求得。根据中心极限定理, X1 X 1 和 X2 X 2 都是近似正态分布,所以 X1−2X2 X 1 − 2 X 2 也近似是正态分布。
现在问题的关键在于找到均值和标准差。
因此,
mu = 0.5 - 2*0.27
var = (0.5*0.5/1000) + 4*(0.27*.73/1000)
sigma = var**0.5
1 - stats.norm.cdf(0, mu, sigma)
18.3 伽马分布族
在习题中你已经看到了非负随机变量
X
X
服从的分布,其中
r
r
和都是正实数,如果
X
X
的分布密度给定如下
其中,
就是Gamma函数,它作为常数部分保证密度函数积分为1。
就像你知道的,伽马函数的关键特点就是以下这个递归表达式,
这也就暗示了
把这些放在一起就是为了表明
你已经观察到标准正态分布变量的平方就是服从gamma (1/2,1/2) ( 1 / 2 , 1 / 2 ) ,参数为 λ λ 指数分布也是服从gamma (1,λ) ( 1 , λ ) 分布。
比率 λ λ
对于固定的
r
r
,越大,所期望的
X
X
就越小。类似于指数分布,参数基本确定了单位度量。对于正常数
c
c
,随机变量服从gamma
(,λ/c)
(
,
λ
/
c
)
分布。你可以通过将线性变换引入式子中观察到这一点。例如正数
y
y
,的密度分布为
SciPy将 1/λ 1 / λ 称为gamma分布中的比例参数。因为这个参数决定了密度图中横轴的比例,它的值经常取为1。这就是为什么我们转而研究另外一个参数 r r 。
形状参数
这里是服从gamma
(r,1)
(
r
,
1
)
分布的密度函数图,其中
r=1,1.5,2以及10
r
=
1
,
1.5
,
2
以及
10
. 当
r=1
r
=
1
时,密度函数时指数分布。随着
r
r
增加,密度函数逐渐往右移并且变得扁平,与增加的均值一致和标准差
r√
r
。 当
r=10
r
=
10
时,伽马密度函数看起来是正常的。为说明原因,我们会检查独立伽马变量的和。 具有相同速率参数
λ
λ
的独立伽玛变量的和 如果
X
X
服从gamma和
Y
Y
独立于且服从gamma
(s,λ)
(
s
,
λ
)
,那么
X+Y
X
+
Y
服从gamma
(r+s,λ)
(
r
+
s
,
λ
)
分布。 需要记住为了应用这一结论,
X
X
和的速率参数
λ
λ
必须一样。同时证明
X+Y
X
+
Y
的速率参数也是一样的,而形状参数则是两者相加。 我们将在下一章中证明这个结果以及独立正态变量之和的相应结果。现在,就像在正态分布的变量和一样,我们将通过仿真来验证这一结论。下面代码中的前三行在设定
λ、r和s
λ
、
r
和
s
的值,剩下的代码模拟生成
10000
10000
个
X+Y
X
+
Y
的值,然后通过仿真的值画出gamma
(r+s,λ)
(
r
+
s
,
λ
)
的分布。 你现在可以看出为什么当
r
r
足够大时,gamma分布会近似为正态分布。通过以上结果,对于整数
r
r
,服从指数分布的独立变量和服从gamma
(r,λ)
(
r
,
λ
)
分布。对于固定的
λ
λ
和增长的
r
r
,中心极限定理说明该分布的和趋近于正态分布。 伽马分布族经常被用于建模右偏峰的非负布。在数据科学中,伽马分布族也常出现在平方“居中”的正态随机变量中,这也就意味着,正态随机变量的均值为0。下一节将列出细节。 假定时标准正态分布的随机变量,令
V=Z2
V
=
Z
2
。通过改变变量的密度公式,我们发现
V
V
的密度为 # NO CODE
x = np.arange(0, 10, 0.01)
y1 = stats.gamma.pdf(x, 1, scale=1)
y2 = stats.gamma.pdf(x, 1.5, scale=1)
y3 = stats.gamma.pdf(x, 2, scale=1)
y5 = stats.chi2.pdf(x, 5)
plt.plot(x, y1, lw=2, label='$r = 1$')
plt.plot(x, y2, lw=2, label='$r = 1.5$')
plt.plot(x, y3, lw=2, label='$r = 2$')
plt.legend()
plt.xlabel('$x$')
plt.title('Gamma $(r, 1)$ Densities');
# NO CODE
x = np.arange(0, 20, 0.01)
y1 = stats.gamma.pdf(x, 1, scale=1)
y2 = stats.gamma.pdf(x, 1.5, scale=1)
y3 = stats.gamma.pdf(x, 2, scale=1)
y4 = stats.gamma.pdf(x, 10, scale=1)
plt.plot(x, y1, lw=2, label='$r = 1$')
plt.plot(x, y2, lw=2, label='$r = 1.5$')
plt.plot(x, y3, lw=2, label='$r = 2$')
plt.plot(x, y4, lw=2, label='$r = 10$')
plt.legend()
plt.xlabel('$x$')
plt.title('Gamma $(r, 1)$ Densities');
# Change these three parameters as you wish.
lam = 1
r = 3
s = 7
# Leave the rest of the code alone.
x = stats.gamma.rvs(r, scale=1/lam, size=10000)
y = stats.gamma.rvs(s, scale=1/lam, size=10000)
w = x+y
Table().with_column('X+Y', w).hist(bins=20)
t = np.arange(min(w), max(w)+0.1, (max(w) - min(w))/100)
dens = stats.gamma.pdf(t, r+s, scale=1/lam)
plt.plot(t, dens, color='red', lw=2, label='gamma $(r+s, \lambda)$')
plt.legend()
plt.title('$X+Y$ where $X$: gamma$(r, \lambda)$ and $Y$: gamma$(s, \lambda)$');
18.4 卡方分布
这就是gamma
(1/2,1/2)
(
1
/
2
,
1
/
2
)
密度函数。它也被称为自由度为
1
1
的卡方分布,我们缩写为chi-squared。
从chi-squared (1) ( 1 ) 到chi-squared (n) ( n )
当我们建立标准正态分布的特性时,我们发现如果 Z1 Z 1 和 Z2 Z 2 时标准正态独立变量,那么 Z21+Z22 Z 1 2 + Z 2 2 就服从指数分布(参数为 1/2 1 / 2 )。我们在瑞利分布中通过比较两个不同的设定观察到了这一结论,但是并没有特别明晰的理由得出为什么 Z21+Z22 Z 1 2 + Z 2 2 服从指数分布。
现在我们知道了独立的伽马分布(比率参数相同)随机变量的和也服从伽马分布,并且其形状参数等于两者之和,比率参数保持不变,所以 Z21+Z22 Z 1 2 + Z 2 2 服从gamma (1,1/2) ( 1 , 1 / 2 ) 。就像练习中展示的那样,这个分布和指数分布(1/2)是一样的。这解释了为什么两个独立同标准正态分布变量的和也服从指数分布(1/2)。
假定 Z1,Z2,…,Zn Z 1 , Z 2 , … , Z n 是独立标准正态变量,那么 Z21,Z22,…,Z2n Z 1 2 , Z 2 2 , … , Z n 2 是独立同chi-squared (1) ( 1 ) 的变量。这就意味着,它们每一个都服从gamma (1/2,1/2) ( 1 / 2 , 1 / 2 ) 分布。
通过归纳, Z21+Z22+⋯+Z2n Z 1 2 + Z 2 2 + ⋯ + Z n 2 服从gamma (n/2,1/2) ( n / 2 , 1 / 2 ) 分布,这个分布被称为卡方分布且其自由度为 n n ,我们缩写为chi-squared。
自由度为 n n 的卡方分布
对于一个正整数,随机变量
X
X
服从自由度为的卡方分布当
X
X
的分布为gamma。因此,
X
X
的密度为
这里是卡方分布的图,且其自由度从2变化至5。
# NO CODE
x = np.arange(0, 14, 0.01)
y2 = stats.chi2.pdf(x, 2)
y3 = stats.chi2.pdf(x, 3)
y4 = stats.chi2.pdf(x, 4)
y5 = stats.chi2.pdf(x, 5)
plt.plot(x, y2, lw=2, label='2 df')
plt.plot(x, y3, lw=2, label='3 df')
plt.plot(x, y4, lw=2, label='4 df')
plt.plot(x, y5, lw=2, label='5 df')
plt.legend()
plt.xlabel('$v$')
plt.title('Chi-Squared $(n)$ Densities for $n = 2, 3, 4, 5$');
自由度为2的卡方分布是指数分布因为它也是gamma (1,1/2) ( 1 , 1 / 2 ) 分布,因此这个分布有三个名字:
- 自由度为2的卡方分布
- gamma (1,1/2) ( 1 , 1 / 2 )
- 指数分布 (1/2) ( 1 / 2 )
均值和方差
现在你知道了如果
T
T
服从gamma,那么
如果 X X 服从自由度为的卡方分布,那么 X X 服从gamma。因此
那么服从卡方分布的随机变量的期望就是它的自由度。
标准差为
估计正态方差
假定 X1,X2,…,Xn X 1 , X 2 , … , X n 服从正态分布 (μ,σ2) ( μ , σ 2 ) ,现在如果你已经知道 μ μ ,需要求出 σ2 σ 2 。
Zi
Z
i
是
Xi
X
i
的,因此
Zi=(Xi−μ)/σ
Z
i
=
(
X
i
−
μ
)
/
σ
。定义随机变量
T
T
如下
那么 T T 服从自由度为的卡方分布,并且 E(T)=n E ( T ) = n 。现在定义 W W
随后因为已经知道 μ μ 的值, W W 可以通过样本进行计算。同时,因为是 T T 的线性变换,可以很直接地得出。因此我们可以构建 σ2 σ 2 的无偏估计:它是已知总体均值的均方偏差。
但通常,
μ
μ
是未知的。在这种情况下你需要另外一种估计
σ2
σ
2
的方法,因为你不能像上面那样计算
W
W
。在练习中你知道了
是 σ2 σ 2 的无偏估计而不管 Xi X i 的具体分布。就像这个例子一样,当 Xi X i 是正态分布,可以证明 S2 S 2 是自由度为 (n−1) ( n − 1 ) 的卡方分布的线性变换。在下节中,我们将解释这种方法的原因所在。
自由度
上面这个例子能够帮助解释“自由度”这个陌生的术语,这一个词语出现在卡方分布的参数中。
- 当 μ μ 已知,你有 n n 个独立的中心正态分布,由此可以估计 σ σ 。也就意味着,你有个 n n 个自由度来构建你的估计。
- 当未知是,你使用所有 n n 个在你的估计中,但是它们并不是相互独立的。它们是 X1,X2,…,Xn X 1 , X 2 , … , X n 离它们的均值 X¯ X ¯ 的偏差,因此它们的和为0。所以如果你知道其中的 n−1 n − 1 个,那么最后一个也是确定的。你也就只有 n−1 n − 1 个自由度。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。