R语言 均方根误差

您所在的位置:网站首页 均方根值符号怎么写 R语言 均方根误差

R语言 均方根误差

2023-03-13 00:19| 来源: 网络整理| 查看: 265

R语言 均方根误差

均方根误差(RMSE)是所有误差的平方平均值的平方根。RMSE被认为是数字预测的一个优秀的通用误差指标。RMSE是一个很好的准确性衡量标准,但只能用于比较不同模型或模型配置对某一特定变量的预测误差,而不能用于变量之间,因为它与规模有关。它是衡量回归线对数据点的拟合程度的指标。计算RMSE的公式是:

R编程中的均方根误差

其中,

**predicted i **= 第i个观测值的预测值。

**actual i **= 第i个观测值的观察(实际)值

N = 观测值的总数。

注: 实际值和预测值之间的差异被称为残差。

RMSE的实现

R中 Metrics 包中的 rmse() 函数用于计算实际值和预测值之间的均方根误差。

语法:

rmse(actual, predicted)

参数:

actual: 地面真相数字向量。

predicted: 预测的数字向量,其中向量中的每个元素都是对实际中相应元素的预测。

例子1:

让我们定义两个向量,实际向量包含地面真相数字值,预测向量包含预测数字值,向量中的每个元素都是对实际中相应元素的预测。

# R program to illustrate RMSE    # Importing the required package library(Metrics)    # Taking two vectors actual = c(1.5, 1.0, 2.0, 7.4, 5.8, 6.6)          predicted = c(1.0, 1.1, 2.5, 7.3, 6.0, 6.2)          # Calculating RMSE using rmse()          result = rmse(actual, predicted)    # Printing the value print(result)       

输出

[1] 0.3464102

例子2:

在这个例子中,我们以数据集库中的树木数据为例,它代表了对黑樱桃树进行研究的数据。

# Importing required packages library(datasets) library(tidyr) library(dplyr)    # Access the data from R’s datasets package data(trees)    # Display the data in the trees dataset     trees           

输出

Girth Height Volume 1 8.3 70 10.3 2 8.6 65 10.3 3 8.8 63 10.2 4 10.5 72 16.4 5 10.7 81 18.8 6 10.8 83 19.7 7 11.0 66 15.6 8 11.0 75 18.2 9 11.1 80 22.6 10 11.2 75 19.9 11 11.3 79 24.2 12 11.4 76 21.0 13 11.4 76 21.4 14 11.7 69 21.3 15 12.0 75 19.1 16 12.9 74 22.2 17 12.9 85 33.8 18 13.3 86 27.4 19 13.7 71 25.7 20 13.8 64 24.9 21 14.0 78 34.5 22 14.2 80 31.7 23 14.5 74 36.3 24 16.0 72 38.3 25 16.3 77 42.6 26 17.3 81 55.4 27 17.5 82 55.7 28 17.9 80 58.3 29 18.0 80 51.5 30 18.0 80 51.0 31 20.6 87 77.0 # Look at the structure # Of the variables str(trees)     

输出

'data.frame': 31 obs. of 3 variables: $ Girth : num 8.3 8.6 8.8 10.5 10.7 10.8 11 11 11.1 11.2 ... $ Height: num 70 65 63 72 81 83 66 75 80 75 ... $ Volume: num 10.3 10.3 10.2 16.4 18.8 19.7 15.6 18.2 22.6 19.9 ...

这个数据集由描述黑樱桃树的3个数字变量的31个观测值组成,以树干周长、高度和体积为变量。现在,尝试在给定的树干周长的基础上拟合一个线性回归模型来预测树干的体积。在这种情况下,R中的简单线性回归模型将有所帮助。让我们直接进入并建立一个与树的体积和周长有关的线性模型。R通过基础函数 lm() 使之变得简单明了。这个模型在预测树的体积和树围方面的表现如何?使用 predict() 函数,这是一个通用的R函数,用于对模型拟合函数进行预测。 predict() 将线性回归模型和我们想要的响应变量值作为参数。

# Building a linear model  # Relating tree volume to girth fit_1 % select(Girth)     # Use predict function to predict volume data.predicted = c(predict(fit_1, data.frame(Girth = trees.Girth)))     data.predicted

输出

1 2 3 4 5 6 7 8 9 5.103149 6.622906 7.636077 16.248033 17.261205 17.767790 18.780962 18.780962 19.287547 10 11 12 13 14 15 16 17 18 19.794133 20.300718 20.807304 20.807304 22.327061 23.846818 28.406089 28.406089 30.432431 19 20 21 22 23 24 25 26 27 32.458774 32.965360 33.978531 34.991702 36.511459 44.110244 45.630001 50.695857 51.709028 28 29 30 31 53.735371 54.241956 54.241956 67.413183

现在我们有了樱桃树干的实际体积和由线性回归模型驱动的预测值。最后使用 rmse() 函数得到实际值和预测值之间的相对误差。

# Load the Metrics package  library(Metrics)    # Applying rmse() function  rmse(trees$Volume, predict(fit_1, data.frame(Girth = trees.Girth)))

输出

[1] 4.11254

误差值为 4.11254 ,对于线性模型来说,这是一个不错的分数。但它可以通过添加更多的预测因子(多元回归模型)来进一步减少。因此,综上所述,可以说使用R语言找到均方根误差是非常容易的。人们可以使用R语言中的 rmse() 函数来执行这项任务。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3