SES vs naiv
I den här övningen använder du dina kunskaper om tränings- och testuppsättningar, funktionen subset() och funktionen accuracy() – allt du lärde dig i kapitel 2 – för att jämföra SES-prognoser och naiva prognoser för datamängden marathon.
Du gjorde något liknande tidigare när du jämförde naiva prognoser och medelvärdesbaserade prognoser i övningen "Evaluating forecast accuracy of non-seasonal methods".
Här är en genomgång av processen:
- Importera och läs in dina data. Bestäm hur stor andel du vill använda för träning respektive testning – de två uppsättningarna ska inte överlappa.
- Dela upp datan för att skapa en träningsuppsättning, som du sedan använder som argument i dina prognosfunktioner. Du kan också skapa en testuppsättning att använda senare.
- Beräkna prognoser för träningsuppsättningen med de prognosfunktioner du väljer, och sätt
htill det antal värden du vill prognostisera – vilket också är längden på testuppsättningen. - Använd funktionen
accuracy()för att visa resultaten, med prognosen som första argument och originaldata (eller testuppsättningen) som andra. - Välj ett mått i utdata, till exempel RMSE eller MAE, för att utvärdera prognoserna – ett lägre felvärde innebär högre noggrannhet.
Datamängden marathon är inläst i din arbetsmiljö.
Den här övningen är en del av kursen
Prognoser i R
Övningsinstruktioner
- Använd
subset()för att skapa en träningsuppsättning förmarathonsom omfattar alla utom de sista 20 åren av datan, vilka du reserverar för testning. - Beräkna SES- och naiva prognoser för träningsuppsättningen och spara dem i
fcsesrespektivefcnaive. - Beräkna noggrannhetsmått för de två prognosuppsättningarna med funktionen
accuracy()i konsolen. - Tilldela de bästa prognoserna (antingen
fcsesellerfcnaive) baserat på RMSE tillfcbest.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___