如何找到 RMSE 值?啥是好的 RMSE 值?

Posted

技术标签:

【中文标题】如何找到 RMSE 值?啥是好的 RMSE 值?【英文标题】:How to find RMSE value? and What is good RMSE value?如何找到 RMSE 值?什么是好的 RMSE 值? 【发布时间】:2021-07-18 15:29:04 【问题描述】:

我正在预测电力输出,我有不同的数据集,从 200 到 4000 个观察值不等。我已经计算了预测,但我不知道如何计算 R 中的 RMSE 值和 R(相关系数)。我试图在 excel 上计算它,rmse 的结果是 0.0078。所以我这里基本上有两个问题。

    如何计算 R 中的 RMSE 和 R 值? 什么是好的 RMSE 值? 0.007 是一个相当大的值吗?

【问题讨论】:

如果您有模型,请尝试sqrt(sum(resid(model)^2))。而且一个值本身并不好,与从其他拟合模型获得的其他值相比,它是好的。 @RuiBarradas,作为答案发帖? 对于第 1 部分,这些是否回答了您的问题? ***.com/a/26237921/6851825 和 ***.com/a/35916901/6851825 和 ***.com/a/43123619/6851825 【参考方案1】:

这里有两个函数,一个用于计算 MSE,第二个调用第一个函数并取平方根 RMSE。

这些函数接受一个拟合模型,而不是一个数据集。例如lmglm 等的输出。

mse <- function(x, na.rm = TRUE, ...)
  e <- resid(x)
  mean(e^2, na.rm = TRUE)

rmse <- function(x, ...) sqrt(mse(x, ...))

就像我在对该问题的评论中所说,一个值本身并不好,与从其他拟合模型获得的其他值相比,它是好的。

【讨论】:

谢谢。我做了预测并计算了 rmse 值。 rmse 值为 0.60,而在绘图中预测没有正确遵循观察到的数据,它与它有一些偏差。这是否意味着我的模型不合适或其他原因? @SohrabKhan 这对我们来说是不可能的。如果数据更多地分布在拟合线上,则尽管模型很好,但 RMSE 会更大。或者也许其他模型是更好的选择。就像我说的,RMSE 值本身并不是一个标准,你有没有尝试绘制残差? Q-Q图、直方图等?【参考方案2】:

均方根误差 (RMSE) 是预测误差的标准差。预测误差衡量回归线数据点的距离; RMSE 衡量这些残差的分布程度。换句话说,它告诉您数据在最佳拟合线附近的集中程度。均方根误差常用于气候学、预报和回归分析,以验证实验结果。

公式为: 地点:

f = forecasts (expected values or unknown results),
o = observed values (known results).

平方差上方的条形是平均值(类似于 x̄)。相同的公式可以用以下略有不同的符号来编写:

地点:

Σ = summation (“add up”)
(zfi – Zoi)2 = differences, squared
N = sample size.

您可以使用任何您想要的方法,因为两者都反映了相同的情况,并且您所指的“R”是定义数据中方差量的皮尔逊系数

来到问题 2,一个好的 rmse 值始终取决于您的 rmse 的上限和下限,一个好的值应该总是更小,从而减少对错误的探测

【讨论】:

(1) 理论看起来不错,但这不是 OP 所要求的(如果他们有的话,这对 SO 来说是题外话); (2)您没有回答他们的主要问题(Q1),“我如何计算 R 中的 RMSE”? Q2 也与 SO 无关......(而且,当我在挑选你时,你应该在文本中写出公式,例如 sqrt(bar((f-o)^2)) 或至少提供替代文本......

以上是关于如何找到 RMSE 值?啥是好的 RMSE 值?的主要内容,如果未能解决你的问题,请参考以下文章

RMS:均方根值,RMSE:均方根误差,MSE:标准差

回归任务中的评价指标之MSE,RMSE,MAE,R-Squared,MAPE

Tidymodels:在 R 中进行 10 倍交叉验证后,从 TIbble 中取消最佳拟合模型的 RMSE 和 RSQ 值

Pyspark - 按两个日期列分组的 UDAF 函数,UDAF 用于计算实际值和预测值之间的 RMSE

RMSE(均方根误差)

Keras 中的 RMSE/RMSLE 损失函数