È significativo testare la normalità con una dimensione del campione molto piccola (ad esempio, n = 6)?


26

Ho una dimensione del campione di 6. In tal caso, ha senso testare la normalità usando il test di Kolmogorov-Smirnov? Ho usato SPSS. Ho una dimensione del campione molto piccola perché ci vuole tempo per ottenerne ciascuno. Se non ha senso, quanti campioni è il numero più basso che ha senso testare?

Nota: ho fatto alcuni esperimenti relativi al codice sorgente. L'esempio è il tempo impiegato per la codifica in una versione del software (versione A) In realtà, ho un'altra dimensione del campione di 6 che è il tempo impiegato per la codifica in un'altra versione del software (versione B)

Vorrei fare un test di ipotesi usando un test t di un campione per verificare se il tempo trascorso nella versione del codice A è diverso dal tempo trascorso nella versione del codice B o meno (Questo è il mio H1). Il presupposto del test t per un campione è che i dati da testare debbano essere normalmente distribuiti. Ecco perché devo testare la normalità.


6
Io, per uno, ho difficoltà a immaginare un contesto in cui n = 6 e la normalità sarebbero un'ipotesi che merita di essere testata. Temo che questo sia un caso di un utente inesperto che esegue test multipli di ipotesi (esegui una regressione e poi verifica la normalità dei residui) e che stiamo affrontando i sintomi ma ignorando gli scheletri nell'armadio, per così dire.
user603

3
@utente Non è giusto speculare sull'interrogante. Affrontiamo la domanda, vero? Supponiamo quindi che prevedi di calcolare un limite di previsione superiore per un valore che verrà utilizzato per prendere una decisione costosa. Il valore del PL sarà sensibile alle ipotesi di normalità. Sei abbastanza sicuro che il processo di generazione dei dati non sia normale, ma i dati sono costosi e richiedono molto tempo per essere generati. Esperimenti precedenti suggeriscono che sarà sufficientemente potente da rifiutare la normalità. (Ho appena descritto un framework standard per i programmi di monitoraggio delle acque sotterranee negli Stati Uniti.)n=6
whuber

3
User603 (per il tuo primo commento): vorrei sottolineare che @Joris non ha fornito una risposta, né il suo commento è accompagnato da alcuna giustificazione di sorta. Se un "no" enfatico è una risposta generale valida a questa domanda, vediamo come scritto in quanto tale, con un argomento di supporto, in modo che possa essere valutato su e giù dalla comunità.
whuber

2
@whuber: ho aggiunto un argomento per il "no" enfatico.
Joris Meys,

1
@Joris Grazie! È utile e illuminante.
whuber

Risposte:


38

Sì.

Tutti i test di ipotesi hanno due proprietà salienti : la loro dimensione (o "livello di significatività"), un numero che è direttamente correlato alla fiducia e ai tassi di falsi positivi attesi, e il loro potere, che esprime la possibilità di falsi negativi. Quando le dimensioni del campione sono piccole e si continua a insistere su una dimensione ridotta (alta confidenza), la potenza peggiora. Ciò significa che i test su piccoli campioni di solito non sono in grado di rilevare differenze piccole o moderate. Ma sono ancora significativi .

Il test KS valuta se il campione sembra provenire da una distribuzione normale. Un campione di sei valori dovrà apparire davvero non normale per non superare questo test. Ma se lo fa, puoi interpretare questo rifiuto del null esattamente come lo interpreteresti con campioni di dimensioni maggiori. D'altra parte, se il test non rifiuta l'ipotesi nulla, ciò ti dice poco, a causa dell'elevato tasso di falsi negativi. In particolare, sarebbe relativamente rischioso agire come se la distribuzione sottostante fosse normale.

Un'altra cosa a cui fare attenzione: alcuni software utilizzano approssimazioni per calcolare i valori p dalle statistiche dei test. Spesso queste approssimazioni funzionano bene per campioni di grandi dimensioni ma agiscono male per campioni di dimensioni molto piccole. In questo caso, non ci si può fidare che il valore p sia stato calcolato correttamente, il che significa che non si può essere sicuri che la dimensione del test desiderata sia stata raggiunta. Per i dettagli, consultare la documentazione del software.

Alcuni consigli: il test KS è sostanzialmente meno potente per testare la normalità rispetto ad altri test appositamente costruiti per questo scopo. Il migliore di questi è probabilmente il test Shapiro-Wilk , ma altri comunemente usati e quasi altrettanto potenti sono lo Shapiro-Francia e Anderson-Darling .

Questo diagramma mostra la distribuzione della statistica del test di Kolmogorov-Smirnov in 10.000 campioni di sei variate normalmente distribuite:

Istogramma della statistica KS

α=5%

0.000, 0.001, 0.002, 1.000, 1.001, 1000000

La statistica del test è 0,5 (che è inferiore al valore critico). Un simile campione verrebbe respinto usando gli altri test di normalità.


10
Penso a qualsiasi distribuzione che dia un sig. il risultato con N = 6 sarà così non normale che passerà l'IOTT a pieni voti - questo è il test del trauma interoculare. Ti colpisce tra gli occhi.
Peter Flom - Ripristina Monica

2
N=6N=6

Solo per divertimento, ho provato set.seed (3833782) x <- runif (6) ks.test (x, pnorm) Questo era significativo a p = .04. Quindi può succedere
Peter Flom - Reintegrare Monica

4
@Peter Good! Un test KS per la normalità ha rifiutato un campione uniforme. Questo è ciò che si spera.
whuber

3
set.seed(140);x=rnorm(6);ks.test(x,pnorm)produce p-value = 0.0003255. Ovviamente ho dovuto provarlo con 140 semi prima di trovare questo ...
Spacedman

20

Come @whuber ha chiesto nei commenti, una convalida per il mio NO categorico. modifica: con il test shapiro, poiché il test ks a un campione viene effettivamente erroneamente utilizzato. Whuber è corretto: per un uso corretto del test Kolmogorov-Smirnov, è necessario specificare i parametri distributivi e non estrarli dai dati. Questo è tuttavia ciò che viene fatto in pacchetti statistici come SPSS per un test KS a un campione.

Si tenta di dire qualcosa sulla distribuzione e si desidera verificare se è possibile applicare un test t. Quindi questo test viene fatto per confermare che i dati non si discostano dalla normalità in modo sufficientemente significativo da rendere non validi i presupposti sottostanti dell'analisi. Quindi, non sei interessato all'errore di tipo I, ma all'errore di tipo II.

Ora si deve definire "significativamente diverso" per essere in grado di calcolare il minimo n per la potenza accettabile (diciamo 0,8). Con le distribuzioni, non è semplice da definire. Quindi, non ho risposto alla domanda, dato che non posso dare una risposta ragionevole a parte la regola empirica che uso: n> 15 e n ​​<50. In base a cosa? Mi sento in fondo, quindi non posso difendere quella scelta a parte l'esperienza.

Ma so che con solo 6 valori il tuo errore di tipo II è quasi pari a 1, rendendo la tua potenza vicina a 0. Con 6 osservazioni, il test di Shapiro non è in grado di distinguere tra una distribuzione normale, poisson, uniforme o persino esponenziale. Con un errore di tipo II quasi 1, il risultato del test non ha senso.

Per illustrare i test di normalità con il test shapiro:

shapiro.test(rnorm(6)) # test a the normal distribution
shapiro.test(rpois(6,4)) # test a poisson distribution
shapiro.test(runif(6,1,10)) # test a uniform distribution
shapiro.test(rexp(6,2)) # test a exponential distribution
shapiro.test(rlnorm(6)) # test a log-normal distribution

L'unico caso in cui circa la metà dei valori sono inferiori a 0,05, è l'ultimo. Qual è anche il caso più estremo.


se vuoi scoprire qual è il minimo n che ti dà una potenza che ti piace con il test shapiro, puoi fare una simulazione come questa:

results <- sapply(5:50,function(i){
  p.value <- replicate(100,{
    y <- rexp(i,2)
    shapiro.test(y)$p.value
  })
  pow <- sum(p.value < 0.05)/100
  c(i,pow)
})

che ti dà un'analisi di potenza come questa:

inserisci qui la descrizione dell'immagine

da cui concludo che sono necessari circa 20 valori minimi per distinguere un esponenziale da una distribuzione normale nell'80% dei casi.

trama del codice:

plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
    main="Power simulation for exponential distribution",
    xlab="n",
    ylab="power"
)

2
@whuber: per quanto riguarda la logica del test di ipotesi sulla sua testa: in quale caso ti interessa l'ipotesi alternativa? In tutte le applicazioni di questi test che ho visto, le persone sono interessate alla conferma del null: i miei dati non differiscono significativamente da una normale distribuzione. Ecco perché sottolineo l'errore di tipo II.
Joris Meys,

4
Vedi i miei commenti all'OP in merito al monitoraggio delle acque sotterranee. In genere le persone sono interessate a rifiutare una o entrambe le ipotesi predefinite: normalità e lognormalità. Poiché ciò viene fatto sotto stretto controllo normativo, non è sufficiente osservare un diagramma delle probabilità (che è un potente strumento per professionisti IOTT esperti come @Peter Flom): sono necessari test formali. Un'applicazione simile si verifica nella valutazione del rischio per la salute umana; I documenti orientativi EPA degli Stati Uniti contemplano specificamente i test conn a partire da 5. Vedi epa.gov/oswer/riskassessment/pdf/ucl.pdf , ad es .
whuber

4
Per tornare al titolo: è significativo testare la normalità con campioni di piccole dimensioni? In alcuni casi lo è, specialmente quando si eseguono test su alternative fortemente distorte. (SW ha una potenza dell'80% an=8 contro un'alternativa LN (1,2), ad es.) Bassa potenza rispetto a molte alternative quando nè piccolo qualcosa che i test di normalità condividono, in un modo o nell'altro, con qualsiasi test di ipotesi. Ciò non preclude il suo utilizzo. Pertanto, un "no" non qualificato è, per dirla leggermente, ingiusto alla prova. Più in generale, suggerisce che non dovremmo mai usare mai test di ipotesi su "piccoli" campioni. Sembra troppo draconiano.
whuber

3
@whuber: dovremo concordare di dissentire. Non sono completamente un fan delle linee guida EPA (e sicuramente non della FDA). Ho visto questo abuso una volta troppo spesso per credere ancora nella sua utilità. Il caso è una cosa strana e con solo 6 casi altamente imprevedibili. Non credo che tu possa dire nulla su una funzione complessa come un PDF basato su solo 6 osservazioni. YMMV
Joris Meys,

5
@ImAlso Il test t può tollerare molta non normalità se è abbastanza simmetrico, ma non può tollerare troppa asimmetria. (In effetti, un test di asimmetria per la normalità potrebbe effettivamente essere un'opzione migliore nel PO rispetto al test KS, proprio per questo motivo.) Ciò evidenzia una delle maggiori differenze tra i test di bontà di adattamento e altri test di ipotesi: esiste un enorme spazio di possibili alternative e i test GoF tendono ad essere buoni contro alcuni di essi ma non contro altri. Non puoi farli funzionare bene contro tutte le alternative.
whuber

-2

La domanda posta qui ha alcuni malintesi sul perché è richiesto il controllo della normalità per una dimensione del campione di 6. Qui l'obiettivo principale è "testare se il tempo trascorso nella versione del codice A è diverso dal tempo trascorso nella versione del codice B o meno ( Questo è il mio H1) ”. Quando si usa la parola "differ", si tratta di un test di coda ?. Tuttavia, il test della Normalità è un secondo passo. Il primo passo è verificare l'adeguatezza della potenza predeterminata (1-β) del test per una data dimensione del campione quando la potenza è molto bassa, a che cosa serve il test delle condizioni di normalità ?. Il controllo delle condizioni di normalità ci aiuterà a decidere se passare il test parametrico o non parametrico ?. Se la dimensione del tuo campione non ha una potenza adeguata, perché dovresti pensare a testare la Normalità ?.


(-1) Questo non è molto chiaro. Si prega di leggere questa pagina su come rispondere alle domande: stats.stackexchange.com/help/how-to-answer
mkt - Ripristina Monica
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.