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.

Add a Comment

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