Cómo realizar la prueba Nemenyi en Python

Prueba de Nemenyi: La Prueba de Friedman se usa para encontrar si existe una diferencia significativa entre las medias de más de dos grupos. En tales grupos, los mismos sujetos aparecen en cada grupo. Si el valor p de la prueba de Friedman resulta ser estadísticamente significativo, entonces podemos realizar la prueba de Nemenyi para encontrar exactamente qué grupos son diferentes. Esta prueba también se conoce como prueba post-hoc de Nemenyi.

La prueba de Friedman sigue la siguiente hipótesis:

  • La hipótesis nula (H0): El valor medio de cada una de las poblaciones es igual.
  • La hipótesis alternativa: (Ha): Al menos una media poblacional difiere de las demás.

Sintaxis para instalar las bibliotecas requeridas, incluidas scipy, scikit-posthocs y NumPy: –

 pip3 install scipy scikit-posthocs numpy

Realizando la prueba de Nemenyi en Python:

Paso 1: crear los datos.

Consideremos un ejemplo en el que los investigadores están interesados ​​en saber si el kilometraje de los automóviles es igual cuando se dopan con tres aceites de motor diferentes. Para determinar esto, midieron el kilometraje (por kilómetro) de 10 autos diferentes con cada uno de los tres aceites de motor. Podemos crear las siguientes tres arrays que contienen los tiempos de respuesta de cada automóvil cuando se dopa con cada uno de los tres aceites de motor.

Python3

# Data groups
data_group1 = [44, 56, 53, 46, 53,
               46, 42, 47, 46, 45]
data_group2 = [35, 46, 38, 47, 37,
               38, 44, 46, 44, 35]
data_group3 = [32, 42, 54, 43, 32,
               32, 43, 36, 8, 29]

Paso 2: Realice la prueba de Friedman.

Ahora realizaremos la prueba de Friedman. La biblioteca scipy.stats proporciona la función friedmanchisquare() para realizar la prueba de Friedman.

Python3

# Importing library
from scipy import stats
 
# Data groups
data_group1 = [44, 56, 53, 46, 53,
               46, 42, 47, 46, 45]
data_group2 = [35, 46, 38, 47, 37,
               38, 44, 46, 44, 35]
data_group3 = [32, 42, 54, 43, 32,
               32, 43, 36, 8, 29]
 
# Conduct the Friedman Test
stats.friedmanchisquare(data_group1, data_group2, data_group3)

Producción:

Prueba de Friedman

Aquí, el estadístico de prueba resulta ser igual a 8,599 y el valor p correspondiente resulta ser igual a 0,013. Dado que este valor p es inferior a 0,05, podemos rechazar la hipótesis nula de que el kilometraje medio es el mismo para los tres aceites de motor. En palabras simples, tenemos pruebas suficientes para decir que el tipo de aceite de motor utilizado produce diferencias estadísticamente significativas en el tiempo de respuesta.

Paso 3: Realice la prueba Nemenyi.

Ahora, podemos realizar la prueba de Nemenyi para encontrar exactamente qué grupos tienen diferentes medias. La biblioteca scikit-posthocs proporciona la función posthoc_nemenyi_friedman() mediante la cual podemos realizar la prueba de Nemenyi.

Python3

# Importing libraries
from scipy import stats
import scikit_posthocs as sp
import numpy as np
 
# Data groups
data_group1 = [44, 56, 53, 46, 53,
               46, 42, 47, 46, 45]
data_group2 = [35, 46, 38, 47, 37,
               38, 44, 46, 44, 35]
data_group3 = [32, 42, 54, 43, 32,
               32, 43, 36, 8, 29]
 
# Conduct the Friedman Test
stats.friedmanchisquare(data_group1, data_group2, data_group3)
 
# Combine three groups into one array
data = np.array([data_group1, data_group2, data_group3])
 
# Conduct the Nemenyi post-hoc test
sp.posthoc_nemenyi_friedman(data.T)

Producción:

Prueba Nemenyi

Necesitamos transponer la array NumPy (data.T) para realizar la prueba post-hoc de manera eficiente. Como puede ver en el resultado, la prueba post-hoc de Nemenyi produce los valores p para cada comparación de medias por pares. Estos valores son:

  • Valor p del grupo 0 frente al grupo 1: 0,503
  • Valor p del grupo 0 frente al grupo 2: 0,010
  • Valor p del grupo 1 frente al grupo 2: 0,173

Para α = 0.05 solo hay dos grupos que parecen tener medias estadísticamente significativamente diferentes: el grupo 0 y el grupo 2.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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