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