Classe “MultiComparison”
A classe MultiComparison
do módulo statsmodels.stats.multicomp
é uma ferramenta do Python utilizada para realizar comparações múltiplas entre grupos, especialmente após a realização de testes de ANOVA ou outras análises de variância. Ela oferece uma maneira conveniente de aplicar métodos estatísticos de comparação múltipla, como o teste de Tukey, para determinar quais grupos têm médias significativamente diferentes.
Sintaxe:
from statsmodels.stats.multicomp import MultiComparison
multi_comp = MultiComparison(data, groups)
Parâmetros:
data
: Um array ou DataFrame contendo os dados de todos os grupos.groups
: Uma array ou lista indicando a qual grupo cada observação pertence.
Principais métodos:
-
tukeyhsd()
:Este método aplica o teste de Tukey Honest Significance Difference (HSD) para comparações múltiplas. Ele retorna um objeto
MultiComparisonResults
contendo os resultados do teste, como intervalos de confiança, valores p, diferenças médias e mais.result = multi_comp.tukeyhsd()
-
plot_simultaneous()
:Esse método gera um gráfico de barras com intervalos de confiança para as comparações múltiplas. Pode ser útil para visualizar as diferenças entre as médias dos grupos.
result.plot_simultaneous()
-
summary()
:Este método imprime um resumo tabular dos resultados das comparações múltiplas, incluindo intervalos de confiança, diferenças médias e valores p corrigidos.
result.summary()
Exemplo:
import numpy as np
import pandas as pd
from statsmodels.stats.multicomp import MultiComparison
# Dados fictícios
data = np.concatenate([np.random.normal(loc=10, scale=2, size=30),
np.random.normal(loc=15, scale=2, size=30),
np.random.normal(loc=18, scale=2, size=30)])
groups = np.repeat(['A', 'B', 'C'], 30)
# Instanciando a classe MultiComparison
multi_comp = MultiComparison(data, groups)
# Aplicando o teste de Tukey
result = multi_comp.tukeyhsd()
# Imprimindo os resultados
result.summary()
Saída do teste de Tukey:
Multiple Comparison of Means - Tukey HSD, FWER=0.05
group1 | group2 | meandiff | p-adj | lower | upper | reject |
---|---|---|---|---|---|---|
‘A’ | ‘B’ | 5.04 | 0.001 | 4.4165 | 5.6635 | True |
‘A’ | ‘C’ | 8.02 | 0.001 | 7.3965 | 8.6435 | True |
‘B’ | ‘C’ | 2.98 | 0.001 | 2.3565 | 3.6035 | True |
O resultado apresenta as comparações entre grupos, indicando se a diferença entre as médias é estatisticamente significativa. O valor “reject” indica se a hipótese nula de que as médias são iguais pode ser rejeitada. Neste exemplo, todas as comparações têm o valor “True” em “reject”, indicando que há diferenças estatisticamente significativas entre os grupos.
A classe MultiComparison
é útil quando você deseja realizar comparações estatísticas entre múltiplos grupos sem o risco de aumentar o erro de tipo I devido a comparações múltiplas excessivas. Ela oferece uma maneira eficaz de analisar as diferenças entre grupos após a detecção de diferenças significativas por meio de testes como a ANOVA.