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