线性回归的一个主要目标是基于一个或多个预测变量来预测结果值。(我们也用它来研究两个变量的相关性,同时校正其他混杂因素)。那么,当我们取得了预测模型后,根据该预测模型对新数据进行预测得出的预测值是什么?这个预测值的可信度如何呢?今天的讲解中,我们会给出答案。
1. 建立线性回归
我们首先建立一个简单的线性回归模型,该模型根据速度预测汽车的停车距离。
# 加载数据
data("cars", package = "datasets")
# 建立模型
model <- lm(dist ~ speed, data = cars)
model
##
## Call:
## lm(formula = dist ~ speed, data = cars)
##
## Coefficients:
## (Intercept) speed
## -17.58 3.93
线性模型方程可写为:dist = -17.579 + 3.932*speed。
请注意,变量speed和dist的单位分别是mph和ft。
2. 对新数据集的预测
使用以上模型,我们可以预测新速度值的停车距离。
首先创建一个新的数据框,其中包含例如三个新的速度值:
new.speeds <- data.frame(
speed = c(12, 19, 24)
)
您可以使用R函数predict()预测相应的停车距离,如下所示:
predict(model, newdata = new.speeds)
## 1 2 3
## 29.6 57.1 76.8
3. 置信区间
置信区间反映了均值预测周围的不确定性。要显示均值预测的95%置信区间,请加用R代码interval = "confidence":
predict(model, newdata = new.speeds, interval = "confidence")
## fit lwr upr
## 1 29.6 24.4 34.8
## 2 57.1 51.8 62.4
## 3 76.8 68.4 85.2
输出包含以下几列:
- fit:三个新车速预算的停车距离
- lwr和upr:期望值的置信度上限和下限。默认情况下,该函数产生95%的置信度范围。
例如,与速度19相关的95%置信区间为(51.83,62.44),平均预测值为57.1。根据我们的模型,一辆时速为19 mph的汽车的平均制动距离为51.83到62.44 ft,即平均值落在51.83到62.44到概率为95%。
4. 预测区间
预测区间给出了单个值(注意,置信区间为平均值)附近的不确定性。以相同的方式,作为置信区间,预测区间可以计算如下:
predict(model, newdata = new.speeds, interval = "prediction")
## fit lwr upr
## 1 29.6 -1.75 61.0
## 2 57.1 25.76 88.5
## 3 76.8 44.75 108.8
与19的速度相关联的95%预测区间为(25.76,88.51)。根据我们的模型,速度为19 mph的汽车的停车距离在25.76到88.51之间的概率为95%。
注意,预测区间依赖于假设:残留误差正态分布为常数。因此,只有在您认为手边的数据近似满足假设的情况下,才可以使用预测区间。
5. 预测区间还是置信区间?
预测区间反映单个值附近的不确定性,而置信区间反映平均预测值附近的不确定性。因此,预测区间通常将比相同值的置信区间宽得多。
我们应该使用哪一个?
这个问题的答案取决于分析的背景和目的。通常,我们对特定的单个预测感兴趣,因此预测间隔会更合适。当您在应该使用预测区间时错误使用了置信区间,将大大低估给定预测值的不确定性。
6. 作图
我们可以绘制包含回归曲线、置信区间和预测区间的散点图
# 0. 建立预测模型
data("cars", package = "datasets")
model <- lm(dist ~ speed, data = cars)
# 1. 添加预测区间
pred.int <- predict(model, interval = "prediction")
mydata <- cbind(cars, pred.int)
# 2. 绘制回归线和置信区间
library("ggplot2")
p <- ggplot(mydata, aes(speed, dist)) +
geom_point() +
stat_smooth(method = lm)
# 3. 绘制预测区间
p + geom_line(aes(y = lwr), color = "red", linetype = "dashed")+
geom_line(aes(y = upr), color = "red", linetype = "dashed")
参考内容:
1. Alboukadel Kassambara, Machine Learning Essentials: Practical Guide in R
如果您觉得我说的对您有帮助,请点赞让我感到您的支持,您的支持是我写作最大的动力~ijournal:高颜值的期刊检索网站,助您快速找到理想目标期刊(weixin小程序也上线了哦)投必得:全专业中英文论文润色编辑助力您的论文快速发表,点击了解业务详情
专栏传送门:
投必得科研软件安装使用手册;投必得:SCI期刊介绍与选择;投必得,教你写论文;投必得统计分析大讲堂;投必得科研生活解忧杂货店