最近参与翻译的一本书,以下是我翻译的其中一章,其余可以阅读
https://github.com/apachecn/prob140-textbook-zh
英文原文:https://nbviewer.jupyter.org/github/prob140/textbook/tree/gh-pages/notebooks/
# 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中的正态分布。所以,你已经将几个基本事实视为理所当然而无需证明。这章我们将开始研究并建立这些事实,同时研究独立正态分布变量的和的问题。
至于伽马分布族,通过练习题进行研究的特性出现在了许多的场景中。举一个例子,你已经证明指数分布属于伽马分布族,就像属于标准正态分布的变量的平方一样。稍后在这章,我们将收集我们知道的关于伽马分布族的内容以及看看在独立伽马分布的变量平方中能挖掘到什么样的东西。
尽管自从Data 8我们已经接受标准正态分布的密度函数,我们还没有证明它的确是一个密度函数-积分为1。我们也没有检查它的期望是否存在,也没有检查它的标准差的确为1。
现在是时候完成这些了,只有这样才能确保我们关于正态分布密度的计算是合理的。
在开始的地方我们需要回忆一些关于不相关的瑞利分布的事实,我们曾经在研究指数分布的平方根的分布的时候遇见过。
假定 T T 服从参数为 1/2 1 / 2 的指数分布。那么我们可以说 R=T−−√ R = T 就是一个瑞利分布,并且其累计分布函数为
积分的常数
假定 X X 和 Y Y 是相互独立的标准正态分布变量。因为我们还没有证明标准正态分布的密度函数中积分为 1/2–√ 1 / 2 的常数,现在暂定其为 c c 。然后, X X 和 Y Y 的联合分布密度为
# 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');
为了得到联合密度曲面下的相关体积,两个观察会有帮助。
因此,
# 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 ) 存在,那么 E(Z) E ( Z ) 必须关于 0 0 对称。但是你已经在习题中看到并不是所有的对称函数都有期望,柯西函数就是其中一个例子。为了确保 E(Z)=0 E ( Z ) = 0 ,我们必须首先确保 E(|Z|) E ( | Z | ) 是有限的。
方差
如果 X X 和 Y Y 是独立的标准正态分布变量,我们已经证明了 R=X2+Y2−−−−−−−√ R = X 2 + Y 2 就是瑞利分布。
同时也知道了瑞利分布能够作为参数 1/2 1 / 2 的指数分布的平方根的分布出现。
紧接着,如果 X X 和 Y Y 是独立的标准正态分布变量,那么 X2+Y2 X 2 + Y 2 就是服从参数 1/2 1 / 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 。
基于以下事实,这一节将包含多个例子:
独立正态分布变量的和同样服从正态分布
我们将会在下一节使用矩母函数证明这一观点。而现在,我们将进行一个快速的模拟并观察如何在例子中利用这一事实。
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 服从均值为 10 10 ,标准差为 2 2 的正态分布, Y Y 独立于 X X 且其服从均值为 15 15 ,标准差为 3 3 的正态分布。由结果可以清楚地看出两者和服从正态分布。你可以改变参数然后检查和的分布是否是一样的形状,尽管坐标轴的标签不一样。
为了确认是否真的是正态分布,你必须算出和的均值和方差。这里仅仅使用均值和方差的特性:
如果 X X 服从 (μX,σ2X) ( μ X , σ X 2 ) 的正态分布, Y Y 独立于 X X 且服从 (μY,σ2Y) ( μ Y , σ Y 2 ) 的正态分布,那么 X+Y X + Y 也是正态分布且均值为 μX+μY μ X + μ Y ,方差为 σ2X+σ2Y σ X 2 + σ Y 2 。
这意味着我们不需要 X X 和 Y Y 的联合密度就能得到 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 是正态分布,那么 −Y − Y 也是。因此如果 X X 和 Y Y 是独立的正态分布,那么 X−Y X − Y 也是正态的,并且均值为 μx−μy μ x − μ y ,方差则等于
# 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 的样本中选民选择候选人的比例。我们想要求得 P(X1>2X2) P ( X 1 > 2 X 2 ) 。根据中心极限定理, 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)
在习题中你已经看到了非负随机变量 X X 服从 gamma(r,λ) g a m m a ( r , λ ) 的分布,其中 r r 和 λ λ 都是正实数,如果 X X 的分布密度给定如下
就像你知道的,伽马函数的关键特点就是以下这个递归表达式,
比率 λ λ
对于固定的 r r , λ λ 越大,所期望的 X X 就越小。类似于指数分布,参数 λ λ 基本确定了单位度量。对于正常数 c c ,随机变量 Y=cX Y = c X 服从gamma (,λ/c) ( , λ / c ) 分布。你可以通过将线性变换引入式子中观察到这一点。例如正数 y y , Y Y 的密度分布为
形状参数 r r
这里是服从gamma (r,1) ( r , 1 ) 分布的密度函数图,其中 r=1,1.5,2以及10 r = 1 , 1.5 , 2 以及 10 .
# 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');
当 r=1 r = 1 时,密度函数时指数分布。随着 r r 增加,密度函数逐渐往右移并且变得扁平,与增加的均值 r r 一致和标准差 r√ r 。
当 r=10 r = 10 时,伽马密度函数看起来是正常的。为说明原因,我们会检查独立伽马变量的和。
# 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');
具有相同速率参数 λ λ 的独立伽玛变量的和
如果 X X 服从gamma (r,λ) ( r , λ ) 和 Y Y 独立于 X X 且服从gamma (s,λ) ( s , λ ) ,那么 X+Y X + Y 服从gamma (r+s,λ) ( r + s , λ ) 分布。
需要记住为了应用这一结论, X X 和 Y Y 的速率参数 λ λ 必须一样。同时证明 X+Y X + Y 的速率参数也是一样的,而形状参数则是两者相加。
我们将在下一章中证明这个结果以及独立正态变量之和的相应结果。现在,就像在正态分布的变量和一样,我们将通过仿真来验证这一结论。下面代码中的前三行在设定 λ、r和s λ 、 r 和 s 的值,剩下的代码模拟生成 10000 10000 个 X+Y X + Y 的值,然后通过仿真的值画出gamma (r+s,λ) ( r + s , λ ) 的分布。
# 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)$');
你现在可以看出为什么当 r r 足够大时,gamma (r,λ) ( r , λ ) 分布会近似为正态分布。通过以上结果,对于整数 r r ,服从指数分布 (λ) ( λ ) 的独立变量和服从gamma (r,λ) ( r , λ ) 分布。对于固定的 λ λ 和增长的 r r ,中心极限定理说明该分布的和趋近于正态分布。
伽马分布族经常被用于建模右偏峰的非负布。在数据科学中,伽马分布族也常出现在平方“居中”的正态随机变量中,这也就意味着,正态随机变量的均值为0。下一节将列出细节。
假定 Z Z 时标准正态分布的随机变量,令 V=Z2 V = Z 2 。通过改变变量的密度公式,我们发现 V V 的密度为
从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 ) 。
自由度为 n n 的卡方分布
对于一个正整数 n n ,随机变量 X X 服从自由度为 n n 的卡方分布当 X X 的分布为gamma (n/2,1/2) ( n / 2 , 1 / 2 ) 。因此, X X 的密度为
# 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 ) 分布,因此这个分布有三个名字:
均值和方差
现在你知道了如果 T T 服从gamma (r,λ) ( r , λ ) ,那么
标准差为
假定 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 如下
但通常, μ μ 是未知的。在这种情况下你需要另外一种估计 σ2 σ 2 的方法,因为你不能像上面那样计算 W W 。在练习中你知道了
自由度
上面这个例子能够帮助解释“自由度”这个陌生的术语,这一个词语出现在卡方分布的参数中。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。