Saltar al contenido

Valor P de la estadística de prueba Chi sq en Python

Estate atento porque en esta división vas a encontrar la respuesta que buscas.

Solución:

Actualización rápida aquí:

Función de densidad de probabilidad: piense en ella como un valor de punto; ¿Qué tan densa es la probabilidad en un punto dado?

Función de Distribución Acumulativa: es la masa de probabilidad de la función hasta un punto dado; ¿Qué porcentaje de la distribución se encuentra a un lado de este punto?

En su caso, tomó el PDF, para el cual obtuvo la respuesta correcta. Si intenta 1 – CDF:

>>> 1 - stats.chi2.cdf(3.84, 1)
0.050043521248705147

PDF CDF

Para calcular la probabilidad de null hipótesis dada la suma de chi cuadrado y los grados de libertad que también puede llamar chisqprob:

>>> from scipy.stats import chisqprob
>>> chisqprob(3.84, 1)
0.050043521248705189

Aviso:

¡chisqprob está en desuso! stats.chisqprob está en desuso en scipy 0.17.0; use stats.distributions.chi2.sf en su lugar

Actualización: como se señaló, chisqprob() está obsoleto para la versión 0.17.0 de scipy en adelante. Los valores de chi-cuadrado de alta precisión ahora se pueden obtener a través de scipy.stats.distributions.chi2.sf(), por ejemplo:

>>>from scipy.stats.distributions import chi2
>>>chi2.sf(3.84,1)
0.050043521248705189
>>>chi2.sf(1424,1)
1.2799986253099803e-311

Mientras que stats.chisqprob() y 1-stats.chi2.cdf() parecen comparables para valores de chi-cuadrado pequeños, para valores de chi-cuadrado grandes es preferible el primero. Este último no puede proporcionar un valor p más pequeño que el épsilon de la máquina y dará respuestas muy inexactas cercanas al épsilon de la máquina. Como lo muestran otros, se obtienen valores comparables para valores pequeños de chi-cuadrado con los dos métodos:

>>>from scipy.stats import chisqprob, chi2
>>>chisqprob(3.84,1)
0.050043521248705189
>>>1 - chi2.cdf(3.84,1)
0.050043521248705147

El uso de 1-chi2.cdf() se descompone aquí:

>>>1 - chi2.cdf(67,1)
2.2204460492503131e-16
>>>1 - chi2.cdf(68,1)
1.1102230246251565e-16
>>>1 - chi2.cdf(69,1)
1.1102230246251565e-16
>>>1 - chi2.cdf(70,1)
0.0

Mientras que chisqprob() le brinda resultados precisos para un rango mucho mayor de valores de chi-cuadrado, produciendo valores p casi tan pequeños como el flotador más pequeño mayor que cero, hasta que también se desborda:

>>>chisqprob(67,1)
2.7150713219425247e-16
>>>chisqprob(68,1)
1.6349553217245471e-16
>>>chisqprob(69,1)
9.8463440314253303e-17    
>>>chisqprob(70,1)
5.9304458500824782e-17
>>>chisqprob(500,1)
9.505397766554137e-111
>>>chisqprob(1000,1)
1.7958327848007363e-219
>>>chisqprob(1424,1)
1.2799986253099803e-311
>>>chisqprob(1425,1)
0.0

Valoraciones y comentarios

Si para ti ha resultado de provecho nuestro post, agradeceríamos que lo compartas con otros programadores así contrubuyes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *