概率论10 方差与标准差

时间:2022-12-14 14:35:17
   

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

除了期望,方差(variance)是另一个常见的分布描述量。如果说期望表示的是分布的中心位置,那么方差就是分布的离散程度。方差越大,说明随机变量取值越离散。

 

概率论10 方差与标准差

比如射箭时,一个优秀的选手能保持自己的弓箭集中于目标点附近,而一个经验不足的选手,他弓箭的落点会更容易散落许多地方。

概率论10 方差与标准差

上面的靶上有两套落点。尽管两套落点的平均中心位置都在原点 (即期望相同),但两套落点的离散程度明显有区别。蓝色的点离散程度更小。

 

数学上,我们用方差来代表一组数据或者某个概率分布的离散程度。可见,方差是独立于期望的另一个对分布的度量。两个分布,完全可能有相同的期望,而方差不同,正如我们上面的箭靶。

 

方差

对于一个随机变量XX来说,它的方差为:

 

Var(X)=E[(Xμ)2]Var(X)=E[(X−μ)2]

 

其中,μμ表示XX的期望值,即μ=E(X)μ=E(X)。

 

我们可以代入期望的数学表达形式。比如连续随机变量:

 

Var(X)=E[(Xμ)2]=+(xμ)2f(x)dxVar(X)=E[(X−μ)2]=∫−∞+∞(x−μ)2f(x)dx

 

 

方差概念背后的逻辑很简单。一个取值与期望值的“距离”用两者差的平方表示。该平方值表示取值与分布中心的偏差程度。平方的最小取值为0。当取值与期望值相同时,此时不离散,平方为0,即“距离”最小;当随机变量偏离期望值时,平方增大。由于取值是随机的,不同取值的概率不同,我们根据概率对该平方进行加权平均,也就获得整体的离散程度——方差。

 

方差的平方根称为标准差(standard deviation, 简写std)。我们常用σσ表示标准差

 

σ=Var(X)−−−−−−√σ=Var(X)

 

标准差也表示分布的离散程度。

 

正态分布的方差 

根据上面的定义,可以算出正态分布

 

E(X)=1σ2π−−√+xe(xμ)2/2σ2dxE(X)=1σ2π∫−∞+∞xe−(x−μ)2/2σ2dx

 

的方差为

 

Var(X)=σ2Var(X)=σ2

 

正态分布的标准差正等于正态分布中的参数σσ。这正是我们使用字母σσ来表示标准差的原因!

 

可以预期到,正态分布的σσ越大,分布离散越大,正如我们从下面的分布曲线中看到的:

概率论10 方差与标准差当方差小时,曲线下的面积更加集中于期望值0附近。当方差大时,随机变量更加离散。此时分布曲线的“尾部”很厚,即使在取值很偏离0时,比如x=4x=4时,依然有很大的概率可以取到。

 

代码如下:

概率论10 方差与标准差
# By Vamei

from scipy.stats import norm
import numpy as np
import matplotlib.pyplot as plt

# Note the difference in "scale", which is std
rv1 = norm(loc=0, scale = 1)
rv2 = norm(loc=0, scale = 2)

x = np.linspace(-5, 5, 200)

plt.fill_between(x, rv1.pdf(x), y2=0.0, color="coral")
plt.fill_between(x, rv2.pdf(x), y2=0.0, color="green", alpha = 0.5)

plt.plot(x, rv1.pdf(x), color="red", label="N(0,1)")
plt.plot(x, rv2.pdf(x), color="blue", label="N(0,2)")

plt.legend()
plt.grid(True)

plt.xlim([-5, 5])
plt.ylim([-0.0, 0.5])

plt.title("normal distribution")
plt.xlabel("RV")
plt.ylabel("f(x)")

plt.show()
概率论10 方差与标准差

 

指数分布的方差

指数分布的表达式为

 

f(x)={λeλx0ififx0x<0f(x)={λe−λxifx≥00ifx<0

 

 

它的方差为

 

Var(X)=1λ2Var(X)=1λ2

 

 

如下图所示:

概率论10 方差与标准差

 

Chebyshev不等式

我们一直在强调,标准差(和方差)表示分布的离散程度。标准差越大,随机变量取值偏离平均值的可能性越大。如何定量的说明这一点呢?我们可以计算一个随机变量与期望偏离超过某个量的可能性。比如偏离超过2个标准差的可能性。即

 

P(|Xμ|>2σ)P(|X−μ|>2σ)

 

这个概率依赖于分布本身的类型。比如正态分布N(0,1)N(0,1),这一概率即为x大于2,或者x小于-2的部分对应的曲线下面积:

概率论10 方差与标准差

实际上,无论μμ和σσ如何取值,对于正态分布来说,偏离期望超过两个标准差的概率都相同,约等于0.0455 (可以根据正态分布的表达式计算)。随机变量的取值有约95.545%的可能性落在正负两个标准差的区间内,即从-2到2。如果我们放大区间,比如正负三个标准差,这一概率超过99%。我们可以相当有把握的说,随机变量会落正负三个标准差之内。上面的论述并不依赖于标准差的具体值。这里可以看到标准差所衡量的“离散”的真正含义:如果取相同概率的极端值区间,比如上面的0.0455,标准差越大,该极端值区间距离中心值越远。

 

然而,上面的计算和表述依赖于分布的类型(正态分布)。如何将相似的方差含义套用在其它随机变量身上呢?

Chebyshev不等式让我们摆脱了对分布类型的依赖。它的叙述如下:

对于任意随机变量X,如果它的期望为μμ,方差为σ2σ2,那么对于任意t>0t>0,

 

P(|Xμ|>t)σ2tP(|X−μ|>t)≤σ2t

 

 

无论X是什么分布,上述不等式成立。我们让t=2σt=2σ,那么

 

P(|Xμ|>2σ)0.25P(|X−μ|>2σ)≤0.25

 

也就是说,X的取值超过两个正负标准差的可能性最多为25%。换句话说,随机变量至少有75%的概率落在正负两个标准差的范围内。(显然这是最“坏”的情况下。正态分布显然不是”最坏“的)

 

绘图代码如下

概率论10 方差与标准差
from scipy.stats import norm
import numpy as np
import matplotlib.pyplot as plt

# Note the difference in "scale", which is std
rv1 = norm(loc=0, scale = 1)

x1 = np.linspace(-5, -1, 100)
x2 = np.linspace(1, 5, 100)
x = np.linspace(-5, 5, 200)
plt.fill_between(x1, rv1.pdf(x1), y2=0.0, color="coral")
plt.fill_between(x2, rv1.pdf(x2), y2=0.0, color="coral")
plt.plot(x, rv1.pdf(x), color="black", linewidth=2.0, label="N(0,1)")

plt.legend()
plt.grid(True)

plt.xlim([-5, 5])
plt.ylim([-0.0, 0.5])

plt.title("normal distribution")
plt.xlabel("RV")
plt.ylabel("f(x)")

plt.show()
概率论10 方差与标准差

 

 

总结

我们引入了一个新的分布描述量:方差。它用于表示分布的离散程度。

标准差为方差的平方根。

方差越大,“极端区间”偏离中心越远。