# Конвертируем миль (1.609 км) на галлон (3.79 л) в км на литр
Auto$kpl <- Auto$mpg *1.609/3.79
# Конвертируем миль (1.609 км) на галлон (3.79 л) в км на литр
Auto$kpl <- Auto$mpg * 1.609 / 3.79
Построение модели
Построим однофакторную регрессионную модель, чтобы выявлить, как мощность двигателя влияет на пробег на километр топлива, и ответим на следующие вопросы:
Существует ли взаимосвязь между мощностью и пробегом.
Насколько сильна взаимосвязь между мощностью и пробегом.
Взаимосвязь между мощностью и пробегом прямая или обратная.
Каково прогнозное значение пробега на километр при мощности 98 лошадиных сил. Каковы 95% доверительный интервал и интервал предсказания.
# Задаем модель
autolm <-lm(kpl ~ horsepower, data= Auto)# Результаты анализаsummary(autolm)
# Задаем модель
autolm <- lm(kpl ~ horsepower, data = Auto)
# Результаты анализа
summary(autolm)
##
## Call:
## lm(formula = kpl ~ horsepower, data = Auto)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.761 -1.384 -0.146 1.173 7.185
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 16.95430 0.30461 55.7 <2e-16 ***
## horsepower -0.06701 0.00274 -24.5 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.08 on 390 degrees of freedom
## Multiple R-squared: 0.606, Adjusted R-squared: 0.605
## F-statistic: 600 on 1 and 390 DF, p-value: <2e-16
Коэффициент horsepower составляет -0.067, т.е. при увеличении мощности автомобиля на одну лошадиную силу пробег снижается на 0.07 км на литр топлива. Наличие этой взаимосвязи подтверждается p-значением t-статистики: t равен -24.5, а вероятность получить такое значение t при независимых переменных (т.е. p-значение) стремится к нулю (<2e-16).
Прогнозирование
# Прогнозируем пробег при мощности 98 л.с.# Доверительный интервалconfint<-predict(autolm,
newdata =data.frame(horsepower =98),
interval ='confidence')confint
Если мы возьмём несколько разных автомобилей с мощностью двигателя 98 л.с., то средний пробег этих машин на литр топлива с вероятностью 95% попадёт в интервал от 10.2 до 10.6 км.
Если мы возьмём какой-то конкретный автомобиль с мощностью двигателя 98 л.с., то его пробег на литр топлива с вероятностью 95% попадёт в интервал от 6.3 до 14.5 км.
Auto %>%
ggvis(~horsepower, ~kpl)%>%
layer_points()%>%
layer_model_predictions(model ='lm', se =T)
Auto %>%
ggvis(~horsepower, ~kpl) %>%
layer_points() %>%
layer_model_predictions(model = 'lm', se = T)
Диагностика
После построения регрессионной модели имеет смысл проверить наличие следующих проблем:
Нелинейная взаимосвязь между независимыми и зависимой переменными.
par(mfrow =c(2, 3))plot(autolm, which=1:6, caption =list("Прогноз и остатки", "Квантили", "Разброс-Положение",
"Расстояние Кука", "Влияние и остатки",
expression("Влияние и Кук "* h[ii]/(1- h[ii]))))
par(mfrow = c(2, 3))
plot(autolm, which = 1:6, caption =
list("Прогноз и остатки", "Квантили", "Разброс-Положение",
"Расстояние Кука", "Влияние и остатки",
expression("Влияние и Кук " * h[ii] / (1 - h[ii]))))
Точечный график предсказанных значений и остатков позволяет обнаружить закономерности распределения последних. График квантилей помогает определить нормальность остатков. График “Разброс-положение” даёт возможность оценить монотонность распределения остатков (гетероскедастичность). С помощью графика “Остатки-влияние” можно определить точки с большим влиянием на модель.
[…] Однофакторный линейный регрессионный анализ в R […]