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.