文章出處

作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

 

除了期望方差(variance)是另一個常見的分布描述量。如果說期望表示的是分布的中心位置,那么方差就是分布的離散程度。方差越大,說明隨機變量取值越離散。

 

比如射箭時,一個優秀的選手能保持自己的弓箭集中于目標點附近,而一個經驗不足的選手,他弓箭的落點會更容易散落許多地方。

上面的靶上有兩套落點。盡管兩套落點的平均中心位置都在原點 (即期望相同),但兩套落點的離散程度明顯有區別。藍色的點離散程度更小。

 

數學上,我們用方差來代表一組數據或者某個概率分布的離散程度。可見,方差是獨立于期望的另一個對分布的度量。兩個分布,完全可能有相同的期望,而方差不同,正如我們上面的箭靶。

 

方差

對于一個隨機變量[$X$]來說,它的方差為:

$$Var(X) = E[(X - \mu)^2]$$

其中,[$\mu$]表示[$X$]的期望值,即[$\mu = E(X)$]。

 

我們可以代入期望的數學表達形式。比如連續隨機變量:

$$Var(X) = E[(X - \mu)^2] = \int_{-\infty}^{+\infty}(x-\mu)^2 f(x)dx$$

 

方差概念背后的邏輯很簡單。一個取值與期望值的“距離”用兩者差的平方表示。該平方值表示取值與分布中心的偏差程度。平方的最小取值為0。當取值與期望值相同時,此時不離散,平方為0,即“距離”最小;當隨機變量偏離期望值時,平方增大。由于取值是隨機的,不同取值的概率不同,我們根據概率對該平方進行加權平均,也就獲得整體的離散程度——方差。

 

方差的平方根稱為標準差(standard deviation, 簡寫std)。我們常用[$\sigma$]表示標準差

$$\sigma = \sqrt{Var(X)}$$

標準差也表示分布的離散程度。

 

正態分布的方差 

根據上面的定義,可以算出正態分布

$$E(X) = \frac{1}{\sigma \sqrt{2 \pi}}\int_{-\infty}^{+\infty}xe^{-(x - \mu)^2/2 \sigma^2} dx$$

的方差為

$$Var(X) = \sigma^2$$

正態分布的標準差正等于正態分布中的參數[$\sigma$]。這正是我們使用字母[$\sigma$]來表示標準差的原因!

 

可以預期到,正態分布的[$\sigma$]越大,分布離散越大,正如我們從下面的分布曲線中看到的:

當方差小時,曲線下的面積更加集中于期望值0附近。當方差大時,隨機變量更加離散。此時分布曲線的“尾部”很厚,即使在取值很偏離0時,比如[$x=4$]時,依然有很大的概率可以取到。

 

代碼如下:

# 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()

 

指數分布的方差

指數分布的表達式為

$$f(x) = \left\{ \begin{array}{rcl} \lambda e^{-\lambda x} & if & x \ge 0 \\ 0 & if & x < 0 \end{array} \right.$$

 

它的方差為

$$Var(X) = \frac{1}{\lambda^2}$$

 

如下圖所示:

 

Chebyshev不等式

我們一直在強調,標準差(和方差)表示分布的離散程度。標準差越大,隨機變量取值偏離平均值的可能性越大。如何定量的說明這一點呢?我們可以計算一個隨機變量與期望偏離超過某個量的可能性。比如偏離超過2個標準差的可能性。即

$$P( | X - \mu | > 2\sigma)$$

這個概率依賴于分布本身的類型。比如正態分布[$N(0, 1)$],這一概率即為x大于2,或者x小于-2的部分對應的曲線下面積:

實際上,無論[$\mu$]和[$\sigma$]如何取值,對于正態分布來說,偏離期望超過兩個標準差的概率都相同,約等于0.0455 (可以根據正態分布的表達式計算)。隨機變量的取值有約95.545%的可能性落在正負兩個標準差的區間內,即從-2到2。如果我們放大區間,比如正負三個標準差,這一概率超過99%。我們可以相當有把握的說,隨機變量會落正負三個標準差之內。上面的論述并不依賴于標準差的具體值。這里可以看到標準差所衡量的“離散”的真正含義:如果取相同概率的極端值區間,比如上面的0.0455,標準差越大,該極端值區間距離中心值越遠。

 

然而,上面的計算和表述依賴于分布的類型(正態分布)。如何將相似的方差含義套用在其它隨機變量身上呢?

Chebyshev不等式讓我們擺脫了對分布類型的依賴。它的敘述如下:

對于任意隨機變量X,如果它的期望為[$\mu$],方差為[$\sigma^2$],那么對于任意[$t>0$],

$$P( | X - \mu | > t) \le \frac{\sigma^2}{t}$$

 

無論X是什么分布,上述不等式成立。我們讓[$t = 2\sigma$],那么

$$P( | X - \mu | > 2\sigma) \le 0.25$$

也就是說,X的取值超過兩個正負標準差的可能性最多為25%。換句話說,隨機變量至少有75%的概率落在正負兩個標準差的范圍內。(顯然這是最“壞”的情況下。正態分布顯然不是”最壞“的)

 

繪圖代碼如下

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()

 

 

總結

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

標準差為方差的平方根。

方差越大,“極端區間”偏離中心越遠。

 

歡迎繼續閱讀“數據科學”系列文章


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()