Функция lm() в R — модель линейной регрессии
Функция lm() в R используется для подгонки моделей линейной регрессии и анализа линейной зависимости между независимыми и зависимыми переменными.
Линейная регрессия — один из наиболее фундаментальных и важных инструментов статистического моделирования.
Синтаксис функции lm() выглядит следующим образом:
lm(formula, data)
Описание параметра:
formulaФормула в формате y ~ x1 + x2 + ..., где y — зависимая переменная, а x — независимые переменные.
dataФрейм данных, содержащий переменные из формулы.
Пример
# Данные о расходах на рекламу и продажах
ad_spend <- c(10, 15, 12, 18, 20, 14, 22, 16, 25, 19)
sales <- c(50, 65, 55, 72, 80, 60, 88, 68, 95, 75)
# Подгонка линейной модели
model <- lm(sales ~ ad_spend)
# Просмотр сводки модели
print(summary(model))
# Прогнозирование новых данных
new_spend <- data.frame(ad_spend = c(17, 23))
predictions <- predict(model, new_spend)
print(paste("Прогнозируемые продажи:", predictions))
ad_spend <- c(10, 15, 12, 18, 20, 14, 22, 16, 25, 19)
sales <- c(50, 65, 55, 72, 80, 60, 88, 68, 95, 75)
# Подгонка линейной модели
model <- lm(sales ~ ad_spend)
# Просмотр сводки модели
print(summary(model))
# Прогнозирование новых данных
new_spend <- data.frame(ad_spend = c(17, 23))
predictions <- predict(model, new_spend)
print(paste("Прогнозируемые продажи:", predictions))
Выполнение приведенного выше кода дает следующий вывод:
Call:
lm(formula = sales ~ ad_spend)
Residuals:
Min 1Q Median 3Q Max
-4.3780 -1.5831 -0.4329 1.8202 4.9347
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.1622 3.4394 4.990 0.00106 **
ad_spend 3.0623 0.1933 15.839 2.42e-07 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.829 on 8 degrees of freedom
Multiple R-squared: 0.9691, Adjusted R-squared: 0.9652
F-statistic: 250.9 on 1 and 8 DF, p-value: 2.422e-07
[1] "预测销售额: 69.2218150385764 87.5953501640316"
R-квадрат равен 0.9691, что указывает на то, что расходы на рекламу могут объяснить около 97% вариации продаж.
Другие расширения
Примеры на языке R