Como realizar previsões ingênuas em r: com exemplos


Uma previsão ingênua é aquela em que a previsão para um determinado período é simplesmente igual ao valor observado no período anterior.

Por exemplo, suponha que tenhamos as seguintes vendas de um determinado produto durante os primeiros três meses do ano:

A previsão de vendas de abril seria simplesmente igual às vendas reais de março anterior:

Exemplo de previsão ingênua

Embora esse método seja simples, ele tende a funcionar surpreendentemente bem na prática.

Este tutorial fornece um exemplo passo a passo de como realizar previsões ingênuas em R.

Passo 1: Insira os dados

Primeiro, inseriremos dados de vendas durante um período de 12 meses em uma empresa imaginária:

 #create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)

Etapa 2: gerar previsões ingênuas

A seguir, usaremos as seguintes fórmulas para criar previsões ingênuas para cada mês:

 #generate naive forecasts
forecast <- c(NA, actual[- length (actual)])

#view naive forecasts
forecast

[1] NA 34 37 44 47 48 48 46 43 32 27 26

Observe que simplesmente usamos NA para o primeiro valor previsto.

Etapa 3: medir a precisão da previsão

Finalmente, devemos medir a precisão das previsões. Duas métricas comuns usadas para medir a precisão incluem:

  • Erro percentual médio absoluto (MAPE)
  • Erro Médio Absoluto (MAE)

Podemos usar o seguinte código para calcular ambas as métricas:

 #calculate MAPE
mean(abs((actual-forecast)/actual), na. rm = T ) * 100

[1] 9.898281

#calculate MAE
mean(abs(actual-forecast), na. rm = T )

[1] 3.454545

O erro percentual absoluto médio é de 9,898% e o erro absoluto médio é de 3,45.

Para descobrir se esta previsão é útil, podemos compará-la com outros modelos de previsão e ver se a precisão da medição é melhor ou pior.

Etapa 4: visualize a previsão

Finalmente, podemos criar um gráfico de linhas simples para visualizar as diferenças entre as vendas reais e as previsões de vendas ingênuas durante cada período:

 #plot actual sales
plot(actual, type=' l ', col = ' red ', main=' Actual vs. Forecasted Sales ',
     xlab=' Sales Period ', ylab=' Sales ')

#add line for forecasted sales
lines(forecast, type=' l ', col = ' blue ')

#add legend
legend(' topright ', legend=c(' Actual ', ' Forecasted '),
       col=c(' red ', ' blue '), lty=1)

Previsão ingênua em R

Observe que a linha de venda prevista é essencialmente uma versão alterada da linha de venda real.

Isto é exactamente o que esperaríamos, uma vez que a previsão ingénua simplesmente prevê que as vendas no período actual serão iguais às vendas no período anterior.

Recursos adicionais

Como calcular MAE em R
Como calcular o MAPE em R
O que é considerado um bom valor para o MAPE?

Add a Comment

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