Como calcular o mape em r


Uma das métricas mais comumente usadas para medir a precisão da previsão de um modelo é MAPE , que significa erro percentual médio absoluto .

A fórmula para calcular o MAPE é a seguinte:

MAPE = (1/n) * Σ(|real – previsão| / |real|) * 100

Ouro:

  • Σ – um símbolo sofisticado que significa “soma”
  • n – tamanho da amostra
  • real – o valor real dos dados
  • previsão – o valor esperado dos dados

MAPE é comumente usado porque é fácil de interpretar e explicar. Por exemplo, um valor MAPE de 6% significa que a diferença média entre o valor previsto e o valor real é de 6%.

Este tutorial fornece dois métodos diferentes que você pode usar para calcular MAPE em R.

Método 1: escreva sua própria função

Suponha que temos um conjunto de dados com uma coluna contendo os valores reais dos dados e uma coluna contendo os valores previstos dos dados:

 #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

Para calcular o MAPE, podemos usar a seguinte função:

 #calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100

[1] 6.467108

O MAPE para este modelo é de 6,467% . Ou seja, a diferença absoluta média entre o valor previsto e o valor real é de 6,467%.

Método 2: use um pacote

Também poderíamos calcular MAPE para o mesmo conjunto de dados usando a função MAPE() do pacote MLmetrics , que usa a seguinte sintaxe:

MAPE(y_pred, y_true)

Ouro:

  • y_pred: valores previstos
  • y_true: valores reais

Aqui está a sintaxe que usaríamos em nosso exemplo:

 #load MLmetrics package
library (MLmetrics)

#calculate MAPE
MAPE(data$forecast, data$actual)

[1] 0.06467108

Isto produz o mesmo valor MAPE de 6,467% que calculamos usando o método anterior.

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *