Kolmogorov-Smirnov-test
Ich bin mit der R-Funktion ks.test()
zum test der Gleichmäßigen Verteilung der R-random number generator. Ich bin mit dem folgenden code:
replicate(100000, ks.test(runif(n),y="punif")
.
Wenn n
ist weniger als oder gleich 100 ist, das es funktioniert, aber wenn n
größer als 100 ist, bekomme ich die folgende Warnmeldung angezeigt:
In ks.test(runif(100000), y = "punif") :
ties should not be present for the Kolmogorov-Smirnov test.
Was sind diese "Bande"?
Haben Sie versucht
Klingt wie
?ks.test
Klingt wie
runif()
zurückgegeben doppelte Werte. Versuchen Sie bei x<-runif(100000);ks.test(x, y = "punif");sum(duplicated(x))
statt, um zu sehen, wenn das der Fall ist. (Denn es ist zufällig, Sie kann nicht bekommen das gleiche Ergebnis jedes mal)InformationsquelleAutor Egodym | 2015-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie untersuchen die Leiche der Funktion
ks.test
sehen Sie die folgende Zeile irgendwo im Körper:Dieser sagt Ihnen, dass, wenn die Anzahl der eindeutigen Elemente in x ist nachfolgend die Anzahl von Elementen erhalten Sie diese Warnung. In anderen Worten, wenn der Vektor hat doppelte Einträge - Sie erhalten die Warnung.
Wahrscheinlich ist, was passiert ist, ist, dass, wenn n > 100 gibt es mehr Chancen, um einen duplizierten Wert dort irgendwo verglichen mit n = 100. Seit Sie wiederholen diese Tausende Male die Wahrscheinlichkeit für zwei identische Werte von x steigt.
Als Beispiel diesen code nicht geben Sie mir eine Warnung:
Habe eine ähnliche Frage. Bedeutet das, dass der test nicht gültig ist, wenn es Beziehungen?
Bitte berücksichtigen Sie auf der Suche nach einer Antwort in den Stats.StackExchange. HERE ist ein Beispiel, das Ihnen helfen könnte.
InformationsquelleAutor Karolis Koncevičius