ANOVA de Welch en Python (paso a paso)

El ANOVA de Welch es una alternativa al ANOVA unidireccional típico cuando se viola el supuesto de varianzas iguales .

El siguiente ejemplo paso a paso muestra cómo realizar el ANOVA de Welch en Python.

Paso 1: crear los datos

Para determinar si tres técnicas de estudio diferentes conducen a puntajes de exámenes diferentes, un profesor asigna aleatoriamente a 10 estudiantes para que usen cada técnica (Técnica A, B o C) durante una semana y luego hace que cada estudiante tome un examen de igual dificultad.

Los puntajes de los exámenes de los 30 estudiantes se muestran a continuación:

A = [64, 66, 68, 75, 78, 94, 98, 79, 71, 80]
B = [91, 92, 93, 90, 97, 94, 82, 88, 95, 96]
C = [79, 78, 88, 94, 92, 85, 83, 85, 82, 81]

Paso 2: Prueba de varianzas iguales

A continuación, podemos realizar la prueba de Bartlett para determinar si las varianzas entre cada grupo son iguales.

Si el valor p del estadístico de prueba es menor que algún nivel de significancia (como α = .05), entonces podemos rechazar la hipótesis nula y concluir que no todos los grupos tienen la misma varianza.

Podemos usar el siguiente código para realizar la prueba de Bartlett en Python:

import scipy. estadísticas  como estadísticas

#realiza las estadísticas de prueba de Bartlett 
 . Bartlett (A, B, C)

BartlettResult (estadístico = 9.039674395, pvalue = 0.010890796567)

El valor p ( .01089 ) de la prueba de Bartlett es menor que α = .05, lo que significa que podemos rechazar la hipótesis nula de que cada grupo tiene la misma varianza.

Por lo tanto, se viola el supuesto de varianzas iguales y podemos proceder a realizar el ANOVA de Welch.

Paso 3: Realice el ANOVA de Welch

Para realizar el ANOVA de Welch en Python, podemos usar la función welch_anova () del paquete Pingouin.

Primero, necesitamos instalar Pingouin:

pip instalar Pingouin

A continuación, podemos usar el siguiente código para realizar el ANOVA de Welch:

importar pingouin como pg 
importar pandas como pd
 importar numpy como np

#create DataFrame
 df = pd. DataFrame ({' puntuación ': [64, 66, 68, 75, 78, 94, 98, 79, 71, 80,
                             91, 92, 93, 90, 97, 94, 82, 88, 95, 96,
                             79, 78, 88, 94, 92, 85, 83, 85, 82, 81],
                   ' grupo ': np. repetir (['a', 'b', 'c'], repeats = 10 )})

# realizar el ANOVA de Welch
 pág. welch_anova (dv = ' puntuación ', entre = ' grupo ', datos = df)

        Fuente ddof1 ddof2 F p-unc np2
0 grupo 2 16.651295 9.717185 0.001598 0.399286

El valor p general ( .001598 ) de la tabla ANOVA es menor que α = .05, lo que significa que podemos rechazar la hipótesis nula de que los puntajes del examen son iguales entre las tres técnicas de estudio.

Luego podemos realizar la prueba post-hoc de Games-Howell para determinar exactamente qué medias de grupo son diferentes:

pág. pairwise_gameshowell (dv = ' puntuación ', entre = ' grupo ', datos = df)


        A B media (A) media (B) dif se T df pval	
0 a b 77,3 91,8 -14,5 3,843754 -3,772354 11,6767 0,0072
1 a c 77,3 84,7 -7,4 3,952777 -1,872102 12,7528 0,1864
2 b c 91,8 84,7 7,1 2,179959 3,256942 17,4419 0,0119

A partir de los valores de p, podemos ver que la diferencia media entre los grupos a y b son significativamente diferentes y la diferencia media entre los grupos b y c son significativamente diferentes.

Recursos adicionales

Cómo realizar un ANOVA unidireccional en Python
Cómo realizar un ANOVA bidireccional en Python
Cómo realizar un ANOVA de medidas repetidas en Python

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

El muestreo de hipercubo latino es un método que se puede utilizar para muestrear números aleatorios en los que las…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!