Se utiliza ANOVA de medidas repetidas en Python para averiguar si existe una diferencia estadísticamente significativa entre las medias de tres o más grupos en los que se muestran los mismos sujetos en cada grupo.
Hipótesis:
Un ANOVA de medidas repetidas tiene las siguientes hipótesis nula y alternativa involucradas:
- La hipótesis nula (H0): µ1 = µ2 = µ3 (En otras palabras, las medias poblacionales son iguales)
- La hipótesis alternativa: (Ha): Según ella, al menos una media poblacional difiere del resto
Realice un ANOVA de medidas repetidas en Python:
Consideremos un ejemplo, los investigadores tienen curiosidad por saber si cuatro aceites de motor diferentes conducen a un kilometraje diferente de los automóviles. Para probar esto, midieron el kilometraje de 5 autos usando cuatro aceites de motor diferentes. Dado que el kilometraje de cada automóvil se mide aplicando cada uno de los cuatro aceites de motor uno por uno, podemos usar un ANOVA de medidas repetidas para verificar si el tiempo medio de reacción difiere entre las drogas.
Sintaxis para instalar la biblioteca numpy, pandas y statsmodels:
pip3 install numpy pandas statsmodels
Realizar el ANOVA de medidas repetidas en Python es un proceso paso a paso. Estos pasos se explican a continuación.
Paso 1: Crear los datos
Python3
# Import the library import numpy as np import pandas as pd # Create the data dataframe = pd.DataFrame({'Cars': np.repeat([1, 2, 3, 4, 5], 4), 'Engine Oil': np.tile([1, 2, 3, 4], 5), 'Mileage': [36, 38, 30, 29, 34, 38, 30, 29, 34, 28, 38, 32, 38, 34, 20, 44, 26, 28, 34, 50]}) # Print the dataframe print(dataframe)
Producción:
Paso 2: Realice el ANOVA de medidas repetidas.
Python nos proporciona la función AnovaRM() de la biblioteca statsmodels para medir ANOVA de medidas repetidas.
Ejemplo:
Python3
# Import library import numpy as np import pandas as pd from statsmodels.stats.anova import AnovaRM # Create the data dataframe = pd.DataFrame({'Cars': np.repeat([1, 2, 3, 4, 5], 4), 'Oil': np.tile([1, 2, 3, 4], 5), 'Mileage': [36, 38, 30, 29, 34, 38, 30, 29, 34, 28, 38, 32, 38, 34, 20, 44, 26, 28, 34, 50]}) # Conduct the repeated measures ANOVA print(AnovaRM(data=dataframe, depvar='Mileage', subject='Cars', within=['Oil']).fit())
Producción:
Paso 3: Analizar los resultados.
En este ejemplo, el estadístico de prueba F resulta ser igual a 0,5679 y el valor p correspondiente es 0,6466. Dado que este valor p no es inferior a 0,05, no podemos rechazar la hipótesis nula y concluir que no existe una diferencia estadísticamente significativa en los tiempos de respuesta medios entre los aceites para cuatro motores.
Paso 4: Reporte el resultado.
Informemos el resultado ahora: se realiza un ANOVA de medidas repetidas unidireccionales en 5 personas para interpretar el efecto de cuatro aceites de motor diferentes en el kilometraje. Los resultados mostraron que el tipo de fármaco utilizado condujo a diferencias estadísticamente significativas en el tiempo de respuesta (F(3, 12) = 0,5679, p < 0,6466).