Distribuição não uniforme de valores-p ao simular testes binomiais sob a hipótese nula

17

Ouvi dizer que, sob a hipótese nula, a distribuição do valor-p deve ser uniforme. No entanto, simulações de teste binomial no MATLAB retornam distribuições muito diferentes de uniformes com média maior que 0,5 (neste caso, 0,518): insira a descrição da imagem aqui

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);

Tentar mudar a maneira como gero números aleatórios não ajudou. Eu realmente aprecio qualquer explicação aqui.

TanZor
fonte
6
Um ponto a considerar é que os valores p do teste binomial terão apenas determinados valores discretos (como o numerador é discreto): como exemplo, com apenas 20 tentativas [troca de moedas] por experimento, existem apenas 11 p valores que podem ser retornados. São valores p possíveis, portanto, com n = 200 tentativas por experimento, 101 valores p discretos. n/2+1
James Stanley
Exatamente o que o "teste binomial" do Matlab faz?
whuber
2
Parece que este é o teste binomial do pôster, binocdfé apenas o CDF do binomial uk.mathworks.com/help/stats/binocdf.html
conjugateprior

Respostas:

20

pH0

Como James Stanley menciona nos comentários, a distribuição da estatística do teste é discreta, portanto esse resultado não se aplica. Você pode não ter nenhum erro no seu código (embora eu não exiba uma distribuição discreta com um histograma, eu gostaria de exibir o cdf ou o pmf, ou melhor, ambos).

F(x)=x

insira a descrição da imagem aqui

É bem possível calcular exatamente essa distribuição, em vez de simular - mas eu segui seu exemplo e fiz uma simulação (embora maior que a sua).

n

α

Glen_b -Reinstate Monica
fonte
Obrigado Glen e @JamesStanley! Estou tentando entender o que exatamente significa que a distribuição do valor-p não é uniforme e quais são as consequências em termos de teste de hipóteses - mas para isso acho que vou mergulhar na wikipedia :)
TanZor
3
α
F(x)x
A.Donda, Glen_b - obrigado! Você foi uma grande ajuda.
21915 TanZor