Краткое руководство по линейной регрессии в RStudio
Когда дело доходит до моделей машинного обучения, линейная регрессия является самой простой, но эффективной доступной моделью. Он действительно старый, датируемый 1800-ми годами, но надежный. Если вы только начинаете свое путешествие по науке о данных, вы обязательно столкнетесь с этой моделью. Этот пост призван познакомить вас с линейной регрессией с использованием RStudio. Затрагиваемыми темами являются процесс построения и интерпретация результатов.
Данные
Для этого руководства используемые данные являются вымышленным набором данных.
Чтобы импортировать этот набор данных в RStudio, вы можете использовать следующий код
y<-c(15,32,40,50,70,16,19,65,42,21) x1<-c(3,7,9,12,10,5,8,21,10,14) x2<-c(1.5,4,5.5,4,3,1,6,8,3,8) df<-data.frame(y,x1,x2)
Набор данных будет импортирован в RStudio с именем «df».
Простая линейная регрессия
Первая модель, которую мы собираемся обсудить, — это простая линейная регрессия, в которой используется только одна независимая переменная. Для этого поста используемая модель будет иметь формулу:
Код для построения этой модели выглядит следующим образом:
model1<-lm(y~x1,data=df)
Модель называется «model1», после запуска этого кода модель должна появиться на вкладке среды следующим образом:
Далее мы собираемся посмотреть на модель, для этого используем следующий код
summary(model1)
Результаты будут следующими
Очевидно, что при запуске не будет цветных квадратов! Вот как можно прочитать результаты модели:
Черный ящик: коэффициенты в модели, так как это единственная модель линейной регрессии, коэффициентов всего 2 (пересечение всегда будет одним из них!).
Красное поле: оценки коэффициентов, в основном бета0 и бета1 модели. Следовательно, модель будет иметь вид:
Синее поле: значение t-статистики каждого коэффициента из t-теста.
Зеленое поле: P-значение t-критерия каждого коэффициента. Легче интерпретировать результат теста со значением, чем с самой t-статистикой. Здесь мы видим, что x1 имеет значение!
Оранжевое поле: показатель R-Square для модели. Оценка 0,4033 — это просто ужасно!
Фиолетовое поле: скорректированная оценка R-квадрата для модели. Точно так же, как показатель R-квадрата, 0,3288 ужасен!
Серый ящик: результаты F-теста модели. Обратите внимание, что P-значение такое же, как P-значение t-критерия. Это связано с тем, что в модели есть только одна объясняющая переменная.
Множественная линейная регрессия
Далее мы собираемся создать множественную линейную регрессию, которая в основном представляет собой линейную регрессию с более чем одной независимой переменной. Используемая модель будет иметь формулу:
Код для построения этой модели выглядит следующим образом:
model2<-lm(y~x1+x2,data=df) summary(model2)
Результаты модели следующие:
Способ чтения этого вывода аналогичен простой линейной регрессии. Формула для этой модели:
Использование модели для прогнозирования
После создания нашей модели, естественно, следующим шагом будет ее использование. Допустим, мы хотим предсказать y для определенных значений x1 и x2. Хотя легко просто подставить значения в формулу, это очень неэффективно. Не волнуйтесь, мы можем легко сделать это в RStudio!
Например, предположим, что мы хотим предсказать значение y для следующей таблицы:
Во-первых, давайте введем эту таблицу в RStudio.
x1_new<-c(13,12,11) x2_new<-c(5,7,4.5) df_new<-data.frame(x1=x1_new,x2=x2_new)
Новая таблица называется «df_new». Имейте в виду, что для прогнозирования с помощью модели нам нужно убедиться, что имена столбцов совпадают с именами коэффициентов в модели. Поскольку мы используем имена x1 и x2 при построении модели, нам нужно дать новым столбцам одинаковые имена.
Теперь мы можем предсказать значения y с помощью следующего кода
predictions<-predict(model2,df_new) df_new$predictions_results<-predictions
Первая строка кода дает вам прогнозы в виде списка значений с именем «прогнозы», вторая строка вставляет эти значения в таблицу «df_new» в виде столбца с именем «predictions_results». Если вы сейчас посмотрите на свою таблицу, она должна быть примерно такой: