Estoy usando el método Fisher para combinar p -valores, y he notado un comportamiento extraño para valores p grandes y $ n grandes.
En mi caso, tengo una gran cantidad de resultados no estadísticamente significativos (por ejemplo, .1 a .5), y Estoy usando el método de Fisher para combinarlos. Sin embargo, noté que el método de Fisher parece mostrar un comportamiento inestable para estos valores p grandes. Por lo tanto, cambiar los valores p de .367 a .368 resultó en cambios drásticos para el valor p combinado. ¿Por qué es esto?
p_value=fisherIntegration(rep(.367,10000000) #p_value=1.965095e-14 p_value=fisherIntegration(rep(.368,10000000) #pvalue=0.8499356
Por el contrario, para valores p bajos y $ n pequeños, $ esto se comportó muy bien. Por ejemplo:
p_value=fisherIntegration(rep(.05,10)) #pvalue=7.341634e-06
Esta es la función que uso para la integración de Fisher:
fisherIntegration <- function (vector){ my_length=length(vector) deg_free=my_length*2 y=-2*sum(log(vector)) p.val <- 1-pchisq(y, df = deg_free); p.val=as.numeric(p.val); return(p.val)
}
EDITAR Esta publicación es algo relacionado, pero no aborda por qué .367 es un número mágico en este contexto: ¿Por qué el método de Fisher ' produce $ p \ gg 0.5 $ al combinar varios valores p, todos iguales a $ 0.5 $?
Comentarios
- ¿Ha notado que $ 0.367 \ lt e ^ {- 1} \ lt 0.368 $? (Ese sería el único punto de un ejercicio que pretende combinar $ 10 ^ 7 $ p-valores de esta manera: no tiene uso estadístico).
- I No ' no lo noté. Yo ' apuesto a que esto tiene algo que ver con el comportamiento extraño, pero no estoy seguro de por qué.
- Desde la otra dirección, ¿qué ' ¿es la media de la distribución de chi-cuadrado?
- Creo que puede encontrar este Q & Un interesante especialmente Christoph Hanck ' s answer stats.stackexchange.com/questions/243003/…
Respuesta
Como se explica en https://stats.stackexchange.com/a/314739/919 , el método de Fisher combina valores p $ p_1, p_2, \ ldots, p_n $ bajo el supuesto de que surgen de forma independiente bajo hipótesis nulas con estadísticas de prueba continuas. Esto significa que cada uno es distribuidos independientemente de manera uniforme entre $ 0 $ y $ 1. $ Un cálculo simple establece que $ -2 \ log (p_i) $ tiene una distribución $ \ chi ^ 2 (2) $, de donde
$$ P = \ sum_ {i = 1} ^ n -2 \ log (p_i) $$
tiene una distribución $ \ chi ^ 2 (2n) $. Para $ n $ grandes (como lo garantiza el Teorema del límite central), esta distribución es aproximadamente Normal. Tiene una media de $ 2n $ y una variación de $ 4n, $ como podemos calcular fácilmente.
Supongamos, ahora, que $ P $ es «muy» diferente de esta media. «Mucho» significa, como es habitual, en comparación con la desviación estándar. En otras palabras, suponga que $ P $ difiere de $ 2n $ en más de unos pocos múltiplos de $ \ sqrt {4n} = 2 \ sqrt {n}. $ A partir de la información básica sobre distribuciones normales, esto implica que $ P $ es inusualmente pequeño o inusualmente grande. En consecuencia, como $ P $ varía de $ 2n-2K \ sqrt {n} $ a $ 2n + 2K \ sqrt {n} $ para $ K \ approx 3, el método de $ Fisher asigna una probabilidad acumulativa (es decir, combinada p-value) que van desde casi $ 0 $ hasta casi $ 1. $
En otras palabras, toda la probabilidad «interesante» de $ P $ ocurre dentro de el intervalo $ (2n-2K \ sqrt {n}, 2n + 2K \ sqrt {n}) $ para $ K $ pequeños. A medida que $ n $ crece, este intervalo se estrecha en relación con su centro (a $ 2n $).
Una conclusión que podríamos sacar de este resultado es que cuando $ \ sqrt {n} $ es lo suficientemente grande como para dominar $ 2K $, es decir, cuando $ n $ es mucho más grande que $ (2 \ times3) ^ 2 \ approx 40 $ más o menos, entonces el método de Fisher puede estar llegando al límite de su utilidad.
En las circunstancias de la pregunta, $ n = 10 ^ 7. $ El intervalo interesante para el promedio log p-valor, $ -P / (2n), $ por lo tanto es aproximadamente
$$ – (2n-2K \ sqrt {n}, 2n + 2K \ sqrt {n}) / (2n) \ approx (-0,999051, -1,00095) $$
cuando $ K = 3. $
Los g correspondientes Los valores p medios eométricos son
$$ e ^ {- 0.999051} = 0.368229 \ text {y} e ^ {- 1.00095} = 0.367531. $$
El valor más bajo de $ 0.367 $ utilizado en la pregunta está fuera de este intervalo, lo que da una probabilidad de cola esencialmente cero (inferior), mientras que el valor superior de $ 0.368 $ se encuentra dentro de este intervalo, lo que da una probabilidad que todavía es apreciablemente menor que $ 1. $ Esto es un ejemplo extremo de nuestra conclusión anterior, que podría reformularse así:
Cuando el logaritmo natural promedio de los valores p difiere mucho de $ -1 El método de $ Fisher producirá un valor p combinado extremadamente cercano a $ 0 $ o cercano a $ 1 $. «Much» es proporcional a $ 1 / \ sqrt {2n}. $
Comentarios
- Con base en esta respuesta, ¿argumentaría que una integración más rígida es más apropiada en casos de n grande?
- Creo que dado que se descarta una cantidad tan grande de información al combinar un gran número de valores p, y porque el resultado con $ n $ grandes es sensible al supuesto de independencia (que rara vez se cumple) , ningún método de combinarlos en una sola decisión es adecuado en la mayoría de las circunstancias. El método de Stouffer ' apenas difiere del método de Fisher ' de todos modos.
- Yo no ' No estoy de acuerdo, en que al menos la integración de Stouffer no muestra este extraño comportamiento de " umbral ". Por lo que puedo decir, pasar un vector de zscores consistentemente por encima de 0 (por ejemplo, 1000 zscores iguales a .5) siempre producirá un zscore final por encima del original, lo cual es lógico. El método de Fisher ' aquí es en mi mente un ' error '
- Cualesquiera que sean las diferencias, ninguno de los métodos fue diseñado ni es útil para combinar millones de valores p. En sus áreas de aplicación útil, tienden a no diferir mucho. No hay ' no " error " en Fisher ': es ' perfectamente exacto, dados sus supuestos y su objetivo. Stouffer ' s es un poco ad hoc que se basa implícitamente en suposiciones adicionales. Para ser más constructivo: cuando tienes muchos valores p (independientes), obtendrás mucha más información de ellos al estudiar cómo su distribución se aparta de la uniformidad de lo que obtendrás de cualquier estadística combinada única.
- Está bien. No ' estoy realmente de acuerdo con usted con respecto al método de Fisher '. Similar al ejemplo concreto que discutimos " fisherIntegration (rep (.367,1000)) =. 4999 " pero " fisherIntegration (rep (.367,10000000)) = 1.965095e-14 " es intuitivamente tonto. Cualquier método puede justificarse dados sus supuestos / objetivos, pero en este caso este tipo de comportamiento dependiente del umbral no se ajusta a lo que la mayoría de los usuarios considerarían razonable. Por supuesto, estoy de acuerdo con usted en que una sola estadística de resumen será peor que examinar más detenidamente la distribución.