Я слышал, что при нулевой гипотезе распределение p-значений должно быть равномерным. Тем не менее, моделирование биномиального теста в MATLAB дает очень отличающиеся от равномерного распределения средние значения, превышающие 0,5 (в данном случае 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);
Попытка изменить способ генерации случайных чисел не помогла. Я был бы очень признателен за любое объяснение здесь.
binocdf
это всего лишь CDF бинома uk.mathworks.com/help/stats/binocdf.htmlОтветы:
Как упоминает Джеймс Стэнли в комментариях, распределение тестовой статистики дискретно, поэтому этот результат не применим. Возможно, в вашем коде вообще нет ошибок (хотя я бы не отображал дискретное распределение с гистограммой, я бы склонялся к отображению cdf или pmf, или, что еще лучше, обоих).
Вполне возможно точно рассчитать это распределение, а не имитировать, но я последовал вашему примеру и выполнил симуляцию (хотя и большую, чем у вас).
источник