# 期望和方差
> 原文:[https://www.bookbookmark.ds100.org/ch/12/prob_exp_var.html](https://www.bookbookmark.ds100.org/ch/12/prob_exp_var.html)
```
# HIDDEN
# Clear previously defined variables
%reset -f
# Set directory for data loading to work properly
import os
os.chdir(os.path.expanduser('~/notebooks/12'))
```
```
# HIDDEN
import warnings
# Ignore numpy dtype warnings. These warnings are caused by an interaction
# between numpy and Cython and can be safely ignored.
# Reference: https://stackoverflow.com/a/40846742
warnings.filterwarnings("ignore", message="numpy.dtype size changed")
warnings.filterwarnings("ignore", message="numpy.ufunc size changed")
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
%matplotlib inline
import ipywidgets as widgets
from ipywidgets import interact, interactive, fixed, interact_manual
import nbinteract as nbi
sns.set()
sns.set_context('talk')
np.set_printoptions(threshold=20, precision=2, suppress=True)
pd.options.display.max_rows = 7
pd.options.display.max_columns = 8
pd.set_option('precision', 2)
# This option stops scientific notation for pandas
# pd.set_option('display.float_format', '{:.2f}'.format)
```
雖然隨機變量完全由其概率質量函數(PMF)描述,但我們經常使用**期望**和**方差**來描述變量的長期平均值和分布。這兩個值具有獨特的數學性質,對數據科學具有特別重要的意義,例如,我們可以通過顯示其預期值等于總體參數來證明長期的估計是準確的。我們通過定義期望值和方差,介紹它們最有用的數學性質,并用一個簡單的估計應用來結束。
### 期望值[?](#Expectation)
我們經常對隨機變量的長期平均值感興趣,因為它給我們一個變量分布中心的感覺。我們將這種長期平均值稱為隨機變量的**期望值**或**期望值**。隨機變量$x$的預期值為:
$$\mathbb{E}[X] = \sum_{x\in \mathbb{X}} x \cdot P(X = x)$$
例如,如果$x$表示一個公平的六面骰子的滾動,
$$ \begin{aligned} \mathbb{E}[X] &= 1 \cdot P(X = 1) + 2 \cdot P(X = 2) + \ldots + 6 \cdot P(X = 6) \\ &= 1 \cdot \frac{1}{6} + 2 \cdot \frac{1}{6} + \ldots + 6 \cdot \frac{1}{6} \\ &= 3.5 \end{aligned} $$
注意$x$的預期值不一定是$x$的可能值。雖然$\mathbb e[x]=3.5$,但$x$實際上不能接受$3.5$的值。
**示例:**從上一節調用數據集:
```
# HIDDEN
data={"Name":["Carol","Bob","John","Dave"], 'Age': [50,52,51,50]}
people = pd.DataFrame(data)
people
```
| | 姓名 | 年齡 |
| --- | --- | --- |
| 零 | 頌歌 | 五十 |
| --- | --- | --- |
| 1 個 | 鮑勃 | 五十二 |
| --- | --- | --- |
| 二 | 約翰 | 五十一 |
| --- | --- | --- |
| 三 | 戴夫 | 50 |
| --- | --- | --- |
我們從這個數據集中隨機選擇一個人。假設$Y$是表示此人年齡的隨機變量。然后:
$$ \begin{aligned} \mathbb{E}[Y] &= 50 \cdot P(Y = 50) + 51 \cdot P(Y = 51) + 52 \cdot P(Y = 52) \\ &= 50 \cdot \frac{2}{4} + 51 \cdot \frac{1}{4} + 52 \cdot \frac{1}{4} \\ &= 50.75 \end{aligned} $$
**示例:**假設我們從數據集中抽取兩個人進行替換。如果隨機變量$Z$表示樣本中第一和第二個人的年齡差,那么什么是$\mathbb e[Z]$?
如前一節所述,我們將$X$定義為第一個人的年齡,將$Y$定義為第二個人的年齡,這樣$Z=X-Y$。從上一節給出的 x 美元和 y 美元的聯合分配中,我們可以找到 z 美元的 PMF。例如,$P(Z=1)=P(X=51,Y=50)+P(X=52,Y=51)=\frac 3 16$。因此,
$$ \begin{aligned} \mathbb{E}[Z] &= (-2) \cdot P(Z = -2) + (-1) \cdot P(Z = -1) + \ldots + (2) \cdot P(Z = 2) \\ &= (-2) \cdot \frac{2}{16} + (-1) \cdot \frac{3}{16}+ \ldots + (2) \cdot \frac{2}{16} \\ &= 0 \end{aligned} $$
由于$\mathbb e[z]=0$,我們預計從長遠來看,2 號樣本中的人的年齡差異將為 0。
#### 期望線性度
當我們像上面所做的那樣處理隨機變量的線性組合時,我們通常可以很好地利用期望**的線性**,而不是單調地單獨計算每個聯合概率。
期望的線性表示:
$$ \begin{aligned} \mathbb{E}[X + Y] &= \mathbb{E}[X] + \mathbb{E}[Y] \\ \end{aligned} $$
根據這一說法,我們還可以得出:
$$ \begin{aligned} \mathbb{E}[cX] &= c\mathbb{E}[X] \\ \end{aligned} $$
其中$x$和$y$是隨機變量,而$c$是常量。
換句話說,任意兩個隨機變量之和的期望值等于這些變量的期望值之和。
在上一個示例中,我們看到$Z=X-Y$。因此,$\mathbb e[z]=\mathbb[x-y]=\mathbb[x]-\mathbb[y]$。
現在我們可以分別計算$\mathbb e[x]$和$\mathbb e[y]$了。因為$\mathbb e[x]=\mathbb e[y]=50.75$,$\mathbb e[z]=50.75-50.75=0$。
即使 X 美元和 Y 美元相互依賴,期望的線性關系仍然存在!作為一個例子,讓我們再次考慮一下這樣一種情況:我們從前面部分的小數據集中抽取兩個人進行樣本,而不進行替換。如前所述,我們將$X$定義為第一個人的年齡,$Y$定義為第二個人的年齡,$Z=X-Y$。很明顯,$X$和$Y$不是獨立的,例如,知道$X=52$就意味著$Y\neq 52$。
從上一節給出的$x$和$y$的聯合分配中,我們可以找到$\mathbb e[z]$:
$$ \begin{aligned} \mathbb{E}[Z] &= (-2) \cdot P(Z = -2) + (-1) \cdot P(Z = -1) + \ldots + (2) \cdot P(Z = 2) \\ &= (-2) \cdot \frac{2}{12} + (-1) \cdot \frac{3}{12}+ \ldots + (2) \cdot \frac{2}{12} \\ &= 0 \end{aligned} $$
計算這個期望的一個簡單方法是使用期望的線性。即使$X$和$Y$依賴,$\MathBB E[Z]=\MathBB E[X-Y]=\MathBB[X]-\MathBB[Y]$。回想上一節,$x$和$y$具有相同的 pmf,即使我們在不替換的情況下采樣,這意味著$\mathbb e[x]=\mathbb[y]=50.75$。因此,與第一個場景一樣,$\mathbb e[z]=0$。
注意期望的線性僅適用于隨機變量的線性組合。例如,$\mathbb e[x y]=\mathbb[x]\mathbb[y]$不是$x$和$y$的線性組合。在這種情況下,$\mathbb e[x y]=\mathbb[x]\mathbb[y]$通常僅適用于獨立隨機變量。
### 方差[?](#Variance)
隨機變量的方差是變量排列的數值描述。對于隨機變量$X$:
$$ \begin{aligned} Var(X) &= \mathbb{E}[(X - \mathbb{E}[X])^2] \\ \end{aligned} $$
上述公式表明,x$的方差是 x$預期值的平均平方距離。
對于我們為了簡潔而省略的一些代數操作,我們也可以等效地寫:
$$ \begin{aligned} Var(X) &= \mathbb{E}[X^2] - \mathbb{E}[X]^2 \\ \end{aligned} $$
考慮以下兩個隨機變量$X$和$Y$的概率分布:
```
# HIDDEN
def plot_pmf(xs, probs, rv_name='X', val_name='x', prob_denom=4):
plt.plot(xs, probs, 'ro', ms=12, mec='b', color='b')
plt.vlines(xs, 0, probs, colors='b', lw=4)
plt.xlabel(f'${val_name}$')
plt.ylabel(f'$P({rv_name} = {val_name})$')
plt.ylim(0, 1)
plt.yticks(np.linspace(0, 1, prob_denom + 1),
['0']
+ [rf'$\frac{{{n}}}{{{prob_denom}}}$'
for n in range(1, prob_denom)]
+ ['1'])
plt.title(f'PMF of ${rv_name}$');
```
```
# HIDDEN
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plot_pmf([-1, 1], [0.5, 0.5])
plt.xlim(-2, 2);
plt.subplot(1, 2, 2)
plot_pmf((-2, -1, 1, 2), (1/4, 1/4, 1/4, 1/4), rv_name='Y', val_name='y')
plt.tight_layout()
```

$x$的值為-1 和 1,概率分別為\frac 1 2。$Y$的值為-2、-1、1 和 2,概率分別為\frac 1 4。我們發現$\mathbb e[x]=\mathbb e[y]=0$。由于$Y$的分布比$X$的分布更高,我們預計$var(y)$大于$var(x)$。
$$ \begin{aligned} Var(X) &= \mathbb{E}[X^2] - \mathbb{E}[X]^2 \\ &= \mathbb{E}[X^2] - 0^2 \\ &= \mathbb{E}[X^2] \\ &= (-1)^2 P(X = -1) + (1)^2 P(X = 1) \\ &= 1 \cdot 0.5 + 1 \cdot 0.5 \\ &= 1 \\\\ Var(Y) &= \mathbb{E}[Y^2] - \mathbb{E}[Y]^2 \\ &= \mathbb{E}[Y^2] - 0^2 \\ &= \mathbb{E}[Y^2] \\ &= (-2)^2 P(Y = -2) + (-1)^2 P(Y = -1) + (1)^2 P(Y = 1) + (2)^2 P(Y = 2) \\ &= 4 \cdot 0.25 + 1 \cdot 0.25 + 1 \cdot 0.25 + 4 \cdot 0.25\\ &= 2.5 \end{aligned} $$
如預期的那樣,$Y$的差異大于$X$的差異。
方差有一個有用的特性來簡化一些計算。如果$x$是隨機變量:
$$ \begin{aligned} Var(aX + b) &= a^2 Var(X) \end{aligned} $$
如果兩個隨機變量$x$和$y$是獨立的:
$$ \begin{aligned} Var(X + Y) = Var(X) + Var(Y) \end{aligned} $$
請注意,期望的線性度適用于任何 x 美元和 y 美元,即使它們是相互依賴的。然而,$var(x+y)=var(x)+var(y)$只有當$x$和$y$獨立于**時才持有。**
#### 協方差
兩個隨機變量$x$和$y$的協方差定義為:
$$ \begin{aligned} Cov(X, Y) &= \mathbb{E}[(X - \mathbb{E}[X])(Y - \mathbb{E}[Y])] \end{aligned} $$
同樣,我們可以執行一些代數操作來獲得:
$$ \begin{aligned} Cov(X, Y) = \mathbb{E}[XY] - \mathbb{E}[X]\mathbb{E}[Y] \end{aligned} $$
注意,雖然一個隨機變量的方差必須是非負的,但是兩個隨機變量的協方差可以是負的。事實上,協方差有助于測量兩個隨機變量之間的相關性;協方差的符號有助于我們確定兩個隨機變量是正相關還是負相關。如果兩個隨機變量$x$和$y$是獨立的,那么$cov(x,y)=0$和$\mathbb[xy]=\mathbb[x]\mathbb[y]$。
### 伯努利隨機變量
假設我們想使用一個隨機變量$x$來模擬一個帶有$p(頭)=p$的有偏硬幣。我們可以說,如果硬幣是正面的,x=1 美元;如果硬幣是反面的,x=0 美元。因此,$P(x=1)=P$和$P(x=0)=1-P$之間。這種二元隨機變量稱為伯努利隨機變量,我們可以計算其期望值和方差如下:
$$\mathbb{E}[X] = 1 \times p + 0 \times (1 - p) = p$$$$ \begin{aligned} Var(X) &= \mathbb{E}[X^2] - \mathbb{E}[X]^2 \\ &= 1^2 \times p + 0^2 \times (1 - p) - p^2 \\ &= p - p^2 \\ &= p(1 - p) \end{aligned} $$
### 樣本是指[?](#Sample-Means)
假設我們擁有一個有偏見的硬幣,它的面值為$P(頭)=P$并且我們想估計$P$的價值。我們可以將硬幣翻轉$n$次,以收集翻轉樣本,并計算樣本中頭部的比例,$\hat p$。如果我們知道$\hat p$經常接近$p$,我們可以將$\hat p$用作$p$的**估計量**。
注意$P$是 _ 而不是 _ 一個隨機的數量;它是一個基于硬幣偏差的固定值。然而,$\hat p$是一個隨機量,因為它是由拋硬幣的隨機結果產生的。因此,我們可以計算期望值和方差,以精確地理解它對$P$的估計。
要計算$\mathbb e[\hat p]$,我們將首先為示例中的每個翻轉定義隨機變量。讓$x_i$成為$i_th$coin flip 的伯努利隨機變量。那么,我們知道:
$$ \begin{aligned} \hat p = \frac{X_1 + X_2 + \ldots + X_n}{n} \end{aligned} $$
為了計算期望值為$\hat p$,我們可以插入上面的公式,并使用這樣一個事實,$\mathbb e[x_i]=p$,因為$x_i$是伯努利隨機變量。
$$ \begin{aligned} \mathbb{E}[\hat p] &= \mathbb{E} \left[ \frac{X_1 + X_2 + \ldots + X_n}{n} \right] \\ &= \frac{1}{n} \mathbb{E}[X_1 + \ldots + X_n] \\ &= \frac{1}{n} \left( \mathbb{E}[X_1] + \ldots + \mathbb{E}[X_n] \right) \\ &= \frac{1}{n} (p + \ldots + p) \\ &= \frac{1}{n} (np) \\ \mathbb{E}[\hat p] &= p \end{aligned} $$
我們發現$\mathbb e[\hat p]=p$。換句話說,有了足夠的翻轉,我們預計我們的估值器$\hat p$將收斂到真正的硬幣偏差$p$。我們說,P$是一個$P$的**無偏估計量**。
接下來,我們計算出 p$的方差。因為每個翻轉都獨立于其他翻轉,我們知道$x_i$是獨立的。這允許我們使用方差的線性。
$$ \begin{aligned} Var(\hat p) &= Var \left(\frac{1}{n} \sum_{i=1}^{n} X_i \right) \\ &= \frac{1}{n^2} \sum_{i=1}^{n}Var(X_i) \\ &= \frac{1}{n^2} \times np(1-p) \\ Var(\hat p) &= \frac{p(1-p)}{n} \end{aligned} $$
從上面的等價性可以看出,隨著樣本中翻轉次數的增加,估計量的方差會減少。換句話說,如果我們收集了大量的數據,我們可以更確定我們的估計值。這種行為被稱為大數定律。
## 摘要[?](#Summary)
我們使用期望和方差來簡單描述隨機變量的中心和分布。這些數學工具使我們能夠確定從一個樣本計算出的一個數量如何估計人口中的一個數量。
最小化損失函數將創建一個對其訓練數據精確的模型。期望值和方差允許我們對模型對來自人群的未知數據的準確性做出一般性的陳述。
- 一、數據科學的生命周期
- 二、數據生成
- 三、處理表格數據
- 四、數據清理
- 五、探索性數據分析
- 六、數據可視化
- Web 技術
- 超文本傳輸協議
- 處理文本
- python 字符串方法
- 正則表達式
- regex 和 python
- 關系數據庫和 SQL
- 關系模型
- SQL
- SQL 連接
- 建模與估計
- 模型
- 損失函數
- 絕對損失和 Huber 損失
- 梯度下降與數值優化
- 使用程序最小化損失
- 梯度下降
- 凸性
- 隨機梯度下降法
- 概率與泛化
- 隨機變量
- 期望和方差
- 風險
- 線性模型
- 預測小費金額
- 用梯度下降擬合線性模型
- 多元線性回歸
- 最小二乘-幾何透視
- 線性回歸案例研究
- 特征工程
- 沃爾瑪數據集
- 預測冰淇淋評級
- 偏方差權衡
- 風險和損失最小化
- 模型偏差和方差
- 交叉驗證
- 正規化
- 正則化直覺
- L2 正則化:嶺回歸
- L1 正則化:LASSO 回歸
- 分類
- 概率回歸
- Logistic 模型
- Logistic 模型的損失函數
- 使用邏輯回歸
- 經驗概率分布的近似
- 擬合 Logistic 模型
- 評估 Logistic 模型
- 多類分類
- 統計推斷
- 假設檢驗和置信區間
- 置換檢驗
- 線性回歸的自舉(真系數的推斷)
- 學生化自舉
- P-HACKING
- 向量空間回顧
- 參考表
- Pandas
- Seaborn
- Matplotlib
- Scikit Learn