如何在 r 中计算 mape
衡量模型预测准确性的最常用指标之一是MAPE ,它代表平均绝对百分比误差。
MAPE的计算公式如下:
MAPE = (1/n) * Σ(|实际 – 预测| / |实际|) * 100
金子:
- Σ——一个奇特的符号,意思是“和”
- n——样本量
- real——数据的实际值
- 预测——数据的预期值
MAPE 之所以常用,是因为它易于解释和解释。例如,MAPE 值为 6% 表示预测值与实际值之间的平均差异为 6%。
本教程提供了两种不同的方法,可用于在 R 中计算 MAPE。
方法一:自己写函数
假设我们有一个数据集,其中一列包含实际数据值,一列包含预测数据值:
#create dataset data <- data. frame (actual=c(34, 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 34 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
为了计算 MAPE,我们可以使用以下函数:
#calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100
[1] 6.467108
该模型的 MAPE 结果为6.467% 。即预测值与实际值的平均绝对差为6.467%。
方法2:使用包
我们还可以使用MLmetrics包中的MAPE()函数计算同一数据集的 MAPE,该函数使用以下语法:
MAPE(y_pred, y_true)
金子:
- y_pred:预测值
- y_true:真实值
这是我们在示例中使用的语法:
#load MLmetrics package library (MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108
这产生了与我们使用之前的方法计算的相同的 MAPE 值6.467% 。