Ich möchte testen, ob x
und y
habe die gleichen Häufigkeitsverteilungen mit Chi-Quadrat. In meinem Code unten bin ich zu dem Schluss gekommen, dass ich, da der P-Wert des Chi-Quadrats> 0,05 ist, keine Beweise dafür gefunden habe x
und y
unterschiedliche Häufigkeitsverteilungen habe. Ist meine Schlussfolgerung richtig?
set.seed(1)
x <- rnorm(100, 3, 2)
y <- rnorm(100, 3, 2)
x_counts <- with(hist(x, plot = FALSE), data.frame(breaks = breaks[-1], counts = counts))
y_counts <- with(hist(y, plot = FALSE), data.frame(breaks = breaks[-1], counts = counts))
y_counts <- rbind(data.frame(breaks = -1, counts = 0), y_counts)
x_probs <- x_counts$counts/sum(x_counts$counts)
chisq.test(x=y_counts$counts, p=c(x_probs), simulate.p.value = TRUE)
# Chi-squared test for given probabilities with simulated p-value (based on 2000 replicates)
# data: y_counts$counts
# X-squared = 3.3808e-31, df = NA, p-value = 1
Antworten:
Es ist ziemlich klar, dass bei Ihrem Experiment etwas schief gelaufen ist. Insbesondere ist es wahrscheinlich, dass die Unterstützung der beiden von Ihnen generierten Distributionen nicht gleich ist und Sie daher ein ziemlich seltsames Ergebnis aus dem Chi-Quadrat-Test erhalten. Ein weiteres Problem besteht darin, dass der Chi-Quadrat-Test eine Verteilung mit einem unbekannten Satz von Frequenzen vergleichen soll, wenn beim Vergleich zweier Verteilungen die Variabilität aufgrund der Schätzung der Frequenzen von nicht berücksichtigt wird.X.
Im Allgemeinen sollten Sie ziemlich sicher sein, dass etwas schief gelaufen ist, wenn Sie Freiheitsgrade von NA und einen p-Wert von 1 erhalten.
Wenn Ihre beiden Zufallsvariablen tatsächlich stetig sind, sind die in den Kommentaren vorgeschlagenen Tests (Kolmogorov-Smirnoff usw.) am besten. Wenn die interessierenden Verteilungen diskret sind, kann ein Generalized-Likelihood-Ratio-Test gut funktionieren. Angenommen, wir beobachten zwei Zufallsvariablen, die jeweils Werte annehmen . Bezeichne mit , die Anzahl der Beobachtungen vom Typ die von aus beobachtet werden , die Anzahl der Beobachtungen vom Typ von und mit und die Gesamtzahl der Beobachtungen. Dann ist die Likelihood-Ratio-Statistik gegeben durch:p xich i ∈ { 1 , . . . , p } ich x yich ich y nx ny
Diese Teststatistik vergleicht im Wesentlichen die Anpassung des Modells unter der Annahme von zwei unterschiedlichen Verteilungen mit dem Modell unter der Annahme einer einzigen Verteilung für die beiden Beobachtungssätze. Der vorgeschlagene Test wird im folgenden Code implementiert:
quelle
NA
ist, weilsimulate.p.value
verwendet wurde (warum nicht die Standardberechnung mitIch beherrsche R. nicht.
Ich würde sagen, die Antwort lautet ja, das H0 ist, dass die beiden Verteilungen gleich sind. Das bedeutet x = y in Ihrem Befehl, oder? Und dann p-Wert = 1 Auf jeden Fall lehnen Sie den H0 nicht ab
quelle