2 votos

prueba de chi al cuadrado en bibliotecas python

Según tengo entendido, statsmodels.stats.contingency_tables.Table.test_nominal_association() y scipy.stats.chi2_contingency() se refieren a la misma prueba, pero los resultados son diferentes:

import numpy as np

### Contingency table
tab = np.array([[6,20],[13,5]])

### SciPy
from scipy.stats import chi2_contingency

chi_val,p_val,dof,exp_val=chi2_contingency(tab)
print("Chi square test\nChi squared = %f\np           = %f\nDOF         = %d"%(chi_val,p_val,dof))

Chi square test
Chi squared = 8.563275
p           = 0.003430
DOF         = 1

### Statsmodels

import statsmodels.api as sm

table = sm.stats.Table(tab)
res =  table.test_nominal_association()
print (res)

df          1
pvalue      0.0012129356662224922
statistic   10.470535312640576

¿Hay alguna diferencia fundamental entre las dos estadísticas?

5voto

Florian Rachor Puntos 111

Scipy utiliza la corrección de continuidad, statsmodels no. Si pasa correction=False a la prueba scipy, entonces los resultados serán idénticos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X