t検定の実施

Rによる仮説検定

Richie Cotton

Data Evangelist at DataCamp

2標本問題

  • グループ間でサンプル統計量を比較する問題があります。
  • 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{標本統計量} - \text{母数}}{\text{標準誤差}}$

$t = \dfrac{\text{標本統計量の差} - \text{母数の差}}{\text{標準誤差}}$

$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...