如何在 R 编程中使用 predict() 函数

介绍

R中的「predict()」函数用于根据输入数据预测值,R程序中的所有建模方面都会以自己的方式使用「predict()」函数,但请注意,在任何情况下,predict()函数的功能仍然是相同的。

在本文中,您将探索如何在 R 中使用 predict() 函数。

前提条件

要完成本教程,您将需要:

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()函数用于基于以前的数据行为预测值,从而将这些数据与模型相匹配。

您还可以使用信任间隔来检查我们的预测的准确性。

Published At
Categories with 技术
Tagged with
comments powered by Disqus