Strano modo di calcolare chi-quadrato in Excel vs R


9

Sto guardando un foglio Excel che afferma di calcolare il , ma non riconosco questo modo di farlo, e mi chiedevo se mi mancasse qualcosa.χ2

Ecco i dati che sta analizzando:

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

E qui ci sono le somme che fa per ogni gruppo per calcolare il chi quadrato:

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

Quindi per ogni gruppo il è:χ2

2.822793
2.822793
1.759359
4.136448

E il totale Piazza Chi è: 11.54139.

Tuttavia, ogni esempio che ho visto di calcolare è completamente diverso da questo. Farei per ogni gruppo:χ2

chiSq = (Observed-Expected)^2 / Expected

E quindi per l'esempio sopra otterrei un valore chi quadrato totale di 11.3538.

La mia domanda è: perché nel foglio Excel stanno calcolando in questo modo? È un approccio riconosciuto?χ2

AGGIORNARE

La mia ragione per voler sapere questo è che sto cercando di replicare questi risultati nel linguaggio R. Sto usando la funzione chisq.test e non esce con lo stesso numero del foglio Excel. Quindi, se qualcuno sa come fare questo approccio in R, sarebbe molto utile!

AGGIORNAMENTO 2

Se qualcuno è interessato, ecco come l'ho calcolato in R:

res <- matrix(c((2000-42), 42, (2000-42), 42, (2000-25), 25, (2000-21), 21), 2, 4)
chisq.test(res)

L'approccio nel secondo aggiornamento dovrebbe fornire la statistica corretta. Tuttavia, se le tue aspettative non si basano sulla somma dell'osservato, potresti avere un problema perché il valore p è presente. Tuttavia, noto che l'atteso e l'osservato hanno lo stesso totale (è improbabile che accada per caso), quindi probabilmente tutto va bene. Potresti farlo più facilmente in questo modo:x=c(42,42,25,21);chisq.test(cbind(x,2000-x))
Glen_b -Restate Monica

@Glen_b Nel foglio Excel credo che le aspettative vengano elaborate facendo Popolazione totale * il valore 'P' che ho elaborato sopra. Sarà un problema? Anche la popolazione totale varia - il più delle volte è 2000 ma potrebbe essere davvero qualsiasi numero. Il foglio Excel che sto cercando di ricreare qui in realtà non tiene conto del valore p, quindi se la statistica non sarà influenzata da questo, forse non è un problema ...
user1578653

La domanda si riduce a da dove provengono le p. Coinvolgono guardando il conteggio totale osservato?
Glen_b -Restate Monica

Bene, a me sembra la Ps, e quindi il previsto è basato sia sul conteggio totale osservato che sulla popolazione totale ... Comunque in tutti gli esempi che sono stati dati nel foglio Excel il valore atteso sembra corrispondere anche al conteggio totale osservato / numero di conteggi.
user1578653

Se le p sono basate sui conteggi in quel modo, ovviamente le aspettative seguono. In questo caso, sembra che i gradi di libertà e così via vadano bene come hai fatto in R - ma alcune parole della mia spiegazione potrebbero dover cambiare.
Glen_b -Restate Monica

Risposte:


13

Questo risulta essere abbastanza semplice.

Questo è chiaramente un campionamento binomiale. Ci sono due modi per vederlo.

Il metodo 1, quello del foglio di calcolo, per trattare i conteggi osservati come , che può essere approssimato come . Pertanto, sono approssimativamente normali normali e le sono indipendenti, quindi (circa) .XiBin(Ni,pi)N(μi=Nipi,σi2=Nipi(1pi))Zi=(Xiμi)/σiZiZi2χ2

(Se le p si basano sui conteggi osservati, le non sono indipendenti, ma è comunque chi-quadrato con un grado di libertà inferiore.)Z

Metodo 2: l'utilizzo del sotto forma di chi-quadrato funziona anche, ma richiede che si tenga conto non solo di quelli della categoria che hai etichettato 'Osservato', ma anche quelli non in quella categoria:(OE)2/E

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

Dove le per la prima colonna sono come le hai tu, e quelle per la seconda colonna sonoENi(1pi)

... e quindi sommare su entrambe le colonne.(OE)2/E

Le due forme sono algebricamente equivalenti. Si noti che . Considera la i riga del chi-quadrato:1/p+1/(1p)=1/p(1p)th

(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¯)

Ciò significa che dovresti ottenere la stessa risposta in entrambi i modi, fino all'errore di arrotondamento.

Vediamo:

             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-quadrato = 11.353846 + 0.187548 = 11.54139

Che corrisponde alla loro risposta.


1
Grazie per l'aiuto! Non sono un matematico / statistico quindi questo inizialmente mi ha confuso, ma la tua spiegazione è molto facile da capire.
user1578653
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.