Dziwny sposób obliczania chi-kwadrat w Excelu vs R.

9

Patrzę na arkusz programu Excel, który twierdzi, że oblicza χ2, ale nie rozpoznaję tego sposobu i zastanawiałem się, czy coś mi umknęło.

Oto dane, które analizuje:

+------------------+----------+----------+
| Total Population | Observed | Expected |
+------------------+----------+----------+
|             2000 |       42 | 32.5     |
|             2000 |       42 | 32.5     |
|             2000 |       25 | 32.5     |
|             2000 |       21 | 32.5     |
+------------------+----------+----------+

A oto sumy, które robi dla każdej grupy, aby obliczyć chi kwadrat:

P = (sum of all observed)/(sum of total population) = 0.01625
A = (Observed - (Population * P)) ^2
B = Total Population * P * (1-P)
ChiSq = A/B

Tak więc dla każdej grupy χ2 jest:

2.822793
2.822793
1.759359
4.136448

A łączna wartość chi-kwadrat jest: 11.54139.

Jednak każdy przykład, jaki widziałem obliczania χ2jest zupełnie inny od tego. Zrobiłbym dla każdej grupy:

chiSq = (Observed-Expected)^2 / Expected

I dlatego dla powyższego przykładu uzyskałbym całkowitą wartość chi kwadrat 11.3538.

Moje pytanie brzmi - dlaczego w arkuszu programu Excel obliczają χ2w ten sposób? Czy to uznane podejście?

AKTUALIZACJA

Moim powodem, dla którego chcę to wiedzieć, jest to, że próbuję powtórzyć te wyniki w języku R. Korzystam z funkcji chisq.test i nie wychodzi ona z tym samym numerem co arkusz Excela. Więc jeśli ktoś wie, jak zastosować to podejście w R, byłoby bardzo pomocne!

AKTUALIZACJA 2

Jeśli ktoś jest zainteresowany, oto jak obliczyłem to w R:

res <- matrix(c((2000-42), 42, (2000-42), 42, (2000-25), 25, (2000-21), 21), 2, 4)
chisq.test(res)
użytkownik1578653
źródło
Podejście w drugiej aktualizacji powinno dać poprawną statystykę. Jeśli jednak twoje oczekiwania nie są oparte na sumie zaobserwowanych, możesz mieć problem, ponieważ warunkuje tam wartość p. Zauważam jednak, że oczekiwane i zaobserwowane mają taką samą sumę (mało prawdopodobne, że nastąpi to przypadkowo), więc prawdopodobnie wszystko jest w porządku. Możesz to zrobić łatwiej:x=c(42,42,25,21);chisq.test(cbind(x,2000-x))
Glen_b
@Glen_b W arkuszu programu Excel uważam, że oczekiwania zostały wypracowane przez wykonanie Populacji ogółem * wartości „P”, którą wypracowałem powyżej. Czy to będzie problem? Również całkowita populacja jest różna - w większości jest to 2000, ale może to być naprawdę dowolna liczba. Arkusz Excela, który próbuję tutaj odtworzyć, nie bierze pod uwagę wartości p, więc jeśli nie wpłynie to na statystyki, to może nie jest to problem ...
user1578653
Pytanie sprowadza się do tego, skąd pochodzą litery p. Czy wymagają spojrzenia na całkowitą zaobserwowaną liczbę?
Glen_b
Cóż, dla mnie wygląda to na Ps, a zatem oczekiwane jest oparte zarówno na całkowitej liczbie zaobserwowanych, jak i na całkowitej populacji ... Jednak we wszystkich przykładach, które podano w arkuszu Excela, oczekiwana wartość również wydaje się odpowiadać wartości całkowita obserwowana liczba / liczba zliczeń.
user1578653
Jeśli p są oparte na obliczeniach w ten sposób, oczywiście następują oczekiwania. W takim przypadku wygląda to na stopnie swobody i tak jest w porządku, tak jak zrobiłeś to w R - ale kilka słów mojego wyjaśnienia może wymagać zmiany.
Glen_b

Odpowiedzi:

13

To okazuje się dość proste.

Jest to wyraźnie dwumianowe próbkowanie. Są na to dwa sposoby.

Metoda 1, czyli z arkusza kalkulacyjnego, służy do leczenia zaobserwowanych zliczeń Xi tak jak Bin(Ni,pi), które mogą być przybliżone jako N(μi=Nipi,σi2=Nipi(1pi)). Takie jak,Zi=(Xiμi)/σi są w przybliżeniu standardowe normalne, a Zsą niezależne, więc (w przybliżeniu) iZi2χ2.

(Jeśli p są oparte na obserwowanych liczbach, to Znie są niezależne, ale wciąż ma kwadrat chi z jednym mniejszym stopniem swobody.)

Metoda 2: korzystanie z (OE)2/Eforma chi-kwadrat również działa, ale wymaga uwzględnienia nie tylko tych w kategorii, którą oznaczyłeś jako „Obserwowane”, ale także tych, które nie należą do tej kategorii:

+------------+------+-------+
| Population | In A | Not A |
+------------+------+-------+
|       2000 |   42 |  1958 |
|       2000 |   42 |  1958 |
|       2000 |   25 |  1975 |
|       2000 |   21 |  1979 |
+ -----------+------+-------+

Gdzie Edla pierwszej kolumny są takie, jakie masz, a dla drugiej kolumny są Ni(1pi)

... a następnie suma (OE)2/E w obu kolumnach.

Te dwie formy są algebraicznie równoważne. Zauważ, że 1/p+1/(1p)=1/p(1p). Rozważ ith rząd kwadratu chi:

(Xiμi)2σi2=(XiNipi)2Nipi(1pi)=(XiNipi)2Nipi+(XiNipi)2Ni(1pi)=(XiNipi)2Nipi+(NiNi+NipiXi)2Ni(1pi)=(XiNipi)2Nipi+(NiXi(NiNipi))2Ni(1pi)=(XiNipi)2Nipi+((NiXi)Ni(1pi))2Ni(1pi)=(Oi(A)Ei(A))2Ei(A)+(Oi(A¯)Ei(A¯))2Ei(A¯)

Co oznacza, że ​​powinieneś otrzymać tę samą odpowiedź w obie strony, aż do błędu zaokrąglania.

Zobaczmy:

             Observed             Expected                 (O-E)^2/E          
  Ni        A     not A          A      not A             A           not A      
 2000     42         1958      32.5     1967.5       2.776923077     0.045870394     
 2000     42         1958      32.5     1967.5       2.776923077     0.045870394     
 2000     25         1975      32.5     1967.5       1.730769231     0.028589581     
 2000     21         1979      32.5     1967.5       4.069230769     0.067217281     

                                            Sum     11.35384615      0.187547649  

Chi-kwadrat = 11,353846 + 0,187548 = 11,54139

Która pasuje do ich odpowiedzi.

Glen_b - Przywróć Monikę
źródło
1
Dzięki za pomoc! Nie jestem matematykiem / statystykiem, więc początkowo to mnie pomieszało, ale twoje wyjaśnienie jest bardzo łatwe do zrozumienia.
user1578653