怎样在R编程中使用predict()函数
简介
在R中,predict()函数用于根据输入数据预测值。在R程序中的所有建模方面都会以自己的方式使用predict()函数,但请注意,无论案例如何,predict()函数的功能都保持不变。
在本文中,您将了解如何在R中使用predict()函数。
先决条件
完成此教程所需的材料如下:
- To have installed R.
R 中 predict() 函数的语法
在R中,predict() 函数用于基于输入数据预测值。
predict(object, newdata, interval)
- object: The class inheriting from the linear model
- newdata: Input data to predict the values
- interval: Type of interval calculation
predict()函数的一个示例
为了预测数值,我们需要数据。针对本例,我们可以在R中导入内置数据集“Cars”。
df <- datasets::cars
这将为一个数据框分配一组速度和距离(dist)值。
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
7 10 18
8 10 26
9 10 34
10 11 17
接下来,我们将使用predict()函数来利用这些数据来预测未来的值。
首先,我们需要为这个数据框计算一个线性模型。
# Creates a linear model
my_linear_model <- lm(dist~speed, data = df)
# Prints the model results
my_linear_model
执行此代码将计算线性模型的结果。
Call:
lm(formula = dist ~ speed, data = df)
Coefficients:
(Intercept) speed
-17.579 3.932
现在我们有了一个线性模型,根据我们的输入数据行为来预测车辆的速度。现在我们可以使用predict()函数应用该模型。
# Creating a data frame
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# Fiting the linear model
linear_model <- lm(dist~speed, data = df)
# Predicts the future values
predict(linear_model, newdata = variable_speed)
这段代码产生了以下输出:
1 2 3 4 5
25.67740 25.67740 29.60981 29.60981 29.60981
6 7 8 9 10
29.60981 33.54222 33.54222 33.54222 33.54222
好的,我们根据之前的数据,并借助线性模型成功预测了未来的距离数值。
现在,我们需要查看我们预测值中的“置信度”水平,以确定我们的预测准确性如何。
对预测值的信心
在预测函数中的置信区间将帮助我们评估预测的不确定性。
# Input data
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# Fits the model
linear_model <- lm(dist~speed, data = df)
# Predicts the values with confidence interval
predict(linear_model, newdata = variable_speed, interval = 'confidence')
这段代码生成以下输出。
fit lwr upr
1 25.67740 19.96453 31.39028
2 25.67740 19.96453 31.39028
3 29.60981 24.39514 34.82448
4 29.60981 24.39514 34.82448
5 29.60981 24.39514 34.82448
6 29.60981 24.39514 34.82448
7 33.54222 28.73134 38.35310
8 33.54222 28.73134 38.35310
9 33.54222 28.73134 38.35310
10 33.54222 28.73134 38.35310
你可以在上面的输出中看到我们预测值的置信区间。
从这个输出结果可以预测,以11-13英里/小时的速度行驶的汽车有可能行驶19.9到31.3英里的距离。
结论是… shì…)
预测()函数是基于先前的数据行为,通过将该数据拟合到模型中来预测数值的。
你也可以使用置信区间来检查我们预测的准确性。
参考文献
- R documentation