Naïeve prognoses uitvoeren in r: met voorbeelden
Een naïeve voorspelling is een voorspelling waarbij de voorspelling voor een bepaalde periode eenvoudigweg gelijk is aan de waarde die in de voorgaande periode is waargenomen.
Stel dat we bijvoorbeeld de volgende verkopen van een bepaald product hebben gedurende de eerste drie maanden van het jaar:
De verkoopvoorspelling voor april zou eenvoudigweg gelijk zijn aan de werkelijke verkoop van maart daarvoor:
Hoewel deze methode eenvoudig is, blijkt deze in de praktijk verrassend goed te werken.
Deze tutorial biedt een stapsgewijs voorbeeld van hoe u naïeve prognoses kunt uitvoeren in R.
Stap 1: Voer de gegevens in
Eerst voeren we verkoopgegevens in over een periode van twaalf maanden bij een denkbeeldig bedrijf:
#create vector to hold actual sales data
actual <- c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24)
Stap 2: genereer naïeve voorspellingen
Vervolgens zullen we de volgende formules gebruiken om naïeve voorspellingen voor elke maand te maken:
#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
Merk op dat we eenvoudigweg NA hebben gebruikt voor de eerste voorspelde waarde.
Stap 3: Meet de nauwkeurigheid van de voorspelling
Ten slotte moeten we de nauwkeurigheid van de voorspellingen meten. Twee veelgebruikte statistieken die worden gebruikt om de nauwkeurigheid te meten, zijn onder meer:
- Gemiddelde absolute procentuele fout (MAPE)
- Gemiddelde absolute fout (MAE)
We kunnen de volgende code gebruiken om beide statistieken te berekenen:
#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
De gemiddelde absolute procentuele fout is 9,898% en de gemiddelde absolute fout is 3,45.
Om erachter te komen of deze voorspelling nuttig is, kunnen we deze vergelijken met andere voorspellingsmodellen en kijken of de meetnauwkeurigheid beter of slechter is.
Stap 4: Visualiseer de voorspelling
Ten slotte kunnen we een eenvoudig lijnendiagram maken om de verschillen tussen de werkelijke verkopen en naïeve verkoopprognoses gedurende elke periode te visualiseren:
#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)
Merk op dat de voorspelde verkooplijn in wezen een verschoven versie is van de werkelijke verkooplijn.
Dit is precies wat we zouden verwachten, aangezien de naïeve voorspelling eenvoudigweg voorspelt dat de omzet in de huidige periode gelijk zal zijn aan de omzet in de voorgaande periode.
Aanvullende bronnen
Hoe MAE in R te berekenen
Hoe MAPE in R te berekenen
Wat wordt als een goede waarde voor MAPE beschouwd?