進行 t 檢定

R 中的假設檢定

Richie Cotton

Data Evangelist at DataCamp

雙樣本問題

  • 另一個常見問題是比較同一變數在不同群組間的樣本統計量。
  • converted_comp 是數值變數。
  • age_first_code_cut 是類別變數,水準為("child""adult")。
  • 童年開始寫程式的使用者,薪資是否傾向高於成年才開始的使用者?
R 中的假設檢定

假設設定

$H_{0}$:童年先開始寫程式與成年先開始寫程式兩組的平均薪資(USD)相同

$H_{0}$:$\mu_{child} = \mu_{adult}$

$H_{0}$:$\mu_{child} - \mu_{adult} = 0$

$H_{A}$:童年先開始寫程式者的平均薪資(USD)較高於成年先開始者。

$H_{A}$:$\mu_{child} > \mu_{adult}$

$H_{A}$:$\mu_{child} - \mu_{adult} > 0$

R 中的假設檢定

計算分組摘要統計量

stack_overflow %>% 
  group_by(age_first_code_cut) %>% 
  summarize(mean_compensation = mean(converted_comp))
# A tibble: 2 x 2
  age_first_code_cut mean_compensation
  <chr>                          <dbl>
1 adult                        111544.
2 child                        138275.
R 中的假設檢定

檢定統計量

  • 樣本平均可用來估計母體平均。
  • $\bar{x}$ 表示樣本平均。
  • $\bar{x}_{child}$ 為童年先開始寫程式者的樣本平均薪資。
  • $\bar{x}_{adult}$ 為成年先開始寫程式者的樣本平均薪資。
  • $\bar{x}_{child} - \bar{x}_{adult}$ 為「檢定統計量」。
  • z 分數是(標準化)檢定統計量的一種。
R 中的假設檢定

標準化檢定統計量

$z = \dfrac{\text{sample stat} - \text{population parameter}}{\text{standard error}}$

$t = \dfrac{\text{difference in sample stats} - \text{difference in population parameters}}{\text{standard error}}$

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) - (\mu_{\text{child}} - \mu_{\text{adult}})}{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

R 中的假設檢定

標準誤

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

$s$ 為變數的標準差。

$n$ 為樣本數(樣本中的觀測值/列數)。

R 中的假設檢定

在虛無假設成立下

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) - (\mu_{\text{child}} - \mu_{\text{adult}})}{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

$H_{0}$:$\mu_{\text{child}} - \mu_{\text{adult}} = 0$

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) }{SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}$

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}{\sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}}$

stack_overflow %>%
  group_by(age_first_code_cut) %>%
  summarize(
    xbar = mean(converted_comp),
    s = sd(converted_comp),
    n = n()
  )
# A tibble: 2 x 4
  age_first_code_cut    xbar       s     n
  <chr>                <dbl>   <dbl> <int>
1 adult              111544. 270381.  1579
2 child              138275. 278130.  1001
R 中的假設檢定

計算檢定統計量

# A tibble: 2 x 4
  age_first_code_cut    xbar       s     n
  <chr>                <dbl>   <dbl> <int>
1 adult              111544. 270381.  1579
2 child              138275. 278130.  1001

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}{\sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}}$

numerator <- xbar_child - xbar_adult
denominator <- sqrt(
  s_child ^ 2 / n_child + s_adult ^ 2 / n_adult
)
t_stat <- numerator / denominator
2.4046
R 中的假設檢定

一起來練習吧!

R 中的假設檢定

Preparing Video For Download...