R编程中的predict()函数

时间:2020-02-23 14:43:53  来源:igfitidea点击:

R中的predict()函数用于根据输入数据预测值。
R程序中的所有建模方面都将以其自己的方式使用predict()函数,但请注意,不论情况如何,predict()函数的功能均保持不变。

R中predict()函数的语法

预测():R中的predict()函数用于根据输入数据预测值。

predict(object,newdata,interval)

其中:

  • Object =从" lm"继承的类
  • newdata =输入数据以预测值
  • 间隔=间隔计算的类型

预测()函数的一个例子

我们需要数据来预测值。
因此,我们将从R –"汽车"中的内置数据集中导入数据。

这样做的简单原因是,它是一个仅包含2个属性的简单数据集。

df<-datasets::cars

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

我们有两列,例如"速度"和"距离"。
我们有前10个值。
我们需要做的就是利用这些数据预测未来的价值。
有趣吧?来吧!

首先,我们需要为此数据帧计算一个线性模型。
执行以下代码将获取线性模型结果。

#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  

根据我们的输入数据行为,线性模型已返回汽车的速度。
现在,我们得到了模型,一切准备就绪,可以预测值。

让我们看看它是如何工作的!

#Creating a data frame
variable_speed<-data.frame(speed=c(11,11,12,12,12,12,13,13,13,13))

#fiting the linear model
liner_model<-lm(dist~speed,data = df)

#predicts the future values
predict(liner_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
liner_model<-lm(dist~speed,data = df)

#Predits the values with confidence interval 
predict(liner_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 mph的速度行驶的汽车有机会行驶19.9到31.3英里的距离。