1. Используйте функцию lm(), чтобы выполнить простую линейную регрессию, используя mpg в качестве ответа и horsepower в качестве предиктора. Используйте функцию summary(), чтобы распечатать результаты. Прокомментируйте результат. Например:
library(ISLR)
data("Auto")

lm.fit <- lm(mpg ~ horsepower, data=Auto)
summary(lm.fit)
## 
## Call:
## lm(formula = mpg ~ horsepower, data = Auto)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.5710  -3.2592  -0.3435   2.7630  16.9240 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 39.935861   0.717499   55.66   <2e-16 ***
## horsepower  -0.157845   0.006446  -24.49   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.906 on 390 degrees of freedom
## Multiple R-squared:  0.6059, Adjusted R-squared:  0.6049 
## F-statistic: 599.7 on 1 and 390 DF,  p-value: < 2.2e-16

I. Есть ли связь между предсказателем и ответом?

Да, коэффициент p-value имеет очень низкое значение

II. Насколько сильна связь между предсказателем и ответом?

Хорошее свидетельство родства,р2р2составляет примерно 0.660% дисперсии ответа, объясненной простой моделью

III. Отношение между предсказателем и ответом положительное или отрицательное?

Отрицательный, так как коэффициент имеет отрицательное значение

IV. Что такое предсказание, mpg связанное с horsepower 98? Каковы связанные 95% доверительные интервалы и интервалы прогноза?

predict(lm.fit, data.frame("horsepower"=98), interval="confidence")
##        fit      lwr      upr
## 1 24.46708 23.97308 24.96108
predict(lm.fit, data.frame("horsepower"=98), interval="prediction")
##        fit     lwr      upr
## 1 24.46708 14.8094 34.12476

б) Постройте ответ и прогнозирующий фактор. Используйте функцию abline() для отображения линии регрессии наименьших квадратов.

plot(Auto$horsepower, Auto$mpg)
abline(lm.fit, lwd=3, col="red")

  1. Используйте функцию plot() для создания диагностических графиков соответствия регрессии наименьших квадратов. Прокомментируйте любые проблемы, которые вы видите с посадкой.
par(mfrow=c(2,2))
plot(lm.fit)

Мы перечислим типичные проблемы и поговорим о них:

  1. Нелинейность отношений ответ-предиктор

Residuals vs Fitted График , по-видимому, имеет тенденцию мягкой U-образную форму, и , как показано на графике фигуре б , соотношение между предсказателями и ответом не так линейно.

  1. Непостоянная дисперсия условий ошибки

Анализируя Residuals vs Fittedграфик, он НЕ показывает большой гетероскедастичности, величина которой не имеет тенденции к увеличению с подобранными значениями.

  1. Выбросы

Если посмотреть на Scale-Location график, на нем указаны некоторые возможные выбросы, но, проверяя картинку, они не кажутся настоящими выбросами. Я получу ссылку на ISLR, буду использовать стьюдентифицированные остатки и наблюдать, какие из них больше 3.

which(rstudent(lm.fit)>3)
## 323 330 
## 321 328
  1. Очки с высоким кредитным плечом

На Residuals vs Leverage графике представлено множество точек с высоким кредитным плечом, но большинство точек воздействия не являются выбросами, обнаруженными выше.

Q9. Этот вопрос включает использование множественной линейной регрессии для Auto набора данных.

  1. Создайте матрицу диаграммы рассеяния, которая включает все переменные в наборе данных.
pairs(Auto)

б) Вычислить матрицу корреляций между переменными с помощью функции cor(). Вам нужно будет исключить качественную nameпеременную.

cor(Auto[, !(names(Auto)=="name")])
##                     mpg  cylinders displacement horsepower     weight
## mpg           1.0000000 -0.7776175   -0.8051269 -0.7784268 -0.8322442
## cylinders    -0.7776175  1.0000000    0.9508233  0.8429834  0.8975273
## displacement -0.8051269  0.9508233    1.0000000  0.8972570  0.9329944
## horsepower   -0.7784268  0.8429834    0.8972570  1.0000000  0.8645377
## weight       -0.8322442  0.8975273    0.9329944  0.8645377  1.0000000
## acceleration  0.4233285 -0.5046834   -0.5438005 -0.6891955 -0.4168392
## year          0.5805410 -0.3456474   -0.3698552 -0.4163615 -0.3091199
## origin        0.5652088 -0.5689316   -0.6145351 -0.4551715 -0.5850054
##              acceleration       year     origin
## mpg             0.4233285  0.5805410  0.5652088
## cylinders      -0.5046834 -0.3456474 -0.5689316
## displacement   -0.5438005 -0.3698552 -0.6145351
## horsepower     -0.6891955 -0.4163615 -0.4551715
## weight         -0.4168392 -0.3091199 -0.5850054
## acceleration    1.0000000  0.2903161  0.2127458
## year            0.2903161  1.0000000  0.1815277
## origin          0.2127458  0.1815277  1.0000000
  1. Используйте lm() функцию для выполнения множественной линейной регрессии с использованием mpg в качестве ответа и всех других переменных, кроме name предикторов. Используйте summary() функцию, чтобы распечатать результаты.

Прокомментируйте результат. Например:

lm.fit <- lm(mpg ~ .-name, data=Auto)
summary(lm.fit)
## 
## Call:
## lm(formula = mpg ~ . - name, data = Auto)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.5903 -2.1565 -0.1169  1.8690 13.0604 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -17.218435   4.644294  -3.707  0.00024 ***
## cylinders     -0.493376   0.323282  -1.526  0.12780    
## displacement   0.019896   0.007515   2.647  0.00844 ** 
## horsepower    -0.016951   0.013787  -1.230  0.21963    
## weight        -0.006474   0.000652  -9.929  < 2e-16 ***
## acceleration   0.080576   0.098845   0.815  0.41548    
## year           0.750773   0.050973  14.729  < 2e-16 ***
## origin         1.426141   0.278136   5.127 4.67e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.328 on 384 degrees of freedom
## Multiple R-squared:  0.8215, Adjusted R-squared:  0.8182 
## F-statistic: 252.4 on 7 and 384 DF,  p-value: < 2.2e-16

I. Есть ли связь между предикторами и ответом?

Да, F-статистика очень значима с очень маленьким p-значением.

  1. Какие предикторы имеют статистически значимое отношение к ответу?

Происхождение, то год и цилиндры.

  1. Что предлагает коэффициент для yearпеременной?

Это предполагает, что на каждый дополнительный год возможно больше 0.75миль на галон.

  1. Используйте plot() функцию для построения диагностических графиков аппроксимации линейной регрессии. Прокомментируйте любые проблемы, которые вы видите с посадкой. Есть ли на остаточном графике какие-либо необычно большие выбросы? Выявлены ли на графике кредитного плеча какие-либо наблюдения с необычно высоким кредитным плечом?
par(mfrow=c(2,2))
plot(lm.fit)

  1. Нелинейность значений ответов-предикторов

На Residuals vs Fittedграфике не видно никаких закономерностей, поэтому он не указывает явных доказательств нелинейности.

  1. Непостоянная дисперсия условий ошибки

Residuals vs FittedГрафик предполагает немного воронки формы, так что она представляет собой немного гетероскедастичности.

  1. Выбросы

На Scale-Locationграфике некоторые наблюдения являются потенциальными выбросами, давайте проверим их по стьюдентизированным остаткам.

rstudent(lm.fit)[which(rstudent(lm.fit)>3)]
##      245      323      326      327 
## 3.390068 4.029537 3.494823 3.690246

В основном наблюдение 323 является наиболее вероятным выбросом.

  1. Очки с высоким кредитным плечом

В частности, наблюдение 14 является важным моментом, как показано на Residuals vc Leverage графике.

  1. Коллинеарность
require(car)
## Loading required package: car
## Loading required package: carData
## Loading required package: car
vif(lm.fit)
##    cylinders displacement   horsepower       weight acceleration         year 
##    10.737535    21.836792     9.943693    10.831260     2.625806     1.244952 
##       origin 
##     1.772386

Балансовая VIF стоимость, представленная в балансовой стоимости, превышает 5 из 10, указывает на проблематичную коллинеарность. И, как уже было воспринято cor() таблицей, отмечено много коррелированных переменных. Четыре переменных больше, 5а три из них больше 10. Проблема коллинеарности заключается в том, что она снижает точность оценок коэффициентов регрессии и вызывает стандартную ошибку дляβjрасти.

е) использовать *и :символы , чтобы соответствовать модели линейной регрессии с эффектами взаимодействия. Сделайте какие-либо эффекты взаимодействия. Оказывается ли какое-либо взаимодействие статистически значимым?

lm.fit.inter = lm(mpg ~ (.-name)*(.-name), data=Auto)

Модель вообще имела улучшениер2р2от 0.82 до почти 0.89, возможно, это может быть переоснащение, хотя наиболее значимый интерактивный термин имел acceleration:originхороший коэффициент по сравнению с основными членами и небольшое значение p, подтверждающее коэффициент.

е) Попробуйте несколько различных преобразований переменных, напримерl o g( Х)лог(Икс),Икс–√Икс,Икс2Икс2. Прокомментируйте свои выводы.

Я анализирую диапазон каждой переменной, чтобы проверить, какое преобразование может быть для нее интересно.

apply(Auto,2,range)
##      mpg    cylinders displacement horsepower weight acceleration year origin
## [1,] " 9.0" "3"       " 68.0"      " 46"      "1613" " 8.0"       "70" "1"   
## [2,] "46.6" "8"       "455.0"      "230"      "5140" "24.8"       "82" "3"   
##      name                     
## [1,] "amc ambassador brougham"
## [2,] "vw rabbit custom"

Произвольно для переменных низкого диапазона я возведу их в квадрат, а для переменной высокого диапазона я взял squared root или log из них, я не изменил происхождение, потому что это качественная переменная.

lm.fit.1 <- lm(I(mpg^2) ~ cylinders + I(displacement^2) + I(horsepower^2) + sqrt(weight) + I(acceleration^2) + sqrt(year) + origin, data=Auto)
summary(lm.fit.1)
## 
## Call:
## lm(formula = I(mpg^2) ~ cylinders + I(displacement^2) + I(horsepower^2) + 
##     sqrt(weight) + I(acceleration^2) + sqrt(year) + origin, data = Auto)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -509.60 -125.72  -14.61   92.29 1010.75 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       -3.970e+03  4.642e+02  -8.552 2.92e-16 ***
## cylinders         -1.025e+01  1.640e+01  -0.625    0.532    
## I(displacement^2)  3.296e-03  7.292e-04   4.520 8.25e-06 ***
## I(horsepower^2)    1.599e-03  2.751e-03   0.581    0.562    
## sqrt(weight)      -4.569e+01  3.346e+00 -13.654  < 2e-16 ***
## I(acceleration^2)  5.829e-01  1.458e-01   3.998 7.66e-05 ***
## sqrt(year)         7.657e+02  5.167e+01  14.820  < 2e-16 ***
## origin             6.808e+01  1.572e+01   4.332 1.89e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 194.4 on 384 degrees of freedom
## Multiple R-squared:  0.7676, Adjusted R-squared:  0.7633 
## F-statistic: 181.1 on 7 and 384 DF,  p-value: < 2.2e-16

Отличия от исходной модели заключались в следующем: accelerationстали значимой переменной, а displacementтакже уменьшили ее p-значение. Хотя р2р2 снижает его значение. Предикторы year и weight сохранились как наиболее важные оценщики.