Słyszałem, że zgodnie z hipotezą zerową rozkład wartości p powinien być jednolity. Jednak symulacje testu dwumianowego w MATLAB zwracają bardzo różne od jednolitych rozkłady ze średnią większą niż 0,5 (w tym przypadku 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);
Próba zmiany sposobu generowania liczb losowych nie pomogła. Byłbym wdzięczny za wszelkie wyjaśnienia tutaj.
binocdf
to tylko CDF z dwumianowego uk.mathworks.com/help/stats/binocdf.htmlOdpowiedzi:
Jak James Stanley wspomina w komentarzach, rozkład statystyki testowej jest dyskretny, więc wynik nie ma zastosowania. Być może w twoim kodzie nie ma żadnych błędów (chociaż nie wyświetlałbym dyskretnej dystrybucji z histogramem, skłaniam się ku wyświetlaniu cdf lub pmf, albo lepiej, obu).
Całkiem możliwe jest dokładne obliczenie tego rozkładu zamiast symulacji - ale podążyłem za tobą i wykonałem symulację (choć większą niż ty).
źródło