시뮬레이션 된 유전학 문제에서 Fisher의 정확한 테스트를 적용하려고하지만 p- 값이 오른쪽으로 치우친 것으로 보입니다. 생물 학자로서, 나는 모든 통계 학자에게 명백한 것을 놓치고 있다고 생각합니다. 그래서 나는 당신의 도움에 크게 감사하겠습니다.
내 설정은 다음과 같습니다 (설정 1, 한계는 고정되지 않음)
R에서 무작위로 0과 1의 두 샘플이 생성됩니다. 각 샘플 n = 500, 샘플링 0과 1의 확률은 같습니다. 그런 다음 각 샘플에서 0/1의 비율을 Fisher의 정확한 테스트와 비교합니다 (단지 fisher.test
; 비슷한 결과를 가진 다른 소프트웨어도 시도했습니다). 샘플링 및 테스트는 30,000 번 반복됩니다. 결과 p- 값은 다음과 같이 분배됩니다.
모든 p- 값의 평균은 0.0577에서 약 0.55, 5 번째 백분위 수입니다. 분포도 오른쪽에서 불연속으로 나타납니다.
나는 할 수있는 모든 것을 읽었지만이 동작이 정상이라는 표시를 찾지 못했습니다. 반면에 시뮬레이션 된 데이터이므로 바이어스에 대한 소스가 없습니다. 내가 놓친 조정이 있습니까? 표본 크기가 너무 작습니까? 아니면 균일하게 분포되어 있지 않아야하고 p- 값이 다르게 해석됩니까?
아니면 이것을 백만 번 반복하고 0.05 분량을 찾아서 이것을 실제 데이터에 적용 할 때이를 유의성 컷오프로 사용해야합니까?
감사!
최신 정보:
Michael M은 한계 값 0과 1을 고정 할 것을 제안했습니다. 이제 p- 값은 훨씬 더 좋은 분포를 제공합니다.
실제 R 코드 추가 : (설정 2, 한계 값 고정)
samples=c(rep(1,500),rep(2,500))
alleles=c(rep(0,500),rep(1,500))
p=NULL
for(i in 1:30000){
alleles=sample(alleles)
p[i]=fisher.test(samples,alleles)$p.value
}
hist(p,breaks=50,col="grey",xlab="p-values",main="")
최종 편집 :
의견에서 whuber가 지적한 것처럼 비닝으로 인해 영역이 왜곡되어 보입니다. 설정 1 (자유 한계) 및 설정 2 (고정 한계)에 대한 QQ- 플로트를 첨부하고 있습니다. 아래의 Glen 시뮬레이션에서 비슷한 플롯을 볼 수 있으며 실제로 이러한 모든 결과는 다소 균일 한 것으로 보입니다. 도와 주셔서 감사합니다!