💡一句話定義

看平均數。A、B 兩組平均有沒有不同?
One-sample t、Independent t、Paired t
看多組平均/變異/整體模型。A、B、C 三組至少一組不同嗎?
ANOVA、迴歸的整體 F 檢定
看類別、次數、比例。性別跟購買與否有沒有關係?
獨立性檢定、適合度檢定
🧭互動一:三秒選型決策樹

大部分的題目只要問兩三個問題就能定案。跟著回答,或直接按下面的例題讓它自己跑一遍。
檢定選型決策樹
先看 Y(你關心的結果)是數字還是類別,再看要比幾組
一鍵帶入例題:
📏t 檢定:比較「平均」

兩種教學方法,A 班平均 80 分、B 班平均 85 分。你不能看到 85 > 80 就宣布 B 比較好——有可能只是剛好 B 班學生比較強。
所以做 t 檢定,先立 H₀:兩班平均其實相同。假設算出 p = 0.01、而 α = 0.05,因為 p < α,結論是:如果兩班真的沒差,出現這麼大差異的機率只有 1%,太不合理了,所以有證據認為兩班平均確實不同。
t 檢定判決台:差距一直都是 5 分
A 班平均 80、B 班平均 85 固定不動,只調整「班內離散程度」與「每班人數」
📊F 檢定:三組以上就換武器

現在有三種教學法:A 80 分、B 85 分、C 92 分。如果硬要兩兩做 t 檢定(A vs B、A vs C、B vs C),做越多次、至少誤判一次的機率就越高。所以改用 ANOVA(變異數分析),而 ANOVA 的核心統計量就是 F。
F = 組間差異 ÷ 組內差異
如果 A 班大家都在 79~81、B 班都在 84~86、C 班都在 91~93——每組自己內部很整齊、三組彼此拉很開,F 就會很大,「三組完全相同」這個假設就顯得很不合理。
F = 組間 ÷ 組內
三組平均固定在 80 / 85 / 92,只調整組內波動與每組人數
為什麼不能兩兩硬做 t 檢定?族系誤差率(α=0.05):
計算方式 1 −(1 − 0.05)對數。10 組兩兩比完,幾乎保證至少誤判一次。
🔢卡方 χ²:資料是「人數」不是「平均」

卡方跟前兩個很不一樣。它比的不是平均身高、平均成績、平均收入,而是人數/次數/比例符不符合預期。看到男/女、iPhone/Android、買/不買、是/否、A/B/C 類別,就往卡方想。
χ² = Σ (O − E)² ÷ E
差越大 → χ² 越大 → 越不像只是隨機造成的。
卡方 O vs E 對帳台
直接改格子裡的人數,期望值 E、每格貢獻與 χ² 會即時重算
| 買 iPhone | 買 Android | 列總和 | |
|---|---|---|---|
| 男 | 100 | ||
| 女 | 100 | ||
| 欄總和 | 110 | 90 | 200 |
每一格的對帳(O = 實際、E = 如果沒關係該有的、下方是這格對 χ² 的貢獻):
| 買 iPhone | 買 Android | |
|---|---|---|
| 男 | ||
| 女 |
· 期望值不能太小。一般要求每格 E ≥ 5(至少 80% 的格子),否則卡方近似會失準,改用 Fisher 精確檢定。
· 2×2 表的 Yates 連續性校正。
scipy.stats.chi2_contingency 對 2×2 表預設會校正:上面手算的 50.505 在校正後會變成 48.505(p 從 1.19e-12 變 3.29e-12)。想拿到跟公式一致的數字要傳 correction=False。
🧠最簡單的記法

| 題目 | 第一反應 | 為什麼 |
|---|---|---|
| 男生女生「平均薪資」是否不同 | Independent t | Y 是數字、兩組、兩批不同的人 |
| A/B/C 三種廣告的「平均銷售額」是否不同 | ANOVA(F 檢定) | Y 是數字、三組以上 |
| 性別與「購買/不購買」是否有關 | 卡方 χ² | 兩邊都是類別,資料是人數 |
| 治療前後「平均血壓」是否不同 | Paired t | Y 是數字、同一批人前後測 |
| 四個地區的品牌偏好是否不同 | 卡方 χ² | 地區與品牌都是類別,資料是次數 |
一張圖收尾
你的 Y(結果)是數字嗎?
│
├─ 是(平均、金額、分數)
│ │
│ ├─ 跟一個固定標準比 ────────→ One-sample t
│ │
│ ├─ 比兩組平均
│ │ ├─ 同一批人前後測 ──────→ Paired t
│ │ └─ 兩批不同的人 ────────→ Independent t
│ │
│ └─ 比三組以上平均 ──────────→ ANOVA(F 檢定)
│ └─ 顯著後再做 Post-hoc
│
└─ 不是,是類別/人數 ────────────→ 卡方 χ²
(獨立性檢定/適合度檢定)
🧬再往下一層:它們其實是一家人

t 檢定、ANOVA、線性迴歸是同一個框架的三種長相——都屬於一般線性模型(General Linear Model)。卡方則走另一條路,專攻類別資料。
兩組時 F = t²,兩個檢定的 p 值完全相同。
把組別做成虛擬變數丟進迴歸,整體 F 檢定就是 ANOVA 的 F。
SelectKBest(chi2) 的特徵選擇、A/B 測試的轉換率比較,用的都是同一套。f_classif 用的是 ANOVA 的 F、chi2 用的是卡方;A/B 測試比轉換率用卡方、比客單價用 t 檢定。選錯武器,整個結論就不成立。
📌常見誤解

