p 值

R 中的假設檢定

Richie Cotton

Data Evangelist at DataCamp

刑事審判

  • 兩種可能的真實狀態。
    1. 被告犯下犯罪。
    2. 被告未犯下犯罪。
  • 兩種可能的裁決。
    1. 有罪。
    2. 無罪。
  • 起初假定被告無罪。
  • 若證據顯示被告犯罪「達到排除合理懷疑」的程度,則判「有罪」,否則判「無罪」。
R 中的假設檢定

首次寫程式年齡

  • age_first_code_cut 用來分類 Stack Overflow 使用者第一次開始寫程式的年齡。
    1. "adult" 代表 14 歲(含)之後開始。
    2. "child" 代表 14 歲之前開始。
  • 先前研究指出,35% 的軟體開發者在童年就開始寫程式。
  • 我們的樣本是否提供證據:資料科學家童年開始寫程式的比例更高?
R 中的假設檢定

定義

「假設」是對未知母體參數的陳述。

「假設檢定」是對兩個彼此競爭的假設進行檢驗。

  • 「虛無假設($H_{0}$)」是現有的「衛冕者」想法。

  • 「對立假設($H_{A}$)」是研究者提出的「挑戰者」想法。

對於我們的問題:

  • $H_{0}$:資料科學家童年開始寫程式的比例與軟體開發者相同(35%)。
  • $H_{A}$:資料科學家童年開始寫程式的比例大於 35%。
1 「naught」在英式英文中意為「零」。基於歷史原因,「H-naught」是念出虛無假設的國際慣例。
R 中的假設檢定
  • 兩種可能的真實狀態。
    1. 被告犯下犯罪。
    2. 被告未犯下犯罪。
  • 兩種可能的裁決。
    1. 有罪。
    2. 無罪。
  • 起初假定被告無罪。
  • 若證據顯示被告犯罪「達到排除合理懷疑」的程度,則判「有罪」,否則判「無罪」。
  • 現實中,$H_{A}$ 或 $H_{0}$ 其一為真(不可能同時為真)。
  • 檢定結果不是「拒絕 $H_{0}$」就是「無法拒絕 $H_{0}$」。
  • 一開始假定虛無假設 $H_{0}$ 為真。
  • 若樣本證據對 $H_{A}$ 「具有顯著性」,則選擇 $H_{A}$;否則選擇 $H_{0}$。

「顯著水準」對應於假設檢定中的「排除合理懷疑」。

R 中的假設檢定

單尾與雙尾檢定

標準常態分配機率密度的密度圖,中間部分被遮住,只顯示尾部。

假設檢定會判斷樣本統計量是否落在「虛無」分配的尾部。

檢定 尾部
對立假設「不同於」虛無假設 雙尾
對立假設「大於」虛無假設 右尾
對立假設「小於」虛無假設 左尾

$H_{A}$:資料科學家童年開始寫程式的比例「大於」35%。

我們的對立假設使用「大於」,因此需要「右尾」檢定。

R 中的假設檢定

p 值

  • p 值越大,對 $H_{0}$ 的支持越強。
  • p 值越小,反對 $H_{0}$ 的證據越強。
  • 小的 p 值代表統計量落在「虛無分配」的尾部(若虛無假設為真時統計量的分配)。
    • p 值中的「p」代表機率。
    • 對 p 值來說,「小」表示「接近 0」。
R 中的假設檢定

p 值的定義

p 值是:

在假定虛無假設為真的前提下,

觀察到的檢定統計量「至少同樣極端或更極端」

相對於我們原始樣本所觀察到的情況的機率,

前提是虛無假設為真。

R 中的假設檢定

計算 z 分數

prop_child_samp <- stack_overflow %>%
  summarize(point_estimate = mean(age_first_code_cut == "child")) %>%
  pull(point_estimate)
0.388
prop_child_hyp <- 0.35
std_error <- 0.0096028
z_score <- (prop_child_samp - prop_child_hyp) / std_error
3.956
R 中的假設檢定

計算 p 值

  • pnorm() 是常態分配的 CDF。
  • 左尾檢定 → 使用預設 lower.tail = TRUE
  • 右尾檢定 → 設為 lower.tail = FALSE

 

p_value <- pnorm(z_score, lower.tail = FALSE)
3.818e-05
R 中的假設檢定

一起來練習吧!

R 中的假設檢定

Preparing Video For Download...