Como realizar o teste mcnemar em python
O teste de McNemar é usado para determinar se há diferença estatisticamente significativa nas proporções entre dados pareados.
Este tutorial explica como realizar o teste McNemar em Python.
Exemplo: o teste McNemar em Python
Digamos que os pesquisadores queiram saber se um determinado vídeo de marketing pode mudar a opinião das pessoas sobre uma determinada lei. Eles entrevistaram 100 pessoas para descobrir se apoiam ou não a lei. Em seguida, eles mostram o vídeo de marketing para todas as 100 pessoas e as pesquisam novamente após a conclusão do vídeo.
A tabela a seguir mostra o número total de pessoas que apoiaram a lei antes e depois de assistir ao vídeo:
Vídeo antes do marketing | ||
---|---|---|
Vídeo após marketing | Apoiar | Não aguento |
Apoiar | 30 | 40 |
Não aguento | 12 | 18 |
Para determinar se houve diferença estatisticamente significativa na proporção de pessoas que apoiaram a lei antes e depois de assistir ao vídeo, podemos realizar o teste de McNemar.
Etapa 1: crie os dados.
Primeiro, criaremos uma tabela para armazenar nossos dados:
data = [[30, 40], [12, 18]]
Passo 2: Realize o teste de McNemar
A seguir, podemos usar a função mcnemar() da biblioteca python statsmodels, que usa a seguinte sintaxe:
mcnemar(matriz, exato=Verdadeiro, correção=Verdadeiro)
Ouro:
- tabela: Uma tabela de contingência quadrada
- exato: se exato for verdadeiro, então a distribuição binomial será usada. Se correto for falso, então a distribuição qui-quadrado será usada
- correção: se verdadeiro, uma correção de continuidade é usada. Normalmente, essa correção geralmente é aplicada quando o número de células da tabela é menor que 5.
O código a seguir mostra como usar esta função em nosso exemplo específico:
from statsmodels.stats.contingency_tables import mcnemar #McNemar's Test with no continuity correction print(mcnemar(data, exact=False)) pvalue 0.000181 statistic 14.019 #McNemar's Test with continuity correction print(mcnemar(data, exact=False, correction=False)) pvalue 0.000103 statistic 15,077
Em ambos os casos – aplicada ou não a correção de continuidade – o valor p do teste é inferior a 0,05.
Isto significa que em ambos os casos rejeitaríamos a hipótese nula e concluiríamos que a proporção de pessoas que apoiaram a lei antes e depois de verem o vídeo de marketing era estatisticamente diferente.