Autoregressiva rörliga medelfelprocesser (ARMA-fel) och andra modeller som innefattar felaktigheter kan beräknas med hjälp av FIT-satser och simuleras eller prognoseras med hjälp av SOLVE-satser. ARMA-modeller för felprocessen används ofta för modeller med autokorrelerade rester. AR-makro kan användas för att specificera modeller med autoregressiva felprocesser. MA-makro kan användas för att specificera modeller med felaktiga felprocesser. Autoregressiva fel En modell med första ordningens autoregressiva fel, AR (1), har formen medan en AR (2) felprocess har formen och så vidare för högre orderprocesser. Observera att s är oberoende och identiskt fördelade och har ett förväntat värde på 0. Ett exempel på en modell med en AR (2) - komponent är och så vidare för processer med högre order. Till exempel kan du skriva en enkel linjär regressionsmodell med MA (2) glidande medelfel som MA1 och MA2 är de rörliga genomsnittsparametrarna. Observera att RESID. Y definieras automatiskt av PROC MODEL, eftersom ZLAG-funktionen måste användas för MA-modeller för att styra rekursionen av lagren. Detta säkerställer att de fördröjda felen startar vid noll i lagfasningsfasen och sprider inte saknade värden när fördröjningsperiodens variabler saknas och det säkerställer att framtida fel är noll snarare än att missa under simulering eller prognos. För detaljer om lagfunktionerna, se avsnittet Laglogik. Denna modell som skrivs med MA-makroen är som följer: Allmän form för ARMA-modeller Den allmänna ARMA-processen (p, q) har följande formulär En ARMA (p, q) modell kan specificeras enligt följande: där AR i och MA j representerar De autoregressiva och rörliga genomsnittsparametrarna för de olika lagren. Du kan använda namnen du vill ha för dessa variabler, och det finns många likvärdiga sätt att specifikationen kan skrivas. Vector ARMA-processer kan också beräknas med PROC MODEL. Exempelvis kan en tvåvariabel AR (1) - process för fel av de två endogena variablerna Y1 och Y2 specificeras enligt följande: Konvergensproblem med ARMA-modellerna ARMA-modeller kan vara svåra att uppskatta. Om parametrisuppskattningarna inte ligger inom det rätta intervallet, ökar de återstående termerna för rörliga genomsnittsmodeller exponentiellt. De beräknade resterna för senare observationer kan vara mycket stora eller kan överflöda. Detta kan hända antingen för att felaktiga startvärden användes eller för att iterationerna flyttade bort från rimliga värden. Vård bör användas vid val av startvärden för ARMA-parametrar. Startvärden på 0,001 för ARMA-parametrar fungerar vanligtvis om modellen passar data väl och problemet är välkonditionerat. Observera att en MA-modell ofta kan approximeras med en AR-modell med hög ordning och vice versa. Detta kan resultera i hög kollinearitet i blandade ARMA-modeller, vilket i sin tur kan orsaka allvarliga felkänslor vid beräkningarna och instabiliteten hos parametrisuppskattningarna. Om du har konvergensproblem när du beräknar en modell med ARMA-felprocesser, försök att uppskatta i steg. Använd först ett FIT-uttalande för att bara beräkna strukturparametrarna med ARMA-parametrarna som hålls noll (eller till rimliga tidigare uppskattningar om det finns tillgängligt). Använd sedan ett annat FIT-uttalande för att bara uppskatta ARMA-parametrarna, med hjälp av strukturparametervärdena från den första loppet. Eftersom värdena för de strukturella parametrarna sannolikt kommer att ligga nära sina slutliga uppskattningar, kan ARMA-parameterns uppskattningar nu konvergeras. Slutligen, använd ett annat FIT-uttalande för att producera simultana uppskattningar av alla parametrar. Eftersom parameterns initialvärden sannolikt kommer att ligga ganska nära sina slutliga gemensamma uppskattningar, bör uppskattningarna konvergeras snabbt om modellen är lämplig för data. AR Initiala villkor De första lagren av felvillkoren för AR (p) - modeller kan modelleras på olika sätt. De autoregressiva felstartsmetoderna som stöds av SASETS-procedurer är följande: villkorliga minsta kvadrater (ARIMA och MODEL-procedurer) ovillkorliga minsta kvadrater (AUTOREG, ARIMA och MODEL-procedurer) högsta sannolikhet (AUTOREG, ARIMA och MODEL-procedurer) Yule-Walker (AUTOREG Endast proceduren) Hildreth-Lu, som tar bort de första p-observationerna (endast MODEL-proceduren) Se kapitel 8, AUTOREG-proceduren, för en förklaring och diskussion om fördelarna med olika AR (p) startmetoder. CLS, ULS, ML och HL initialiseringar kan utföras av PROC MODEL. För AR (1) fel kan dessa initialiseringar framställas som visas i tabell 18.2. Dessa metoder är ekvivalenta i stora prover. Tabell 18.2 Initialiseringar utförs av PROC MODEL: AR (1) FEL De inledande tecknen på felvillkoren för MA (q) modeller kan också modelleras på olika sätt. Följande felaktiga startparametrar för glidande medel stöds av ARIMA - och MODEL-procedurerna: villkorliga minsta kvadrater villkorliga minsta kvadrater Den villkorliga minsta kvadreringsmetoden för att uppskatta glidvillkor för glidande medel är inte optimal eftersom den ignorerar startproblemet. Detta minskar effektiviteten av uppskattningarna, även om de förbli objektiva. De initiala fördröjda resterna, som sträcker sig före datas början, antas vara 0, deras ovillkorliga förväntade värde. Detta introducerar en skillnad mellan dessa residualer och de generaliserade minsta kvadratresidanserna för den rörliga genomsnittliga kovariansen, som, till skillnad från den autogegrativa modellen, fortsätter genom datasatsen. Vanligtvis konvergerar denna skillnad snabbt till 0, men för nästan oföränderliga rörliga medelprocesser är konvergensen ganska långsam. För att minimera detta problem borde du ha mycket data, och de rörliga genomsnittliga parametervärdena borde ligga inom det inverterbara intervallet. Detta problem kan korrigeras på bekostnad av att skriva ett mer komplext program. Otillräckliga minsta kvadrater uppskattningar för MA (1) processen kan produceras genom att ange modellen enligt följande: Flyttande medelfel kan vara svår att uppskatta. Du bör överväga att använda en AR (p) approximation till den rörliga genomsnittliga processen. En rörlig genomsnittsprocess kan vanligtvis vara väl approximerad av en autoregressiv process om data inte har blivit utjämnade eller avvikit. AR Macro SAS-makro AR genererar programmeringsanvisningar för PROC MODEL för autoregressiva modeller. AR-makroen är en del av SASETS-programvaran, och inga speciella alternativ behöver ställas in för att använda makroen. Den autoregressiva processen kan appliceras på strukturella ekvationsfel eller själva endogena serierna. AR-makro kan användas för följande typer av autoregression: obegränsad vektorautoregression begränsad vektorautoregression Univariate Autoregression För att modellera felet i en ekvation som en autogegressiv process, använd följande uttalande efter ekvationen: Anta exempelvis att Y är en linjär funktion av X1, X2 och ett AR (2) fel. Du skulle skriva denna modell enligt följande: Samtalen till AR måste komma efter alla ekvationer som processen gäller. Den föregående makrouppkallingen, AR (y, 2), ger de uttalanden som visas i LIST-utgången i Figur 18.58. Figur 18.58 LIST Alternativutgång för en AR (2) - modell PRED-prefixade variabler är temporära programvariabler som används så att resterna av resterna är de korrekta resterna och inte de som omdefinieras av denna ekvation. Observera att detta motsvarar de uttalanden som uttryckligen skrivits i avsnittet Allmän Form för ARMA-modeller. Du kan också begränsa de autoregressiva parametrarna till noll vid valda lags. Om du till exempel vill ha autregressiva parametrar på lag 1, 12 och 13 kan du använda följande påståenden: Dessa uttalanden genererar utgången som visas i Figur 18.59. Figur 18.59 LIST Alternativutgång för en AR-modell med Lags på 1, 12 och 13 MODEL-procedurlistan för kompilerad programkodsförklaring som analyserad PRED. yab x1 c x2 RESID. y PRED. y - FAKTIV. J. ERROR. y PRED. y-y OLDPRED. y PRED. y yl1 ZLAG1 (y-perdy) yl12 ZLAG12 (y-perdy) yl13 ZLAG13 (y-perdy) RESID. y PRED. y - AKTUELL. JUL ERROR. y PRED. y - y Det finns variationer på den villkorliga minsta kvadratmetoden, beroende på om observationer i början av serien används för att värma upp AR-processen. Som standard använder AR-villkoret minst kvadratmetoden alla observationer och antar nollor för de första lagren av autoregressiva termer. Genom att använda M-alternativet kan du begära att AR använder istället den ovillkorliga minsta kvadraten (ULS) eller maximal sannolikhet (ML) - metoden. Exempelvis ges diskussioner om dessa metoder i avsnittet AR Initial Conditions. Genom att använda MCLS n-alternativet kan du begära att de första n-observationerna används för att beräkna uppskattningar av de initiala autoregressiva lagren. I det här fallet börjar analysen med observation n 1. Till exempel: Du kan använda AR-makroet att tillämpa en autoregressiv modell på den endogena variablen, istället för att felfunktionen, genom att använda TYPEV-alternativet. Om du till exempel vill lägga till de fem övergångarna av Y till ekvationen i föregående exempel kan du använda AR för att generera parametrarna och lags genom att använda följande påståenden: De föregående stegen genererar utgången som visas i Figur 18.60. Figur 18.60 LIST Alternativutgång för en AR-modell av Y Denna modell förutsäger Y som en linjär kombination av X1, X2, en avlyssning och Y-värdena under de senaste fem perioderna. Obegränsad vektorautoregression För att modellera felvillkoren för en uppsättning ekvationer som en vektorautoregressiv process, använd följande form av AR-makroet efter ekvationerna: Processnamnvärdet är ett namn som du tillhandahåller för AR att använda för att skapa namn för den autoregressiva parametrar. Du kan använda AR-makroet för att modellera flera olika AR-processer för olika uppsättningar av ekvationer genom att använda olika processnamn för varje uppsättning. Processnamnet ser till att de använda variabla namnen är unika. Använd ett kort processnamnvärde för processen om parametervärden ska skrivas till en utdatasats. AR-makroen försöker konstruera parameternamn mindre än eller lika med åtta tecken, men detta är begränsat av längden på processnamnet. som används som prefix för AR-parameterns namn. Variabellistans värde är listan över endogena variabler för ekvationerna. Antag exempelvis att fel för ekvationerna Y1, Y2 och Y3 genereras av en andra ordningsvektor-autoregressiv process. Du kan använda följande påståenden: som genererar följande för Y1 och liknande kod för Y2 och Y3: Endast metoden med villkorlig minsta kvadrat (MCLS eller MCLS n) kan användas för vektorprocesser. Du kan också använda samma blankett med begränsningar att koefficientmatrisen är 0 vid valda lags. Till exempel tillämpar följande påståenden en tredje ordningens vektorprocess till ekvationsfel med alla koefficienterna vid lag 2 begränsad till 0 och med koefficienterna i lag 1 och 3 obegränsad: Du kan modellera de tre serierna Y1Y3 som en vektorautoregressiv process i variablerna istället för i fel genom att använda alternativet TYPEV. Om du vill modellera Y1Y3 som en funktion av tidigare värden av Y1Y3 och vissa exogena variabler eller konstanter, kan du använda AR för att generera uttalandena för lagtermerna. Skriv en ekvation för varje variabel för den ickeautoregressiva delen av modellen och ring sedan AR med alternativet TYPEV. Till exempel kan den ickeautoregressiva delen av modellen vara en funktion av exogena variabler, eller det kan vara avlyssna parametrar. Om det inte finns några exogena komponenter i vektorgrafikstyrningsmodellen, inklusive inga avlyssningar, tilldela noll till var och en av variablerna. Det måste finnas en uppgift till var och en av variablerna innan AR heter. Detta exempel modellerar vektorn Y (Y1 Y2 Y3) som en linjär funktion endast av dess värde under de föregående två perioderna och en vit brusfelvektor. Modellen har 18 parametrar (3 3 3 3). Syntax av AR-makro Det finns två fall av syntakten i AR-makroen. När restriktioner för en AR-vektor inte behövs, har syntakten i AR-makro den allmänna formen specificerar ett prefix för AR att använda för att konstruera namn på variabler som behövs för att definiera AR-processen. Om endolisten inte anges anges den endogena listan som namn. vilket måste vara namnet på ekvationen som AR-felprocessen ska tillämpas på. Namnvärdet får inte överstiga 32 tecken. är ordningen för AR-processen. specificerar listan över ekvationer som AR-processen ska tillämpas på. Om mer än ett namn ges, skapas en obegränsad vektorprocess med strukturella rester av alla ekvationer som ingår som regressorer i var och en av ekvationerna. Om inte specificerat, standardiseras endolist för att namnge. specificerar listan över lags där AR-termerna ska läggas till. Koefficienterna för termen vid listor som inte är listade är satt till 0. Alla listade lags måste vara mindre än eller lika med nlag. och det får inte finnas några duplikat. Om inte specificerat laglar laglistan till alla lag 1 till nlag. specificerar beräkningsmetoden som ska genomföras. Giltiga värden för M är CLS (beräknade minsta kvadrater), ULS (ovillkorliga minsta kvadrater uppskattningar) och ML (maximala sannolikhetsvärderingar). MCLS är standard. Endast MCLS tillåts när mer än en ekvation är angiven. ULS - och ML-metoderna stöds inte för vektor AR-modeller av AR. specificerar att AR-processen ska appliceras på de endogena variablerna istället för att de strukturella resterna av ekvationerna. Begränsad Vector Autoregression Du kan styra vilka parametrar som ingår i processen, vilket begränsar till 0 de parametrar som du inte inkluderar. Först använd AR med alternativet DEFER att deklarera variabelistan och definiera processens dimension. Använd sedan ytterligare AR-samtal för att generera termer för valda ekvationer med valda variabler i valda lags. De felaktigheter som produceras är till exempel följande: Den här modellen anger att felen för Y1 beror på felet i både Y1 och Y2 (men inte Y3) i båda lagren 1 och 2 och att felen för Y2 och Y3 beror på De tidigare felen för alla tre variablerna men endast i lag 1. AR Macro Syntax för begränsad vektor AR En alternativ användning av AR tillåts att införa restriktioner på en AR-vektorprocess genom att ringa AR flera gånger för att ange olika AR-termer och låter för olika ekvationer. Det första samtalet har den allmänna formen anger ett prefix för att AR ska kunna använda vid konstruktion av namn på variabler som behövs för att definiera vektor AR-processen. specificerar ordningen för AR-processen. specificerar listan över ekvationer som AR-processen ska tillämpas på. specificerar att AR inte ska generera AR-processen utan att vänta på ytterligare information som anges i senare AR-samtal för samma namnvärde. De efterföljande samtalen har den allmänna formen är densamma som i det första samtalet. specificerar listan över ekvationer som specifikationerna i detta AR-samtal ska tillämpas på. Endast namn som anges i endolistvärdet för det första samtalet för namnsvärdet kan visas i listan över ekvationer i eqlist. specificerar listan över ekvationer vars fördröjda konstruktionsrester ska inkluderas som regressorer i ekvationerna i eqlist. Endast namn i endolisten för det första samtalet för namnvärdet kan visas i varlist. Om inte specificerat, varla standardinställningar till endolist. specificerar listan över lags där AR-termerna ska läggas till. Koefficienterna för termen vid listor som inte är listade är satt till 0. Alla listade lags måste vara mindre än eller lika med värdet av nlag. och det får inte finnas några duplikat. Om inte specificerat, laglista standardvärdena till alla lag 1 till nlag. MA Macro SAS makro MA genererar programmeringsanvisningar för PROC MODEL för rörliga genomsnittsmodeller. MA-makroen är en del av SASETS-programvaran, och inga speciella alternativ behövs för att använda makroen. Felprocessen för glidande medel kan appliceras på strukturella ekvationsfel. Syntaxen för MA-makroen är densamma som AR-makroet, förutom att det inte finns något TYP-argument. När du använder MA och AR-makronen, måste MA-makroet följa AR-makro. Följande SASIML-satser ger en ARMA (1, (3)) felprocess och sparar den i datamängden MADAT2. Följande PROC MODEL-satser används för att uppskatta parametrarna för denna modell med hjälp av största sannolikhetsfelstruktur: Uppskattningarna av parametrarna som produceras av denna körning visas i Figur 18.61. Figur 18.61 Uppskattningar från en ARMA (1, (3)) Process Det finns två fall av syntaxen för MA-makro. När restriktioner på en vektor MA-process inte behövs har syntaxen i MA-makroen den allmänna formen specificerar ett prefix för MA att använda vid konstruktion av namn på variabler som behövs för att definiera MA-processen och är standardendolisten. är ordningen för MA-processen. specificerar ekvationerna som MA-processen ska tillämpas på. Om mer än ett namn ges, används CLS-estimering för vektorns process. specificerar lagren där MA-termerna ska läggas till. Alla listade lags måste vara mindre än eller lika med nlag. och det får inte finnas några duplikat. Om inte specificerat laglar laglistan till alla lag 1 till nlag. specificerar beräkningsmetoden som ska genomföras. Giltiga värden för M är CLS (beräknade minsta kvadrater), ULS (ovillkorliga minsta kvadrater uppskattningar) och ML (maximala sannolikhetsvärderingar). MCLS är standard. Endast MCLS tillåts när mer än en ekvation är specificerad i endolisten. MA Macro-syntax för begränsad vektor Flytta-medelvärde En alternativ användning av MA tillåts att införa restriktioner på en vektor MA-process genom att ringa MA flera gånger för att ange olika MA-termer och lags för olika ekvationer. Det första samtalet har den allmänna formen specificerar ett prefix för MA att använda vid konstruktion av namn på variabler som behövs för att definiera vektorn MA-processen. specificerar ordningen för MA-processen. specificerar listan över ekvationer som MA-processen ska tillämpas på. specificerar att MA inte ska generera MA-processen utan att vänta på ytterligare information som anges i senare MA-samtal för samma namnvärde. De efterföljande samtalen har den allmänna formen är densamma som i det första samtalet. specificerar listan över ekvationer som specifikationerna i detta MA-samtal ska tillämpas på. specificerar listan över ekvationer vars fördröjda konstruktionsrester ska inkluderas som regressorer i ekvationerna i eqlist. specificerar listan över lags där MA-termerna ska läggas till. Introduktion till ARIMA: nonseasonal modeller ARIMA (p, d, q) prognoser ekvation: ARIMA-modeller är i teorin den vanligaste klassen av modeller för prognoser för en tidsserie vilket kan göras för att vara 8220stationary8221 genom differentiering (om nödvändigt), kanske i samband med olinjära transformationer såsom loggning eller deflatering (om nödvändigt). En slumpmässig variabel som är en tidsserie är stationär om dess statistiska egenskaper är konstanta över tiden. En stationär serie har ingen trend, dess variationer kring dess medelvärde har en konstant amplitud, och det vinklar på ett konsekvent sätt. d. v.s. dess kortsiktiga slumpmässiga tidsmönster ser alltid ut i statistisk mening. Det sistnämnda tillståndet betyder att dess autokorrelationer (korrelationer med sina egna tidigare avvikelser från medelvärdet) förblir konstanta över tiden, eller likvärdigt, att dess effektspektrum förblir konstant över tiden. En slumpmässig variabel i denna blankett kan ses som en kombination av signal och brus, och signalen (om en är uppenbar) kan vara ett mönster av snabb eller långsam mean reversion eller sinusformig oscillation eller snabb växling i tecken , och det kan också ha en säsongskomponent. En ARIMA-modell kan ses som en 8220filter8221 som försöker separera signalen från bruset, och signalen extrapoleras därefter i framtiden för att få prognoser. ARIMA-prognosekvationen för en stationär tidsserie är en linjär (d. v.s. regressionstyp) ekvation där prediktorerna består av lags av de beroende variabla andorlagren av prognosfel. Det vill säga: Förutsatt värdet på Y är en konstant och en viktad summa av ett eller flera nya värden av Y och eller en vägd summa av ett eller flera nya värden av felen. Om prediktorerna endast består av fördröjda värden på Y. Det är en ren autoregressiv (8220self-regressed8221) modell, som bara är ett speciellt fall av en regressionsmodell och som kan förses med standard regressionsprogram. Exempelvis är en första-order-autoregressiv (8220AR (1) 8221) modell för Y en enkel regressionsmodell där den oberoende variabeln bara Y är försenad med en period (LAG (Y, 1) i Statgraphics eller YLAG1 i RegressIt). Om en del av prediktorerna är felaktiga, är en ARIMA-modell inte en linjär regressionsmodell, eftersom det inte går att ange 8220last period8217s error8221 som en oberoende variabel: felen måste beräknas periodvis när modellen är monterad på data. Tekniskt sett är problemet med att använda fördröjda fel som prediktorer att modellen8217s förutsägelser inte är linjära funktioner för koefficienterna. även om de är linjära funktioner av tidigare data. Så koefficienter i ARIMA-modeller som innehåller försenade fel måste uppskattas genom olinjära optimeringsmetoder (8220hill-climbing8221) istället för att bara lösa ett system av ekvationer. Akronymet ARIMA står för Auto-Regressive Integrated Moving Average. Lags av den stationära serien i prognosen ekvationen kallas quotautoregressivequot termer, lags av prognosfel kallas quotmoving averagequot termer och en tidsserie som behöver differentieras för att göras stationär sägs vara en quotintegratedquot-version av en stationär serie. Slumpmässiga och slumpmässiga modeller, autoregressiva modeller och exponentiella utjämningsmodeller är alla speciella fall av ARIMA-modeller. En nonseasonal ARIMA-modell klassificeras som en quotARIMA (p, d, q) kvotmodell där: p är antalet autoregressiva termer, d är antalet icke-säsongsskillnader som behövs för stationaritet och q är antalet fördröjda prognosfel i prediksionsekvationen. Prognosekvationen är konstruerad enligt följande. Först, låt y beteckna d: s skillnad på Y. Det betyder: Observera att den andra skillnaden i Y (d2-fallet) inte är skillnaden från 2 perioder sedan. Det är snarare den första skillnaden-av-första skillnaden. vilken är den diskreta analogen av ett andra derivat, dvs den lokala accelerationen av serien i stället för dess lokala trend. När det gäller y. Den allmänna prognostiseringsekvationen är: Här definieras de rörliga genomsnittsparametrarna (9528217s) så att deras tecken är negativa i ekvationen, enligt konventionen införd av Box och Jenkins. Vissa författare och programvara (inklusive R-programmeringsspråket) definierar dem så att de har plustecken istället. När faktiska siffror är anslutna till ekvationen finns det ingen tvetydighet, men det är viktigt att veta vilken konvention din programvara använder när du läser utmatningen. Ofta anges parametrarna av AR (1), AR (2), 8230 och MA (1), MA (2), 8230 etc. För att identifiera lämplig ARIMA-modell för Y. börjar du med att bestämma sorteringsordningen (d) behöver stationera serierna och ta bort säsongens bruttoegenskaper, kanske i kombination med en variationsstabiliserande transformation, såsom loggning eller avflöde. Om du slutar vid denna tidpunkt och förutsäger att den olika serien är konstant, har du bara monterat en slumpmässig promenad eller slumpmässig trendmodell. Den stationära serien kan emellertid fortfarande ha autokorrelerade fel, vilket tyder på att vissa antal AR-termer (p 8805 1) och eller några nummer MA-termer (q 8805 1) också behövs i prognosekvationen. Processen att bestämma värdena p, d och q som är bäst för en given tidsserie kommer att diskuteras i senare avsnitt av anteckningarna (vars länkar finns längst upp på denna sida), men en förhandsvisning av några av de typerna av nonseasonal ARIMA-modeller som vanligtvis förekommer ges nedan. ARIMA (1,0,0) första ordningens autoregressiva modell: Om serien är stationär och autokorrelerad kanske den kan förutsägas som en multipel av sitt eget tidigare värde plus en konstant. Prognosekvationen i detta fall är 8230, som Y är regresserad i sig själv fördröjd med en period. Detta är en 8220ARIMA (1,0,0) constant8221 modell. Om medelvärdet av Y är noll, skulle den konstanta termen inte inkluderas. Om lutningskoefficienten 981 1 är positiv och mindre än 1 i storleksordningen (den måste vara mindre än 1 i storleksordningen om Y är stillastående), beskriver modellen medelåterkallande beteende där nästa period8217s värde bör förutses vara 981 1 gånger som långt ifrån medelvärdet som detta period8217s värde. Om 981 1 är negativ förutspår det medelåterkallande beteende med teckenväxling, dvs det förutspår också att Y kommer att ligga under den genomsnittliga nästa perioden om den är över medelvärdet denna period. I en andra-ordningsautoregressiv modell (ARIMA (2,0,0)) skulle det finnas en Y t-2 term till höger också, och så vidare. Beroende på tecken och storheter på koefficienterna kan en ARIMA (2,0,0) modell beskriva ett system vars medföljande reversering sker på ett sinusformigt oscillerande sätt, som en massans rörelse på en fjäder som utsätts för slumpmässiga stötar . ARIMA (0,1,0) slumpmässig promenad: Om serien Y inte är stillastående är den enklaste möjliga modellen för en slumpmässig promenadmodell, vilken kan betraktas som ett begränsande fall av en AR (1) - modell där den autogegrativa koefficienten är lika med 1, det vill säga en serie med oändligt långsam medelbackning. Förutsägningsekvationen för denna modell kan skrivas som: där den konstanta termen är den genomsnittliga period-till-period-förändringen (dvs. den långsiktiga driften) i Y. Denna modell kan monteras som en icke-avlyssningsregressionsmodell där första skillnaden i Y är den beroende variabeln. Eftersom den innehåller (endast) en nonseasonal skillnad och en konstant term, klassificeras den som en quotARIMA (0,1,0) modell med constant. quot. Den slumpmässiga walk-without-drift-modellen skulle vara en ARIMA (0,1, 0) modell utan konstant ARIMA (1,1,0) annorlunda första ordningens autoregressiva modell: Om fel i en slumpmässig promenadmodell är autokorrelerade kanske problemet kan lösas genom att lägga en lag av den beroende variabeln till prediktionsekvationen - - ie genom att regressera den första skillnaden av Y på sig själv fördröjd med en period. Detta skulle ge följande förutsägelsesekvation: som kan omordnas till Detta är en förstaordens autregressiv modell med en ordning av icke-säsongsskillnader och en konstant term, dvs. en ARIMA (1,1,0) modell. ARIMA (0,1,1) utan konstant enkel exponentiell utjämning: En annan strategi för korrigering av autokorrelerade fel i en slumpmässig promenadmodell föreslås av den enkla exponentiella utjämningsmodellen. Minns att för några icke-stationära tidsserier (t ex de som uppvisar bullriga fluktuationer kring ett långsamt varierande medelvärde), utförs slumpmässiga promenadmodellen inte lika bra som ett glidande medelvärde av tidigare värden. Med andra ord, istället för att ta den senaste observationen som prognosen för nästa observation, är det bättre att använda ett genomsnitt av de sista observationerna för att filtrera bort bullret och mer exakt uppskatta det lokala medelvärdet. Den enkla exponentiella utjämningsmodellen använder ett exponentiellt vägt glidande medelvärde av tidigare värden för att uppnå denna effekt. Förutsägningsekvationen för den enkla exponentiella utjämningsmodellen kan skrivas i ett antal matematiskt ekvivalenta former. varav den ena är den så kallade 8220error correction8221-formen, där den föregående prognosen justeras i riktning mot det fel som det gjorde: Eftersom e t-1 Y t-1 - 374 t-1 per definition kan det skrivas om som : vilket är en ARIMA (0,1,1) - utan konstant prognosekvation med 952 1 1 - 945. Det innebär att du kan passa en enkel exponentiell utjämning genom att ange den som en ARIMA (0,1,1) modell utan konstant, och den uppskattade MA (1) - koefficienten motsvarar 1-minus-alfa i SES-formeln. Minns att i SES-modellen är den genomsnittliga åldern för data i prognoserna för 1-tiden framåt 1 945. Det betyder att de tenderar att ligga bakom trender eller vändpunkter med cirka 1 945 perioder. Det följer att den genomsnittliga åldern för data i de 1-prognos framåt av en ARIMA (0,1,1) utan konstant modell är 1 (1 - 952 1). Så, till exempel, om 952 1 0,8 är medelåldern 5. När 952 1 närmar sig 1 blir ARIMA (0,1,1) utan konstant modell ett mycket långsiktigt glidande medelvärde och som 952 1 närmar sig 0 blir det en slumpmässig promenad utan driftmodell. What8217s det bästa sättet att korrigera för autokorrelation: Lägg till AR-termer eller lägga till MA-termer I de tidigare två modellerna som diskuterats ovan fixades problemet med autokorrelerade fel i en slumpmässig promenadmodell på två olika sätt: genom att lägga till ett fördröjt värde av de olika serierna till ekvationen eller lägga till ett fördröjt värde av prognosfelet. Vilket tillvägagångssätt är bäst En tumregel för denna situation, som kommer att diskuteras mer i detalj senare, är att positiv autokorrelation vanligtvis behandlas bäst genom att addera en AR-term till modellen och negativ autokorrelation behandlas vanligtvis bäst genom att lägga till en MA term. I affärs - och ekonomiska tidsserier uppstår negativ autokorrelation ofta som en artefakt av differentiering. (I allmänhet minskar differentieringen positiv autokorrelation och kan även orsaka en växling från positiv till negativ autokorrelation.) Således används ARIMA (0,1,1) - modellen, i vilken skillnad åtföljs av en MA-term, oftare än en ARIMA (1,1,0) modell. ARIMA (0,1,1) med konstant enkel exponentiell utjämning med tillväxt: Genom att implementera SES-modellen som en ARIMA-modell får du viss flexibilitet. För det första får den uppskattade MA (1) - koefficienten vara negativ. Detta motsvarar en utjämningsfaktor som är större än 1 i en SES-modell, vilket vanligtvis inte är tillåtet med SES-modellproceduren. För det andra har du möjlighet att inkludera en konstant term i ARIMA-modellen om du vill, för att uppskatta en genomsnittlig trendfri noll. ARIMA-modellen (0,1,1) med konstant har förutsägelsesekvationen: Prognoserna från den här modellen är kvalitativt likartade som i SES-modellen, förutom att banan för de långsiktiga prognoserna typiskt är en sluttande linje (vars lutning är lika med mu) snarare än en horisontell linje. ARIMA (0,2,1) eller (0,2,2) utan konstant linjär exponentiell utjämning: Linjära exponentiella utjämningsmodeller är ARIMA-modeller som använder två icke-säsongsskillnader i samband med MA-termer. Den andra skillnaden i en serie Y är inte bara skillnaden mellan Y och sig själv i två perioder, men det är snarare den första skillnaden i den första skillnaden, dvs. Y-förändringen i Y vid period t. Således är den andra skillnaden av Y vid period t lika med (Y t - Y t-1) - (Y t-1 - Y t-2) Y t - 2Y t-1 Y t-2. En andra skillnad av en diskret funktion är analog med ett andra derivat av en kontinuerlig funktion: det mäter kvotccelerationquot eller quotcurvaturequot i funktionen vid en given tidpunkt. ARIMA-modellen (0,2,2) utan konstant förutspår att den andra skillnaden i serien motsvarar en linjär funktion av de två sista prognosfel: som kan omordnas som: där 952 1 och 952 2 är MA (1) och MA (2) koefficienter. Detta är en generell linjär exponentiell utjämningsmodell. väsentligen samma som Holt8217s modell, och Brown8217s modell är ett speciellt fall. Den använder exponentiellt vägda glidande medelvärden för att uppskatta både en lokal nivå och en lokal trend i serien. De långsiktiga prognoserna från denna modell konvergerar till en rak linje vars lutning beror på den genomsnittliga trenden som observerats mot slutet av serien. ARIMA (1,1,2) utan konstant dämpad trend linjär exponentiell utjämning. Denna modell illustreras i de bifogade bilderna på ARIMA-modellerna. Den extrapolerar den lokala trenden i slutet av serien men plattar ut på längre prognoshorisonter för att presentera en konservatismskampanj, en övning som har empiriskt stöd. Se artikeln om varför Damped Trend worksquot av Gardner och McKenzie och artikeln "Rulequot Rulequot" av Armstrong et al. för detaljer. Det är i allmänhet lämpligt att hålla fast vid modeller där minst en av p och q inte är större än 1, dvs försök inte passa en modell som ARIMA (2,1,2), eftersom det här sannolikt kommer att leda till övermontering och quotcommon-factorquot-problem som diskuteras närmare i noterna om den matematiska strukturen för ARIMA-modeller. Implementering av kalkylark: ARIMA-modeller som de som beskrivs ovan är enkla att implementera på ett kalkylblad. Förutsägningsekvationen är helt enkelt en linjär ekvation som refererar till tidigare värden av ursprungliga tidsserier och tidigare värden av felen. Således kan du ställa in ett ARIMA-prognoskalkylblad genom att lagra data i kolumn A, prognosformeln i kolumn B och felen (data minus prognoser) i kolumn C. Förutsättningsformeln i en typisk cell i kolumn B skulle helt enkelt vara ett linjärt uttryck som hänvisar till värdena i föregående rader av kolumnerna A och C multiplicerat med lämpliga AR - eller MA-koefficienter lagrade i celler på annat håll i kalkylbladet. ARIMA Prognoser med Excel och R Hej Idag ska jag gå igenom en introduktion till ARIMA-modellen och dess komponenter, samt en kort förklaring av Box-Jenkins-metoden för hur ARIMA-modeller specificeras. Slutligen skapade jag ett Excel-implementering med R, som I8217ll visar dig hur du konfigurerar och använder. Autoregressive Moving Average (ARMA) Modeller Den autoregressiva Moving Average-modellen används för modellering och prognos för stationära, stokastiska tidsserier. Det är kombinationen av två tidigare utvecklade statistiska tekniker, de autoregressiva (AR) och Moving Average (MA) - modellerna och beskrivs ursprungligen av Peter Whittle 1951. George E. P. Box och Gwilym Jenkins populariserade modellen 1971 genom att specificera diskreta steg för modellidentifiering, uppskattning och verifiering. Denna process kommer att beskrivas senare för referens. Vi börjar med att introducera ARMA-modellen genom sina olika komponenter, AR - och MA-modellerna och presentera sedan en populär generalisering av ARMA-modellen, ARIMA (Autoregressive Integrated Moving Average) och prognoser och modellspecifikationssteg. Slutligen kommer jag att förklara ett Excel-genomförande jag skapade och hur man använder det för att göra dina prognoser för tidsserier. Autoregressiva modeller Den autoregressiva modellen används för att beskriva slumpmässiga processer och tidsvarierande processer och specificerar att utgångsvariabeln beror linjärt på sina tidigare värden. Modellen beskrivs som: Xt c sum varphii, Xt-i varepsilont Varphi1, ldots, varphivarphi är parametrarna för modellen, C är konstant och varepsilont är en vit brusperiod. I huvudsak beskriver vad modellen beskriver för ett givet värde X (t). det kan förklaras av funktioner av sitt tidigare värde. För en modell med en parameter förklaras varphi 1. X (t) av dess tidigare värde X (t-1) och slumpmässigt feluppdatering. För en modell med mer än en parameter, till exempel varphi 2. X (t) ges av X (t-1). X (t-2) och slumpmässigt fel varepsilont. Moving Average Model Den rörliga genomsnittliga (MA) modellen används ofta för modellering av univariata tidsserier och definieras som: Xt mu varepsilont theta1, varepsilon ldots thetaq, varepsilon mu är medelvärdet av tidsserierna. theta1, ldots, thetaq är parametrarna för modellen. varepsilont, varepsilon, ldots är de vita brusvillkoren. q är ordningen för Moving Average-modellen. Den rörliga genomsnittsmodellen är en linjär regression av seriens nuvärde jämfört med varpsilontermer under föregående period, t. varepsilon. Exempelvis förklaras en MA-modell av q 1. X (t) av den aktuella felsvarupiloten i samma period och det tidigare felvärdet, varepsilon. För en modell av order 2 (q 2) förklaras X (t) av de två senaste felvärdena, varepsilon och varepsilon. AR (p) och MA (q) termerna används i ARMA-modellen, som nu kommer att introduceras. Autoregressiv Moving Average Modell Autoregressiv Moving Genomsnittliga modeller använder två polynomier, AR (p) och MA (q) och beskriver en stationär stokastisk process. En stationär process förändras inte när den förskjuts i tid eller rum, därför har en stationär process konstant medelvärde och varians. ARMA-modellen refereras ofta till i form av dess polynom, ARMA (p, q). Modellen har skrivits: Xt c varpsilont sum varphi1 X summa thetai varepsilon Val, estimering och verifiering av modellen beskrivs av Box-Jenkins-processen. Box-Jenkins Metod för modellidentifiering Nedan följer en mer översikt över Box-Jenkins-metoden, eftersom den faktiska processen att hitta dessa värden kan vara ganska överväldigande utan ett statistiskt paket. Excel-arket som ingår på den här sidan bestämmer automatiskt den bästa monteringsmodellen. Det första steget i Box-Jenkins-metoden är modellidentifiering. Steget innefattar att identifiera säsonglighet, differentiering om det behövs och bestämning av ordningen av p och q genom att kartlägga autokorrelations - och partiella autokorrelationsfunktioner. När modellen har identifierats beräknas nästa steg parametrarna. Parameteruppskattning använder statistiska paket och beräkningsalgoritmer för att hitta de bästa passande parametrarna. När parametrarna väljs, kontrollerar det sista steget modellen. Modellkontroll görs genom testning för att se huruvida modellen överensstämmer med en stationär univariatidserie. Man bör också bekräfta att resterna är oberoende av varandra och uppvisar konstant medelvärde och varians över tiden, vilket kan göras genom att utföra ett Ljung-Box-test eller återigen plottar autokorrelationen och partiell autokorrelering av resterna. Observera att det första steget innebär att man kontrollerar säsongsmässigheten. Om de data du arbetar med innehåller säsongsutvecklingar, gör du 8220difference8221 för att göra datan stationär. Detta differentieringssteg generaliserar ARMA-modellen i en ARIMA-modell, eller Autoregressive Integrated Moving Average, där 8216Integrated8217 motsvarar differentieringssteget. Autoregressiva integrerade rörliga genomsnittsmodeller ARIMA-modellen har tre parametrar, p, d, q. För att definiera ARMA-modellen för att inkludera differentieringsperioden börjar vi genom att omarrangera standard ARMA-modellen för att separera X (t) latex - och latexvarpsilont från summeringen. (1 sum sumai Li) Xt (1 summa thetai Li) varepsilont Där L är lagoperatören och alphai. thetai. varepsilont är autoregressiva och glidande medelparametrar, respektive felvillkoren. Vi gör nu antagandet den första polynomen av funktionen, (1 - summa alai Li) har en enhetlig rot av multiplicitet d. Vi kan sedan skriva om det på följande: ARIMA-modellen uttrycker polynomialiseringen med pp-d och ger oss: (1 - summa Li) (1 - L) d Xt (1 summa thetai Li) varepsilont Slutligen generaliserar vi modell ytterligare genom att lägga till en drivperiod som definierar ARIMA-modellen som ARIMA (p, d, q) med drift frac. (1-summa Phii Li) (1-L) d Xt delta (1 summa thetai Li) varepsilont Med den nu definierade modellen kan vi se ARIMA-modellen som två separata delar, en icke-stationär och den andra vidvinkliga stationära (gemensam sannolikhetsfördelning ändras inte när det ändras i tid eller rum). Den icke-stationära modellen: Den breda sensorns stationära modellen: (1-summa Phii Li) Yt (1 summa thetai Li) varepsilont Prognoser kan nu göras på Yt med en generaliserad autoregressiv prognosmetod. Nu när vi har diskuterat ARMA - och ARIMA-modellerna, vänder vi oss nu till hur kan vi använda dem i praktiska tillämpningar för att förutse prognoser. Ive byggt ett implementering med Excel med R för att göra ARIMA-prognoser samt ett alternativ att köra Monte Carlo-simulering på modellen för att bestämma sannolikheten för prognoserna. Excel Implementation och Användning Innan du använder arket måste du ladda ner R och RExcel från Statconns webbplats. Om du redan har R installerat kan du bara ladda ner RExcel. Om du inte har R installerat kan du ladda ner RAndFriends som innehåller den senaste versionen av R och RExcel. Observera, RExcel fungerar bara på 32bit Excel för sin icke-kommersiella licens. Om du har 64bit Excel installerat måste du få en kommersiell licens från Statconn. Det rekommenderas att ladda ner RAndFriends eftersom det ger den snabbaste och enklaste installationen, men om du redan har R och vill installera den manuellt, följ dessa steg. Installera manuellt RExcel För att installera RExcel och övriga paket för att R ska fungera i Excel öppnar du först R som administratör genom att högerklicka på. exe. I R-konsolen installerar du RExcel genom att skriva följande påståenden: Ovanstående kommandon installerar RExcel på din maskin. Nästa steg är att installera rcom, vilket är ett annat paket från Statconn för RExcel-paketet. För att installera detta, skriv följande kommandon, som också automatiskt installerar rscproxy som av R-version 2.8.0. Med dessa paket installerade kan du flytta till för att ställa in anslutningen mellan R och Excel. Även om det inte är nödvändigt för installationen, är ett praktiskt paket att ladda ner Rcmdr, utvecklat av John Fox. Rcmdr skapar R menyer som kan bli menyer i Excel. Den här funktionen kommer som standard med RAndFriends-installationen och gör flera R-kommandon tillgängliga i Excel. Skriv följande kommandon i R för att installera Rcmdr. Vi kan skapa länken till R och Excel. Observera i de senaste versionerna av RExcel den här anslutningen görs med ett enkelt dubbelklick på den bifogade. bat-filen ActivateRExcel2010, så du behöver bara följa dessa steg om du manuellt installerade R och RExcel eller om någon anledning inte görs i samband med anslutningen under installationen av RAndFriends. Skapa anslutningen mellan R och Excel Öppna en ny bok i Excel och navigera till alternativskärmen. Klicka på Alternativ och sedan Tillägg. Du bör se en lista över alla aktiva och inaktiva tillägg du har för tillfället. Klicka på knappen Gå längst ned. I dialogrutan Tillägg ser du alla tilläggsreferenser du har gjort. Klicka på Browse. Navigera till RExcel-mappen, vanligtvis i C: Program FilesRExcelxls eller något liknande. Hitta RExcel. xla-tillägget och klicka på det. Nästa steg är att skapa en referens för att makron använder R för att fungera korrekt. I ditt Excel-dokument anger du Alt F11. Detta öppnar Excels VBA editor. Gå till Verktyg - gt Referenser och hitta RExcel-referensen, RExcelVBAlib. RExcel ska nu vara redo att använda Använd Excel-arket Nu när R och RExcel är korrekt konfigurerade, är det dags att göra vissa prognoser Öppna prognosarket och klicka på Load Server. Det här är att starta RCom-servern och även ladda de nödvändiga funktionerna för att göra prognoserna. En dialogruta öppnas. Välj den itall. R-filen som ingår i arket. Den här filen innehåller de funktioner som prognosverktyget använder. De flesta av de funktioner som ingår var utvecklade av professor Stoffer vid University of Pittsburgh. De utökar möjligheterna till R och ger oss några användbara diagnostikgrafer tillsammans med vår prognosutgång. Det finns också en funktion för att automatiskt bestämma de bästa passande parametrarna för ARIMA-modellen. När servern har laddats, ange dina data i kolumnen Data. Välj dataintervallet, högerklicka och välj Namnintervall. Namn området som Data. Ange sedan frekvensen av dina data i Cell C6. Frekvens avser tidsperioderna för dina data. Om det är veckovis, skulle frekvensen vara 7. Månadsvis skulle vara 12 medan kvartalsvis skulle vara 4 osv. Ange de perioder som kommer att förutspå. Observera att ARIMA-modellerna blir ganska felaktiga efter flera på varandra följande frekvensprognoser. En bra tumregel är att inte överstiga 30 steg som någonting förbi som kan vara ganska opålitligt. Detta beror också på storleken på din dataset. Om du har begränsad data tillgänglig, rekommenderas att du väljer ett mindre steg före nummer. Efter att du har angett dina data, namnger den och ställer in önskad frekvens och steg framåt för att prognostisera, klicka på Kör. Det kan ta ett tag för prognoserna att bearbeta. När den är klar kommer du att få förutspådda värden ut till det antal du angav, standardfelet på resultaten och två diagram. Vänster är de förutspådda värdena plottade med data, medan rätten innehåller praktisk diagnos med standardiserade residualer, autokorrelering av resterna, en gg-del av resterna och en Ljung-Box statistikdiagram för att avgöra om modellen är välutrustad. Jag kommer inte in på för mycket detaljer om hur du letar efter en välutrustad modell, men på ACF-grafen vill du inte att någon (eller mycket) av lagspikarna passerar över den prickade blå linjen. På gg-plot, desto mer cirklar som går genom linjen, desto mer normaliserad och bättre monterad är modellen. För större dataset kan det här korsa många cirklar. Slutligen är Ljung-Box-testet en artikel i sig, desto mer cirklar som ligger ovanför den prickade blå linjen desto bättre är modellen. Om diagnostikresultatet inte ser bra ut, kan du försöka lägga till mer data eller starta på en annan punkt närmare det intervall du vill förutse. Du kan enkelt rensa de genererade resultaten genom att klicka på knappen Klar prognoserade värden. Och det är det För närvarande gör datakolonnen inte annat än för din referens, men det är inte nödvändigt för verktyget. Om jag hittar tid går jag tillbaka och lägger till så att det visade diagrammet visar rätt tid. Du kan också få ett fel när du kör prognosen. Detta beror vanligtvis på den funktion som finner att de bästa parametrarna inte kan bestämma rätt ordning. Du kan följa ovanstående steg för att försöka ordna dina data bättre för att funktionen ska fungera. Jag hoppas att du får använda dig av verktyget. Det räddade mig mycket tid på jobbet, eftersom nu är allt jag behöver göra är att mata in data, ladda serveren och köra den. Jag hoppas också att det här visar hur fantastiskt R kan vara, speciellt när det används med ett front-end som Excel. Kod, Excel-kalkylblad och. bas-fil finns också på GitHub här.
No comments:
Post a Comment