Friday 3 November 2017

Enkel Bevegelse Gjennomsnittet Prognoser Modell


net. sourceforge. openforecast. models Klasse MovingAverageModel En flytende gjennomsnittlig prognosemodell er basert på en kunstig konstruert tidsserie hvor verdien for en gitt tidsperiode er erstattet av gjennomsnittet av den verdien og verdiene for et eller annet antall foregående og etterfølgende tid perioder. 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, eventuelle 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 parametere. Gjennomgang av gjennomsnittlig prognoseinnledning. 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 forutse 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 prediksjonsgyldigheten. 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 bitene 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 skal like følgende. SIMPLE FLYGGJENNOMFØRING Problemer med å bruke det enkle glidende gjennomsnittet som et prognoseverktøy: Det bevegelige gjennomsnittet sporer aktuelle data, men det er alltid sakte bak den. Det bevegelige gjennomsnittet kommer aldri til å nå toppene eller dalene til de faktiske dataene. 15Det slipper ut dataene. Forteller deg ikke veldig mye om fremtiden. Dette gjør imidlertid ikke det bevegelige gjennomsnittet ubrukelig. Du trenger bare å være klar over problemene sine. SLID BESKRIVELSE AUDIO TRANSCRIPTION Så for å oppsummere, for et enkelt glidende gjennomsnitt eller et enkelt bevegelig gjennomsnitt, har vi sett noen problemer med å bruke det enkle glidende gjennomsnittet som et prognoseverktøy. Det bevegelige gjennomsnittet sporer de faktiske dataene, men det ligger alltid etter det. Det bevegelige gjennomsnittet vil aldri nå toppene eller dalene til de faktiske dataene, slik at dataene blir jevnere, og det forteller deg ikke veldig mye om fremtiden, fordi det bare forutsetter en periode på forhånd, og at prognosen antas å representere det beste verdi for fremtiden, en periode på forhånd, men det forteller deg ikke mye utover det. Det gjør ikke det enkle glidende gjennomsnittet ubrukelig151Faktisk ser du enkle bevegelige gjennomsnitt

No comments:

Post a Comment