如何在 r 中计算 smape


对称平均绝对百分比误差 (SMAPE)用于衡量模型的预测准确性。计算方法如下:

SMAPE = (1/n) * Σ(|预测 – 实际| / ((|实际| + |预测|)/2) * 100

金子:

  • Σ – 表示“和”的符号
  • n——样本量
  • real——数据的实际值
  • 预测——数据的预期值

SMAPE 的值越小,给定模型的预测精度就越高。

本教程介绍了两种可用于在 R 中计算 SMAPE 的不同方法。

方法 1:使用 Metrics 包中的 smape()

在 R 中计算 SMAPE 的一种方法是使用Metrics包中的smape()函数:

 library (Metrics)

#define actual values
actual <- c(12, 13, 14, 15, 15, 22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
smape(actual, forecast)

[1] 0.1245302

我们可以看到该模型的对称平均绝对百分比误差为12.45%

方法二:自己写函数

计算 SMAPE 的另一种方法是创建我们自己的函数,如下所示:

 find_smape <- function (a, f) {
  return ( 1 /length(a) * sum( 2 *abs(fa) / (abs(a)+abs(f))* 100 ))
}

然后我们可以使用这个函数来计算实际值向量和预测值向量之间的 SMAPE:

 #define actual values
actual <- c(12, 13, 14, 15, 15,22, 27)

#define forecasted values
forecast <- c(11, 13, 14, 14, 15, 16, 18)

#calculate SMAPE
find_smape(actual, forecast)

[1] 12.45302

SMAPE 再次变为12.45% ,与上一个示例的结果相符。

其他资源

如何在 R 中计算 MAPE
如何在 R 中计算 MAD
如何在 R 中计算 MAE
如何在 R 中计算 RMSE
如何在R中计算MSE

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注