Jak przeprowadzić naiwne prognozowanie w r: z przykładami


Prognoza naiwna to taka, w której prognoza na dany okres jest po prostu równa wartości obserwowanej w okresie poprzednim.

Załóżmy przykładowo, że w pierwszych trzech miesiącach roku mamy następującą sprzedaż danego produktu:

Prognoza sprzedaży na kwiecień byłaby po prostu równa rzeczywistej sprzedaży z poprzedniego marca:

Przykład naiwnej prognozy

Chociaż metoda ta jest prosta, w praktyce sprawdza się zaskakująco dobrze.

W tym samouczku przedstawiono krok po kroku przykład wykonywania naiwnych prognoz w języku R.

Krok 1: Wprowadź dane

Najpierw wprowadzimy dane sprzedażowe w wyimaginowanej firmie za okres 12 miesięcy:

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

Krok 2: generuj naiwne prognozy

Następnie użyjemy następujących formuł, aby utworzyć naiwne prognozy na każdy miesiąc:

 #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

Należy zauważyć, że po prostu użyliśmy NA dla pierwszej przewidywanej wartości.

Krok 3: Zmierz dokładność prognozy

Na koniec musimy zmierzyć dokładność prognoz. Dwie popularne metryki używane do pomiaru dokładności obejmują:

  • Średni bezwzględny błąd procentowy (MAPE)
  • Średni błąd bezwzględny (MAE)

Do obliczenia obu wskaźników możemy użyć następującego kodu:

 #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

Średni bezwzględny błąd procentowy wynosi 9,898% , a średni bezwzględny błąd wynosi 3,45.

Aby dowiedzieć się, czy ta prognoza jest przydatna, możemy porównać ją z innymi modelami prognostycznymi i sprawdzić, czy dokładność pomiaru jest lepsza, czy gorsza.

Krok 4: Wizualizuj prognozę

Na koniec możemy stworzyć prosty wykres liniowy, aby zwizualizować różnice między rzeczywistą sprzedażą a naiwnymi prognozami sprzedaży w każdym okresie:

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

Naiwne prognozowanie u R

Należy pamiętać, że przewidywana linia sprzedaży jest zasadniczo przesuniętą wersją rzeczywistej linii sprzedaży.

Tego właśnie byśmy się spodziewali, ponieważ naiwna prognoza przewiduje po prostu, że sprzedaż w bieżącym okresie zrówna się ze sprzedażą w okresie poprzednim.

Dodatkowe zasoby

Jak obliczyć MAE w R
Jak obliczyć MAPE w R
Co jest uważane za dobrą wartość dla MAPE?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *