Matlab-test auf Unabhängigkeit
Für 1.000.000 Beobachtungen, die ich beobachtet eine diskrete Ereignis -, X, 3 mal für die Kontroll-Gruppe und 10 mal für die test-Gruppe.
Muss ich preform ein Chi-Quadrat-test auf Unabhängigkeit in Matlab. Dies ist, wie Sie es tun würde, in r:
m <- rbind(c(3, 1000000-3), c(10, 1000000-10))
# [,1] [,2]
# [1,] 3 999997
# [2,] 10 999990
chisq.test(m)
Die r-Funktion liefert chi-squared = 2.7692, df = 1, p-value = 0.0961.
Was Matlab-Funktion soll ich verwenden oder zu erstellen, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist meine eigene Implementierung, die ich benutze:
Und ein Beispiel zur Verdeutlichung:
Beachten Sie, dass die Ergebnisse unterscheiden sich von dir, weil
chisq.test
führt eine Korrektur standardmäßig nach?chisq.test
Alternativ, wenn Sie die tatsächlichen Beobachtungen der zwei Ereignisse in Frage, können Sie die KREUZTABELLE Funktion, die berechnet die Kontingenz-Tabelle und zurück, das Chi2 und p-Wert Maßnahmen:
den Gegenwert in R wäre:
Hinweis: Beide (MATLAB) - Ansätze erfordern oben die Statistik Toolbox
correct = true
für matlab?X2 = sum(sum( (abs(o-e)-0.5).^2 ./ e ));
aber Sie müssen manuell überprüfen, dass diese Korrektur gilt nur für 2x2-Tabellen: en.wikipedia.org/wiki/Yates%27_correction_for_continuityDieser Funktion wird der test für die Unabhängigkeit mit dem Pearson-chi-Quadrat-Teststatistik und der Likelihood-Ratio-Statistik, zusammen mit der Berechnung von Residuen. Ich weiß, das kann vektorisiert weiter, aber ich versuche zu zeigen, die Mathematik für jeden Schritt.