Como realizar o teste post-hoc nemenyi em python


O teste de Friedman é uma alternativa não paramétricaà ANOVA de medidas repetidas . É utilizado para determinar se existe ou não diferença estatisticamente significativa entre as médias de três ou mais grupos em que os mesmos sujeitos aparecem em cada grupo.

Se o valor p do teste de Friedman for estatisticamente significativo, então podemos realizar o teste post-hoc de Nemenyi para determinar exatamente quais grupos são diferentes.

O exemplo passo a passo a seguir mostra como realizar o teste Nemenyi em Python.

Etapa 1: crie os dados

Suponha que um pesquisador queira saber se os tempos de reação dos pacientes são iguais com três medicamentos diferentes. Para testar isso, ele mediu o tempo de reação (em segundos) de 10 pacientes diferentes a cada um dos três medicamentos.

Podemos criar as três tabelas a seguir que contêm os tempos de resposta de cada paciente em cada um dos três medicamentos:

 group1 = [4, 6, 3, 4, 3, 2, 2, 7, 6, 5]
group2 = [5, 6, 8, 7, 7, 8, 4, 6, 4, 5]
group3 = [2, 2, 5, 3, 2, 2, 1, 4, 3, 2]

Passo 2: Realize o teste de Friedman

A seguir, realizaremos o teste de Friedman usando a função friedmanchisquare() da biblioteca scipy.stats:

 from scipy import stats

#perform Friedman Test
stats. friedmanchisquare (group1, group2, group3)

FriedmanchisquareResult(statistic=13.3513513, pvalue=0.00126122012)

O teste de Friedman utiliza as seguintes hipóteses nulas e alternativas:

A hipótese nula (H 0 ): A média de cada população é igual.

A hipótese alternativa: (Ha): Pelo menos uma média populacional é diferente das demais.

Neste exemplo, a estatística de teste é 13,35135 e o valor p correspondente é 0,00126 . Como esse valor de p é inferior a 0,05, podemos rejeitar a hipótese nula de que o tempo médio de resposta é o mesmo para os três medicamentos.

Ou seja, temos evidências suficientes para concluir que o tipo de medicamento utilizado provoca diferenças estatisticamente significativas no tempo de resposta.

Passo 3: Realize o teste Nemenyi

Então podemos realizar o teste post-hoc de Nemenyi para determinar exatamente quais grupos têm médias diferentes.

Para fazer isso, precisamos instalar a biblioteca scikit-posthocs:

 pip install scikit-posthocs

A seguir, usaremos a função posthoc_nemenyi_friedman() para realizar o teste post-hoc de Nemenyi:

 import scikit_posthocs as sp
import numpy as np

#combine three groups into one array
data = np. array ([group1, group2, group3])

#perform Nemenyi post-hoc test
sp. posthoc_nemenyi_friedman ( data.T )

	0 1 2
0 1.000000 0.437407 0.065303
1 0.437407 1.000000 0.001533
2 0.065303 0.001533 1.000000

Nota: Tivemos que transpor o array numpy (data.T) para realizar corretamente o teste post-hoc.

O teste post-hoc de Nemeyi retorna valores p para cada comparação de médias entre pares. A partir do resultado podemos ver os seguintes valores de p:

  • Valor de p do grupo 0 comparado ao grupo 1: 0,4374
  • Valor de p do grupo 0 comparado ao grupo 2: 0,0653
  • Valor de p do grupo 1 comparado ao grupo 2: 0,0015

Em α = 0,05, os únicos dois grupos que apresentam médias estatisticamente significativamente diferentes são o Grupo 1 e o Grupo 2.

Nota: O teste de Nemenyi converteu o número do grupo de 1, 2, 3 para 0, 1, 2. Portanto, os grupos nos dados originais que são significativamente diferentes são os grupos 2 e 3.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *