Test de bondad de ajuste – estadística no paramétrica

El test de bondad de ajuste (o prueba de bondad de ajuste) se suele aplicar en diseños de investigación en los que se estudia a un único grupo. Compara la distribución de frecuencias observadas (Fo) de una variable cualitativa con la distribución de frecuencias esperadas (Fe) de esa misma variable. Se puede utilizar la distribución Chi-cuadrado para calcular la bondad de ajuste sobre una distribución predeterminada.

El propósito de la prueba es averiguar si existen diferencias estadísticamente significativas entre la distribución de frecuencias observadas (Fo) y la distribución de frecuencias esperadas (Fe). Así, se plantean las siguientes hipótesis estadísticas:

  • Hipótesis nula: Ho: Fo = Fe
  • Hipótesis alterna: Ha: Fo ≠ Fe

Si se acepta la hipótesis nula (p>0.05) significa que ambas distribuciones se ajustan bien (bondad de ajuste).

En R

La función requerida en R para realizar un test de bondad de ajuste es chisq.test(). En este caso tendremos una lista de observaciones y una lista de ratios esperados, proporciones o valores (frecuencias esperadas).

Captura de pantalla - Test de bondad de ajuste

Captura de pantalla – Test de bondad de ajuste

 

Ejemplo 1

La proporción varones/mujeres en la franja de edad 15-64 años en España es 0.53. Sin embargo, en un muestreo de población en Villaliebres del Sobrarbe se obtuvo una cifra de 25 hombres y 34 mujeres en la franja de edad señalada. ¿Se diferencia esta proporción de sexos de la española?

EXPLICACIÓN DE LAS ÓRDENES (blanco), EJECUCIÓN (amarillo) Y RESULTADOS (azul)

Las líneas tras ”>” que a continuación se incluyen se pueden utilizar directamente en R o Rcmdr. Todo lo que aparece a partir de # son comentarios de explicación.

> obs<-c(25,34) # Asignamos las frecuencias observadas a una variable (obs)
> esp<-c(0.53,0.47) # Asignamos las frecuencias esperadas a una variable (esp)
> tba=chisq.test(obs, p=esp, rescale.p=T) # Se hace el test de bondad de ajuste, indicándole la variable de frecuencias observadas (obs) y las frecuencias esperadas (p=esp). El parámetro rescale.p=T le dice a R que reconvierta los valores esperados para que sumen 1. Es una buena práctica añadir este parámetro ya que así no importa que formato tengan nuestros datos (frecuencias, porcentajes); R los convertirá en proporciones. Además asignamos el test a una variable que denominamos, por ejemplo, tba (de test de bondad de ajuste).
> tba # Pedimos los resultados de la variable
Chi-squared test for given probabilities
data: obs
X-squared = 2.6749, df = 1, p-value = 0.1019
> tba$obs # Pedimos los datos de las frecuencias observadas (simplemente por comprobar)
[1] 25 34
> tba$exp # Pedimos los datos de las frecuencias esperadas (simplemente por comprobar)
[1] 31.27 27.73

Así, la proporción de sexos de Villaliebres del Sobrarbe en el rango de edad 15-64 años no difiere estadísticamente de la española (p=0.1019, aceptamos la hipótesis nula).

Ejemplo 2

El fin de semana pasé por el casino de Liendreclara y jugué a los dados. Me llevé uno que me tenía un poco mosca, ¿estaría desequilibrado? Ya en casa lo tiré 600 veces, anotando los resultados (1: 103; 2: 77; 3: 89; 4: 108; 5: 99; 6: 124).

EXPLICACIÓN DE LAS ÓRDENES (blanco), EJECUCIÓN (amarillo) Y RESULTADOS (azul)

Las líneas tras ”>” que a continuación se incluyen se pueden utilizar directamente en R o Rcmdr. Todo lo que aparece a partir de # son comentarios de explicación.

> obs<-c(103,77,89,108,99,124) # Asignamos las frecuencias observadas a una variable (obs)
> esp<-c(100,100,100,100,100,100) # Asignamos las frecuencias esperadas a una variable (esp)
> tba=chisq.test(obs, p=esp, rescale.p=T) # Se hace el test de bondad de ajuste, indicándole la variable de frecuencias observadas (obs) y las frecuencias esperadas (p=esp). El parámetro rescale.p=T le dice a R que reconvierta los valores esperados para que sumen 1. Es una buena práctica añadir este parámetro ya que así no importa que formato tengan nuestros datos (frecuencias, porcentajes); R los convertirá en proporciones. Además asignamos el test a una variable que denominamos, por ejemplo, tba (de test de bondad de ajuste).
> tba # Pedimos los resultados de la variable
Chi-squared test for given probabilities
data: obs
X-squared = 13, df = 5, p-value = 0.02338
> tba$obs # Pedimos los datos de las frecuencias observadas (simplemente por comprobar)
[1] 103 77 89 108 99 124
> tba$exp # Pedimos los datos de las frecuencias esperadas (simplemente por comprobar)
[1] 100 100 100 100 100 100
> tba$res # Pedimos los datos de los residuos de Pearson
[1] 0.3 -2.3 -1.1 0.8 -0.1 2.4

Por tanto, aceptamos la hipótesis alternativa con un nivel de significación p<0.05 (p = 0.02338). ¡El maldito dado parece cargado al 6!

Originalmente publicado el 1 de marzo de 2013 en enelcueto.blogspot.com.es por Antonio Fernández Martínez

Facebooktwittergoogle_pluslinkedinmail