Як виконати наївне прогнозування в 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)

Наївне прогнозування в Р

Зауважте, що прогнозована лінія продажу по суті є зміщеною версією фактичної лінії продажу.

Це саме те, чого ми очікували, оскільки наївний прогноз просто передбачає, що продажі в поточному періоді дорівнюватимуть продажам у попередньому періоді.

Додаткові ресурси

Як розрахувати MAE в R
Як розрахувати MAPE в R
Що вважається хорошим значенням для MAPE?

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *