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

添加评论

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