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:
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)
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?