Chi-kwadraattoets op onafhankelijkheid

Hypothesis Testing in R

Richie Cotton

Data Evangelist at DataCamp

De proportietoets opnieuw bekijken

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
Hypothesis Testing in R

Onafhankelijkheid van variabelen

Eerder testresultaat: er is bewijs dat de variabelen hobbyist en age_cat samenhangen.

Als het aandeel successen in de responsvariabele gelijk is over alle categorieën van de verklarende variabele, zijn de twee variabelen statistisch onafhankelijk.

1 Respons 2 en verklarende variabelen worden gedefinieerd in “Introduction to Regression in R”, Hoofdstuk 1.
Hypothesis Testing in R

Werktevredenheid en leeftijdscategorie

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
Hypothesis Testing in R

Hypothesen formuleren

$H_{0}$: Leeftijdscategorieën zijn onafhankelijk van niveaus van werktevredenheid.

$H_{A}$: Leeftijdscategorieën zijn niet onafhankelijk van niveaus van werktevredenheid.

alpha <- 0.1
  • Teststatistiek aangeduid met $\chi^{2}$.
  • Uitgaande van onafhankelijkheid: hoe ver liggen de observaties van de verwachte waarden?
Hypothesis Testing in R

Verkennende visualisatie: proportioneel gestapelde staafdiagram

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

Proportioneel gestapelde staafdiagram van werktevredenheid, ingekleurd naar leeftijdscategorie

Hypothesis Testing in R

Chi-kwadraat-onafhankelijkheidstoets met 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

Vrijheidsgraden:

$(\text{Aantal responscategorieën} - 1) \times (\text{Aantal verklarende categorieën} - 1)$

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

Hypothesis Testing in R

Variabelen omdraaien?

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

Proportioneel gestapelde staafdiagram van leeftijdscategorie, ingekleurd naar werktevredenheid

Hypothesis Testing in R

Chi-kwadraat in beide richtingen

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

Vraag

Zijn X en Y onafhankelijk?

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

Niet

Is X onafhankelijk van Y?

Hypothesis Testing in R

En richting en staarten?

args(chisq_test)
function (x, formula, response = NULL, explanatory = NULL, ...)
  • Geobserveerde en verwachte gekwadrateerde tellingen moeten niet-negatief zijn.
  • Chi-kwadraattoetsen zijn bijna altijd rechtszijdig. $^{1}$
1 Linkszijdige chi-kwadraattoetsen worden in forensische statistiek gebruikt om te detecteren of een fit verdacht goed is door gefabriceerde data. Chi-kwadraattoetsen voor variantie kunnen tweezijdig zijn. Dit zijn echter nichetoepassingen.
Hypothesis Testing in R

Laten we oefenen!

Hypothesis Testing in R

Preparing Video For Download...