Test di normalità appropriati per piccoli campioni


22

Finora ho usato la statistica di Shapiro-Wilk per testare ipotesi di normalità in piccoli campioni.

Potresti per favore consigliare un'altra tecnica?


1
Qui ci sono un paio di altre domande di possibile interesse: is-normality-testing-essenzialmente-inutile , per una discussione sul valore del test di normalità e what-if-residuals-are-normalmente-distribut-but-y-is- no , per una discussione / chiarimento del senso in cui la normalità è un'ipotesi di un modello lineare.
gung - Ripristina Monica

3
Il Wilk di Shapiro-Wilk si riferisce a Martin B. Wilk. È fin troppo facile scrivere "Wilks" specialmente (a) se qualcun altro lo ha detto o scritto e lo stai copiando (b) conosci il lavoro nelle statistiche di Samuel S. Wilks, una persona abbastanza diversa (c) che ottieni confuso sulle "s" terminali in inglese, dati i suoi altri usi per plurali (statistiche, gatti, cani, ...) e possessivi (s), che è comune anche tra quelli la cui prima lingua è l'inglese. Ho modificato questo thread nella misura del possibile; Non riesco a entrare nei commenti.
Nick Cox,

Risposte:


24

Il pacchetto fBasics in R (parte di Rmetrics ) include diversi test di normalità , che coprono molti dei popolari test per frequentisti - Kolmogorov-Smirnov, Shapiro-Wilk, Jarque – Bera e D'Agostino - insieme a un wrapper per i test di normalità nel pacchetto più settentrionale - Anderson – Darling, Cramer – von Mises, Lilliefors (Kolmogorov-Smirnov), Pearson chi – square e Shapiro – Francia. La documentazione del pacchetto fornisce anche tutti i riferimenti importanti. Ecco una demo che mostra come utilizzare i test da Nortest .

Un approccio, se hai tempo, è quello di utilizzare più di un test e verificare l'accordo. I test variano in vari modi, quindi non è del tutto semplice scegliere "il migliore". Che cosa usano gli altri ricercatori nel tuo campo? Questo può variare e potrebbe essere meglio attenersi ai metodi accettati in modo che altri accettino il tuo lavoro. Uso frequentemente il test Jarque-Bera, in parte per questo motivo, e Anderson-Darling per il confronto.

Puoi dare un'occhiata a "Confronto di test per la normalità univariata" (Seier 2002) e "Un confronto di vari test di normalità" (Yazici; Yolacan 2007) per un confronto e una discussione dei problemi.

È anche banale testare questi metodi per il confronto in R, grazie a tutte le funzioni di distribuzione . Ecco un semplice esempio con dati simulati (non stamperò i risultati per risparmiare spazio), anche se sarebbe necessaria un'esposizione più completa:

library(fBasics); library(ggplot2)
set.seed(1)

# normal distribution
x1 <- rnorm(1e+06)   
x1.samp <- sample(x1, 200)
qplot(x1.samp, geom="histogram")
jbTest(x1.samp)
adTest(x1.samp)

# cauchy distribution
x2 <- rcauchy(1e+06)
x2.samp <- sample(x2, 200)
qplot(x2.samp, geom="histogram")
jbTest(x2.samp)
adTest(x2.samp)

Una volta ottenuti i risultati dei vari test su diverse distribuzioni, puoi confrontare quali erano i più efficaci. Ad esempio, il valore p per il test Jarque-Bera sopra ha restituito 0,276 per la distribuzione normale (accettando) e <2,2e-16 per il cauchy (rifiutando l'ipotesi nulla).


Grazie Shane, ottima risposta! Bene, "gli altri" dal mio campo usano spesso SPSS, quindi usano Kolmogorov-Smirnov (se controllano affatto la normalità), sebbene IMHO il test di Lilliefors sia una scelta migliore quando i dati vengono raccolti da un campione (quando i parametri sono sconosciuto). Mi è stato insegnato che Shapiro-Wilk è appropriato per piccoli campioni, e volevo solo ottenere maggiori informazioni sui "test di normalità per piccoli campioni" ... A proposito, io uso più bello in R! =)
aL3xa

12

Per la normalità, l'attuale Shapiro-Wilk ha un buon potere in campioni abbastanza piccoli.

Il principale concorrente negli studi che ho visto è il più generale Anderson-Darling, che fa abbastanza bene, ma non direi che era meglio. Se puoi chiarire quali alternative ti interessano, probabilmente una statistica migliore sarebbe più ovvia. [modifica: se si stimano i parametri, il test AD dovrebbe essere adattato per quello.]

[Consiglio vivamente di non considerare Jarque-Bera in piccoli campioni (che probabilmente è meglio conosciuto come Bowman-Shenton nei circoli statistici - hanno studiato la piccola distribuzione dei campioni). La distribuzione congiunta asintotica di asimmetria e curtosi non assomiglia affatto alla distribuzione di piccoli campioni - allo stesso modo una banana non assomiglia molto a un'arancia. Ha anche una potenza molto bassa rispetto ad alcune alternative interessanti - ad esempio ha una bassa potenza per captare una distribuzione bimodale simmetrica che ha una curtosi simile a quella di una distribuzione normale.]

Spesso le persone testano la bontà di adattamento per quelle che si rivelano ragioni non particolarmente buone, oppure rispondono a una domanda diversa da quella a cui realmente vogliono rispondere.

Ad esempio, quasi sicuramente sai già che i tuoi dati non sono davvero normali (non esattamente), quindi non ha senso cercare di rispondere a una domanda a cui conosci la risposta - e il test di ipotesi in realtà non risponde comunque .

Dato che sai che non hai già la normalità esatta, il tuo test di ipotesi sulla normalità ti sta davvero dando una risposta a una domanda più vicina a "la mia dimensione del campione è abbastanza grande da raccogliere la quantità di non normalità che ho", mentre la vera domanda a cui sei interessato a rispondere è di solito più vicina a "qual è l' impatto di questa non normalità su queste altre cose che mi interessano?". Il test di ipotesi sta misurando la dimensione del campione, mentre la domanda a cui sei interessato a rispondere non dipende molto dalla dimensione del campione.

Ci sono momenti in cui il test della normalità ha un senso, ma quelle situazioni non si verificano quasi mai con piccoli campioni.

Perché stai testando la normalità?


Grazie per un'ottima risposta e una grande domanda in seguito. È fondamentale avere un'idea del contesto del problema. Bene, così tante volte ho visto persone che eseguivano t-test, r di Pearson o ANOVA senza avere alcuna idea della forma di distribuzione (che è spesso distorta) - le tecniche parametriche "necessitano" di un presupposto di normalità soddisfatto. In psicologia (che è il mio campo di interesse), abbiamo spesso a che fare con piccoli campioni, quindi ho bisogno di un test di normalità adeguato.
aL3xa,

5
Ma la normalità non è mai soddisfatta. A volte è una descrizione ragionevole dei dati, ma in realtà non sono normali. Mentre è ragionevole verificare la non normalità quando lo si assume, non è particolarmente utile testarli (per i motivi che ho descritto sopra). Faccio una trama qq, ad esempio, ma un test di ipotesi risponde alla domanda sbagliata in questa situazione. t-test e anova di solito funzionano abbastanza bene se le distribuzioni non sono fortemente distorte. Un approccio migliore potrebbe essere quello di utilizzare procedure che non assumono la normalità, forse tecniche di ricampionamento.
Glen_b -Restinata Monica,

Oppure puoi usare test non parametrici, al costo di avere meno energia. E nulla è assolutamente soddisfatto nelle statistiche, non è solo un problema di normalità. Tuttavia, il bootstrap o il jackknifing non sono una soluzione quando si introduce qualcuno ai presupposti di t-test e / o ANOVA. Dubito che le tecniche di ricampionamento risolvano affatto i problemi di normalità. Si dovrebbe verificare la normalità sia graficamente (diagramma di densità, diagramma a riquadri, diagramma QQ, istogramma) che "numericamente" (test di normalità, asimmetria, curtosi, ecc.). Cosa suggerisci? Questo è completamente fuori tema, ma come verificherebbe, diciamo, le ipotesi di normalità ANOVA?
aL3xa il

@ aL3xa Penso che l'approccio di randomizzazione sia più appropriato dato il tuo campo di ricerca; nonostante i consueti test parametrici forniscano una buona approssimazione ai test di permutazione esatti, i test non parametrici implicano anche un qualche tipo di ipotesi (ad esempio sulla forma della distribuzione). Mi chiedo persino come potremmo davvero definire ciò che è una deviazione dalla normalità nello studio su piccoli campioni. Penso che dovresti chiedere ulteriori discussioni su questo punto in una domanda separata.
chl

10

Esiste un'intera categoria di Wikipedia sui test di normalità, tra cui:

Penso che AD sia probabilmente il migliore.


1
Sono d'accordo. Ho eseguito un rapido test del test AD, Jarque-Bera, e il test di Spiegelhalter (1983), sotto lo zero, con dimensione del campione 8, ripetendo 10.000 volte. Il test AD mantiene il tasso di rigetto nominale e fornisce valori uniformi, mentre il test JB è terribile, Spiegelhalter è mediocre.
shabbychef,

1
@shabbychef Il test di Jarque-Bera si basa sulla normalità asintotica dell'asimmetria del campione e della curtosi, che non funziona bene nemmeno per i 100 bassi . Ma per ottenere il tasso di rifiuto desiderato è possibile regolare i valori critici, ad esempio in base ai risultati della simulazione, come nella sezione 4.1 di Thadewald, T e H. Buning, 2004, test di Jarque-Bera e dei suoi concorrenti per testare la normalità - Un confronto di potenza , Discussione Paper Economics 2004/9, School of Business and Economics, Libera Università di Berlino.
Silverfish,

3

Per completezza, agli econometrici piace anche il test di Kiefer e Salmon dal loro articolo del 1983 in Economics Letters - riassume espressioni "normalizzate" di asimmetria e curtosi che viene poi distribuita chi-quadro. Ho una vecchia versione C ++ che ho scritto durante la scuola elementare che potrei tradurre in R.

Edit: Ed ecco un recente articolo di Bierens (ri) derivante da Jarque-Bera e Kiefer-Salmon.

Modifica 2: Ho esaminato il vecchio codice e sembra che sia davvero lo stesso test tra Jarque-Bera e Kiefer-Salmon.


2

In effetti, il test Kiefer Salmon e il test Jarque Bera sono sostanzialmente diversi, come mostrato in diversi punti, ma più recentemente qui - Test momentanei per distribuzioni di errori standardizzate: un approccio semplice e robusto di Yi-Ting Chen. Il test Kiefer Salmon per costruzione è solido di fronte alle strutture di errore di tipo ARCH a differenza del test Jarque Bera standard. Il documento di Yi-Ting Chen sviluppa e discute su quelli che penso siano probabilmente i migliori test al momento.


4
Chen sembra focalizzarsi su set di dati più grandi, il che ha senso perché il quarto, il sesto e il momento più alto coinvolti in questi test impiegheranno del tempo per stabilizzarsi a livelli asintotici. Ma i test distributivi vengono generalmente utilizzati per set di dati inferiori a 250 valori (il minimo studiato in questo documento). In effetti, la maggior parte di essi diventa così potente con grandi quantità di dati che sono poco più che ripensamenti in tali applicazioni. O sta succedendo di più qui di quello che sto vedendo?
whuber

0

Per campioni di dimensioni <30 soggetti, si ritiene che Shapiro-Wilk abbia una potenza robusta - Fare attenzione , quando si regola il livello di significatività del test, poiché potrebbe causare un errore di tipo II! [1]


In piccoli campioni, i test di idoneità non sono generalmente in grado di respingere la normaility.
Michael R. Chernick,

@MichaelChernick cosa succede nel caso specifico allora? Qual è la ragione dietro un piccolo essere "classificato" come non normale?
Aliakbar Ahmadi,
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.