R - Линейная регрессия: Пособие для начинающих
Привет, стремящийся к знаниям_data scientist! Сегодня мы отправимся в увлекательное путешествие в мир линейной регрессии с использованием R. Не волнуйтесь, если вы никогда раньше не программировали – я буду рядом с вами, объясняя все шаг за шагом. К концу этого руководства вы будете поражены тем, что сможете сделать всего за несколько строк кода!
Что такое линейная регрессия?
Прежде чем мы погрузимся в R-код, давайте поймем, что такое линейная регрессия. Представьте, что вы пытаетесь предсказать, сколько мороженого вы продадите в зависимости от температуры на улице. Вы можете заметить, что по мере повышения температуры также увеличиваются ваши продажи мороженого. Линейная регрессия помогает нам найти и описать эту зависимость数学ически.
Шаги для выполнения регрессии
Теперь давайте разберем процесс выполнения линейной регрессии в R на управляемые шаги:
1. Подготовка данных
В первую очередь, нам нужно с чем-то работать. В R мы можем создать свой набор данных или импортировать один. Давайте создадим простой набор данных о температуре и продажах мороженого:
temperature <- c(20, 22, 25, 27, 30, 32, 35)
ice_cream_sales <- c(50, 55, 65, 70, 80, 85, 95)
# Объединяем в фрейм данных
ice_cream_data <- data.frame(temperature, ice_cream_sales)
# Просматриваем данные
print(ice_cream_data)
Когда вы выполните этот код, вы увидите удобную таблицу с нашими данными о температуре и продажах мороженого. Круто, правда?
2. Визуализация данных
Прежде чем мы начнем любой анализ, всегда хорошая идея посмотреть на наши данные. R делает это super легким с своими функциями рисования:
plot(ice_cream_data$temperature, ice_cream_data$ice_cream_sales,
main = "Продажи мороженого vs Температура",
xlab = "Температура (°C)", ylab = "Продажи мороженого",
pch = 19, col = "blue")
Этот код создаст точечный график наших данных. Аргумент main
устанавливает заголовок, xlab
и ylab
подписывают оси, pch = 19
делает точки сплошными кругами, а col = "blue"
красит их в蓝色. Поиграйте с этими параметрами – сделайте его своим!
3. Выполнение линейной регрессии
Теперь comes время для волнующего момента – собственно выполнения линейной регрессии. В R мы используем функцию lm()
, что означает "линейная модель":
ice_cream_model <- lm(ice_cream_sales ~ temperature, data = ice_cream_data)
Эта строка может показаться простой, но за ней происходит много работы в фоновом режиме. Она находит наилучшую линию, проходящую через наши точки данных.
4. Исследование результатов
Давайте посмотрим, что нашла наша модель:
summary(ice_cream_model)
Эта команда даст вам подробное резюме вашей модели. Не волнуйтесь, если что-то покажется пугающим – мы сосредоточимся на ключевых частях:
- Раздел Coefficients показывает наклон и точку пересечения нашей линии.
- Значение R-squared告诉我们, насколько хорошо наша модель подходит к данным.
5. Визуализация линии регрессии
Теперь давайте добавим нашу линию регрессии к нашему графику:
plot(ice_cream_data$temperature, ice_cream_data$ice_cream_sales,
main = "Продажи мороженого vs Температура",
xlab = "Температура (°C)", ylab = "Продажи мороженого",
pch = 19, col = "blue")
abline(ice_cream_model, col = "red")
Функция abline()
добавляет нашу линию регрессии к графику. Не правда ли, приятно видеть, как линия проходит через наши точки?
Функция lm()
: Ваш новый лучший друг
Мы уже использовали функцию lm()
, но давайте углубимся немного дальше. Эта функция – сердце линейной регрессии в R. Вот разбивка ее базовой структуры:
lm(formula, data)
-
formula
: Это specifies зависимость между вашими переменными. В нашем случае это былоice_cream_sales ~ temperature
. -
data
: Это набор данных, который вы используете.
Символ ~
в формуле читается как "моделируется как функция от". Так что наша формула читается "продажи мороженого моделируются как функция от температуры".
Функция predict()
: Делаем прогнозы
Теперь, когда у нас есть модель, мы можем использовать ее для прогнозов. Вот где на помощь приходит функция predict()
:
new_temperatures <- data.frame(temperature = c(23, 28, 33))
predicted_sales <- predict(ice_cream_model, newdata = new_temperatures)
print(predicted_sales)
Этот код прогнозирует продажи мороженого для температур 23°C, 28°C и 33°C. Круто, правда?
Таблица полезных функций
Вот quick справочник основных функций, которые мы использовали:
Функция | Назначение | Пример |
---|---|---|
lm() |
Выполнение линейной регрессии | lm(y ~ x, data) |
summary() |
Получение подробных результатов модели | summary(model) |
plot() |
Создание точечного графика | plot(x, y) |
abline() |
Добавление линии регрессии к графику | abline(model) |
predict() |
Делание прогнозов | predict(model, newdata) |
помните, что практика makes perfect! Не бойтесь экспериментировать с этими функциями и пробовать их на разных наборах данных. Before you know it, вы станете профи в линейной регрессии!
В заключение, линейная регрессия – это мощный инструмент для понимания зависимостей между переменными и составления прогнозов. С R у вас есть все инструменты, необходимые для работы. Продолжайте исследовать, продолжайте учиться и, самое главное, получайте удовольствие от этого!
Credits: Image by storyset