Как выполнить наивное прогнозирование в r: с примерами


Наивный прогноз – это прогноз, в котором прогноз на данный период просто равен значению, наблюдавшемуся в предыдущем периоде.

Например, предположим, что в течение первых трех месяцев года у нас есть следующие продажи данного продукта:

Прогноз продаж за апрель просто будет равен фактическим продажам за март предыдущего года:

Пример наивного прогноза

Хотя этот метод прост, на практике он работает на удивление хорошо.

В этом руководстве представлен пошаговый пример выполнения простых прогнозов в R.

Шаг 1: Введите данные

Сначала мы введем данные о продажах воображаемой компании за 12-месячный период:

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

Шаг 2: генерируйте наивные прогнозы

Далее мы будем использовать следующие формулы для создания наивных прогнозов на каждый месяц:

 #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

Обратите внимание, что мы просто использовали NA для первого прогнозируемого значения.

Шаг 3. Измерьте точность прогноза

Наконец, мы должны измерить точность прогнозов. Два общих показателя, используемых для измерения точности, включают в себя:

  • Средняя абсолютная процентная ошибка (MAPE)
  • Средняя абсолютная ошибка (MAE)

Мы можем использовать следующий код для расчета обеих метрик:

 #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

Средняя абсолютная процентная ошибка составляет 9,898% , а средняя абсолютная ошибка — 3,45.

Чтобы выяснить, полезен ли этот прогноз, мы можем сравнить его с другими моделями прогноза и посмотреть, лучше или хуже точность измерений.

Шаг 4. Визуализируйте прогноз

Наконец, мы можем создать простой линейный график, чтобы визуализировать различия между фактическими продажами и наивными прогнозами продаж в течение каждого периода:

 #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)

Наивное прогнозирование в R

Обратите внимание, что прогнозируемая линия продажи по сути является смещенной версией фактической линии продажи.

Это именно то, чего мы и ожидали, поскольку наивный прогноз просто предсказывает, что продажи в текущем периоде будут равны продажам в предыдущем периоде.

Дополнительные ресурсы

Как рассчитать MAE в R
Как рассчитать MAPE в R
Что считается хорошей ценностью для MAPE?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *