介绍
R中的「predict()」函数用于根据输入数据预测值,R程序中的所有建模方面都会以自己的方式使用「predict()」函数,但请注意,在任何情况下,predict()函数的功能仍然是相同的。
在本文中,您将探索如何在 R 中使用 predict()
函数。
前提条件
要完成本教程,您将需要:
- To have installed R.
R 中的 Predict() 函数的语法
R 中的「predict()」函数用于根据输入数据预测值。
1predict(object, newdata, interval)
- **对象:**从线性模型继承的类
- **newdata:**输入数据来预测值
- **范围:**间隔计算类型
一个预测() 函数的例子
我们将需要数据来预测值. 为此示例的目的,我们可以导入R中的内置数据集 - 汽车
。
1df <- datasets::cars
这将为数据框架(/community/tutorials/r-read-csv-file-to-data-frame)分配一组速度
和距离
值:
1speed dist
21 4 2
32 4 10
43 7 4
54 7 22
65 8 16
76 9 10
87 10 18
98 10 26
109 10 34
1110 11 17
接下来,我们将使用predict()
来确定使用这些数据的未来值。
首先,我们需要计算这个数据框架的线性模型:
1# Creates a linear model
2my_linear_model <- lm(dist~speed, data = df)
3
4# Prints the model results
5my_linear_model
运行此代码将计算线性模型结果:
1Call:
2lm(formula = dist ~ speed, data = df)
3
4Coefficients:
5(Intercept) speed
6 -17.579 3.932
线性模型已经根据我们的输入数据行为返回了汽车的速度,现在我们有一个模型,我们可以应用‘predict()’。
1# Creating a data frame
2variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
3
4# Fiting the linear model
5linear_model <- lm(dist~speed, data = df)
6
7# Predicts the future values
8predict(linear_model, newdata = variable_speed)
此代码产生以下输出:
11 2 3 4 5
225.67740 25.67740 29.60981 29.60981 29.60981
3 6 7 8 9 10
429.60981 33.54222 33.54222 33.54222 33.54222
好吧,我们已经成功地预测了基于以前的数据和线性模型的未来距离值。
现在,我们必须检查预测值中的_confidence_
级别,看看我们的预测是多么准确。
信任预测的价值观
预测函数中的信任间隔将帮助我们衡量预测中的不确定性。
1# Input data
2variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
3
4# Fits the model
5linear_model <- lm(dist~speed, data = df)
6
7# Predicts the values with confidence interval
8predict(linear_model, newdata = variable_speed, interval = 'confidence')
此代码产生以下输出:
1fit lwr upr
21 25.67740 19.96453 31.39028
32 25.67740 19.96453 31.39028
43 29.60981 24.39514 34.82448
54 29.60981 24.39514 34.82448
65 29.60981 24.39514 34.82448
76 29.60981 24.39514 34.82448
87 33.54222 28.73134 38.35310
98 33.54222 28.73134 38.35310
109 33.54222 28.73134 38.35310
1110 33.54222 28.73134 38.35310
您可以在上面的输出中看到我们预测值的信任间隔。
根据这一结果,我们可以预测,以 11-13 英里每小时的速度行驶的汽车有可能在 19.9 至 31.3 英里范围内行驶。
结论
predict()
函数用于基于以前的数据行为预测值,从而将这些数据与模型相匹配。
您还可以使用信任间隔来检查我们的预测的准确性。
参考 *