---
# System prepended metadata

title: Probability & Statistics for Machine Learning & Data Science(Week4 - Lesson 1 Confidence Intervals)
tags: [math, coursera, Linear Algebra]

---

# Probability & Statistics for Machine Learning & Data Science(Week4 - Lesson 2 Hypothesis testing)
###### tags: `coursera` `Linear Algebra` `math`
[Week4 - Lesson 2 Hypothesis testing](https://www.coursera.org/learn/machine-learning-probability-and-statistics/home/week/4)

## Defining Hypothesis
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/QyGqp/defining-hypothesis)
### Motivation
![image](https://hackmd.io/_uploads/H1lb23kA6.png)

假設我們有一個垃圾郵件偵測器，會將垃圾分類成ham或是spam，預設情況下，我們會將郵件分成ham，主要是因為，有個垃圾郵件在收件箱應該比你正常郵件跑去垃圾信箱還要來的好。

所以我們基本的假設是將郵件設置為hum，這又稱為null hypothesis，$H_0$，就假設一切都是安全，沒有什麼事情會發生。另外會有一個假設，hypothesis $H_1$，這是我們感興趣的部份。

這兩個假設之間有一個重要的特性，那就是互斥，因為一封郵件不可能又是正常(ham)又是垃圾(spam)。只要能夠證明進來的郵件是垃圾郵件，那它自然就會進入ham。反過來說，如果無法證明進來的郵件是垃圾郵件，那它就不能進入ham，我們就要拒絕null hypothesis。但這並不代它就是垃圾郵件，只是我們無法證明它是垃圾郵件，所以不能接受它。
### Motivation
![image](https://hackmd.io/_uploads/ByBFTnyA6.png)

總的來說就是需要提出一個假設，這個null hypothesis是baseline。另一個alternative hypothesis則是競爭性的陳述，這通常是我們要證明的假設。這種假設檢定的目標是基於資料與證據在兩個假設之間做出決定。

以垃圾郵件做為例子，這些證據可以是寄件人、附件、電子郵件大小、某些關鍵字等任何可以用来證明電子郵件是垃圾郵件的資訊。

### Motivation
![image](https://hackmd.io/_uploads/SySCka1RT.png)

在進行假設檢定的時候，如果樣本提供了大量不利$H_0$的證據，那麼我們就會拒絕null hypothesis $H_0$，然後接受alternative hypothesis $H_1$。

這種情況下可能郵件就是會有一些詐騙郵件會有的關鍵字。這些都是檢測垃圾郵件的觸發詞。這是在假設這是一封普通電子郵件的情况下的null hypothesis。這種情況下，我們會拒絕$H_0$並將電子郵件發送到垃圾郵件。


## Type I and Type II errors
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/gqd5L/type-i-and-type-ii-errors)
### Sometimes Things Go Wrong...
![image](https://hackmd.io/_uploads/B1cpGpy0a.png)

理想狀況下，我們可以一直做出完美的決定。不過，因為世界的隨機性和我們只有總體對象的部份信息，所以，這是不可能事情。以收到的emial範例來說，測試結果就會有兩種可能，收到的郵件丟到垃圾郵件或是丟到正常郵件，不管怎麼樣都是有可能會出錯的。

要嘛就是把正常的email丟到垃圾郵件匣，這稱為type I error，或是fasle positive，也就是偽陽性，這發生在我們reject $H_0$。這郵件應該是正常的，但是被丟到垃圾信件匣。

另一種狀況就是相反的，稱之為type II error，就是把垃圾郵件誤收到正常郵件匣，也就是false negative，偽陰性。在$H_0$的時候沒有reject，把應該是垃圾郵件的信件收到ham。


更重要的是我們不知道實情如何，因此永遠無法確定所做的決定是正確還是錯誤的。但是，我們會盡力確定一個測試，讓這些錯誤率低於可接受的閾值。

### Type I and Type II Errors
![image](https://hackmd.io/_uploads/Bk4PQpk0T.png)

上圖給出可能的結果的組合，一邊是決策，一邊是實際，這也是我們常在看的混淆矩陣。

### Significance Level
![image](https://hackmd.io/_uploads/BkqJDp1CT.png)

要注意到的是，這兩種類型的錯誤意義不同。

我們寧願不小心在信箱中收到垃圾郵件，也不希望一封重要郵件不小心被丟到垃圾信件匣，這很合理對吧。我們能接受的type I error錯誤率是多少？也就是說，不小心把正常的郵件丟到垃圾郵件的最大容忍度是多少。

Type I error的最大概念稱之為顯著水平(significance level)，通常以$\alpha$來表示，既然是機率，那就是一個0~1之間的值。

第一型錯誤的最大概率稱為顯著水平(significance level)，通常用希臘字母 α 表示。由於它是概率，因此只能取 0 到 1 之间的数值。如果$\alpha=0$，那就代表任何郵件進來我們都會把它視為正常郵件。

如果$\alpha=1$，那就代表所有的郵件進來通通會被判為垃圾郵件，這種情況下只要有一封郵件是好的，那就會被記醜一，也就是犯了Type I error。

### Significance Level
![image](https://hackmd.io/_uploads/SJfCP6yAp.png)

不管如何，兩邊的端值都不會是一個好的決策，我們希望的是一個能盡可能減少Type I error的系統。

通常的設置都是$\alpha=0.05$，這就代表說會有5%的正常郵件被誤判成是垃圾郵件就是了。另一個常見的設置是$\alpha=0.01$。

這肯定的啊，大家都希望正常的郵件愈少被判定是垃圾郵件是好的，但反過來說，$\alpha$設置的愈小，犯下Type II error的機會就會增加，因為我們就會不小心把垃圾郵件當做是正常郵件收進來了。


### Significance Level
![image](https://hackmd.io/_uploads/ryoFuT1A6.png)

總結，Significance Level就是犯下Type I error的最大機率，也就是$H_0$為真時reject $H_0$的最大機率。

所以說，$\alpha$就是我們針對這樣測試的一個設計準則，就是根據樣本確定閥值來決定是否要reject $H_0$。

## Right-Tailed, Left-Tailed, and Two-Tailed Tests
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/hIuiv/right-tailed-left-tailed-and-two-tailed-tests)
### Data Quality
![image](https://hackmd.io/_uploads/SktB1zWRp.png)

假設我們又對美國的孩子有身體上的興趣，所以就隨機抓了十個人來量，得到一個以英吋為單位的資料表，這些得到的觀測值的平均為68.442英吋。

首先，我們要必需確認資料的品質，這資料必需要是可靠的，reliable，也就是說，每個樣本都要能代表總體、要有隨機性(避免引入偏見)、要能確定樣本數是否足以做出正確的決定(課程中說明過，最少要有30(含)以上的資料量)。

:::warning
假設我們的資料就只針對各校籃球隊來採樣，這時候我們就帶入偏見了，因為籃球隊的身高普遍較高。
:::
### Determining the Hypothesis
![image](https://hackmd.io/_uploads/S1sbXGW0p.png)


資料面來看，70年代所收集到的資料，18歲的孩子的平均身高是66.7英吋，看起來跟現在的68.442英寸比起來，孩子的身高是拉高的，但真的是這樣嗎？

為了確定這一點，我們就要來做假設：
* $H_0, \mu=66.7$，這是很明確的一件事，因為70年代觀測到的孩子的平均身高就是這個數值
* $H_1, \mu > 66.7$
### Test Statistic
![image](https://hackmd.io/_uploads/SkPyXzZRa.png)

值得注意的是，hypothesis總是根據總體來制定的，這個範例中是總體均值，不涉及樣本。也就是說，hypothesis是基於總體參數(population parameter)，但決定(decision)將會是基於所擁有的觀測結果，意思就是說，在這個範例我們會根據觀測到的樣本均值來做出決策。

:::warning
樣本$X_i$的樣本均值為$\bar{X}=\dfrac{1}{10}\sum_{i=1}^{10}X_i$
:::

如果我們的決定是基於樣本均值，那樣本均值就是我們的[檢定統計量](https://homepage.ntu.edu.tw/~clhsieh/biostatistic/6/6-5.htm)(test statistic)，這是一個隨機變數，並且不取決於我們手上所擁有的特定觀測值。

採樣10個孩子得到的均值稱之為觀測統計量(observed statistic)，也就是68.442，這基於我們的量測結果而得。

### Test Statistic
![image](https://hackmd.io/_uploads/rys1BMbA6.png)

通常來說，檢定統計量會是隨機樣本的函數，這個函數會提供我們總體參數的信息。舉例來說，如果想要檢驗總體均值，那麼樣本均值會是一個很好的統計量。如果想要統計總體變異數，那$s-$square statistic是一個不錯的方法。

值得一說的是，檢定統計量並非只有一種方法。舉例來說，$X_i$與樣本均值之間的平方差的總和也可以用來當做變異數的檢定統計量。

### Example: Heights
![image](https://hackmd.io/_uploads/HyxnKzZA6.png)

回顧一下我們的問題，70年代的平均身高是66.7英吋，現在呢？這問題有三種假設：
1. Right-Tailed Test：也就是說，我們假設現在的均值會高過70年代，向右延伸，所以是Right-Tailed
2. Left-Tailed Test：也就是說，我們假設現在的均值會低於70年代，向左延伸，所以是Left-Tailed
3. Two-Tailed Test：也就是說，我們假設現在的均值不等於70年代，不等於的話就是能大也能小，雙向都有可能，所以是Two-Tailed

很明顯的，不管怎麼假設，baseline就是70年代的均值，這是不變的。要怎麼假設則是根據我們想要證明的內容而變化。

### Example: Heights
![image](https://hackmd.io/_uploads/rkUP7bSA6.png)

先從第一組假設開始，這又稱為Right-Tailed Hypothesis。因為它就假設是在null hypothesis的右邊。

如果，樣本均值的值超過了66.7，那就reject $H_0$，然後接受$H_1$。這邊會產生的兩種錯誤為：
1. TYPE I error：$\mu>66.7$，但總體均值實際上是66.7
2. TYPE II error：總體均值不變，仍然為66.7，但實際上$\mu>66.7$

### Example: Heights
![image](https://hackmd.io/_uploads/H1vb4ZrRp.png)

第二組假設，又稱為Left-Tailed Hypothesis。因為它就假設是在null hypothesis的左邊。

如果，樣本均值的值小於了66.7，那就reject $H_0$，然後接受$H_1$。這邊會產生的兩種錯誤為：
1. TYPE I error：$\mu<66.7$，但總體均值實際上是66.7
2. TYPE II error：總體均值不變，仍然為66.7，但實際上$\mu<66.7$

### Example: Heights
![image](https://hackmd.io/_uploads/HJeCEWr0p.png)

第三組假設，又稱為Two-Tailed Hypothesis。因為它就假設是在null hypothesis的左右兩邊。

只要誤差大了，我們就可以reject $H_0$，然後接受$H_1$，其中誤差可以是任意方向。這邊會產生的兩種錯誤為：
1. TYPE I error：$\mu\neq 66.7$，但總體均值實際上是66.7
2. TYPE II error：總體均值不變，仍然為66.7，但實際上$\mu<66.7$



## P-Value
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/znGVX/p-value)
### Example: Heights
![image](https://hackmd.io/_uploads/HkgvL-r06.png)

目前為止已經知道，只要樣本均值離總體均值$\mu$太遠，那我們就可以reject $H_0$，那什麼叫太遠？

假設，標準差已知$\sigma=3$，並且我們的樣本數$n=10$，那如果$H_0$為真，其高斯分佈為$\bar{X}\sim\mathcal{N}\left(66.4, \dfrac{3^2}{10}\right)$。

有這個分佈就可以回答問題，如果$H_0$是真的，那樣本數的似然概率是多少？如果答案是很小很小的話，那就reject $H_0$。

### Right-Tailed Test for Gaussian Data (Known $\sigma$)
![image](https://hackmd.io/_uploads/B1e55brAa.png)

首先考慮使用高斯分佈對總體均值的右尾檢定，我們知道樣本均值$\bar{X}=68.442$，這顯示是比總體均值的66.7還要來的大，但這個差異是否足夠顯著？我們的目標是在Type I error probability不超過顯著水平$\alpha=0.05$的情況下做出決定。

如果確定總體均值已經增加，但$\mu$仍然是66.7的時候，那就會發生Type I error。假如樣本均值68.442都可以reject $H_0$的話，那大於樣本均值的部份也都理所當然的reject $H_0$。

這意味著，如果每次樣本均值大於68.442就reject $H_0$，那Type I error probability就是樣本均值大於68.442的機率，也就是樣本均值右邊尾巴的陰影區域，其值為0.0407，而這個值小於0.05，就代表發生Type I error的機率低於我們能接受的閥值0.05，那reject $H_0$是合理的。

這邊這個0.0407也就是p-Value。
### $p$-Value
![image](https://hackmd.io/_uploads/SkJL1frR6.png)

p-Value是一種機率，比你的觀測值更為極端的機率。以這個範例來說明的話，這是一個右尾檢定，所以比觀測值更為極端的值就是大於樣本均值的值，也就是大於68.442的值。

p-Value衡量著樣本在null hypothesis的監控下的表現有多好。較小的p-Value就說明著樣本落在null hypothesis的尾巴，如果null hypothesis是真的，那這種事就不大可能發生，p-Value愈大，這種可能就愈高，對吧，不過這取決於所定義的顯著水平$\alpha$：
* p-Value小於$\alpha$，那就reject $H_0$並accept $H_1$
* p-Value大於$\alpha$，那就無法reject $H_0$

:::warning
大概的想法就是，如果null hypothesis是真的，那發生比$H_1$還要極端的情況應該是不大可能發生的才對。
:::



### $p$-Value
![image](https://hackmd.io/_uploads/Sy0fY8U0T.png)

我們把$T$定義為測試檢定(test statistic)，代表所觀測到的統計值，然後$\mu=\mu_0$代表著null hypothesis，這個$\mu$就是我們要的檢驗參數。

1. right-tailed test：在假設$H_0$是真的情況下，$p$-value代表測試檢定的值大於觀測到的樣本統計值的機率
2. two-tailed test：在假設$H_0$是真的情況下，$p$-value代表測試檢定的值超過(右大左小)觀測值的機率
3. left-tailed test：在假設$H_0$是真的情況下，$p$-value代表測試檢定的值小於觀測到的樣本統計值的機率
### Two-Tailed Test for Gaussian Data(Known $\sigma$)
![image](https://hackmd.io/_uploads/B19CtIIR6.png)

同樣的案例在two-tailed test下，因為是雙尾，所以是right-tailed的兩倍，也就是$0.041*2=0.082$，這明顯高於0.05，所以我們就無法reject $H_0$。

### Left-Tailed Test for Gaussian Data(Known $\sigma$)
![image](https://hackmd.io/_uploads/SkD_98IA6.png)

因為原本的平均值就高於$\mu_0=66.7$，所以這邊假設觀測到的樣本均值為64.252。

計算其陰影區為0.0094，這小於$\alpha=0.05$，所以我們reject $H_0$，接受這個說法，也就是現在的平均身高應該可能或許MAYBE就是剩下64.252。
### Tests Using the $Z$-Statistic
![image](https://hackmd.io/_uploads/r1-qTI80p.png)

目前為止我們做的檢定，如果$H_0$為真，那就$\bar{X}\sim\mathcal{N}\left(\mu_0, \dfrac{3^2}{10}\right)$。另外有一個方法，$Z$-statistic也可以用來設計檢驗：
* $Z=\dfrac{\bar{X}-\mu_0}{3/\sqrt{10}}$

如果$H_0$是真的，那 $Z=\dfrac{\bar{X}-\mu_0}{3/\sqrt{10}}\sim\mathcal{N}(0, 1)$，其實就是$\bar{X}$的標準化版本。
### Right-Tailed Test Using the $Z$ Statistic
![image](https://hackmd.io/_uploads/H12_ALIA6.png)

一樣的範例，用$Z$-Statistic做做看。$\mu=66.7,n=10,\sigma=3,\bar{X}=68.442$，並且其$p$-value=0.0407，比$\alpha=0.05$還要小。

帶入公式怒算一發，得到$Z=1.837$
### Right-Tailed Test Using the $Z$ Statistic
![image](https://hackmd.io/_uploads/H19JkDIAa.png)

因為我們計算的是$Z$，所以分佈也要調整，變成標準的正態分佈的PDF，所以均值$66.7\to 0$，觀測到的樣本均值則是$68.442\to 1.837$，重要的是，$p$值是不變的。
## Critical Values
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/3SpUi/critical-values)
### P-Values and Critical Values
![image](https://hackmd.io/_uploads/rJq6TswCa.png)

我們已經知道根據所觀察統計量的$p$-value做出決策。如果$p$-value小於顯著水平$\alpha$那就reject hull hypothesis。

有個問題就是，什麼樣的最最最極端的樣本是讓我們可以一樣的reject $H_0$？

上圖中有個樣本，其$p$-value剛好就是$\alpha$，任何無法超過它的樣本都無法滿足$p$-value小於$\alpha$的條件，這又稱為critical value，臨界值。這取決於$\alpha$的定義，不同的$\alpha$定義不同的臨界值。臨界值以$k_\alpha$來表示。

臨界值一個很重要的特性就是，比臨界值還要極端的觀測統計量都會比$\alpha$或是$p$-value還要來的小。

### Computing Critical Values
![image](https://hackmd.io/_uploads/HyXEfnvCT.png)

回頭課程中的那個身高範例，參數一樣寫出來，$\mu=66.7,n=10,\sigma=3,\bar{X}=68.442,\alpha=0.05$，我們要計算出$k$值，並且它的$\alpha=0.05$。

首先以已知資料來看，如果$\mu=66.7$，那$\bar{X}\sim\mathcal{N}\left(66.7,\dfrac{3^2}{10}\right)$。對這個分佈來說，其臨界值就是68.26。只要觀測樣本大於68.26，那我們就可以reject null hypythesis $H_0$


使用臨界值的一件事情就是，我們可以在收集任何資料之前就定義決策規則。有了資料之後，就可以計算觀測到的統計量並做出決定。在我們的範例中，觀測到的樣本均值為68.442，大於臨界值68.26。在這個案例中，當顯著水平為0.05的時候，我們會reject null hypothesis。這跟使用$p$-value得出的結論完全相同。

如果將$\alpha$調整為0.01，因為0.01小於0.05，那$k_{0.01}$就一定會將移到右側。這意味著我們需要更多證據來reject $H_0$因為這時候臨界值就會是68.91。現在的決策規則變成是，如果觀測到的樣本均值大於68.91，則reject null hypothesis。

### Critical Values
![image](https://hackmd.io/_uploads/BylpcSc0p.png)

對於右尾檢定，$k_\alpha$是在null hypothesis下右邊尾巴$\alpha$的區域的值。意思就是說，當$H_0$為真的時候，那臨界值就是分位數(quantile)，也就是統計分佈的$1-\alpha$。如果觀測到的$T$比臨界值來的大，那就reject $H_0$。

左尾檢定的話就是反過來，所以只要觀測到的值小於臨界值，那就reject $H_0$。

最後是雙尾檢定，兩個尾巴，所以各得$\alpha$的一半。
### Critical Values: Concluding Remarks
![image](https://hackmd.io/_uploads/rk7hsB9CT.png)

總結一下臨界值：
1. 這是可以提前定義的，只需要知道一些樣本數的設計條件或是可能需要的總體分佈資訊
2. $p$-value跟critical value得到的結論總是一樣的
3. 使用臨界值，我們可以預先定義決策標準，然後在獲得資料後做出決定。這就有機會得到Type II error了

## Power of a Test
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/iRjOO/power-of-a-test)
### Type I and Type II Errors
![image](https://hackmd.io/_uploads/rkZtTSqAa.png)

我們課程中瞭解了Type I與Type II Errors，並且用顯著水平(significance level)關注Type I Error。

回到身高的案例，70年代以來的平均身高就是66.7英吋，如果我們拒reject $H_0$，但實際上還是66.7英吋的時候，那就會發生Type I Error。但如果沒reject $H_0$而實際平均身高已經超過66.7的時候，那就會發生Type II Error。
### Finding the Type II Error Probabilities
![image](https://hackmd.io/_uploads/B1BzzL9A6.png)

把案例的參數寫出來，$\mu=66.7, \sigma=3, n=10,\alpha=0.05,k_\alpha=68.26$。

所以，只要觀測到值大於$k_\alpha$，也就是68.26的，那我們就可以reject $H_0$。

如果，總體均值$\mu=70$，那發生錯誤的機率會是多少，這就是出現Type II error的機率。
### Finding the Type II Error Probabilities
![image](https://hackmd.io/_uploads/S18iTE0RT.png)

如果$H_0$是真的，那高斯分佈就是依循著$(66.7, \dfrac{3^2}{10})$，但如果$\mu=70$，那這個分佈就會向右偏移過去，這時候，不reject $H_0$的機率就是上圖看到藍色的那個小區域，小於臨界值68.26的區域，其機率為0.0333，這種出現Type II Error的機率通常稱為$\beta$。

有趣的是，這個機率並非取決於觀測到的樣本，而是單純的由我們所選擇的顯著水平來決定。

### Power of the Test
![image](https://hackmd.io/_uploads/HJASJH0C6.png)

Power of the Test：檢定力

很多時候，我們會希望能夠知道自己做出正確決定的機率。也就是，如上圖所示，當我們拒絕null hypothesis的時候，做出正確的決定。

這些資訊可以用檢定力(power of the test)來表示。這是一個函數，讓我們知道對於每個可能的總體均值(alternative hypothesis)拒絕$H_0$的機率。

### Power of the Test
![image](https://hackmd.io/_uploads/rka6ZH0Aa.png)

Type II error，也就是當$H_0$是假的時候卻沒有拒絕它的機率，稱為$\beta$，我們引入了檢定力來確認做出正確決定的機率。這兩個機率是互補的，所以檢定力的部份(power of the test)又等於$1-\beta$。

簡單來說就是，$H_1$中的每個$\mu$，其檢定力就是$1-\beta$。

### Power of the Test
![image](https://hackmd.io/_uploads/SkQTIrCCT.png)

上圖給出右尾檢定的案例。

座標軸的最左邊是$\mu=66.7$，高度的部份剛好就是$\alpha$，也就是在特定$\mu$的情況下reject $H_0$的機率，上圖來看就是0.05。

上圖其它的$\mu$都是對應alternative hypothesis。假設，$\mu=68$，那高度就是$\mu=68$的檢定力，也就是，如果總體均值真的就是68的時候，拒絕$H_0$的機率，這部份跟Type II error是互補的，也就是兩者相加為1。

我們也可以發現，當均值愈大，$\mathbf{P}(\text{Reject }H_0\vert \mu )$的機率就愈接近1。這是合理的，因為$\mu$值決定樣本均值的分布。所以，隨著$\mu$的增加，樣本均值小於臨界值的機率也隨之增加。

### Power of the Test
![image](https://hackmd.io/_uploads/Byc-dHCA6.png)

上圖給出三個不同的$\alpha$值對應的檢定力圖像。從左到右的$\alpha$為$0.01\to 0.05 \to 0.1$，很明顯的Type I error在增加。以$\mu=70$為例，随著$\alpha$的增加，其檢定力也在增加。

相反的，Type II error則是隨之在減少。如果對Type I error設下太嚴苛的限制，最後反而會增加固定樣本大小情況下Type II error的機率。這兩者之間是一種權衡。

不過，只要有足夠的樣本大小，就可以讓$\alpha$和$\beta$同時達到任意小的值。


## Interpreting Results
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/O2Vmr/interpreting-results)
### Steps for Performing Hypothesis Testing
![image](https://hackmd.io/_uploads/rJ1i3IR0a.png)

這邊總結假設檢定的步驟：
1. 說明你的假設(hypothesis)，以課程中的範例來說，$H_0$就是假設原本的平均身高為66.7，即$\mu=66.7$，為了推翻這個假設，我們做了一個新的假設，即alternative hypothesis $H_1$，並且假設身高大於66.7
2. 設計檢定(test)，決定樣本$\bar{X}$、決定顯著水平(significace level)$\alpha$
3. 根據觀測到的樣本計算樣本均值，課程範例的樣本均值為68.442
4. 根據觀測結果做出決定，常見的決策方法為$p$-value，只要$p$-value小於$\alpha$就可以推翻$H_0$

:::info
記得，顯著水平就是出現Type I error的最大機率，始終要很小很小，常見的設置就是0.05。
:::

### Important Remarks - Interpreting Tests
![image](https://hackmd.io/_uploads/SyKhkvAR6.png)

幾點觀念說明：
1. 當我們推翻掉$H_0$，但是實際上平均身高就真的是66.7的時候，我們就犯了Type I error，$\alpha$
2. 如果我們接受$H_0$，但實際上平均身高已經超過66.7的話，那我們就犯了Type II error，$\beta$
3. 顯著水平(significace level)，$\alpha$就是出現Type I error的最大機率，我們希望這個值愈小愈好，常見設置為0.05
4. 對於固定的樣本量，$\alpha$跟$\beta$是互補的

### Important Remarks - Interpreting Tests
![image](https://hackmd.io/_uploads/rJlBXvRC6.png)

$p$-values代表的是一種機率情況下看到我們所觀測到的資料的機率。較小的$p$-value給我們的訊息是，null hypothesis對於我們所觀測到的資料來說並不是一個好的模型，因為觀測到的機率太小了。

對於檢定結果來說，並非reject $H_0$那就代表$H_1$就一定是真的，也並非接受$H_0$就代表$H_0$就是真的。

回頭想想課程提過的垃圾郵件偵測器，我們並沒有辦法證明進來的一定是垃圾郵件，最多能說的就是我們沒有足夠的證據說明進來的是垃圾郵件，所以證據不足的就只能放到一般信箱內。
## $t$-Distribution
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/9uRKT/t-distribution)
### $t$-Distribution: Motivation
![image](https://hackmd.io/_uploads/rJ9qrvA0p.png)

這邊說明$t$-Distribution跟檢定(testing)之間的關係。課程中提過的範例，隨機採樣10個孩子來做身高的檢驗。

總體資料可以以高斯分佈：$X_i \sim \mathcal{N}(\mu,\sigma^2), i.i.d$建模；樣本的話則是以相同的均值，但是較小的標準差的高斯分佈建模：$\bar{X}=\dfrac{1}{10}\sum^{10}_{i=1}X_i\sim\mathcal{N}(\mu,\dfrac{\sigma^2}{\sqrt{10}})$，其中10是因為採樣10個孩子，一般以$n$表示。

請注意：這是在$\mu,\sigma$已知的情況下。
### $t$-Distribution: Motivation
![image](https://hackmd.io/_uploads/S1bltwC06.png)

在$\mu,\sigma$已知的情況下，如果將之正規化，也就是減去均值除掉標準差，那就會得到一個均值為0，變異數為1的分佈，這就是$z$ statistic。

如果$\sigma$是未知的，那我們就以樣本的標準差來做為估測值$S$，其中$S=\sqrt{\dfrac{1}{10-1}\sum^{10}_{i=1}(X_i-\bar{X})^2}$，請注意，這邊計算的時候是$n-1$，因此是$10-1$。

以這個樣本標準差做為標準化的處理所得到的即為$T$ statistic，值得注意的是，這時候它並沒有依循著高斯分佈。
### $t$-Distribution
![image](https://hackmd.io/_uploads/Bkc9owARp.png)

課程中提過，這時候的$t$-Distribution是有一點像高斯分佈的，不過尾巴的分佈高一點，這也說明了引入$S$這個估測值所帶入的不確定性。
### $t$-Distribution
![image](https://hackmd.io/_uploads/Skko2v0Cp.png)

$t$-Distribution有一個參數，稱為自由度(degree of freedom)，以$\nu$表示，這可以控制尾巴的部份有多大。

隨著$\nu$的增加，整個$t$-Distribution會愈來愈接近高斯分佈，這也是為什麼課程中會提到樣本數最少要有30的原因。

### $t$-Distribution and $T$-Statistic
![image](https://hackmd.io/_uploads/ryZn6tC0T.png)

總結來看，$T$-Statistic是用於不知道總體標準差的情況，並且其自由度為樣本數-1，以我們的案例來看，$n=10$，因此$\nu=10-1=9$，隨著$n$的增加，整個$t$-Distribution看起來就會愈接近$\mathcal{N}(0, 1^2)$的高斯分佈。

## $t$-Tests
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/grefP/t-tests)
### Example: Heights
![image](https://hackmd.io/_uploads/SkZRW5AA6.png)

回到身高範例，在原始的案例中我們知道總體標準差$\sigma=3$，但如何標準差是未知的情況呢？

這種情況下我們就必需使用課程中提過的$T$-statistic，以樣本標準差在自由度$n-1$的情況下來畫出這個分佈。
### Right-Tailed Test for Gaussian Data(Unknown $\sigma$)
![image](https://hackmd.io/_uploads/B1WMX5AR6.png)

首先是右尾檢定，根據樣本得到其樣本標準差為3.113，再以樣本標準差計算$t$值，得到1.770。最後再計算給定均值66.7的情況下，採樣到的樣本大於1.770的機率，也就是尾巴的$p$-value為0.0552。

這個數值大於0.05，因此我們無法推翻掉$H_0$這個假設。得到的結果明顯跟知道總體標準差$\sigma=3$是不一樣的，但這也是因為不確定標準差的情況下所帶入的不確定性有關。
### Two-Tailed Test for Gaussian Data(Unknown $\sigma$)
![image](https://hackmd.io/_uploads/By2jQqC0p.png)

這邊說明雙尾檢定，記得加上一個絕對值，也就是$\vert 1.770 \vert$，得到的結果就會是右尾檢定的兩倍，為0.1105。

這個數值大於0.05，因此我們無法推翻掉$H_0$這個假設。
### Left-Tailed Test for Gaussian Data(Unknown $\sigma$)
![image](https://hackmd.io/_uploads/Byqm4q0A6.png)

最後是左尾檢定，為了說明範例，我們假設樣本均值為64.252，這種情況下得到的$t$值為-2.487。其$p$-value為0.0173。

這個數值小於0.05，因此我們reject $H_0$這個假設。

## Two Sample t-Test
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/6g6TW/two-sample-t-test)
### Independent Two-Sample $t$-Test
![image](https://hackmd.io/_uploads/BJROekWJR.png)

先前課程提到的都是針對單一總體的檢定，這邊說明的是針對兩個總體的檢定。

以上圖為例，這是美國跟阿根廷的平均身高資料。我們的目標是證明這兩個國家的平均身高是不一樣的。


### Independent Two-Sample $t$-Test: Hypothesis
![image](https://hackmd.io/_uploads/SyGUZ1b1R.png)

我們的目標是證明兩個國家的平均身高是不一樣的，因此$H_0$就是假設兩個國家是一樣的，另外的$H_1$有三種可能：
* 美國比阿根廷高(右尾)
* 美國比阿根廷矮(左尾)
* 美國跟阿根廷不一樣(雙尾)

###  Independent Two-Sample $t$-Test: Assumptions
![image](https://hackmd.io/_uploads/Hke6XJZyR.png)

遊戲規則要先說好，假設：
* 所有的樣本都是從兩個不群體取出的，也就是樣本中的每一個人都只代表一個群體，不會有一個人又是美國又是阿根廷
* 每個樣本都是獨立的，不會因為你高我就矮
* 兩個國家的身高都是正態分佈

範例中我們以$\bar{X}$表示美國的樣本均值，以$\bar{Y}$表示阿根廷的樣本均值。那個分佈之間的差異則為：
* $\bar{X}-\bar{Y}\sim\mathcal{N}\left(\mu_{US}-\mu_{Arg}, \dfrac{\sigma^2_{US}}{10}+\dfrac{\sigma^2_{Arg}}{9}\right)$

相關數學說明在先前的課程中有提過，忘記了可以回去看看。

### Independent Two-Sample $t$-Test: Statistic
![image](https://hackmd.io/_uploads/rkuEvy-1C.png)

我們可以把兩個分佈的差異正規化成標準常態分佈，請注意，因為我們並不知道兩個國家的實際標準差，所以必需要改用樣本標準差來替代。

這個統計量也具著$t$-distribution，因為對應的是有著未知標準差的高斯總體的均值的統計量。那計算這個就需要計算自由度，這可以靠一堆軟體來處理就是了，怒算一發之後得到的自由度是16.8。
### Independent Two-Sample $t$-Test: Right Tailed Test
![image](https://hackmd.io/_uploads/H1bLJz-kC.png)

先從右尾檢定試試手，null hypothesis是兩個國家的身高一樣，那代表均值相減為0，這邊採用的顯著水平$\alpha=0.05$。

從剛剛的自由度計算知道，這個分佈會依循著自由度16.8的$t$-distribution。把資料丟進去計算最終得到觀測統計量為1.7450，這對應PDF曲線下的的$p$-value是0.0495，明顯小於$\alpha$，所以我們就可以推翻null hypothesis。
### Independent Two-Sample $t$-Test: Two Tailed Test
![image](https://hackmd.io/_uploads/ryONaV-kR.png)

這邊說明雙尾檢定，在雙尾檢定的情況下，其$p$-value為0.0991，也就是兩個曲線下面積的總和，所以就是把0.0495x2=0.0991就行了，總之就是大於顯著水平0.05，這意謂著我們沒有足夠的證據可以推翻掉$H_0$


## Paired t-Test
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/7CLID/paired-t-test)
### Paired $t$-Test and Two-Sample $t$-test
![image](https://hackmd.io/_uploads/HkkERE-10.png)

剛剛的Two-Sample是針對不同群體的檢定，現在有一種不一樣的檢定方式，那就是針對同一群體，舉例來說，公司舉辦減肥比賽，同一組人我們要知道減肥前後的狀態，這是一種對應，1號對1號，2號對2號，這就是一種Paired $t$-Test。
### Paired $t$-Test: Statistic
![image](https://hackmd.io/_uploads/HJNUkBbJA.png)

現在我們有興趣的是同一個人(同一個配對)的前後變化。要瞭解重訓對減肥是不是有幫助，就可以計算重訓前後之間的差異。

為此，我們就是把這10個人的減重前後的體重相加之後加總計算平均，前後的差異以$D$來表示，加總計算平均之後則是以$\bar{D}$來表示。
### Paired $t$-Test: Statistic
![image](https://hackmd.io/_uploads/B1tyxBby0.png)

如果，$X,Y$依循著高斯分佈，那$D$也會是，寫為$D_i\sim\mathcal{N}(\mu_D,\sigma^2_D),i.i.d$。
### Paired $t$-Test: Statistic
![image](https://hackmd.io/_uploads/rkiWWSZkC.png)

然後針對$\bar{D}$做標準化，$\dfrac{\bar{D}-\mu_D}{\sigma_D/\sqrt{10}}\sim\mathcal{N}(0, 1^2)$，得到一個標準常態分佈。記得，這邊的標準差是未知的，所以我們會以樣本標準差來替代未知的總體標準差。這又是一個$T$檢定統計資訊，並且自由度為$n-1$，也就是9。
### Paired $t$-Test: Observations
![image](https://hackmd.io/_uploads/rk1cbrZ10.png)

現在，根據觀測到的樣本資料做計算，可以得到樣本均值為1.09，樣本標準差為1.485，根據這兩樣我們可以得到$t$為2.231。


### Independent Two-Sample $t$-Test: Right Tailed Test
![image](https://hackmd.io/_uploads/r1xdzBWy0.png)

先來看右尾檢定，假設：
* $H_0$：重訓對減肥沒有好處，所以均值為0
* $h_1$：重訓對減肥有好處，所以均值大於0
* $\alpha=0.05$


根據$t=2.321$，我們可以計算於PDF區的面積為0.0227，這小於顯著水平，因此我們可以推翻$H_0$，也就是重訓是有幫助的。

## ML Application: A/B Testing
[課程連結](https://www.coursera.org/learn/machine-learning-probability-and-statistics/lecture/c9btm/ml-application-a-b-testing)
### A/B Testing: Purchase Amount
![image](https://hackmd.io/_uploads/H1CW8rbk0.png)

假設我們想測試網頁的立即購買按鈕調整位置前後的差異，兩個設計，一個稱為A(原設計)，一個稱為B(調整後)。然後，客人會隨機被分配到兩個不同設計的頁面。常見的A/B Testing會讓較小的客群參與新的設計。

假設：
* 原設計：80位客人，平均購買50元，標準差為10元
* 新設計：20位客人，平均購買55元，標準差為15元
### A/B Testing: Purchase Amount
![image](https://hackmd.io/_uploads/SypKDrZk0.png)

有均值有標準差就可以往下繼續ABC的計算$t$值。我們假設：
* $H_0$，AB的均值不變
* $H_1$，B的均值大於A
* $\alpha=0.05$
* 購買金額符合高斯分佈

然後用Two-Sample $t$-Test計算得到自由度為23.38，然後得到觀測統計量為-1.482。

這是一個左尾檢定，根據其觀測統計量得到其$p$-value為0.076，很明顯這個值高於顯著水平，因此我們無法推翻$H_0$

### A/B Testing and $t$-Tests
![image](https://hackmd.io/_uploads/Syn26BWyC.png)

A/B Testing的應用範圍較廣，而$t$-Tests是一種統計工具，其中A/B Testing包含更多步驟：
* 提出要測試的變化
* 隨機將樣本對象分割(像是隨機進入A、B網頁)
* 呈現不同的變化
* 衡量結果，決定要使用的指標
* 使用統計工具，根據收集到的資料做決策，這邊就是$t$-Tests的事情

值得注意的是，使用$t$-Tests是因為我們假設相關的分佈符合高斯分佈，如果不是就要再用其它的檢定方式。
### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/rJAs1UbJ0.png)

現在，假設我們有一個全新設計的網站，舊的是A，新的是B，我們時知道新設計的B是否有更好的轉換率，也就是實際購買的訪客比例。

一樣的，我們要隨機的將客戶引導到A、B兩個介面，並且注意，B的人數會少一點：
* A：80個客人，20個買
* B：20個客人，8個買
### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/BJMgGUWyR.png)

對於這個問題，我們假設：
* $H_0$，兩種設計的轉換率是一樣的
* $H_1$，新設計的轉換率較高
* $\alpha=0.05$

注意，這個問題的分佈基本是一個Binominal，不是高斯。


### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/H1FsvL-1R.png)

根據大數理論，樣本數愈大，樣本均值就會愈接近總體均值，所以$\dfrac{X}{n_A}\to p_A$，這對B也是一樣的。就像上週提到的中央極限定理(CTE)提過的，商數(quotients)具有常態分佈，也就是$\dfrac{X}{n_A}\sim\mathcal{N}\left(p_A,\dfrac{p_A(1-p_A)}{n_A}\right)$。

### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/B1w5KIb1A.png)

然後因為大數理論，所以兩個樣本均值相減的結果會近似於兩個總體均值相減的結果：
* $\dfrac{X}{n_A}-\dfrac{Y}{n_B}\to p_A - p_B$

又因為它們近似高斯分佈，所以兩個相減的結果也會近似高斯分佈：
* $\dfrac{X}{n_A}-\dfrac{Y}{n_B} \sim \mathcal{N}(p_A-p_B, \dfrac{p_A(1-p_A)}{n_A} + \dfrac{p_B(1-p_B)}{n_B})$

然後再標準化這個分佈，讓它成為一個均值為0，標準差為1的標準正態分佈。

### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/SkPyiUW1R.png)

現在，如果$H_0$系金a，那$p_A=p_B=p$。既然如此就可以把$p$代入$p_A,p_B$，得到上圖左的公式。然後再把公式拉拉哩拉拉的調整一下，得到上圖右的公式。

請注意，這時候的$p$仍然是未知的，所以我們用估值來替代，$\hat{p}=\dfrac{X+Y}{n_A+n_B}$，到這邊，終於可以計算檢定統計資訊了。
### A/B Testing: Conversion Rates
![image](https://hackmd.io/_uploads/r1o6pU-JR.png)

把得到的資訊寫一寫，怒算一發，得到檢定統計$z=-1.336$，其$p$-value為0.019，比顯著水平0.05還要小，所以我們無法推翻$H_0$，意謂著新設計的沒有比較棒棒。