Estoy tratando de aplicar la prueba exacta de Fisher en un problema genético simulado, pero los valores p parecen estar sesgados a la derecha. Siendo biólogo, creo que me falta algo obvio para todos los estadísticos, por lo que agradecería mucho su ayuda.
Mi configuración es la siguiente: (configuración 1, marginales no fijos)
Se generan aleatoriamente dos muestras de 0 y 1 en R. Cada muestra n = 500, las probabilidades de muestreo 0 y 1 son iguales. Luego comparo las proporciones de 0/1 en cada muestra con la prueba exacta de Fisher (solo fisher.test
; también probé otro software con resultados similares). El muestreo y las pruebas se repiten 30 000 veces. Los valores p resultantes se distribuyen así:
La media de todos los valores de p es de alrededor de 0.55, 5 ° percentil a 0.0577. Incluso la distribución parece discontinua en el lado derecho.
He estado leyendo todo lo que puedo, pero no encuentro ninguna indicación de que este comportamiento sea normal; por otro lado, son solo datos simulados, por lo que no veo fuentes de sesgo. ¿Hay algún ajuste que me haya perdido? Tamaños de muestra demasiado pequeños? ¿O tal vez no se supone que esté distribuido uniformemente, y los valores p se interpretan de manera diferente?
¿O debería repetir esto un millón de veces, encontrar el cuartil 0.05 y usarlo como el límite de significancia cuando aplico esto a los datos reales?
¡Gracias!
Actualizar:
Michael M sugirió arreglar los valores marginales de 0 y 1. Ahora los valores p dan una distribución mucho más agradable; desafortunadamente, no es uniforme ni de ninguna otra forma que reconozca:
agregando el código R real: (configuración 2, marginales corregidos)
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="")
Edición final:
como señala Whuber en los comentarios, las áreas solo se ven distorsionadas debido al binning. Adjunto los gráficos QQ para la configuración 1 (marginales libres) y la configuración 2 (marginales fijos). Se observan tramas similares en las simulaciones de Glen a continuación, y todos estos resultados, de hecho, parecen bastante uniformes. ¡Gracias por la ayuda!
fuente
Respuestas:
El problema es que los datos son discretos, por lo que los histogramas pueden ser engañosos. Codifiqué una simulación con qqplots que muestran una distribución uniforme aproximada.
fuente