Rozdział 18 Test chi-kwadrat

18.1 Test chi-kwadrat — zastosowania

Test chi-kwadrat za każdym razem ma podobną konstrukcję, ale służy do wielu celów. Można wyróżnić:

  • testy zgodności rozkładu (sprawdzamy, czy rozkład w pewnej populacji jest zgodny z założonym rozkładem teoretycznym),

  • testy jednorodności (sprawdzamy, czy struktura zmiennych jakościowych jest taka sama, czyli jednorodna, w dwóch lub większej liczbie populacji),

  • testy niezależności (sprawdzamy, czy dwie zmienne jakościowe są od siebie w populacji niezależne).

18.2 Wzór

Choć test ma różne zastosowania, zobaczymy, że wzór służący do obliczenia statystyki testowej wygląda we wszystkich wypadkach podobnie. Możemy go zapisać w następujący sposób:

\[ \chi^2 = \sum_{i} \frac{(O_i-E_i)^2}{E_i} \tag{18.1} \] \(i\) - to indeks wskazujący na poszczególne klasy lub na „przegródki” (komórki) w tabeli dwudzielczej

\(O_i\) - liczebności zaobserwowane (ang. observed)

\(E_i\) - liczebności oczekiwane (ang. expected) - liczebności oczekiwane określone na podstawie zadanego rozkładu lub na podstawie założenia o niezależności, inaczej liczebności teoretyczne

18.3 Hipotezy

W teście zgodności \(H_0\) mówi, że rozkład pewnej zmiennej jakościowej w populacji jest zgodny z założeniem, a \(H_A\) mówi, że jest inny.

W teście jednorodności \(H_0\) mówi, że rozkład zmiennej jakościowej w 2 lub większej liczbie populacji jest jednakowy, zaś \(H_A\) mówi, że jest inny.

W teście niezależności \(H_0\) mówi, że dwie zmienne jakościowe są od siebie niezależne, zaś \(H_A\) mówi, że są zależne.

18.4 Liczebności oczekiwane

W teście zgodności liczebności oczekiwane wynikają z zakładanego rozkładu.

W testach jednorodności i niezależności liczebności oczekiwane należy wyznaczyć. W obu testach tabele liczebności mają postać tabeli dwudzielczej. Oczekiwaną liczebność należy wyznaczyć dla każdej komórki tej tabeli.

\[ \text{Liczebność oczekiwana} = \frac{\text{Liczebność wiersza} \cdot \text{Liczebność kolumny}}{\text{Liczebność całkowita}}\]

18.5 Warunki zastosowania testu

Test chi-kwadrat jest testem przybliżonym (podobnie jak test z dla średnich lub proporcji), wymaga więc — poza standardowym założeniem losowości i reprezentatywności próby — odpowiedniej wielkości próby. Najczęściej podaje się regułę, że minimalna liczebność oczekiwana w pojedynczej komórce wynosi 5.

18.6 Liczba stopni swobody

  • Testy zgodności z rozkładem o określonych parametrach: Liczba stopni swobody to \(k-1\), gdzie \(k\) to liczba klas

  • Testy zgodności z rozkładem o szacowanych parametrach: Liczba stopni swobody to \(k-m-1\), gdzie \(k\) to liczba klas, zaś \(m\) to liczba szacowanych parametrów

  • Testy jednorodności rozkładów: Liczba stopni swobody to \(k-1\) w przypadku testowania dwóch populacji. W przypadku większej liczby porównywanych populacji liczba stopni swobody to \((k-1)\cdot(c-1)\), gdzie \(c\) to liczba populacji.

  • Testy niezależności: Liczba stopni swobody to \((r-1)\cdot(c-1)\), gdzie \(r\) to liczba wierszy w tablicy dwudzielczej (liczba klas jednej zmiennej), a \(c\) to liczba kolumn (liczba klas drugiej zmiennej).

18.7 Obszar odrzucenia

We wszystkich wymienionych w tym rozdziale testach chi-kwadrat obszar odrzucenia jest prawostronny, tzn. odrzucamy hipotezę zerową, jeżeli statystyka testowa przekroczy wartość krytyczną.

Uwaga! W przypadku testu chi-kwadrat nie posługujemy się w stosunku do hipotezy alternatywnej sformułowaniami „lewostronna”, „prawostronna” czy „obustronna” (14.6) — hipoteza alternatywna ma raczej charakter „wielostronny”.

18.8 Testy chi-kwadrat i testy proporcji

Można zauważyć, że testy chi-kwadrat zgodności i jednorodności stanowią rozszerzenie testów dla proporcji. Mogą objąć więcej niż dwie klasy lub (w przypadku testów jednorodności) więcej niż dwie populacje.

W przypadku testów zgodności rozszerzenie polega na tym, że test dla 1 proporcji ogranicza nas do rozkładu dwupunktowego (rozkładu, w którym są tylko dwie klasy), natomiast test zgodności można zastosować dla również dla większej liczby klas. Obustronny test dla jednej proporcji jest praktycznie równoważny testowi zgodności chi-kwadrat dla zmiennej dychotomicznej6.

W przypadku testów jednorodności rozszerzenie może polegać na tym, że badamy więcej niż 2 populacje (test dla 3, 4, 5, 6 proporcji) albo zwiększamy liczbę klas, albo jedno i drugie. Obustronny test dla dwóch proporcji jest praktycznie równoważny testowi jednorodności chi-kwadrat dla dwóch populacji i zmiennej dychotomicznej7.

18.9 Wielkość efektu w teście niezależności

Dla tabel dwudzielczych, w których przedstawia się liczebności w ramach testu niezależności, zaproponowano wiele miar wielkości efektu. Najczęściej stosowaną miarą jest V-Cramera:

\[ V = \sqrt{\frac{\chi^2}{n \cdot\text{min}(c-1, r-1)}} \tag{18.2} \]

W przypadku tabel 2×2 stosuje się współczynnik fi, który co do wartości bezwzględnej jest tożsamy ze współczynnikiem V Cramera, ale może przyjmować również wartości ujemne.

18.11 Szablony

Arkusze kalkulacyjne

Test chi-kwadrat — arkusz Google

Test chi-kwadrat — szablon w Excelu

Kalkulator rozkładu chi-kwadrat — arkusz Google

Kod w R

# Test niezależności/jednorodności chi-kwadrat

# Macierz z danymi (wektor wejściowy)
m <- c(
 21, 14,
  3, 10
 )

# Liczba wierszy w macierzy
nrow <- 2

# Poziom istotności
alpha <- 0.05

# Przekształcenie wektora w macierz
m <- matrix(data=m, nrow=nrow, byrow=TRUE)

# Test chi-kwadrat bez poprawki Yatesa
test_chi <- chisq.test(m, correct=FALSE)

# Test chi-kwadrat z poprawką Yatesa w przypadku tabel 2x2
test_chi_corrected <- chisq.test(m)

# Test G
test_g <- AMR::g.test(m)

# Dokładny test Fishera
exact_fisher<-fisher.test(m)

print(c('Liczba stopni swobody' = test_chi$parameter, 
        'Wartość krytyczna' = qchisq(1-alpha, test_chi$parameter), 
        'Statystyka chi^2' = unname(test_chi$statistic),
        'Wartość p (test chi-kwadrat)' = test_chi$p.value,
        'V Cramera' = unname(sqrt(test_chi$statistic/sum(m)/min(dim(m)-1))),
        'Współczynnik fi (dla tabel 2x2)' = if(all(dim(m)==2)) {psych::phi(m, digits=10)},
        'Statystyka chi^2 z poprawką Yatesa' = unname(test_chi_corrected$statistic),
        'Wartość p (test chi^2 z poprawką Yatesa)' = test_chi_corrected$p.value,
        'Statystyka G' = unname(test_g$statistic),
        'Wartość p (test G)' = test_g$p.value,
        'Wartość p (test dokładny Fishera)' = exact_fisher$p.value
))
##                 Liczba stopni swobody.df                        Wartość krytyczna 
##                               1.00000000                               3.84145882 
##                         Statystyka chi^2             Wartość p (test chi-kwadrat) 
##                               5.16923077                               0.02299039 
##                                V Cramera          Współczynnik fi (dla tabel 2x2) 
##                               0.32816506                               0.32816506 
##       Statystyka chi^2 z poprawką Yatesa Wartość p (test chi^2 z poprawką Yatesa) 
##                               3.79780220                               0.05131990 
##                             Statystyka G                       Wartość p (test G) 
##                               5.38600494                               0.02029889 
##        Wartość p (test dokładny Fishera) 
##                               0.04899141
# Test zgodności chi-kwadrat

# Liczebności rzeczywiste
observed <- c(70, 10, 20)

# Liczebności oczekiwane
expected <- c(80, 10, 10)

test_chi <- chisq.test(x = observed, p = expected, rescale.p = TRUE)
test_g <- AMR::g.test(x = observed, p = expected, rescale.p = TRUE)


print(c('Liczba stopni swobody' = test_chi$parameter, 
        'Wartość krytyczna' = qchisq(1-alpha, test_chi$parameter), 
        'Statystyka chi^2' = unname(test_chi$statistic),
        'Wartość p (test chi-kwadrat)' = test_chi$p.value,
        'Statystyka G' = unname(test_g$statistic),
        'Wartość p (test G)' = test_g$p.value
))
##     Liczba stopni swobody.df            Wartość krytyczna             Statystyka chi^2 
##                  2.000000000                  5.991464547                 11.250000000 
## Wartość p (test chi-kwadrat)                 Statystyka G           Wartość p (test G) 
##                  0.003606563                  9.031492255                  0.010935443

18.12 Ćwiczenia

Zadanie 18.1 Wylosowano próbę klientów bankowych i spytano o dochody oraz o produkt bankowy darzony największym zainteresowaniem. Uzyskano następujące wyniki:

Dochód Kredyty Lokaty Inwestycje Suma
Niski 34 18 10 62
Średni 19 30 21 70
Wysoki 20 18 31 69
Suma 73 66 62 201

Czy rodzaj zainteresowania ofertą produktową banku jest niezależny od poziomu dochodów?

Zadanie 18.2 (Aczel and Sounderpandian 2018) Pewne studium opisuje analizę 35 kluczowych kategorii produktów. W momencie przeprowadzania tych badań 72,9% sprzedawanych artykułów było produktami marki narodowej, 23% produktami marek prywatnych, a 4,1% produktami no name. Przypuśćmy, że chcemy sprawdzić, czy ten podział jest wciąż aktualny na dzisiejszym rynku. Gromadzimy losową próbę 1000 produktów z 35 analizowanych kategorii i stwierdzamy, że 610 artykułów jest produktami marek narodowych, 290 produktami marek prywatnych, a 100 jest produktami no name. Przeprowadź test i sformułuj wnioski.

Zadanie 18.3 Wykonano 200 rzutów zwykłą kostką do gry. Otrzymano 38 razy jedynkę, 35 razy dwójkę, 35 razy trójkę, 27 razy czwórkę, 31 razy piątkę i 34 razy szóstkę. Za pomocą testu chi-kwadrat zweryfikuj hipotezę, że kostka jest "uczciwa", tzn. dobrze wyważona.

Zadanie 18.4 Rozkład Benforda to rozkład prawdopodobieństwa występowania określonej pierwszej cyfry w wielu zbiorach danych empiricznych.

Według prawa Benforda jedynka jako pierwsza cyfra występuje w \(\log_{10}(1+1/1) \approx 30{,}1\%\) przypadków, dwójka jako pierwsza cyfra w \(\log_{10}(1+1/2) \approx 17{,}6\%\) przypadków, trójka w \(\log_{10}(1+1/3) \approx 12{,}5\%\) itd.

Należy sprawdzić, czy rozkład pierwszych cyfr w danych o rocznym wynagrodzeniu w funtach brytyjskich piłkarzy w poszczególnych ligach (w Bundeslidze, La Liga, Ligue 1, Premier League i Serie A, dla każdej z tych lig osobno) jest zgodny z rozkładem Benforda.

Dane: https://drive.google.com/file/d/1OPDlBv0yR-aUwYGYcnDGAffFhK2iUvD5/view?usp=share_link

Dane zostały zebrane przez Edda Webstera

Zadanie 18.5 (Aczel and Sounderpandian 2018) Istnieje przekonanie, że zwroty z pewnej inwestycji mają rozkład normalny z wartością średnią 11% (annualizowana stopa) i odchyleniem standardowym 2%. Firma brokerska chce przetestować hipotezę zerową, że stwierdzenie to jest prawdziwe, i zebrała następujące dane o zwrotach w % (zakłada się, że jest to próba losowa): 8,0; 9,0; 9,5; 9,5; 8,6; 13,0; 14,5; 12,0; 12,4; 19,0; 9,0; 10,0; 10,0; 11,7; 15,0; 10,1; 12,7; 17,0; 8,0; 9,9; 11,0; 12,5; 12,8; 10,6; 8,8; 9,4; 10,0; 12,3; 12,9; 7,0. Przeprowadź analizę z wykorzystaniem testu chi-kwadrat i sześciu przedziałów, oraz sformułuj wniosek.

Zadanie 18.6 (Aczel and Sounderpandian 2018) Wykorzystując dane z poprzedniego zadania, przeprowadź test hipotezy zerowej, że zwroty z inwestycji mają rozkład normalny, ale z nieznaną wartością średnią i nieznanym odchyleniem standardowym. Przetestuj jedynie ważność założenia o rozkładzie normalnym. Czym różni się ten test od testu z poprzedniego zadania?

Zadanie 18.7 (Aczel and Sounderpandian 2018) W miarę, jak rynki stają się coraz bardziej międzynarodowe, wiele firm inwestuje w badania mające określić maksymalny możliwy zakres sprzedaży na rynkach zagranicznych. Amerykański producent ekspresów do kawy chce sprawdzić, czy jego udziały w rynku i udziały dwóch jego konkurentów są mniej więcej takie same w trzech krajach europejskich, do których wszystkie trzy firmy eksportują swoje wyroby. Rezultaty badania rynku zebrano w poniższej tablicy. Dane pochodzą z losowych prób 150 konsumentów w każdym z krajów.

Francja Anglia Hiszpania Suma
Firma 55 38 24 117
Konkurent 1 28 30 21 79
Konkurent 2 20 18 31 69
Reszta 47 64 74 185
Suma 150 150 150 450

Zadanie 18.8 Za pomocą testu chi-kwadrat i danych z ćwiczenia 15.1 przetestuj hipotezę zerową mówiącą, że rozkład kierunku przechylania głowy przez całującą się parę ma parametry \(p_R = 0{,}5\) i \(p_L = 0{,}5\) (\(p_R\) to prawdopodobieństwo przechylenia głowy w prawo, \(p_L\) to prawdopodobieństwo przechylenia głowy w lewo). Jakiemu testowi 1 proporcji odpowiada przeprowadzony test? Porównaj wartości p-value.

Zadanie 18.9 W 1972 r. 48 menedżerów bankowych otrzymało te same akta osobowe. Każdego z nich poproszono o ocenę, czy dana osoba powinna zostać awansowana na stanowisko kierownika oddziału, czy też powinni zostać przesłuchani inni kandydaci. Akta były identyczne, z tym wyjątkiem, że w połowie przypadków poinformowano, że rozważana osoba jest kobietą, a w połowie, że mężczyzną. Spośród 24 przypadków „mężczyzn”, awans zaproponowano w 21 przypadkach, spośród 24 przypadków „żeńskich” do awansu zarekomendowano 14 (Rosen and Jerdee 1974). Czy to przekonujący dowód na to, że menedżerowie dyskryminowali aplikujące kobiety? Czy też różnicę w liczbach zalecanych do awansu można z wystarczającą pewnością przypisać przypadkowi? Przedstaw rozwiązanie za pomocą testu chi-kwadrat i porównaj otrzymane wyniki z uzyskanymi za pomocą testu 2 proporcji 17.2.

Zadanie 18.10 Powróć do danych z zadania 15.5. Przetestuj, czy można odrzucić hipotezę, że rozkład zgubionych kluczy w populacji (= w procesie generującym dane) jest równiomierny.

Literatura

Aczel, A. D., and J. Sounderpandian. 2018. Statystyka w Zarządzaniu. PWN. https://ksiegarnia.pwn.pl/Statystyka-w-zarzadzaniu,731934758,p.html.
Rosen, Benson, and Thomas H. Jerdee. 1974. “Influence of Sex Role Stereotypes on Personnel Decisions.” Journal of Applied Psychology 59: 9–14. https://doi.org/10.1037/h0035834.

  1. Jeżeli nasz rozkład jest dwupunktowy (np. tak/nie, choroba/brak) i porównujemy go z teoretycznym, możemy zastosować test dla 1 proporcji (vide rozdział 15) lub test zgodności (vide ćwiczenia 15.1 i 18.8).↩︎

  2. Jeżeli porównujemy dwie proporcje, możemy zastosować test dla 2 proporcji (17) lub test jednorodności chi-kwadrat — vide ćwiczenia 17.2 i 18.9.↩︎