Utilizamos a análise de regressão para criar modelos que descrevem o efeito da variação nas variáveis preditoras na variável resposta. Às vezes, se tivermos uma variável categórica com valores como Sim / Não ou Masculino / Feminino etc., a análise de regressão simples fornecerá vários resultados para cada valor da variável categórica. Nesse cenário, podemos estudar o efeito da variável categórica usando-a juntamente com a variável preditora e comparando as linhas de regressão para cada nível da variável categórica. Essa análise é denominada Análise de Covariância, também denominada ANCOVA.
Exemplo
Considere o R
conjunto de dados interno mtcars
. Nele observamos que o campo am
representa o tipo de transmissão (automática ou manual). É uma variável categórica com os valores 0 e 1. Os valores de milhas por galão ( mpg
) de um carro também podem depender dele, além do valor da potência ( hp
). Estudamos o efeito do valor de am
na regressão entre mpg
e hp
. Isso é feito usando a aov()
função seguida pela anova()
função para comparar as várias regressões.
A entrada de dados
Criar um quadro de dados que contém os campos mpg
, hp
e am
do conjunto de dados mtcars
. Aqui tomamos mpg
como variável de resposta, hp
como variável preditora e am
como variável categórica.
input <- mtcars[,c("am","mpg","hp")]
head(input)
Quando executamos o código acima, ele produz o seguinte resultado:
am mpg hp
Mazda RX4 1 21.0 110
Mazda RX4 Wag 1 21.0 110
Datsun 710 1 22.8 93
Hornet 4 Drive 0 21.4 110
Hornet Sportabout 0 18.7 175
Valiant 0 18.1 105
Análise ANCOVA
Criamos um modelo de regressão tomando hp
como variável preditora e mpg
como variável de resposta levando em consideração a interação entre am
e hp
.
Modelo com interação entre variável categórica e variável preditora
Criar modelo de regressão1
result1 <- aov(mpg~hp*am,data=mtcars)
summary(result1)
Quando executamos o código acima, ele produz o seguinte resultado:
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 77.391 1.50e-09 ***
am 1 202.2 202.2 23.072 4.75e-05 ***
hp:am 1 0.0 0.0 0.001 0.981
Residuals 28 245.4 8.8
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Esse resultado mostra que tanto a potência quanto o tipo de transmissão têm efeito significativo em milhas por galão, pois o valor de p em ambos os casos é menor que 0,05. Mas a interação entre essas duas variáveis não é significativa, pois o valor-p é maior que 0,05.
Modelo sem interação entre variável categórica e variável preditora
Crie o modelo de regressão2
result2 <- aov(mpg~hp+am,data=mtcars)
summary(result2)
Quando executamos o código acima, ele produz o seguinte resultado:
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 80.15 7.63e-10 ***
am 1 202.2 202.2 23.89 3.46e-05 ***
Residuals 29 245.4 8.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Esse resultado mostra que tanto a potência quanto o tipo de transmissão têm efeito significativo em milhas por galão, pois o valor de p em ambos os casos é menor que 0,05.
Comparando dois modelos
Agora podemos comparar os dois modelos para concluir se a interação das variáveis é realmente insignificante. Para isso, usamos a anova()
função
anova(result1,result2)
Model 1: mpg ~ hp * am
Model 2: mpg ~ hp + am
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 245.43
2 29 245.44 -1 -0.0052515 6e-04 0.9806
Como o valor-p é maior que 0,05, concluímos que a interação entre a potência e o tipo de transmissão não é significativa. Portanto, a quilometragem por galão dependerá de maneira semelhante da potência do carro no modo de transmissão automática e manual.