Saturday 14 October 2017

Flytte Gjennomsnittet Prognose Modell


Flytte gjennomsnittlig prognose Innledning. Som du kanskje tror 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 veinen vil vi fortsette med å starte i begynnelsen og begynne å jobbe med Moving Average prognoser. Flytte gjennomsnittlige prognoser. Alle er kjent med å flytte gjennomsnittlige prognoser, uansett om de tror de er. Alle studenter gjør dem hele tiden. Tenk på testresultatene 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 vil du forutsi for din andre testscore Hva tror du at læreren din ville forutsi for din neste testscore Hva tror du dine venner kan forutsi for din neste testscore Hva tror du at foreldrene dine kan forutsi for neste testresultat uansett om alt det du kan gjøre med dine venner og foreldre, de og din lærer er veldig sannsynlig å forvente deg å få noe i området av 85 du nettopp har fått. Vel, nå kan vi anta at til tross for selvforfremmelse til vennene dine, overestimerer du deg selv og figurerer du kan studere mindre for den andre testen, og så får du en 73. Nå er det alle de bekymrede og ubekymrede går til Forvent deg at du kommer på den tredje testen. Det er to svært sannsynlige tilnærminger for dem å utvikle et estimat, uansett om de vil dele det med deg. De kan si til seg selv, at denne fyren alltid blåser røyk om hans smarts. Hes kommer til å få en annen 73 hvis han er heldig. Kanskje foreldrene vil prøve å være mer støttende og si, quote, så langt har du fått en 85 og en 73, så kanskje du burde finne på å få en (85 73) 2 79. Jeg vet ikke, kanskje hvis du gjorde mindre fest og werent vevet vasselen over alt, og hvis du begynte å gjøre mye mer å studere, kan du få en høyere score. quot Begge disse estimatene flytter faktisk gjennomsnittlige prognoser. Den første bruker bare din siste poengsum for å prognose din fremtidige ytelse. Dette kalles en flytende gjennomsnittlig prognose ved hjelp av en periode med data. Den andre er også en flytende gjennomsnittlig prognose, men bruker to perioder med data. La oss anta 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 for å sette en høyere poengsum foran din quotalliesquot. Du tar testen og poengsummen din er faktisk 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 mønsteret. Nå, forhåpentligvis kan du se mønsteret. Hvilke tror du er den mest nøyaktige fløyten mens vi jobber. Nå går vi tilbake til vårt nye rengjøringsfirma som startes av din fremmedgjorte halv søster, kalt Whistle While We Work. Du har noen tidligere salgsdata som er representert av følgende del 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 C11. Legg merke til 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 eksponentiell utjevningsmodell. Ive inkluderte quotpast predictionsquot 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 du kopiere denne celleformelen ned til de andre cellene C6 til C11. Legg merke til hvordan nå bare de to siste stykkene av historiske data blir brukt for hver prediksjon. Igjen har jeg tatt med quotpast predictionsquot for illustrative formål og for senere bruk i prognose validering. Noen andre ting som er viktig å legge merke til. For en m-periode som beveger gjennomsnittlig prognose, brukes bare de nyeste dataverdiene for å gjøre prognosen. Ingenting annet er nødvendig. For en m-periode som beveger gjennomsnittlig prognose, legger du merke til at den første prediksjonen forekommer i periode m 1. Begge disse problemene vil være svært viktige når vi utvikler koden vår. 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 ha. Funksjon MovingAverage (Historical, NumberOfPeriods) Som Single Deklarering og Initialisering av variabler Dim Item Som Variant Dim Counter Som Integer Dim Akkumulering Som Single Dim HistoricalSize Som Integer Initialiserende variabler Teller 1 Akkumulering 0 Bestemme størrelsen på Historical array HistoricalSize Historical. Count For Counter 1 To NumberOfPeriods Akkumulere riktig antall siste tidligere observerte verdier Akkumulasjonsakkumulering Historisk (HistoricalSize - NumberOfPeriods Counter) MovingAverage AkkumuleringsnummerOfPeriods Koden vil bli forklart i klassen. Du vil plassere funksjonen på regnearket slik at resultatet av beregningen vises der det vil ha følgende gjennomsnittlige gjennomsnitt. Gjennomsnitt av tidsseriedata (observasjoner like fordelt i tid) fra flere sammenhengende perioder. Kalt flytting fordi det kontinuerlig omdannes når nye data blir tilgjengelige, går det fremover ved å slippe den tidligste verdien og legge til den nyeste verdien. For eksempel kan det bevegelige gjennomsnittet på seks måneders salg beregnes ved å ta gjennomsnittet av salget fra januar til juni, deretter gjennomsnittet av salget fra februar til juli, deretter fra mars til august og så videre. Flytte gjennomsnitt (1) redusere effekten av midlertidige variasjoner i data, (2) forbedre passformen til en linje (en prosess kalt utjevning) for å vise datasendensen tydeligere, og (3) markere en verdi over eller under trend. Hvis du regner med noe med svært høy varians, er det beste du kan gjøre, å finne ut det bevegelige gjennomsnittet. Jeg ønsket å vite hva det bevegelige gjennomsnittet var av dataene, så jeg ville få en bedre forståelse av hvordan vi gjorde. Når du prøver å finne ut noen tall som endrer seg ofte, er det beste du kan gjøre, å beregne det bevegelige gjennomsnittet. sourceforge. openforecast. models Class MovingAverageModel En flytende gjennomsnittlig prognosemodell er basert på en kunstig konstruert tidsserie hvor verdien for en gitt tidsperioden erstattes med gjennomsnittet av den verdien og verdiene for noen antall foregående og etterfølgende tidsperioder. Som du kanskje har gjettet fra beskrivelsen, passer denne modellen best til tidsseriedata, dvs. data som endres over tid. For eksempel viser mange diagrammer av enkelte aksjer på aksjemarkedet 20, 50, 100 eller 200 dagers glidende gjennomsnitt som en måte å vise trender på. Siden prognosen for en gitt periode er et gjennomsnitt av de foregående periodene, vil prognosen alltid synes å ligge etter enten økninger eller reduksjoner i de observerte (avhengige) verdiene. For eksempel, hvis en dataserie har en merkbar oppadgående trend, vil en flytende gjennomsnittlig prognose generelt gi et undervurdering av verdiene av den avhengige variabelen. Den bevegelige gjennomsnittlige metoden har en fordel i forhold til andre prognosemodeller ved at det glir ut topper og troughs (eller daler) i et sett med observasjoner. Det har imidlertid også flere ulemper. Spesielt produserer denne modellen ikke en egentlig ligning. Derfor er det ikke alt som er nyttig som et middels langsomt prognoseverktøy. Det kan bare pålidelig brukes til å prognose en eller to perioder inn i fremtiden. Den bevegelige gjennomsnittsmodellen er et spesielt tilfelle av det mer generelle vektede glidende gjennomsnittet. I det enkle glidende gjennomsnittet er alle vekter like. Siden: 0.3 Forfatter: Steven R. Gould Felt arvet fra klassen net. sourceforge. openforecast. models. AbstractForecastingModel MovingAverageModel () Konstruerer en ny flytende gjennomsnittlig prognosemodell. MovingAverageModel (int periode) Konstruerer en ny flytende gjennomsnittlig prognosemodell, med den angitte perioden. getForecastType () Returnerer et eller to ordnavn på denne typen prognosemodell. init (DataSet dataSet) Brukes til å initialisere den bevegelige gjennomsnittsmodellen. toString () Dette bør overstyres for å gi en tekstlig beskrivelse av den nåværende prognosemodellen inkludert, hvor det er mulig, noen avledede parametere som brukes. Metoder arvet fra klassen net. sourceforge. openforecast. models. WeightedMovingAverageModel MovingAverageModel Konstruerer en ny flytende gjennomsnittlig prognosemodell. For en gyldig modell som skal bygges, bør du ringe init og passere i et datasett som inneholder en serie datapunkter med tidsvariabelen initialisert for å identifisere den uavhengige variabelen. MovingAverageModel Konstruerer en ny flytende gjennomsnittlig prognosemodell, ved å bruke det oppgitte navnet som den uavhengige variabelen. Parametre: independentVariable - navnet på den uavhengige variabelen som skal brukes i denne modellen. MovingAverageModel Konstruerer en ny flytende gjennomsnittlig prognosemodell, ved hjelp av den angitte perioden. For en gyldig modell som skal bygges, bør du ringe init og passere i et datasett som inneholder en serie datapunkter med tidsvariabelen initialisert for å identifisere den uavhengige variabelen. Periodens verdi brukes til å bestemme antall observasjoner som skal brukes til å beregne det bevegelige gjennomsnittet. For eksempel for et 50-dagers glidende gjennomsnitt der datapunktene er daglige observasjoner, bør perioden settes til 50. Perioden brukes også til å bestemme mengden fremtidige perioder som effektivt kan prognose. Med et 50 dagers glidende gjennomsnitt, kan vi ikke med rimelighet - med noen grad av nøyaktighet - prognose mer enn 50 dager utover den siste perioden for hvilke data som er tilgjengelige. Dette kan være mer fordelaktig enn, si en 10-dagers periode, hvor vi bare kunne forutsi rimelig 10 dager utover den siste perioden. Parametre: periode - antall observasjoner som skal brukes til å beregne glidende gjennomsnitt. MovingAverageModel Konstruerer en ny flytende gjennomsnittlig prognosemodell, ved å bruke det oppgitte navnet som den uavhengige variabelen og den angitte perioden. Parametre: independentVariable - navnet på den uavhengige variabelen som skal brukes i denne modellen. periode - antall observasjoner som skal brukes til å beregne det bevegelige gjennomsnittet. Brukes til å initialisere den bevegelige gjennomsnittsmodellen. Denne metoden må kalles før noen annen metode i klassen. Siden den bevegelige gjennomsnittsmodellen ikke utleder en ligning for prognoser, bruker denne metoden inngangsdataet til å beregne prognoseverdier for alle gyldige verdier av den uavhengige tidsvariabelen. Spesifisert av: init i grensesnitt ForecastingModel Overrides: init i klassen AbstractTimeBasedModel Parameters: dataSet - et datasett med observasjoner som kan brukes til å initialisere prognoseparametrene til prognosemodellen. getForecastType Returnerer et eller to ordnavn på denne typen prognosemodell. Hold dette kort. En lengre beskrivelse bør implementeres i toString-metoden. Dette bør overstyres for å gi en tekstlig beskrivelse av den nåværende prognosemodellen, inkludert, hvor det er mulig, hvilke avledede parametere som brukes. Spesifisert av: toString i grensesnitt ForecastingModel Overrides: toString i klassen WeightedMovingAverageModel Returns: en strengrepresentasjon av den nåværende prognosemodellen og dens parametre.

No comments:

Post a Comment