R: calcular el valor p dado Chi cuadrado y grados de libertad

11

¿Cómo puedo calcular el valor p dado Chi cuadrado y los grados de libertad? Por ejemplo, ¿cuál sería el valor p exacto de un Chi cuadrado = 15 con df = 2?

estera
fuente
Para determinar un valor p, debe especificar si es unilateral o bilateral. Para dos lados es P (| X |> 15) y para la cola inferior unilateral es P (X <-15) y P (X.> 15) para la cola superior unilateral. X es una variable aleatoria de chi-cuadrado con 2 grados de libertad.
Michael R. Chernick
Es de dos lados. ¿Cuál sería el código en R para llevar a cabo esta prueba?
mat
No sé; R muy bien. Creo que hay una función chi-cuadrado que podrías llamar. Además de R, puede obtener el valor de una tabla de la distribución de chi-cuadrado que está disponible en muchos libros de estadísticas elementales. El único problema con la tabla es que puede que no aparezca 15, en cuyo caso puede acercarse por intpolación.
Michael R. Chernick
Déjame corregirme a mí mismo. El chi-cuadrado no se vuelve negativo. Para una prueba unilateral, desea P (X> 15). En mi libro P (X> 13.815) es 0.001. Entonces el valor p es <0.001.
Michael R. Chernick
2
(1) Es raro que las pruebas de Chi-cuadrado sean bilaterales: ¿cuál es su aplicación? (2) (cc @ michael) Uno no interpolaría en las colas; uno estimaría la integral. Por cierto, esta es una integral elemental, porque la distribución Chi-cuadrado con 2 DF es una distribución exponencial: debe obtener para la probabilidad de la cola superior. Ver en.wikipedia.org/wiki/Chi-squared_distribution . e15/2
whuber

Respuestas:

18

En las estadísticas aplicadas, las estadísticas de prueba cinceladas surgen como sumas de residuos al cuadrado, o de sumas de efectos al cuadrado o de diferencias de probabilidad logarítmica. En todas estas aplicaciones, el objetivo es probar si algún parámetro del vector es cero frente a la alternativa de que no es cero y la estadística chisquare está relacionada con el tamaño al cuadrado del efecto observado. El valor p requerido es la probabilidad de cola correcta para el valor chisquare, que en R para su ejemplo es:

> pchisq(15, df=2, lower.tail=FALSE)
[1] 0.0005530844

Para otros valores df o estadísticos, obviamente solo los sustituye en el código anterior.

Todas las funciones de probabilidad acumulativa en R calculan las probabilidades de la cola izquierda por defecto. Sin embargo, también tienen un lower.tailargumento, y siempre puede configurarlo FALSEpara obtener la probabilidad de cola correcta. Es una buena práctica hacer esto en lugar de calcular como puede ver en algunos libros de texto de primaria.1p

Gordon Smyth
fuente
1
¿Es posible retroceder? ¿Derivando el valor Chi-cuadrado usando el valor P y los grados de libertad usando el código R?
Eric
2
@Eric Simplemente escriba lo siguiente en R: help (qchisq)
Gordon Smyth
3

R tiene un conjunto de funciones de probabilidad para densidad o masa en la forma d*(p. Ej. dbeta, dchisq) Y distribución en la forma p*(p. Ej. pf, pgamma). Es posible que desee comenzar por allí.


fuente
¿Es posible retroceder? ¿Derivando el valor Chi-cuadrado usando el valor P y los grados de libertad usando el código R?
Eric
0

Sí, es posible calcular el valor de chi-cuadrado para un valor p (p) y grados de libertad (df) dados. A continuación se muestra cómo hacerlo:

En aras de la verificación, primero calculo p para un valor de chi-cuadrado dado = 1.1 y df = 1:

Solución:

pchisq (1.1, df = 1, lower.tail = FALSE) # la respuesta es p = 0.2942661

Ahora, para retroceder usando p y df para calcular el valor de chi-cuadrado, utilicé p = 0.2942661 que obtuve de arriba y df = 1 arriba:

Solución:

qchisq (0.2942661, 1, lower.tail = FALSE) # la respuesta es 1.1 como en la primera solución.

Entonces, usando su ejemplo de Chi cuadrado = 15 con df = 2, las soluciones son las siguientes:

Solución: calcular el valor p

pchisq (15, df = 2, lower.tail = FALSE) # respuesta: p = 0.0005530844

use p = 0.0005530844 y df = 2 para recuperar el valor de chi-cuadrado

qchisq (0.0005530844, 2, lower.tail = FALSE) # respuesta: chi-cuadrado = 15

¡¡¡Espero que esto ayude!!!

Justicia
fuente
-3

Tratar,

pchisq(chi,df)

en tu ejemplo,

pchisq(15,2)

[1] 0.9994469
Julio Diaz
fuente
1
No creo que este sea el valor p. ¿Podría ser la probabilidad acumulativa? Como dijo Whuber, el valor p sería exp (-15/2), que es mucho más pequeño que 0,999469.
Michael R. Chernick
77
Esto es incorrecto. Ni siquiera pasa la prueba de olor. Considere que el valor esperado de una distribución de chi-cuadrado es su df, y que la varianza es 2 * df ( wikipedia ), por lo que 15 es ~ 9 SD de la media. Eso debería decirte que algo está mal aquí. En esencia, está utilizando esto para realizar una prueba de 1 cola de que un ajuste es "demasiado bueno" (vea aquí ). Bajo el uso típico del chi-cuadrado, quieres pchisq(15, 2, lower.tail=FALSE), o 1-pchisq(15, 2), que es 0.0005530844.
gung - Restablece a Monica
(Dicho esto, esta es una respuesta, incluso si no es correcta, por lo que no debe suprimirse, ya no una respuesta voy a votar. Ve bien .)
Gung - Restablecer Mónica
@gung +1 Agregué mi propia respuesta hoy pero no había leído tu comentario primero, lo que da la misma solución obvia.
Gordon Smyth
¿Es posible retroceder? ¿Derivando el valor Chi-cuadrado usando el valor P y los grados de libertad usando el código R?
Eric