R - 多元回归:初学者指南
你好,未来的R语言程序员们!今天,我们将要开始一段激动人心的旅程,探索使用R语言进行多元回归的世界。如果你之前从未编写过一行代码,也不用担心——我会一路作为你的友好向导。在这个教程结束时,你会对你仅用几行R代码就能完成的事情感到惊讶!
什么是多元回归?
在我们深入代码之前,让我们先了解一下多元回归是什么。想象你正在尝试预测房价。你可能会考虑房屋的大小,但这并不是唯一的因素,对吧?卧室数量、邻里环境,甚至是房屋的年龄都可能起到作用。多元回归是一种统计技术,它帮助我们理解多个因素(我们称之为自变量)如何影响一个结果(我们的因变量)。
lm() 函数:你的新好朋友
在R中,我们使用lm()
函数来执行多元回归。 "lm"代表“线性模型”,它将成为你在统计世界中的新好朋友。让我们分解一下如何使用它:
model <- lm(dependent_variable ~ independent_variable1 + independent_variable2 + ..., data = your_dataset)
这可能看起来有点吓人,但让我们分解一下:
-
model
只是一个我们用来存储回归结果的名称。 -
dependent_variable
是我们试图预测的变量。 -
~
在R语言中就像是在说“由...解释”。 -
independent_variable1
、independent_variable2
等是我们的预测变量。 -
data = your_dataset
告诉R在哪里找到我们的变量。
一个逐步示例
让我们一起通过一个真实示例。我们将使用R中的一个内置数据集,名为mtcars
(汽车趋势汽车道路测试的缩写)。这是一个关于不同汽车模型及其特性的数据集。
步骤 1:探索我们的数据
首先,让我们先看看我们的数据:
head(mtcars)
这将显示数据集的前几行。你会看到像mpg
(每加仑英里数)、cyl
(气缸数量)、disp
(排量)和hp
(马力)这样的列。
步骤 2:创建我们的模型
假设我们想根据汽车的重量(wt
)和马力(hp
)来预测其每加仑英里数(mpg
)。以下是如何操作的:
car_model <- lm(mpg ~ wt + hp, data = mtcars)
步骤 3:理解我们的结果
现在,让我们看看我们的模型告诉了我们什么:
summary(car_model)
这个命令会给我们提供大量信息。如果其中一些看起来像天书,也不用担心——我们会关注关键部分:
- 系数:这些告诉我们每个变量如何影响mpg。负值意味着当变量增加时,mpg会减少。
- R平方:这告诉我们模型拟合数据的程度。它的范围从0到1,1代表完美拟合。
- p值:这些告诉我们结果是否具有统计学意义。通常,我们寻找小于0.05的值。
步骤 4:进行预测
现在是有趣的部分——让我们用我们的模型来预测一辆重量为3000磅,马力为150的汽车的mpg:
new_car <- data.frame(wt = 3, hp = 150)
predict(car_model, new_car)
就这样!你已经用多元回归进行了预测。
可视化我们的结果
一幅图胜过千言万语,特别是在数据科学中。让我们创建一个简单的图表来可视化我们的模型:
plot(mtcars$wt, mtcars$mpg, main = "重量 vs 每加仑英里数", xlab = "重量", ylab = "每加仑英里数")
abline(lm(mpg ~ wt, data = mtcars), col = "red")
这将创建一个重量与mpg的散点图,并添加了我们的红色回归线。
多元回归中的常见方法
以下是一些你可能在使用回归模型时用到的方法:
方法 | 描述 |
---|---|
summary() | 提供回归模型的详细摘要 |
coefficients() | 返回模型的系数 |
residuals() | 显示观测值与预测值之间的差异 |
predict() | 使用模型进行预测 |
plot() | 创建各种诊断图 |
anova() | 对模型进行方差分析 |
结论
恭喜你!你已经迈出了使用R进行多元回归的第一步。记住,像学习任何新技能一样,熟能生巧。不要害怕尝试不同的数据集和变量。
在我们结束之际,我想起一个学生曾经告诉我:“我从没想过我可以用数学来预测任何东西!”好吧,现在你不仅可以预测事物,而且可以同时考虑多个因素。这难道不是一种超能力吗?
继续编码,继续学习,最重要的是,继续在R中享受乐趣!
Credits: Image by storyset