R - Линейная регрессия: Пособие для начинающих

Привет, стремящийся к знаниям_data scientist! Сегодня мы отправимся в увлекательное путешествие в мир линейной регрессии с использованием R. Не волнуйтесь, если вы никогда раньше не программировали – я буду рядом с вами, объясняя все шаг за шагом. К концу этого руководства вы будете поражены тем, что сможете сделать всего за несколько строк кода!

R - Linear Regression

Что такое линейная регрессия?

Прежде чем мы погрузимся в 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