Abaixo tem-se o ajuste do modelo de regressão linear simples
\[ Y = \beta_0 + \beta_1 x + \epsilon \]
para dados de distância para parada completa de um veículo em função da velocidade no instante de acionamento dos freios. Esse conjunto de dados está objeto cars.
Um resumo dos dados pode ser visto na tabela abaixo:
| speed | dist | |
|---|---|---|
| Min. : 4.0 | Min. : 2.00 | |
| 1st Qu.:12.0 | 1st Qu.: 26.00 | |
| Median :15.0 | Median : 36.00 | |
| Mean :15.4 | Mean : 42.98 | |
| 3rd Qu.:19.0 | 3rd Qu.: 56.00 | |
| Max. :25.0 | Max. :120.00 |
Os parâmetros do modelo linear podem ser obtidos pela função lm(), como pode ser visto abaixo
## Ajuste do modelo
mod <- lm(dist ~ speed, data = cars)Um resumo do ajuste do modelo pode ser visualizado abaixo
## Resumo do modelo
summary(mod)
Call:
lm(formula = dist ~ speed, data = cars)
Residuals:
Min 1Q Median 3Q Max
-29.069 -9.525 -2.272 9.215 43.201
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -17.5791 6.7584 -2.601 0.0123 *
speed 3.9324 0.4155 9.464 1.49e-12 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 15.38 on 48 degrees of freedom
Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12
Antes de interpretar o modelo e fazer inferência, é importante que sejam verificados os pressupostos considerados através da análise dos resíduos.
Por padrão se fizermos um plot() no modelo, temos os seguintes gráficos para avliar os resíduos:
plot(mod)Assumindo que o ajuste do modelo está adequado, pode-se obter o gráfico dos valores preditos sobre o diagrama de dispersão dos valores observados.
## Intervalo de valores para predição
pred <- data.frame(speed = seq(4, 25, by = 0.5))
## Valores preditos
ypred <- predict(mod, newdata = pred, interval = "confidence")
## Inclui valores preditos no data frame
pred <- cbind(pred, ypred)Agora podemos visualizar o modelo ajustado aos dados
## Gráfico de dispersão
plot(dist ~ speed, data = cars,
xlab = "Velocidade ao acionar os freios",
ylab = "Distância para parada completa")
## Intervalo de predição
with(pred,
matlines(x = speed, y = cbind(fit, lwr, upr),
lty = c(1, 2, 2), col = 1))O parâmetro \(\beta_1\) desse modelo de regressão linear simples é 3.9324088.