R语言 均方根误差
均方根误差(RMSE)是所有误差的平方平均值的平方根。RMSE被认为是数字预测的一个优秀的通用误差指标。RMSE是一个很好的准确性衡量标准,但只能用于比较不同模型或模型配置对某一特定变量的预测误差,而不能用于变量之间,因为它与规模有关。它是衡量回归线对数据点的拟合程度的指标。计算RMSE的公式是:
其中,
**predicted i **= 第i个观测值的预测值。
**actual i **= 第i个观测值的观察(实际)值
N = 观测值的总数。
注: 实际值和预测值之间的差异被称为残差。
RMSE的实现
R中 Metrics 包中的 rmse() 函数用于计算实际值和预测值之间的均方根误差。
语法:
rmse(actual, predicted)
参数:
actual: 地面真相数字向量。
predicted: 预测的数字向量,其中向量中的每个元素都是对实际中相应元素的预测。
例子1:
让我们定义两个向量,实际向量包含地面真相数字值,预测向量包含预测数字值,向量中的每个元素都是对实际中相应元素的预测。
输出
例子2:
在这个例子中,我们以数据集库中的树木数据为例,它代表了对黑樱桃树进行研究的数据。
输出
输出
这个数据集由描述黑樱桃树的3个数字变量的31个观测值组成,以树干周长、高度和体积为变量。现在,尝试在给定的树干周长的基础上拟合一个线性回归模型来预测树干的体积。在这种情况下,R中的简单线性回归模型将有所帮助。让我们直接进入并建立一个与树的体积和周长有关的线性模型。R通过基础函数 lm() 使之变得简单明了。这个模型在预测树的体积和树围方面的表现如何?使用 predict() 函数,这是一个通用的R函数,用于对模型拟合函数进行预测。 predict() 将线性回归模型和我们想要的响应变量值作为参数。
输出
现在我们有了樱桃树干的实际体积和由线性回归模型驱动的预测值。最后使用 rmse() 函数得到实际值和预测值之间的相对误差。
输出
误差值为 4.11254 ,对于线性模型来说,这是一个不错的分数。但它可以通过添加更多的预测因子(多元回归模型)来进一步减少。因此,综上所述,可以说使用R语言找到均方根误差是非常容易的。人们可以使用R语言中的 rmse() 函数来执行这项任务。