"I legami non dovrebbero essere presenti" nel test di Kolmgorov-Smirnov su un campione in R


12

Userò il test di Kolmogorov-Smirnov per testare la normalità di MYDATA in R. Questo è un esempio di ciò che faccio

 ks.test(MYDATA,"pnorm",mean(MYDATA),sd(MYDATA))

Ecco il risultato che mi dà R:

 data:  MYDATA
 D = 0.13527, p-value = 0.1721
 alternative hypothesis: two-sided

 Warning message:
 In ks.test(MYDATA, "pnorm", mean(MYDATA), sd(MYDATA)) :
    ties should not be present for the Kolmogorov-Smirnov test

Penso che ci sia un problema, cosa significa "legami" in questo avviso?


2
Perché desideri eseguire questo test di normalità? Nella maggior parte dei casi, testare la normalità di una variabile è piuttosto inutile , sebbene testare la normalità dei residui dopo una regressione possa essere importante.
EdM,

2
Anche senza vincoli, il test KS non è un test per la normalità generale ma di una distribuzione completamente specificata (stai stimando la media e la sd dai dati). I tuoi valori p saranno senza senso. Cerca nel nostro sito riferimenti a test
Lilliefors

Risposte:


10

Hai due problemi qui:

Il test KS è per una distribuzione continua e quindi MYDATA non dovrebbe contenere alcun legame (valori ripetuti).

La teoria alla base del test KS non ti consente di stimare i parametri della distribuzione dai dati come hai fatto. L'aiuto per ks.test spiega questo.


perché ks.testin un caso di due campioni si desidera rimuovere i legami da entrambi xe y? Voglio dire, non ho legami in xe y( unique(x)e unique(y)), ma i due vettori hanno un valore in comune. I legami non dovrebbero essere considerati solo tra i valori in xe in y?
Nemesi,

@Nemesi se hai una nuova domanda, per favore, ponila come tale usando il pulsante Poni domanda.
mdewey,

Pensavo che non fosse abbastanza per essere una domanda diversa, ma eccola qui: stats.stackexchange.com/questions/389151/…
Nemesi

5

Come spiegato da @mdewey, il test KS non è adatto per la stima dei parametri dai dati. È possibile utilizzare il seguente codice, che si basa sul test Anderson-Darling per la normalità e non richiede di fornire la media e lo stddev. Questo test ha una precisione maggiore rispetto al test Lilliefors.

install.packages("nortest")
library(nortest)
ad.test(MYDATA)

"Precisione" può essere per una ricerca ristretta ma fuorviante. In entrambi i casi, la maggior parte delle applicazioni di uno di questi test è nella peggiore delle ipotesi inutile e nella maggior parte dei casi fuorviante. Alle persone viene spesso insegnato a usarle da persone con una comprensione errata delle ipotesi sui metodi di regressione. Suppongo che la relativa debolezza del test KS renderebbe effettivamente "migliore" l'uso di alternative più potenti poiché i suoi risultati avrebbero meno probabilità di essere fuorvianti per l'utente ingenuo.
DWin,
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.