Die voorbeeld kode op die blad Full Kode illustreer hoe om die bewegende gemiddelde van 'n veranderlike te bereken deur 'n hele datastel, oor die afgelope N waarnemings in 'n datastel, of oor die afgelope N waarnemings binne 'n BY-groep. Hierdie voorbeeld lêers en kode voorbeelde word verskaf deur SAS Institute Inc. soos sonder enige waarborge van enige aard, hetsy uitdruklik of geïmpliseer, insluitend maar nie beperk tot die geïmpliseerde waarborge van verhandelbaarheid en geskiktheid vir 'n spesifieke doel. Ontvangers erken en aanvaar dat SAS Institute nie aanspreeklik sal wees vir enige skade hoegenaamd wat voortspruit uit die gebruik daarvan van hierdie materiaal. Daarbenewens sal SAS Institute geen ondersteuning vir die materiaal wat hierin vervat is voorsien. Hierdie voorbeeld lêers en kode voorbeelde word verskaf deur SAS Institute Inc. soos sonder enige waarborge van enige aard, hetsy uitdruklik of geïmpliseer, insluitend maar nie beperk tot die geïmpliseerde waarborge van verhandelbaarheid en geskiktheid vir 'n spesifieke doel. Ontvangers erken en aanvaar dat SAS Institute nie aanspreeklik sal wees vir enige skade hoegenaamd wat voortspruit uit die gebruik daarvan van hierdie materiaal. Daarbenewens sal SAS Institute geen ondersteuning vir die materiaal wat hierin vervat is voorsien. Bereken die bewegende gemiddelde van 'n veranderlike deur 'n hele datastel, oor die afgelope N waarnemings in 'n datastel, of oor die afgelope N waarnemings binne 'n munisipale group. Exponential bewegende gemiddelde - EMO laai die speler. Afbreek van Eksponensiële bewegende gemiddelde - EMO Die 12- en 26-dag EMA is die gewildste kort termyn gemiddeldes, en hulle word gebruik om aanwysers soos die bewegende gemiddelde konvergensie divergensie (MACD) en die persentasie prys ossillator (PPO) te skep. In die algemeen, is die 50- en 200-dag EMA as seine van 'n lang termyn tendense. Handelaars wat tegniese ontleding diens vind bewegende gemiddeldes baie nuttig en insiggewend wanneer dit korrek toegepas word, maar skep chaos wanneer onbehoorlik gebruik of verkeerd verstaan. Al die bewegende gemiddeldes wat algemeen gebruik word in tegniese ontleding is, volgens hulle aard, sloerende aanwysers. Gevolglik moet die afleidings wat op die toepassing van 'n bewegende gemiddelde op 'n bepaalde mark grafiek wees om 'n mark skuif bevestig of om sy krag te toon. Heel dikwels is, teen die tyd dat 'n bewegende gemiddelde aanwyser lyn het 'n verandering aan 'n beduidende stap in die mark weerspieël gemaak het die optimale punt van toegang tot die mark reeds geslaag. 'N EMO nie dien om hierdie dilemma te verlig tot 'n mate. Omdat die EMO berekening plaas meer gewig op die jongste data, dit drukkies die prys aksie 'n bietjie stywer en reageer dus vinniger. Dit is wenslik wanneer 'n EMO word gebruik om 'n handels inskrywing sein herlei. Interpretasie van die EMO Soos alle bewegende gemiddelde aanwysers, hulle is baie meer geskik vir trending markte. Wanneer die mark is in 'n sterk en volgehoue uptrend. die EMO aanwyser lyn sal ook 'n uptrend en andersom vir 'n down tendens toon. A waaksaam handelaar sal nie net aandag te gee aan die rigting van die EMO lyn, maar ook die verhouding van die tempo van verandering van die een bar na die volgende. Byvoorbeeld, as die prys aksie van 'n sterk uptrend begin plat en reverse, van die EMAS tempo van verandering van die een bar na die volgende sal begin om te verminder tot tyd en wyl die aanwyser lyn plat en die tempo van verandering is nul. As gevolg van die sloerende uitwerking, deur hierdie punt, of selfs 'n paar bars voor, die prys aksie moet reeds omgekeer. Dit volg dus dat die waarneming van 'n konsekwente verminderde in die tempo van verandering van die EMO kon self gebruik word as 'n aanduiding dat die dilemma wat veroorsaak word deur die sloerende uitwerking van bewegende gemiddeldes verder kon teen te werk. Algemene gebruike van die EMO EMA word algemeen gebruik word in samewerking met ander aanwysers aan beduidende mark beweeg bevestig en om hul geldigheid te meet. Vir handelaars wat intraday en vinnig bewegende markte handel te dryf, die EMO is meer van toepassing. Dikwels handelaars gebruik EMA om 'n handels vooroordeel bepaal. Byvoorbeeld, as 'n EMO op 'n daaglikse grafiek toon 'n sterk opwaartse neiging, kan 'n intraday handelaars strategie wees om net handel van die lang kant op 'n intraday chart. How om EMO Bereken in Excel Leer hoe om die eksponensiële bewegende gemiddelde in Excel te bereken en VBA, en kry 'n gratis web-verbind sigblad. Die sigblad gekry voorraad data van Yahoo Finansies, bereken EMO (oor jou gekose tyd venster) en intrige van die resultate. Die aflaai skakel is aan die onderkant. Die VBA kan besigtig word en geredigeer it8217s heeltemal gratis. Maar eers disover waarom EMO is belangrik om tegniese handelaars en markanaliste. Historiese aandele prys kaarte is dikwels besoedel met 'n baie hoë frekwensie geraas. Dit bedek dikwels groot tendense. Bewegende gemiddeldes te help gladde uit hierdie geringe fluktuasies, gee jou 'n groter insig in die algehele mark rigting. Die eksponensiële bewegende gemiddelde plekke groter belang op meer onlangse data. Hoe groter die tydperk, hoe laer is die belangrikheid van die mees onlangse data. EMO word gedefinieer deur die vergelyking. today8217s prys (vermenigvuldig met 'n gewig) en yesterday8217s EMO (vermenigvuldig met 1-gewig) Jy moet die EMO berekening met 'n aanvanklike EMO (EMO 0) kickstart. Dit is gewoonlik 'n eenvoudige bewegende gemiddelde lengte T. Die grafiek hierbo, byvoorbeeld, gee die EMO van Microsoft tussen 1 Januarie 2013 en 14 Januarie 2014 Tegniese handelaars dikwels die cross-over van twee bewegende gemiddeldes 8211 een gebruik met 'n kort tydskaal en 'n ander met 'n lang tydskaal 8211 tot koop / verkoop seine op te wek. Dikwels 12- en 26-dae - bewegende gemiddeldes gebruik. Wanneer die korter bewegende gemiddelde styg bo die meer bewegende gemiddelde, die mark is trending updwards dit is 'n koopsein. Maar wanneer die korter bewegende gemiddeldes val onder die lang bewegende gemiddelde, die mark val dit 'n sell sein. Let8217s eers leer hoe om EMO bereken met behulp van werkblad funksies. Daarna we8217ll ontdek hoe om VBA gebruik om EMO bereken (en outomaties plot kaarte) Bereken EMO in Excel met Werkkaart Funksies Stap 1. Let8217s sê dat ons wil hê dat die 12-dag EMO van Exxon Mobil8217s aandele prys te bereken. Eerstens moet ons historiese aandele pryse 8211 kry jy dat hierdie grootmaat voorraad kwotasie Downloader doen. Stap 2. Bereken die eenvoudige gemiddelde van die eerste 12 pryse met Excel8217s Gemiddeld () funksie. In die onderstaande Screengrab, in sel C16 het ons die formule GEMIDDELDE (B5: B16) waar B5: B16 bevat die eerste 12 naby pryse Stap 3. Net onder die sel wat in Stap 2, tik die EMO formule hierbo Daar het jy dit You8217ve suksesvol bereken 'n belangrike tegniese aanwyser, EMO, in 'n sigblad. Bereken EMO met VBA Nou let8217s meganiseer die berekeninge met VBA, insluitend die outomatiese skepping van erwe. Ek won8217t jou die volle VBA hier (it8217s beskikbaar in die onderstaande sigblad), maar we8217ll die mees kritieke kode bespreek. Stap 1. Aflaai historiese voorraadkwotasies vir jou ENKELE van Yahoo Finansies (met behulp van CSV lêers), en laai dit in Excel of die VBA gebruik in hierdie sigblad om historiese kwotasies te kry reguit in Excel. Stap 2: Jou data kan soos volg lyk. Dit is hier waar ons nodig het om 'n paar braincells 8211 wat ons nodig het om die EMO vergelyking in VBA implementeer oefen. Ons kan R1C1 styl gebruik om programatically betree formules in individuele selle. Ondersoek die kode hieronder snippet. EMAWindow is 'n veranderlike wat die vereiste tyd venster numRows gelyk is die totale aantal datapunte 1 (die 8220 18221 is omdat we8217re die veronderstelling dat die werklike voorraad data begin ry 2) die EMO word bereken in kolom H veronderstelling dat EMAWindow 5 en numrows 100 (dit wil sê, daar is 99 datapunte) die eerste reël plaas 'n formule in sel H6 dat die rekenkundige gemiddelde van die eerste 5 historiese data punte die tweede reël plaas formules in selle H7 bereken: H100 dat die EMO van bereken die oorblywende 95 datapunte Stap 3 Hierdie VBA funksie skep 'n plot van die beslote prys en EMO. Groot taak op kaarte en verduidelikings. Ek het 'n vraag though. As ek die begindatum tot 'n jaar later verander en kyk na onlangse EMO data, is dit opvallend anders as wanneer ek gebruik dieselfde EMO tydperk met 'n vroeëre aanvang van die datum vir dieselfde onlangse datum verwysing. Is dit wat jy verwag. Dit maak dit moeilik om te kyk na gepubliseerde kaarte met EMA getoon en dieselfde grafiek nie sien nie. Shivashish Sarkar sê: Hi, ek gebruik jou EMO sakrekenaar en ek dit baie waardeer. Ek het egter opgemerk dat die sakrekenaar is nie in staat om die grafieke te plot vir alle maatskappye (dit wys Run tyd fout 1004). Kan jy asseblief skep 'n updated weergawe van jou sakrekenaar waarin nuwe maatskappye sal ingesluit Laat 'n antwoord Kanselleer antwoord Soos die Vrystaat Spreadsheets Meester Knowledge Base Onlangse PostsThe bedrywighede wat gebruik kan word in die TRANSFORMIN en TRANSFORMOUT opsies word in Tabel 14.1. Bedrywighede word toegepas op elke waarde van die reeks. Elke waarde van die reeks word vervang deur die uitslag van die operasie. In Tabel 14.1. of x die waarde van die reeks op 'n bepaalde tydperk t voor die transformasie toegepas word, verteenwoordig die waarde van die resultaat-reeks, en N verteenwoordig die totale aantal waarnemings. Die notasie N dui daarop dat die argument N is opsioneel die verstek is 1. Die venster notasie word gebruik as die argument vir die bewegende statistieke operateurs, en dit dui daarop dat jy óf 'n heelgetal aantal periodes N of 'n lys van N gewigte in kan spesifiseer tussen hakies. Die notasie volgorde gebruik word as die argument vir die volgorde operateurs, en dit dui daarop dat jy 'n ry getalle moet spesifiseer. Die notasie s dui die lengte van seisoenaliteit, en dit is 'n vereiste argument. Table 14.1 Transformasie Bedryf Moving Tyd Venster Operateurs Sommige operateurs bereken statistieke vir 'n stel waardes binne 'n bewegende tyd venster Dit is genoem beweeg tyd venster operateurs. Daar is gesentreer en agtertoe weergawes van hierdie operateurs. Die gesentreerde bewegende tyd venster operateurs is CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVMAX, CMOVMED, CMOVMIN, CMOVPROD, CMOVRANGE, CMOVRANK, CMOVSTD, CMOVSUM, CMOVTVALUE, CMOVUSS, en CMOVVAR. Hierdie operateurs bereken statistieke van die waardes vir waarnemings. Die agtertoe beweeg tyd venster operateurs is MOVAVE, MOVCSS, MOVGMEAN, MOVMAX, MOVMED, MOVMIN, MOVPROD, MOVRANGE, MOVRANK, MOVSTD, MOVSUM, MOVTVALUE, MOVUSS, en MOVVAR. Hierdie operateurs bereken statistieke van die waardes. Al die bewegende tyd venster operateurs aanvaar 'n argument waarin die aantal periodes in die tyd venster te sluit. Byvoorbeeld, die volgende stelling bere 'n vyf-tydperk agteruit bewegende gemiddelde van X. In hierdie voorbeeld, die gevolglike transformasie is die volgende stelling bere 'n vyf-tydperk gesentreer bewegende gemiddelde van X. In hierdie voorbeeld, die gevolglike transformasie As die venster met 'n gesentreerde bewegende tyd venster operateur is nie 'n onewe getal, een meer uitgestel waarde as lood waarde is ingesluit in die tyd venster. Byvoorbeeld, die gevolg van die CMOVAVE 4 operateur is Jy kan 'n vorentoe beweeg tyd venster operasie bereken deur die kombinasie van 'n agterlike bewegende tyd venster operateur met die omgekeerde operateur. Byvoorbeeld, die volgende stelling bere 'n vyf-tydperk vorentoe bewegende gemiddelde van X. In hierdie voorbeeld, die gevolglike transformasie Sommige van die bewegende tyd venster operateurs jou in staat stel om 'n lys van gewig waardes spesifiseer om geweegde statistieke te bereken. Dit is CMOVAVE, CMOVCSS, CMOVGMEAN, CMOVPROD, CMOVSTD, CMOVTVALUE, CMOVUSS, CMOVVAR, MOVAVE, MOVCSS, MOVGMEAN, MOVPROD, MOVSTD, MOVTVALUE, MOVUSS, en MOVVAR. Om 'n geweegde bewegende tyd venster operateur spesifiseer, betree die gewig waardes in hakies na die naam operateur. Die breedte venster is gelyk aan die aantal gewigte wat jy spesifiseer nie spesifiseer. Byvoorbeeld, die volgende stelling bere n geweegde Vyf-tydperk gesentreer bewegende gemiddelde van X. In hierdie voorbeeld, die gevolglike transformasie is die gewig waardes moet groter as nul wees. As die gewigte nie vat om 1, word die gespesifiseerde gewigte gedeel deur hul som om die gewigte wat gebruik word om die statistiek te bereken produseer. 'N Volledige tyd venster is nie beskikbaar aan die begin van die reeks. Vir die gesentreerde operateurs is ook 'n volledige venster nie beskikbaar aan die einde van die reeks. Die berekening van die bewegende tyd venster operateurs is aangepas vir hierdie randvoorwaardes soos volg. Vir agtertoe beweeg venster operateurs, is die breedte van die tyd venster verkort aan die begin van die reeks. Byvoorbeeld, die resultate van die MOVSUM 3 operateur ontbreek Waardes Jy kan die lengte van die resultaat reeks afgestomp deur die gebruik van die trim, TRIMLEFT, en TRIMRIGHT operateurs om waardes te stel om vermiste aan die begin of einde van die reeks. Jy kan hierdie funksies gebruik om die resultate van die beweging van tyd venster operateurs snoei sodat die resultaat reeks bevat slegs waardes bereken vanaf 'n volle breedte tyd venster. Byvoorbeeld, die volgende stellings bereken 'n gesentreerde Vyf-tydperk bewegende gemiddelde van X. en hulle het tot ontbrekende waardes aan die einde van die reeks wat gemiddeldes van minder as vyf waardes. Gewoonlik, die bewegende tyd venster en kumulatiewe statistieke operateurs ignoreer ontbrekende waardes en bereken hul resultate vir die nonmissing waardes. Wanneer voorafgegaan deur die NOMISS operateur, hierdie funksies lewer 'n vermiste gevolg indien enige waarde binne die venster ontbreek. Die NOMISS operateur geen berekeninge nie, maar dien om die werking van die bewegende tyd venster operateur wat daarop volg verander. Die NOMISS operateur het geen effek tensy dit word gevolg deur 'n bewegende tyd venster operateur. Byvoorbeeld, die volgende stelling bere 'n vyf-tydperk bewegende gemiddelde van die veranderlike X, maar lewer 'n vermiste waarde wanneer enige van die vyf waardes word vermis. Die volgende stelling bere die kumulatiewe bedrag van die veranderlike X, maar lewer 'n vermiste waarde vir alle tye na die eerste ontbreek X waarde. Soortgelyk aan die NOMISS operateur, het die MISSONLY operateur nie enige berekeninge (tensy gevolg deur die opsie beteken), maar dit dien om die werking van die bewegende tyd venster operateur wat daarop volg verander. Wanneer voorafgegaan deur die MISSONLY operateur, hierdie bewegende tyd venster operateurs vervang enige ontbrekende waardes met die bewegende statistiek en laat nonmissing waardes onveranderd. Byvoorbeeld, die volgende stelling vervang enige ontbrekende waardes van die veranderlike X met 'n eksponensieel geweeg bewegende gemiddelde van die afgelope waardes van X en blare nonmissing waardes onveranderd. Die ontbrekende waardes interpol met behulp van die gespesifiseerde eksponensieel geweeg bewegende gemiddelde. (Dit is ook bekend as eenvoudige eksponensiële gladstryking.) Die volgende stelling vervang enige ontbrekende waardes van die veranderlike X met die algehele gemiddelde van X. Jy kan die SETMISS operateur gebruik om ontbrekende waardes te vervang met 'n gespesifiseerde aantal. Byvoorbeeld, die volgende stelling vervang enige ontbrekende waardes van die veranderlike X met die aantal 8,77. Klassieke Ontbinding Operateurs As 'n seisoenale tyd reeks met waarnemings per seisoen, klassieke ontbinding metodes breek die tyd reeks in vier komponente: tendens, siklus, seisoenale en onreëlmatige komponente. Die tendens en siklus komponente word dikwels gekombineer met die tendens-siklus komponent te vorm. Daar is twee basiese vorme van klassieke ontbinding: multiplikatiewe en toevoeging, wat hieronder wys. Voorbeelde van gebruik Die vermenigvuldiging seisoenale indekse is 0.9, 1.2. 0.8 en 1.1 vir die vier kwartale. Laat SEASADJ 'n kwartaallikse tydreekse veranderlike wat seisoenaal het aangepas in 'n vermenigvuldigende mode. Om die seisoen herstel SEASADJ gebruik die volgende transformasie: Die toevoeging seisoenale indekse is 4.4, -1,1, -2,1 en -1,2 vir die vier kwartale. Laat SEASADJ 'n kwartaallikse tydreekse veranderlike wat seisoenaal het aangepas in toevoeging mode. Om die herstel van die seisoen te SEASADJ gebruik die volgende transformasie: Stel Operateurs Vir die stel operateurs, die eerste parameter, verteenwoordig die waarde vervang word en die tweede parameter, verteenwoordig die vervangingswaarde. Die vervanging kan gelokaliseer aan die begin, middel, of die einde van die reeks. Voorbeelde van gebruik Veronderstel dat 'n winkel het onlangs geopen en dat die verkope geskiedenis word gestoor in 'n databasis wat ontbrekende waardes nie erken. Selfs al is die vraag voor die winkels oop te kan bestaan, hierdie databasis ken die waarde van nul. Modellering van die verkope geskiedenis kan problematies wees, want die verkope geskiedenis is meestal nul. Om te vergoed vir hierdie tekort, moet die voorste nul waardes ingestel word om vermiste met die res van nul waardes onveranderd (wat geen vraag). Net so, dink 'n winkel is onlangs gesluit. Die vraag kan steeds teenwoordig wees en dus 'n aangeteken waarde van nul nie akkuraat weerspieël die werklike vraag. Skaal OperatorMoving gemiddelde en eksponensiële gladstryking modelle As 'n eerste stap in die beweging van buite gemiddelde modelle, ewekansige loop modelle, en lineêre tendens modelle, nonseasonal patrone en tendense kan geëkstrapoleer deur 'n bewegende-gemiddelde of glad model. Die basiese aanname agter gemiddelde en glad modelle is dat die tyd reeks is plaaslik stilstaande met 'n stadig wisselende gemiddelde. Vandaar, neem ons 'n bewegende (plaaslike) gemiddelde om die huidige waarde van die gemiddelde skat en dan gebruik dit as die voorspelling vir die nabye toekoms. Dit kan beskou word as 'n kompromie tussen die gemiddelde model en die ewekansige-stap-sonder-drif-model. Dieselfde strategie gebruik kan word om te skat en ekstrapoleer 'n plaaslike tendens. 'N bewegende gemiddelde is dikwels 'n quotsmoothedquot weergawe van die oorspronklike reeks, want kort termyn gemiddelde het die effek van gladstryking uit die knoppe in die oorspronklike reeks. Deur die aanpassing van die mate van gladstryking (die breedte van die bewegende gemiddelde), kan ons hoop om 'n soort van 'n optimale balans tussen die prestasie van die gemiddelde en die stogastiese wandeling modelle slaan. Die eenvoudigste soort gemiddelde model is die. Eenvoudige (ewe-geweeg) Moving Average: Die voorspelling vir die waarde van Y op tyd T1 wat gemaak word op tydstip t is gelyk aan die eenvoudige gemiddelde van die mees onlangse m waarnemings: (hier en elders sal ek die simbool 8220Y-hat8221 gebruik om op te staan vir 'n voorspelling van die tyd reeks Y gemaak op die vroegste moontlike voor datum deur 'n gegewe model.) Hierdie gemiddelde is gesentreer op tydperk t (M1) / 2, wat impliseer dat die skatting van die plaaslike gemiddelde sal neig om agter die werklike waarde van die plaaslike gemiddelde met sowat (M1) / 2 periodes. So, sê ons die gemiddelde ouderdom van die data in die eenvoudige bewegende gemiddelde is (M1) / 2 met betrekking tot die tydperk waarvoor die voorspelling is bereken: dit is die hoeveelheid tyd waarop voorspellings sal neig om agter draaipunte in die data. Byvoorbeeld, as jy gemiddeld die afgelope 5 waardes, sal die voorspellings wees oor 3 periodes laat in reaksie op draaipunte. Let daarop dat indien M1, die eenvoudige bewegende gemiddelde (SMA) model is soortgelyk aan die ewekansige loop model (sonder groei). As m is baie groot (vergelykbaar met die lengte van die skatting tydperk), die SMA model is gelykstaande aan die gemiddelde model. Soos met enige parameter van 'n voorspelling model, is dit gebruiklik om die waarde van k te pas ten einde die beste quotfitquot om die data, dit wil sê die kleinste voorspelling foute gemiddeld behaal. Hier is 'n voorbeeld van 'n reeks wat blykbaar ewekansige skommelinge toon om 'n stadig-wisselende gemiddelde. In die eerste plek kan probeer om dit aan te pas met 'n ewekansige loop model, wat gelykstaande is aan 'n eenvoudige bewegende gemiddelde van 1 kwartaal: Die ewekansige loop model reageer baie vinnig om veranderinge in die reeks, maar sodoende dit tel baie van die quotnoisequot in die data (die ewekansige skommelinge) asook die quotsignalquot (die plaaslike gemiddelde). As ons eerder probeer 'n eenvoudige bewegende gemiddelde van 5 terme, kry ons 'n gladder lyk stel voorspellings: Die 5 termyn eenvoudige bewegende gemiddelde opbrengste aansienlik kleiner foute as die ewekansige loop model in hierdie geval. Die gemiddelde ouderdom van die data in hierdie voorspelling is 3 ((51) / 2), sodat dit is geneig om agter draaipunte met sowat drie periodes. (Byvoorbeeld, blyk 'n afswaai het plaasgevind by tydperk 21, maar die voorspellings nie omdraai tot verskeie tydperke later.) Let daarop dat die langtermyn-voorspellings van die SMA model is 'n horisontale reguit lyn, net soos in die ewekansige loop model. So, die SMA model veronderstel dat daar geen neiging in die data. Maar, terwyl die voorspellings van die ewekansige loop model is eenvoudig gelyk aan die laaste waargenome waarde, die voorspellings van die SMA model is gelykstaande aan 'n geweegde gemiddelde van die afgelope waardes. Die vertroue perke bereken deur Stat Graphics vir die langtermyn-voorspellings van die eenvoudige bewegende gemiddelde nie groter as die vooruitskatting horison styg kry. Dit is natuurlik nie korrek Ongelukkig is daar geen onderliggende statistiese teorie wat ons vertel hoe die vertrouensintervalle behoort te brei vir hierdie model. Dit is egter nie te moeilik om empiriese ramings van die vertroue perke vir die langer-horison voorspellings te bereken. Byvoorbeeld, kan jy die opstel van 'n sigblad waarop die SMA model sal gebruik word om 2 stappe vooruit, 3 stappe vooruit, ens binne die historiese data monster voorspel. Jy kan dan bereken die monster standaardafwykings van die foute op elke voorspelling horison, en dan bou vertrouensintervalle vir langer termyn voorspellings deur optelling en aftrekking veelvoude van die toepaslike standaard afwyking. As ons probeer om 'n 9-termyn eenvoudige bewegende gemiddelde, kry ons selfs gladder voorspellings en meer van 'n sloerende uitwerking: Die gemiddelde ouderdom is nou 5 periodes ((91) / 2). As ons 'n 19-termyn bewegende gemiddelde te neem, die gemiddelde ouderdom toeneem tot 10: Let daarop dat, inderdaad, is die voorspellings nou agter draaipunte met sowat 10 periodes. Watter bedrag van smoothing is die beste vir hierdie reeks Hier is 'n tabel wat hulle dwaling statistieke vergelyk, ook met 'n 3-gemiddelde: Model C, die 5-termyn bewegende gemiddelde, lewer die laagste waarde van RMSE deur 'n klein marge oor die 3 - term en 9 termyn gemiddeldes, en hul ander statistieke is byna identies. So, onder modelle met 'n baie soortgelyke fout statistieke, kan ons kies of ons 'n bietjie meer responsiewe ingesteldheid of 'n bietjie meer gladheid in die voorspellings sou verkies. (Terug na bo.) Browns Eenvoudige Eksponensiële Smoothing (eksponensieel geweeg bewegende gemiddelde) Die eenvoudige bewegende gemiddelde model hierbo beskryf het die ongewenste eienskap dat dit behandel die laaste k Waarnemings ewe en heeltemal ignoreer al voorafgaande waarnemings. Intuïtief, moet afgelope data verdiskonteer in 'n meer geleidelike mode - byvoorbeeld, die mees onlangse waarneming moet 'n bietjie meer gewig kry as 2 mees onlangse, en die 2de mees onlangse moet 'n bietjie meer gewig as die 3 mees onlangse kry, en so aan. Die eenvoudige eksponensiële gladstryking (SES) model accomplishes hierdie. Laat 945 dui n quotsmoothing constantquot ( 'n getal tussen 0 en 1). Een manier om die model te skryf is om 'n reeks L dat die huidige vlak (dit wil sê die plaaslike gemiddelde waarde) van die reeks verteenwoordig as geraamde van data tot op hede te definieer. Die waarde van L op tydstip t is rekursief bereken uit sy eie vorige waarde soos volg: Dus, die huidige stryk waarde is 'n interpolasie tussen die vorige stryk waarde en die huidige waarneming, waar 945 kontroles die nabyheid van die geïnterpoleerde waarde tot die mees onlangse waarneming. Die voorspelling vir die volgende tydperk is eenvoudig die huidige stryk waarde: anders gestel ons kan die volgende voorspelling direk in terme van vorige voorspellings en vorige waarnemings uit te druk, in enige van die volgende ekwivalent weergawes. In die eerste weergawe, die voorspelling is 'n interpolasie tussen vorige skatting en vorige waarneming: In die tweede weergawe, is die volgende voorspelling verkry deur die aanpassing van die vorige skatting in die rigting van die vorige fout deur 'n breukdeel bedrag 945. is die fout gemaak by tyd t. In die derde weergawe, die voorspelling is 'n eksponensieel geweeg (dit wil sê afslag) bewegende gemiddelde met afslag faktor 1- 945: Die interpolasie weergawe van die voorspelling formule is die eenvoudigste om te gebruik as jy die uitvoering van die model op 'n spreadsheet: dit pas in 'n enkele sel en bevat selverwysings verwys na die vorige skatting, die vorige waarneming, en die sel waar die waarde van 945 gestoor. Let daarop dat indien 945 1, die SES model is gelykstaande aan 'n ewekansige loop model (sonder groei). As 945 0, die SES model is gelykstaande aan die gemiddelde model, met die veronderstelling dat die eerste stryk waarde gelyk aan die gemiddelde is ingestel. (Terug na bo.) Die gemiddelde ouderdom van die data in die eenvoudige eksponensiële-glad voorspelling is 1/945 relatief tot die tydperk waarvoor die voorspelling is bereken. (Dit is nie veronderstel duidelik te wees, maar dit kan maklik aangetoon deur die evaluering van 'n oneindige reeks.) Dus, die eenvoudige bewegende gemiddelde voorspelling is geneig om agter draaipunte met sowat 1/945 periodes. Byvoorbeeld, wanneer 945 0.5 die lag is 2 periodes wanneer 945 0.2 die lag is 5 periodes wanneer 945 0.1 die lag is 10 periodes, en so aan. Vir 'n gegewe gemiddelde ouderdom (bv bedrag van lag), die eenvoudige eksponensiële gladstryking (SES) voorspelling is 'n bietjie beter as die eenvoudige bewegende gemiddelde (SMA) voorspel, want dit plaas relatief meer gewig op die mees onlangse waarneming --i. e. dit is 'n bietjie meer quotresponsivequot om veranderinge voorkom in die onlangse verlede. Byvoorbeeld, 'n SMA model met 9 terme en 'n SES model met 945 0.2 beide het 'n gemiddelde ouderdom van 5 vir die data in hul voorspellings, maar die SES model plaas meer gewig op die laaste 3 waardes as wel die SMA model en by die Terselfdertyd is dit doesn8217t heeltemal 8220forget8221 oor waardes meer as 9 tydperke oud was, soos getoon in hierdie grafiek: nog 'n belangrike voordeel van die SES model die SMA model is dat die SES model maak gebruik van 'smoothing parameter wat voortdurend veranderlike, so dit kan maklik new deur die gebruik van 'n quotsolverquot algoritme om die gemiddelde minimum te beperk kwadraat fout. Die optimale waarde van 945 in die SES model vir hierdie reeks blyk te wees 0,2961, soos hier gewys word: die gemiddelde ouderdom van die data in hierdie voorspelling is 1 / 0,2961 3.4 tydperke, wat soortgelyk is aan dié van 'n 6-termyn eenvoudige bewegende gemiddelde. Die langtermyn-voorspellings van die SES model is 'n horisontale reguit lyn. soos in die SMA model en die ewekansige loop model sonder groei. Let egter daarop dat die vertrouensintervalle bereken deur Stat Graphics nou divergeer in 'n redelike aantreklike mode, en dat hulle aansienlik nouer as die vertrouensintervalle vir die ewekansige loop model. Die SES model veronderstel dat die reeks is 'n bietjie quotmore predictablequot as wel die ewekansige loop model. 'N SES model is eintlik 'n spesiale geval van 'n ARIMA model. sodat die statistiese teorie van ARIMA modelle bied 'n goeie basis vir die berekening van vertrouensintervalle vir die SES model. In die besonder, 'n SES model is 'n ARIMA model met een nonseasonal verskil, 'n MA (1) termyn, en geen konstante term. andersins bekend as 'n quotARIMA (0,1,1) model sonder constantquot. Die MA (1) koëffisiënt in die ARIMA model stem ooreen met die hoeveelheid 1- 945 in die SES model. Byvoorbeeld, as jy 'n ARIMA (0,1,1) model inpas sonder konstante om die reeks te ontleed hier, die beraamde MA (1) koëffisiënt blyk te wees 0,7029, wat byna presies 'n minus 0,2961. Dit is moontlik om die aanname van 'n nie-nul konstante lineêre tendens voeg by 'n SES model. Om dit te doen, net 'n ARIMA model met een nonseasonal verskil en 'n MA (1) termyn met 'n konstante, dit wil sê 'n ARIMA (0,1,1) model met 'n konstante spesifiseer. Die langtermyn-voorspellings sal dan 'n tendens wat gelyk is aan die gemiddelde tendens waargeneem oor die hele skatting tydperk is. Jy kan dit nie doen in samewerking met seisoenale aanpassing, omdat die aanpassing opsies seisoenale is afgeskakel wanneer die model tipe is ingestel op ARIMA. Jy kan egter 'n konstante langtermyn eksponensiële tendens om 'n eenvoudige eksponensiële gladstryking model voeg (met of sonder seisoenale aanpassing) deur gebruik te maak van die opsie inflasie-aanpassing in die vooruitskatting prosedure. Die toepaslike quotinflationquot (persentasie groei) koers per periode kan geskat word as die helling koëffisiënt in 'n lineêre tendens model toegerus om die data in samewerking met 'n natuurlike logaritme transformasie, of dit kan op grond van ander, onafhanklike inligting oor die langtermyn groeivooruitsigte . (Terug na bo.) Browns Lineêre (dws dubbel) Eksponensiële glad die SMA modelle en SES modelle aanvaar dat daar geen tendens van enige aard in die data (wat gewoonlik OK of ten minste nie-te-sleg vir 1- stap-ahead voorspellings wanneer die data is relatief raserig), en hulle kan verander word om 'n konstante lineêre tendens inkorporeer soos hierbo getoon. Wat van kort termyn tendense As 'n reeks vertoon 'n wisselende koers van groei of 'n sikliese patroon wat uitstaan duidelik teen die geraas, en as daar 'n behoefte aan meer as 1 tydperk wat voorlê voorspel, dan skatting van 'n plaaslike tendens kan ook wees n probleem. Die eenvoudige eksponensiële gladstryking model veralgemeen kan word na 'n lineêre eksponensiële gladstryking (LES) model wat plaaslike begrotings van beide vlak en tendens bere te kry. Die eenvoudigste-time wisselende tendens model is Browns lineêr eksponensiële gladstryking model, wat twee verskillende reëlmatige reeks wat op verskillende punte gesentreer in die tyd gebruik. Die vooruitskatting formule is gebaseer op 'n ekstrapolasie van 'n streep deur die twee sentrums. ( 'N meer gesofistikeerde weergawe van hierdie model, Holt8217s, word hieronder bespreek.) Die algebraïese vorm van Brown8217s lineêr eksponensiële gladstryking model, soos dié van die eenvoudige eksponensiële gladstryking model, uitgedruk kan word in 'n aantal verskillende maar ekwivalente vorms. Die quotstandardquot vorm van hierdie model word gewoonlik uitgedruk as volg: Laat S dui die enkel-stryk reeks verkry deur die toepassing van eenvoudige eksponensiële gladstryking om reeks Y. Dit is, is die waarde van S op tydperk t gegee word deur: (Onthou dat, onder eenvoudige eksponensiële gladstryking, dit sou die voorspelling vir Y by tydperk T1 wees) Dan Squot dui die dubbel-stryk reeks verkry deur die toepassing van eenvoudige eksponensiële gladstryking (met behulp van dieselfde 945) tot reeks S:. ten slotte, die voorspelling vir Y tk. vir enige kgt1, word gegee deur: Dit lewer e 1 0 (dit wil sê kul n bietjie, en laat die eerste skatting gelyk wees aan die werklike eerste waarneming), en e 2 Y 2 8211 Y 1. waarna voorspellings gegenereer met behulp van die vergelyking hierbo. Dit gee dieselfde toegerus waardes as die formule gebaseer op S en S indien laasgenoemde is begin met behulp van S 1 S 1 Y 1. Hierdie weergawe van die model gebruik word op die volgende bladsy wat 'n kombinasie van eksponensiële gladstryking met seisoenale aanpassing illustreer. Holt8217s Lineêre Eksponensiële Smoothing Brown8217s LES model bere plaaslike begrotings van vlak en tendens deur glad die onlangse data, maar die feit dat dit nie so met 'n enkele glad parameter plaas 'n beperking op die data patrone wat dit in staat is om aan te pas: die vlak en tendens word nie toegelaat om wissel op onafhanklike tariewe. Holt8217s LES model spreek hierdie kwessie deur die insluiting van twee glad konstantes, een vir die vlak en een vir die tendens. Te eniger tyd t, soos in Brown8217s model, die daar is 'n skatting L t van die plaaslike vlak en 'n skatting T t van die plaaslike tendens. Hier is hulle rekursief bereken vanaf die waarde van Y op tydstip t en die vorige raming van die vlak en tendens waargeneem deur twee vergelykings wat eksponensiële gladstryking afsonderlik van toepassing op hulle. As die geskatte vlak en tendens op tydstip t-1 is L t82091 en T t-1. onderskeidelik, dan is die voorspelling vir Y tshy wat op tydstip t-1 sal gemaak is gelyk aan L t-1 T T-1. Wanneer die werklike waarde is waargeneem, is die opgedateer skatting van die vlak rekursief bereken deur interpol tussen Y tshy en sy voorspelling, L t-1 T T-1, die gebruik van gewigte van 945 en 1- 945. Die verandering in die geskatte vlak, naamlik L t 8209 L t82091. geïnterpreteer kan word as 'n lawaaierige meting van die tendens op tydstip t. Die opgedateer skatting van die tendens is dan rekursief bereken deur interpol tussen L t 8209 L t82091 en die vorige skatting van die tendens, T t-1. die gebruik van gewigte van 946 en 1-946: Die interpretasie van die tendens-glad konstante 946 is soortgelyk aan dié van die vlak glad konstante 945. Models met klein waardes van 946 aanvaar dat die tendens verander net baie stadig met verloop van tyd, terwyl modelle met groter 946 aanvaar dat dit vinniger is om te verander. 'N Model met 'n groot 946 is van mening dat die verre toekoms is baie onseker, omdat foute in die tendens-skatting word baie belangrik wanneer voorspel meer as een tydperk wat voorlê. (Terug na bo.) Die smoothing konstantes 945 en 946 kan in die gewone manier word beraam deur die vermindering van die gemiddelde kwadraat fout van die 1-stap-ahead voorspellings. Wanneer dit in Stat Graphics gedoen, die skattings uitdraai om te wees 945 0.3048 en 946 0,008. Die baie klein waarde van 946 beteken dat die model veronderstel baie min verandering in die tendens van een tydperk na die volgende, so basies hierdie model is besig om 'n langtermyn-tendens skat. Volgens analogie met die idee van die gemiddelde ouderdom van die data wat gebruik word in die skatte van die plaaslike vlak van die reeks, die gemiddelde ouderdom van die data wat gebruik word in die skatte van die plaaslike tendens is eweredig aan 1/946, hoewel nie presies gelyk aan Dit. In hierdie geval is dit blyk 1 / 0,006 125. Dit isn8217t n baie presiese aantal sover die akkuraatheid van die skatting van 946 isn8217t regtig 3 desimale plekke te wees, maar dit is van dieselfde algemene orde van grootte as die steekproefgrootte van 100 , so hierdie model is gemiddeld oor 'n hele klomp van die geskiedenis in die skatte van die tendens. Die voorspelling plot hieronder toon dat die LES model skat 'n effens groter plaaslike tendens aan die einde van die reeks as die konstante tendens geskat in die SEStrend model. Ook waarvan die beraamde waarde van 945 is byna identies aan die een wat deur die pas van die SES model met of sonder tendens, so dit is amper dieselfde model. Nou, doen hierdie lyk redelike voorspellings vir 'n model wat veronderstel is om te beraming 'n plaaslike tendens As jy hierdie plot 8220eyeball8221, dit lyk asof die plaaslike tendens afwaarts gedraai aan die einde van die reeks: Wat het die parameters van hierdie model gebeur is beraam deur die vermindering van die kwadraat fout van 1-stap-ahead voorspellings, nie langer termyn voorspellings, in welke geval die tendens 'n groot verskil doesn8217t maak. As alles wat jy is op soek na is 1-stap-ahead foute, is jy nie sien die groter prentjie van tendense oor (sê) 10 of 20 periodes. Ten einde hierdie model meer in harmonie te kry met ons oogbal ekstrapolasie van die data, kan ons met die hand die tendens-glad konstante pas sodat dit 'n korter basislyn vir tendens skatting. Byvoorbeeld, as ons kies om te stel 946 0.1, dan is die gemiddelde ouderdom van die gebruik in die skatte van die plaaslike tendens data is 10 periodes, wat beteken dat ons die gemiddeld van die tendens oor daardie laaste 20 periodes of so. Here8217s wat die voorspelling plot lyk asof ons '946 0.1 terwyl 945 0.3. Dit lyk intuïtief redelike vir hierdie reeks, maar dit is waarskynlik gevaarlik om hierdie tendens te ekstrapoleer nie meer as 10 periodes in die toekoms. Wat van die fout statistieke Hier is 'n model vergelyking vir die twee modelle hierbo asook drie SES modelle getoon. Die optimale waarde van 945.Vir die SES model is ongeveer 0,3, maar soortgelyke resultate (met 'n bietjie meer of minder 'n responsiewe ingesteldheid, onderskeidelik) verkry met 0,5 en 0,2. (A) Holts lineêre exp. glad met alfa 0,3048 en beta 0,008 (B) Holts lineêre exp. glad met alfa 0,3 en beta 0,1 (C) Eenvoudige eksponensiële gladstryking met alfa 0,5 (D) Eenvoudige eksponensiële gladstryking met alfa 0,3 (E) Eenvoudige eksponensiële gladstryking met alfa 0,2 hul statistieke is byna identies, so ons can8217t regtig die keuse te maak op die basis van 1-stap-ahead voorspelling foute binne die data monster. Ons het om terug te val op ander oorwegings. As ons glo dat dit sinvol om die huidige tendens skatting van wat die afgelope 20 periodes of so gebeur baseer, kan ons 'n saak vir die LES model met 945 0.3 en 946 0.1 maak. As ons wil hê agnostikus te wees oor die vraag of daar 'n plaaslike tendens, dan een van die SES modelle makliker om te verduidelik kan wees en sou ook vir meer middel-of-the-road voorspellings vir die volgende 5 of 10 periodes. (Terug na bo.) Watter tipe tendens-ekstrapolasie die beste: horisontale of lineêre empiriese bewyse dui daarop dat, indien die data is reeds aangepas (indien nodig) vir inflasie, dan is dit dalk onverstandig om kort termyn lineêre ekstrapoleer wees tendense baie ver in die toekoms. Tendense duidelik vandag mag verslap in die toekoms as gevolg van uiteenlopende oorsake soos produk veroudering, toenemende mededinging en sikliese afswaai of opwaartse fases in 'n bedryf. Om hierdie rede, eenvoudige eksponensiële gladstryking voer dikwels beter out-of-monster as wat dit andersins word verwag, ten spyte van sy quotnaivequot horisontale tendens ekstrapolasie. Gedempte tendens veranderinge van die lineêre eksponensiële gladstryking model word ook dikwels gebruik in die praktyk om 'n aantekening van konserwatisme in te voer in die tendens projeksies. Die gedempte-tendens LES model geïmplementeer kan word as 'n spesiale geval van 'n ARIMA model, in die besonder, 'n ARIMA (1,1,2) model. Dit is moontlik om vertrouensintervalle rondom langtermyn voorspellings wat deur eksponensiële gladstryking modelle bereken deur die oorweging van hulle as spesiale gevalle van ARIMA modelle. (Pasop: nie alle sagteware bereken vertrouensintervalle vir hierdie modelle korrek.) Die breedte van die vertrouensintervalle hang af van (i) die RMS fout van die model, (ii) die tipe glad (eenvoudige of lineêr) (iii) die waarde (s) van die smoothing konstante (s) en (iv) die aantal periodes voor jy voorspel. In die algemeen, die tussenposes versprei vinniger as 945 kry groter in die SES model en hulle uitgebrei, sodat baie vinniger as lineêre, eerder as eenvoudige smoothing gebruik. Hierdie onderwerp word verder in die ARIMA modelle deel van die notas bespreek. (Terug na bo.)
No comments:
Post a Comment