如何在 r 中计算 wmape(附示例)
衡量模型预测准确性的最常用指标之一是WMAPE ,它代表加权平均绝对百分比误差。
WMAPE的计算公式为:
WMAPE = (Σ|y i – ŷ i |*w i ) / (Σy i *w i ) * 100
金子:
- Σ – 表示“和”的符号
- y i –第 i 个观测值的真实值
- ŷ i – 第 i个观测值的预测值
- w i – 第 i 个观测值的权重
我们可以在R中定义以下函数来计算WMAPE:
find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) }
下面的例子展示了如何在实际中使用这个功能。
示例:在 R 中计算 WMAPE
假设我们在 R 中有以下数据框,其中包含有关零售商店的实际和预测销售额的信息:
#create dataset data <- data. frame (actual=c(23, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data current forecast 1 23 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
要计算实际销售额和预测销售额之间差异的 WMAPE,我们可以定义要使用的权重向量,然后使用我们之前定义的 WMAPE 函数:
#define function to calculate WMAPE find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) } #define weights for each month weights <- c(20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6) #calculate WMAPE find_WMAPE(df$actual, df$predicted, weights) [1] 13.27635
该模型的 WMAPE 结果为13.27635% 。
即预测销售值与实际销售值之间的加权平均绝对百分比误差为13.27635%。
请注意,在此示例中,我们为一月和二月的值分配了更大的权重。
根据您的特定问题,您可以根据模型中每个错误的重要性为不同的观测值分配更大或更小的权重。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: