Ich habe gehört, dass unter der Nullhypothese die p-Wert-Verteilung gleichmäßig sein sollte. Simulationen von Binomialtests in MATLAB liefern jedoch sehr unterschiedliche Verteilungen mit einem Mittelwert von mehr als 0,5 (in diesem Fall 0,518):
coin = [0 1];
success_vec = nan(20000,1);
for i = 1:20000
success = 0;
for j = 1:200
success = success + coin(randperm(2,1));
end
success_vec(i) = success;
end
p_vec = binocdf(success_vec,200,0.5);
hist(p_vec);
Der Versuch, die Art und Weise zu ändern, in der ich Zufallszahlen generiere, hat nicht geholfen. Ich würde mich über jede Erklärung hier wirklich freuen.
binocdf
handelt sich nur um die CDF des Binomials uk.mathworks.com/help/stats/binocdf.htmlAntworten:
Wie James Stanley in Kommentaren erwähnt, ist die Verteilung der Teststatistik diskret, sodass das Ergebnis nicht zutrifft. Möglicherweise enthält Ihr Code überhaupt keine Fehler (obwohl ich keine diskrete Verteilung mit einem Histogramm anzeigen würde, würde ich eher die cdf oder die pmf oder besser beides anzeigen).
Es ist durchaus möglich, diese Verteilung genau zu berechnen, anstatt zu simulieren - aber ich bin Ihrem Beispiel gefolgt und habe eine Simulation durchgeführt (obwohl eine größere als Sie).
quelle