怎样在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
发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds