如何在 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