Moving Average Forecasting. Introduction Som du kanskje antar vi ser på noen av de mest primitive tilnærmingene til prognoser, men forhåpentligvis er disse minst en verdig innføring i noen av databehandlingsproblemene knyttet til implementering av prognoser i regneark. I denne venen fortsetter vi med begynner i begynnelsen og begynner å jobbe med Moving Average Forecasts. Moving Average Forecasts Alle er kjent med å flytte gjennomsnittlige prognoser, uavhengig av om de tror de er Alle studenter gjør dem hele tiden Tenk på testpoengene dine i et kurs der du skal ha fire tester i løpet av semesteret. La oss anta at du fikk en 85 på din første test. Hva ville du forutsi for din andre test score. Hva tror du at din lærer ville forutsi for din neste test score. Hva tror du dine venner kan forutsi for din neste test score. Hva tror du at foreldrene dine kan forutsi for din neste testscore. Uansett hvilken blabbing du kan gjøre med din fr Jeg og foreldrene mine, de og din lærer, er veldig sannsynlig å forvente deg å få noe i det 85 du nettopp har fått. Vel, la oss nå anta at til tross for selvforfremmelse til vennene dine, overestimerer du deg selv og finne ut at du kan studere mindre for den andre testen, og så får du en 73. Nå er det alle de bekymrede og ubekymrede kommer til å forutse at du kommer på den tredje testen. Det er to svært sannsynlige tilnærminger for dem å utvikle et estimat uavhengig av om de vil dele det med deg. De kan si til seg selv: Denne fyren blåser alltid røyk om hans smarts. Han kommer til å få en annen 73 hvis han er heldig. Måtte foreldrene forsøke å være mer støttende og si, vel, så langt du har fått en 85 og en 73, så kanskje du burde finne ut på å få en 85 73 2 79 Jeg vet ikke, kanskje hvis du gjorde mindre fester og ikke ville veksle vevet over alt, og hvis du begynte å gjøre en mye mer å studere du kan få en høyere score. Både disse estimatene er faktiske Den bevegelige gjennomsnittlige prognosen. Den første bruker bare din siste poengsum for å prognose din fremtidige ytelse. Dette kalles en gjennomsnittlig gjennomsnittlig prognose ved hjelp av en dataperiode. Den andre er også en flytende gjennomsnittlig prognose, men bruker to perioder med data. at alle disse menneskene bråser på ditt store sinn, har slags pisset deg av og du bestemmer deg for å gjøre det bra på den tredje testen av dine egne grunner og å sette en høyere poengsum foran dine allierte. Du tar testen og poengsummen din er egentlig en 89 Alle, inkludert deg selv, er imponert. Så nå har du den endelige testen av semesteret som kommer opp, og som vanlig føler du behovet for å få alle til å gjøre sine spådommer om hvordan du skal gjøre på den siste testen. Vel, forhåpentligvis ser du pattern. Now, forhåpentligvis kan du se mønsteret som tror du er den mest nøyaktige. Whistle Mens vi jobber nå, går vi tilbake til vårt nye rengjøringsfirma som startet av din fremmedgjorte halv søster, kalt Whistle While we Work Du har noen tidligere salgsdata representert av følgende seksjon fra et regneark Vi presenterer først dataene for en tre-års glidende gjennomsnittlig prognose. Oppføringen for celle C6 skal være. Nå kan du kopiere denne celleformelen ned til de andre cellene C7 til og med C11. Notat hvordan gjennomsnittet beveger seg over de nyeste historiske dataene, men bruker nøyaktig de tre siste perioder som er tilgjengelige for hver prediksjon. Du bør også legge merke til at vi ikke virkelig trenger å gjøre spådommene for de siste perioder for å utvikle vår siste prediksjon. Dette er definitivt forskjellig fra eksponensiell utjevningsmodell Jeg har inkludert de siste spådommene fordi vi vil bruke dem på neste nettside for å måle prediksjonens gyldighet. Nå vil jeg presentere de analoge resultatene for en to-års glidende gjennomsnittlig prognose. Oppføringen for celle C5 skal være. Nå kan kopiere denne celleformelen ned til de andre cellene C6 til C11. Notat hvor nå blir bare de to siste stykkene av historiske data brukt for hver prediksjon igjen, jeg har med d de siste spådommene for illustrative formål og for senere bruk i prognose validering. Som andre ting som er viktig å legge merke til. For en m-periode beveger gjennomsnittlig prognose bare de nyeste dataverdiene er brukt til å foreta prognosen Ingenting annet er nødvendig. For en m-periode som går i gjennomsnitt, vil prognosen ved første forsinkelse oppstå i perioden m 1.Bet av disse problemene vil være svært viktig når vi utvikler vår kode. Utvikle den bevegelige gjennomsnittsfunksjonen Nå må vi utvikle koden for den bevegelige gjennomsnittlige prognosen som kan brukes mer fleksibelt Koden følger Legg merke til at inngangene er for antall perioder du vil bruke i prognosen og rekke historiske verdier. Du kan lagre den i hvilken arbeidsbok du vil. Funksjon MovingAverage Historical, NumberOfPeriods Som Single Declaration og initialisering av variabler Dim Item Som variant Dim Counter Som Integer Dim Akkumulering Som Single Dim HistoricalSize Som Integer. Initialisering av variabler Teller 1 Akkumulering 0. Bestemme størrelsen på Historisk matrise HistoricalSize. For Counter 1 til NumberOfPeriods. Akkumulere riktig antall siste tidligere observerte verdier. Akkumulasjonsakkumulering Historisk Historisk størrelse - AntallOfPeriods Counter. MovingAverage AkkumuleringsnummerOfPeriods. Koden vil bli forklart i klassen. Du vil plassere funksjonen på regnearket slik at resultatet av beregningen vises der den skal som følgende. Spreadsheet implementering av sesongjustering og eksponensiell utjevning. Det er greit å utføre sesongjustering og passe eksponensielle utjevningsmodeller ved hjelp av Excel Skjermbilder og diagrammer nedenfor er hentet fra et regneark som er satt opp for å illustrere multiplikativ sesongjustering og lineær eksponensiell utjevning på følgende kvartalsvise salgsdata fra Outboard Marine. For å få en kopi av regnearkfilen selv, klikk her. Versjonen av lineær eksponensiell utjevning som vil bli brukt her for demonstrasjonsformål, er Browns versjon, bare fordi den kan implementeres med en singel e kolonne med formler, og det er bare en utjevningskonstant for å optimalisere. Det er vanligvis bedre å bruke Holt s-versjonen som har separate utjevningskonstanter for nivå og trend. Prognoseprosessen fortsetter som følger: Først blir dataene sesongjustert ii, da prognoser genereres for de sesongjusterte dataene via lineær eksponensiell utjevning og endelig endres de sesongjusterte prognosene for å få prognoser for den opprinnelige serien. Sesongjusteringsprosessen utføres i kolonne D til G. Det første trinnet i sesongjustering er å beregne en sentrert bevegelse gjennomsnitt utført her i kolonne D Dette kan gjøres ved å ta gjennomsnittet av to ettårige gjennomsnitt som kompenseres av en periode i forhold til hverandre. En kombinasjon av to offset-gjennomsnitt i stedet for et enkelt gjennomsnitt er nødvendig for sentrering når antall sesonger er like Det neste trinnet er å beregne forholdet til glidende gjennomsnitt - med de opprinnelige dataene delt med moven Gjennomsnittlig i hver periode - som utføres her i kolonne E Dette kalles også trend-syklus-komponenten i mønsteret, forutsatt at trend og konjunktursykluser kan anses å være alt som gjenstår etter gjennomsnitt over et helt år s Dataverdier Selvfølgelig kan endringer i måneden til måned som ikke skyldes sesongbestemte, bestemmes av mange andre faktorer, men 12-måneders gjennomsnittet glatter over dem i stor grad. Den estimerte sesongindeksen for hver sesong beregnes først gjennomsnittlig alle forholdene for den aktuelle sesongen, som er gjort i celler G3-G6 ved hjelp av en AVERAGEIF-formel. Gjennomsnittstallene blir deretter rescaled slik at de beløper seg til nøyaktig 100 ganger antall perioder i en sesong, eller 400 i dette tilfellet, hvilket er gjort i celler H3-H6 Nedenfor i kolonne F, benyttes VLOOKUP formler til å sette inn riktig sesongindeksverdi i hver rad i datatabellen, i henhold til kvartalet representerer den Det sentrert glidende gjennomsnittet og den sesongjusterte da Ta slutt å se slik ut. Merk at det bevegelige gjennomsnittet vanligvis ser ut som en jevnere versjon av den sesongjusterte serien, og den er kortere i begge ender. Et annet regneark i samme Excel-fil viser anvendelsen av den lineære eksponensielle utjevningsmodellen til sesongjusterte data, som begynner i kolonne GA-verdien for utjevningskonstanten alfa, er angitt over prognostikk-kolonnen her i celle H9 og for å få det tildelt, er det tildelt rekkevidde-navnet Alpha Navnet er tilordnet ved å bruke kommandoen Sett inn navnnavn LES-modellen er initialisert ved å sette de to første prognosene tilsvarer den første virkelige verdien av den sesongjusterte serien. Formelen som brukes her for LES-prognosen, er recirkulativ form for brønn s. Denne formel er angitt i cellen som svarer til den tredje perioden her , celle H15 og kopiert derfra Merk at LES-prognosen for den nåværende perioden refererer til de to foregående observasjonene og de to foregående prognosene erro rs, så vel som til verdien av alfa Således refererer prognoseformelen i rad 15 kun til data som var tilgjengelige i rad 14 og tidligere. Selvfølgelig ville vi, hvis vi ønsket å bruke enkle i stedet for lineær eksponensiell utjevning, erstatte SES formel her i stedet Vi kunne også bruke Holt s snarere enn Brown s LES-modellen, som ville kreve to flere kolonner med formler for å beregne nivået og trenden som brukes i prognosen. Feilene beregnes i den neste kolonnen her, kolonne J ved subtraherer prognosene fra de faktiske verdiene Rutenes gjennomsnittskvadratfeil beregnes som kvadratroten av feilenes variasjon pluss kvadratet av gjennomsnittet Dette følger av den matematiske identiteten MSE VARIANCE-feil AVERAGE-feil 2 Ved beregning av gjennomsnitt og varians av feil i denne formelen er de to første perioder ekskludert fordi modellen ikke faktisk begynner prognoser før tredje periode rad 15 på regnearket. Den optimale verdien av alfa kan bli funnet enten av manuelt endre alfa til minimum RMSE er funnet, ellers kan du bruke Solver til å utføre en eksakt minimering. Verdien av alfa som Solver funnet er vist her alpha 0 471. Det er vanligvis en god ide å plotte feilene i modellen i transformerte enheter og også å beregne og plotte sine autokorrelasjoner på lags på opptil en sesong. Her er en tidsserier av de sesongjusterte feilene. Feilautokorrelasjonene beregnes ved å bruke CORREL-funksjonen til å beregne korrelasjonene av feilene med seg selv forsinket av en eller flere perioder - detaljer er vist i regnearkmodellen Her er et plott av autokorrelasjonene av feilene ved de første fem lagene. Autokorrelasjonene på lags 1 til 3 er svært nær null, men spissen ved lag 4 hvis verdien er 0 35 er litt plagsom - det antyder at sesongjusteringsprosessen ikke har vært helt vellykket. Det er imidlertid bare marginalt signifikant 95 signifikansbånd for å teste om autocorre lasjonene er vesentlig forskjellig fra null er omtrent pluss-eller-minus 2 SQRT nk, hvor n er prøvestørrelsen og k er lagdet. Her er n 38 og k varierer fra 1 til 5, slik at kvadratroten av n - minus-k er rundt 6 for dem alle, og derfor er grensene for å teste den statistiske signifikansen av avvik fra null, omtrent pluss-eller-minus 2 6 eller 0 33 Hvis du varierer verdien av alfa for hånd i denne Excel-modellen , kan du observere effekten på tidsseriene og autokorrelasjonsplottene av feilene, så vel som på den rotte-kvadratiske feilen, som vil bli illustrert nedenfor. På bunnen av regnearket blir prognoseformelen oppstartet i fremtiden ved bare å erstatte prognoser for faktiske verdier på det punktet der de faktiske dataene løper ut - dvs. hvor fremtiden begynner. Med andre ord, i hver celle der en fremtidig dataværdi vil oppstå, settes en cellereferanse som peker på prognosen for den perioden Alle de andre formlene kopieres rett og slett nedoverfra. Notat at feilene for fremtidsutsikter alle er beregnet til å være null Dette betyr ikke at de faktiske feilene vil være null, men det reflekterer bare det faktum at vi forutsetter at fremtidige data vil tilsvare gjennomsnittlig prognose De resulterende LES-prognosene for de sesongjusterte dataene ser slik ut. Med denne spesielle verdien av alfa, som er optimal for prognoser med en periode fremover, er den forventede trenden litt oppadgående, noe som gjenspeiler den lokale trenden som ble observert de siste 2 årene eller så For andre verdier av alfa kan det oppnås en helt annen trendprojeksjon. Det er vanligvis en god ide å se hva som skjer med den langsiktige trendprojeksjonen når alfa er variert, fordi verdien som er best for kortsiktig prognose vil ikke nødvendigvis være den beste verdien for å forutsi den fjernere fremtiden. For eksempel er her resultatet som oppnås hvis verdien av alfa er manuelt satt til 0 25. Den projiserte langsiktige trenden er nå negati ve i stedet for positiv Med en mindre verdi av alfa, legger modellen vekt på eldre data i sin estimering av dagens nivå og trend, og langsiktige prognosene reflekterer den nedadgående trenden observert de siste 5 årene i stedet for det mer Nylig oppadgående trend Dette diagrammet illustrerer også tydelig hvordan modellen med en mindre verdi av alfa er langsommere for å svare på vendepunkter i dataene og derfor har en tendens til å gjøre en feil på det samme tegnet i mange perioder på rad. Det er ett trinn fremover prognosefeil er større i gjennomsnitt enn de som er oppnådd før RMSE på 34 4 i stedet for 27 4 og sterkt positivt autokorrelert Lag-1 autokorrelasjonen på 0 56 overstiger i stor grad verdien av 0 33 beregnet ovenfor for en statistisk signifikant avvik fra null Som et alternativ til sveifere verdien av alpha for å introdusere mer konservatisme i langsiktige prognoser, blir det noen ganger lagt en trend-dempningsfaktor til modellen for å gjøre den projiserte trenden flatt ut etter noen få tidsperioder. Det siste trinnet i å bygge prognosemodellen er å redealisere LES-prognosene ved å multiplisere dem med de riktige sesongbestemte indeksene. De resesasonaliserte prognosene i kolonne I er simpelthen produktet av sesongindeksene i kolonne F og årstidens justerte LES-prognoser i kolonne H. Det er relativt enkelt å beregne konfidensintervaller for en-trinns prognoser laget av denne modellen først beregne RMSE root-mean-squared-feilen, som bare er kvadratroten til MSE og deretter beregne en konfidensintervall for sesongjustert prognose ved å legge til og trekke to ganger RMSE Generelt er et 95 konfidensintervall for en prognose for en periode fremover omtrent det samme som poengprognosen pluss-eller-minus-to ganger estimert standardavvik for den prognosefeil, forutsatt at feilfordelingen er omtrent normal og prøvestørrelsen er stor nok, si 20 eller mer her, RMSE i stedet for prøve standardavviket til eren ror er det beste estimatet av standardavviket for fremtidige prognosefeil fordi det også tar hensyn til tilfeldige variasjoner. Tillitsgrensene for den sesongjusterte prognosen blir deretter resesasonalized sammen med prognosen, ved å multiplisere dem med de riktige sesongindeksene. I dette tilfellet RMSE er lik 27 4 og sesongjustert prognose for første periode i desember 93 er 273 2, slik at det sesongjusterte 95 konfidensintervallet er fra 273 2-2 27 4 218 4 til 273 2 2 27 4 328 0 Multiplisere disse grenser innen desember sæsonindeks på 68 61 får vi lavere og øvre konfidensgrenser på 149 8 og 225 0 rundt prognosen for 93 prosentpoeng på 187 4. Forsiktighetsgrenser for prognoser mer enn en periode framover vil generelt bli større som prognoseperioden øker , på grunn av usikkerhet om nivå og trend, samt sesongmessige faktorer, men det er vanskelig å beregne dem generelt ved hjelp av analytiske metoder. Den riktige måten å beregne konfidensgrenser f eller LES-prognosen er ved å bruke ARIMA-teorien, men usikkerheten i sesongindeksene er en annen sak. Hvis du vil ha et realistisk konfidensintervall for en prognose mer enn en periode framover, tar du hensyn til alle feilkilder, din beste innsats er å bruke empiriske metoder for eksempel for å oppnå et konfidensintervall for en 2-trinns prognose, kan du opprette en annen kolonne på regnearket for å beregne en 2-trinns prognose for hver periode ved å oppstramme en-trinns prognose. Beregner deretter RMSE av 2-trinns prognosefeilene og bruk dette som grunnlag for et 2-trinns konfidensintervall. I praksis vil det bevegelige gjennomsnittet gi et godt estimat av gjennomsnittet av tidsserien hvis gjennomsnittet er konstant eller sakte endring I tilfelle av konstant gjennomsnitt vil den største verdien av m gi de beste estimatene for det underliggende gjennomsnittet. En lengre observasjonsperiode vil gjennomsnitts ut effektene av variabilitet. Formålet med å gi en mindre m er å tillate prognosen t o svare på en endring i den underliggende prosessen For å illustrere foreslår vi et datasett som inkorporerer endringer i det underliggende gjennomsnittet av tidsserien Figuren viser tidsserien som brukes til illustrasjon sammen med den gjennomsnittlige etterspørselen som serien ble generert til begynner som en konstant på 10 Begynner på tid 21, øker den med en enhet i hver periode til den når verdien av 20 på tiden 30 Da blir det konstant igjen Dataene blir simulert ved å legge til i gjennomsnitt en tilfeldig støy fra en Normal fordeling med null-middel og standardavvik 3 Resultatene av simuleringen avrundes til nærmeste heltall. Tabellen viser de simulerte observasjonene som brukes for eksempelet. Når vi bruker tabellen, må vi huske at bare de siste dataene er til enhver tid estimatene for modellparameteren, for tre forskjellige verdier av m er vist sammen med gjennomsnittet av tidsseriene i figuren under Figuren viser gjennomsnittlig gjennomsnitts estimat av gjennomsnittet ved e økt tid og ikke prognosen Prognosene ville skifte de bevegelige gjennomsnittskurver til høyre etter periodene. En konklusjon vises umiddelbart fra figuren. For alle tre estimatene ligger det bevegelige gjennomsnittet bak den lineære trenden, idet laget øker med m Forsinkelsen er Avstanden mellom modellen og estimatet i tidsdimensjonen På grunn av lagret undervurderer det bevegelige gjennomsnittet observasjonene etter hvert som gjennomsnittet øker. Forskjellen er estimatets forskjell på en bestemt tid i middelverdien av modellen og gjennomsnittet verdi forutsatt av det bevegelige gjennomsnittet Forspenningen når gjennomsnittet øker er negativt For et reduserende middel er forspenningen positiv. Forsinkelsen i tid og forspenningen introdusert i estimatet er funksjonene til m. Jo større verdien av m, jo større er størrelsen på lag og bias. For en kontinuerlig økende serie med trend a er verdiene av lag og forspenning av estimatoren av middelet gitt i ligningene nedenfor. Eksempelkurverne stemmer ikke overens med disse e kvoter fordi eksempelmodellen ikke øker kontinuerlig, heller begynner den som en konstant, endrer seg til en trend og blir konstant igjen Også eksempelkurver påvirkes av støyen. Den bevegelige gjennomsnittlige prognosen for perioder inn i fremtiden representeres ved å skifte kurver til høyre Laget og forspenningen øker proporsjonalt. Ligningene nedenfor viser lag og forspenning av en prognoseperiode inn i fremtiden sammenlignet med modellparametrene. Disse formlene er igjen i en tidsserie med konstant lineær trend. Vi burde ikke være overrasket over dette resultatet Den glidende gjennomsnittlige estimatoren er basert på antagelsen om et konstant gjennomsnitt, og eksemplet har en lineær trend i gjennomsnittet i en del av studieperioden. Siden sanntidsserier sjelden vil nøyaktig overholde forutsetningene til en hvilken som helst modell, er vi bør være forberedt på slike resultater. Vi kan også konkludere fra figuren at variasjonen av støyen har størst effekt for mindre m. Estimatet er mye mer volat ile for det bevegelige gjennomsnittet på 5 enn det bevegelige gjennomsnittet på 20 Vi har de motstridende ønskene om å øke m for å redusere effekten av variabilitet på grunn av støyen og å redusere m for å gjøre prognosen mer lydhør for endringer i gjennomsnitt. Feilen er forskjellen mellom de faktiske dataene og den prognostiserte verdien Hvis tidsseriene er virkelig en konstant verdi, er den forventede verdien av feilen null og variansen av feilen består av et begrep som er en funksjon av og et andre begrep som er varians av støy. Den første termen er variansen av gjennomsnittet estimert med en prøve av m observasjoner, forutsatt at data kommer fra en befolkning med konstant gjennomsnitt Denne termen er minimert ved å gjøre m så stor som mulig En stor m gjør prognosen reagerer ikke på en endring i underliggende tidsserier For å gjøre prognosen lydhør for endringer, ønsker vi m så liten som mulig 1, men dette øker feilvariasjonen. Praktisk prognose krever en mellomverdi. Forutsetninger med Excel. The Forecasting add-in implementerer de bevegelige gjennomsnittlige formlene Eksemplet nedenfor viser analysen gitt av tillegget for prøvedata i kolonne B De første 10 observasjonene er indeksert -9 til 0 Sammenlignet med tabellen over, viser periodeperiodene forskyves med -10. De første ti observasjonene gir oppstartsverdiene for estimatet og brukes til å beregne det bevegelige gjennomsnittet for periode 0 MA 10-kolonnen C viser de beregnede bevegelige gjennomsnittene. Den bevegelige gjennomsnittlige parameteren m er i celle C3. Den Fore 1 kolonne D viser en prognose for en periode inn i fremtiden Prognoseintervallet er i celle D3 Når prognoseperioden endres til et større tall, flyttes tallene i Fore-kolonnen. Err 1-kolonnen E viser differansen mellom observasjon og prognosen For eksempel er observasjonen ved tidspunkt 1 6 Den prognostiserte verdien fra det bevegelige gjennomsnittet på tidspunktet 0 er 11 1 Feilen er da -5 1 Standardavviket og gjennomsnittlig avviksmodus beregnes i celler E6 og E7 henholdsvis.
No comments:
Post a Comment