Chí-kvadrát test nezávislosti

Testování hypotéz v R

Richie Cotton

Data Evangelist at DataCamp

Opakování: test proporcí

library(infer)
stack_overflow %>% 
  prop_test(
    hobbyist ~ age_cat,
    order = c("At least 30", "Under 30"),
    alternative = "two-sided",
    correct = FALSE
  )
# A tibble: 1 x 6
  statistic chisq_df   p_value alternative lower_ci upper_ci
      <dbl>    <dbl>     <dbl> <chr>          <dbl>    <dbl>
1      17.8        1 0.0000248 two.sided     0.0605    0.165
Testování hypotéz v R

Nezávislost proměnných

Výsledek předchozího hypotézového testu: existují důkazy o asociaci mezi proměnnými hobbyist a age_cat.

Pokud je podíl úspěchů v závislé proměnné stejný ve všech kategoriích vysvětlující proměnné, jsou obě proměnné statisticky nezávislé.

1 Vysvětlující a závislé proměnné jsou definovány v kurzu „Úvod do regrese v R", kapitola 1.
Testování hypotéz v R

Spokojenost s prací a věková kategorie

stack_overflow %>% 
  count(age_cat)
# A tibble: 2 x 2
  age_cat         n
  <chr>       <int>
1 At least 30  1050
2 Under 30     1211
stack_overflow %>% 
  count(job_sat)
# A tibble: 5 x 2
  job_sat                   n
  <fct>                 <int>
1 Very dissatisfied       159
2 Slightly dissatisfied   342
3 Neither                 201
4 Slightly satisfied      680
5 Very satisfied          879
Testování hypotéz v R

Formulace hypotéz

$H_{0}$: Věkové kategorie jsou nezávislé na úrovni spokojenosti s prací.

$H_{A}$: Věkové kategorie nejsou nezávislé na úrovni spokojenosti s prací.

alpha <- 0.1
  • Testovací statistika je označena $\chi^{2}$.
  • Za předpokladu nezávislosti: jak daleko jsou pozorované výsledky od očekávaných hodnot?
Testování hypotéz v R

Průzkumná vizualizace: proporcionální skládaný sloupcový graf

ggplot(stack_overflow, aes(job_sat, fill = age_cat)) +
  geom_bar(position = "fill") +
  ylab("proportion")

Proporcionální skládaný sloupcový graf spokojenosti s prací podle věkové kategorie

Testování hypotéz v R

Test nezávislosti chí-kvadrát pomocí chisq_test()

library(infer)
stack_overflow %>% 
  chisq_test(age_cat ~ job_sat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

Stupně volnosti:

$(\text{Počet kategorií odpovědi} - 1) \times (\text{Počet kategorií vysvětlující proměnné} - 1)$

$(2 - 1) * (5 - 1) = 4$

Testování hypotéz v R

Prohození proměnných?

ggplot(stack_overflow, aes(age_cat, fill = job_sat)) +
  geom_bar(position = "fill") +
  ylab("proportion")

Proporcionální skládaný sloupcový graf věkové kategorie podle spokojenosti s prací

Testování hypotéz v R

Chí-kvadrát oběma směry

library(infer)
stack_overflow %>% 
  chisq_test(age_cat ~ job_sat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

Otázka

Jsou proměnné X a Y nezávislé?

library(infer)
stack_overflow %>% 
  chisq_test(job_sat ~ age_cat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

Nikoli

Je proměnná X nezávislá na proměnné Y?

Testování hypotéz v R

Směr a jednostrannost testu?

args(chisq_test)
function (x, formula, response = NULL, explanatory = NULL, ...)
  • Kvadráty pozorovaných a očekávaných četností musí být nezáporné.
  • Chí-kvadrát testy jsou téměř vždy pravostranné. $^{1}$
1 Levostranné chí-kvadrát testy se používají ve statistické forenzní analýze k odhalení podezřele dobrého přizpůsobení dat, které mohlo být zfalšováno. Chí-kvadrát testy rozptylu mohou být oboustranné. Jedná se však o okrajové využití.
Testování hypotéz v R

Pojďme procvičovat!

Testování hypotéz v R

Preparing Video For Download...