Friday 18 August 2017

Autoregressiva Glidande-Medelvärde Python


Tidsserieanalys tsa. Innehåller modellklasser och funktioner som är användbara för tidsserieanalys. Detta inkluderar för närvarande univariate autoregressiva modeller AR, vektorautoregressiva modeller VAR och univariate autoregressiva glidande genomsnittsmodeller ARMA Det innehåller också beskrivande statistik för tidsserier, till exempel autokorrelation, partiell autokorrelationsfunktion och periodogram, Samt de motsvarande teoretiska egenskaperna hos ARMA eller relaterade processer. Det inkluderar också metoder för att arbeta med autogegressiva och rörliga genomsnittspolynomier. Dessutom finns relaterade statistiska tester och några användbara hjälparfunktioner tillgängliga. Uppställningen görs antingen med exakt eller villkorad Maximal sannolikhet eller Villkorliga minsta kvadrater, antingen med hjälp av Kalman Filter eller direkta filter. Samtidigt måste funktioner och klasser importeras från motsvarande modul, men huvudklasserna kommer att bli tillgängliga i namnrymden. Modulstrukturen ligger inom is. stattools empiriska egenskaper och test , Acf, pacf, gr Vrede-kausalitet, adf-enhetstest, ljung-box-test och others. armodel univariate autoregressive process, uppskattning med villkorlig och exakt maximal sannolikhet och villkorlig minst kvadrater. arimamodel univariate ARMA-process, uppskattning med villkorlig och exakt maximal sannolikhet och villkorlig minst - Squares. vectorar, var vektor autoregressiva process VAR-beräkningsmodeller, impulsresponsanalys, prognosfelvariationer och datavisningsverktyg. kalmanf uppskattningskurser för ARMA och andra modeller med exakt MLE med Kalman Filter. armaprocess egenskaper för arma-processer med givna parametrar, Detta inkluderar verktyg för att konvertera mellan ARMA, MA och AR-representation samt acf, pacf, spektral densitet, impulsresponsfunktion och liknande. Liknar armaprocess men arbetar i frekvensdomän. tsatools ytterligare hjälparfunktioner, för att skapa arrays av fördröjda variabler, konstruera regressorer för trend, detrend och liknande. filters hjälperfunktion för filtrering av tidsserier. Några ytterligare funktioner som också är användbara för tidsserieanalys är I andra delar av statistikmodeller, till exempel ytterligare statistiska tester. Vissa relaterade funktioner finns också i matplotlib, nitim och Dessa funktioner är utformade mer för användning vid signalbehandling där längre tidsserier är tillgängliga och arbetar oftare i frekvensdomänen. Beskrivande statistik och test. X, unbiased, demean, fft. Statsmodels är ett Python-paket som kompletterar scipy för statistiska beräkningar, inklusive beskrivande statistik och uppskattning av statistiska modeller. Namnet på har ändrats till statistikmodeller, den nya versionen är på. Main Features. regression Generalized Minsta kvadrater inklusive viktade minsta kvadrater och minsta kvadrater med autoregressiva fel, vanliga minsta kvadrater. glm Allmänt linjära modeller med stöd för alla exponentiala familjefördelningar med en parameter. Diskreta valmodeller Poisson, probit, logit, multinomial logit. rlm Robusta linjära modeller Med stöd för flera M-estimators. tsa Tidsserieanalysmodeller, inklusive ARMA, AR, VAR. nonparametric Univariate kernel density estimators. datasets Dataset som ska distribueras och användas för exempel och i testning. PyDTA Verktyg för att läsa Stata-filer i numpy arrays. Statistik ett brett spektrum av statistiska tests. sandbox Det finns också en sandlåda som innehåller kod för generaliserad tillsats mo Dels otestade, blandade effekter modeller, kox proportionella risker modell båda är otestade och fortfarande beroende av nypy formel ramverket, generera beskrivande statistik och skriva ut tabellutdata till ascii, latex och html Det finns också experimentell kod för system av ekvationer regression, tid Seriemodeller, paneldataestimatörer och informationsteoretiska åtgärder Ingen av denna kod anses vara redo för produktion. Vart ska man få det. Utvecklingsgrenar kommer att vara på Github Det här är var man ska gå för att få den mest aktuella koden i bagageutrymmet Experimentell kod är Värd här i grenar och i utvecklargafflar Denna kod slås samman för att mastera ofta Vi försöker se till att huvudgrenen alltid är stabil. Källans nedladdning av stabila taggar kommer att finnas på SourceForge. Introduction till ARIMA nonseasonal models. ARIMA p, d, q Prognoser ekvation ARIMA-modeller är i teorin den vanligaste klassen av modeller för prognoser för en tidsserie som kan göras stationär genom differentiering om det behövs, pe Rhaps i samband med olinjära transformationer som loggning eller deflatering om nödvändigt En slumpmässig variabel som är en tidsserie är stillastående om dess statistiska egenskaper är alla konstanta över tid En stationär serie har ingen trend, dess variationer runt dess medel har en konstant amplitud och Det vinklar på ett konsekvent sätt dvs dess kortsiktiga slumpmässiga tidsmönster ser alltid ut i statistisk mening. Det sistnämnda tillståndet betyder att dess autokorrelationsförhållanden 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 form kan ses som vanligt som en kombination av signal och brus, och signalen om man är uppenbar kan vara ett mönster av snabb eller långsam medelåterföring eller sinusformig oscillation eller snabb växling i tecken , Och det kan också ha en säsongskomponent En ARIMA-modell kan ses som ett filter som försöker skilja signalen från bruset och th E-signalen extrapoleras sedan in i framtiden för att erhålla prognoser. ARIMA-prognosen för en stationär tidsserie är en linjär dvs regressionstypsekvation där prediktorerna består av lags av den beroende variabeln och eller lags av prognosfel som är. Predicted value of Y är en konstant och eller en vägd summa av en eller flera nya värden av Y och eller en viktad summa av en eller flera nya värden av felen. Om prediktorerna endast består av fördröjda värden på Y är det ett rent självreglera själv Regressionsmodell, som bara är ett speciellt fall med en regressionsmodell och som kan utrustas med standard regressionsprogram. Till exempel är en första ordningsautoregressiv AR 1-modell för Y en enkel regressionsmodell där den oberoende variabeln bara är Y-saktad Med en period LAG Y, 1 i Statgraphics eller YLAG1 i RegressIt Om några av prediktorerna är felaktiga, är en ARIMA-modell det inte en linjär regressionsmodell, eftersom det inte finns något sätt att ange senaste periodens fel a S en oberoende variabel måste felen beräknas periodvis mellan när modellen är anpassad till data. Tekniskt sett är problemet med att använda fördröjda fel som prediktorer att modellens förutsägelser inte är linjära funktioner hos Koefficienter trots att de är linjära funktioner i tidigare data Således måste koefficienter i ARIMA-modeller som innehåller fördröjda fel uppskattas genom olinjära optimeringsmetoder bergklättring snarare än genom att bara lösa ett system av ekvationer. Akronymet ARIMA står för auto-regressiv integrerad Flyttande medelvärden för den stationära serien i prognosförhållandet kallas autoregressiva termer, lag av prognosfel kallas glidande medelvärden och en tidsserie som behöver differentieras för att göras stationär sägs vara en integrerad 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 nonse Asonal ARIMA-modell klassificeras som en ARIMA p, d, q-modell, där. p är antalet autoregressiva termer. d är antalet icke-säsongsskillnader som behövs för stationaritet, ochqq är antalet fördröjda prognosfel i prediksionsekvationen . Förutsigningsekvationen är konstruerad enligt följande. Först, låt y beteckna den d: n skillnaden i Y vilket betyder. Notera att den andra skillnaden i Y d2 fallet inte är skillnaden från 2 perioder sedan. Det är snarare den första skillnaden - Av den första skillnaden som är den diskreta analogen av ett andra derivat, dvs den lokala accelerationen i serien i stället för den lokala trenden. Med avseende på y är den allmänna prognostiseringsekvationen här. De rörliga genomsnittsparametrarna s definieras 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 i stä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 utdata. Vanligtvis anges parametrarna av AR 1, AR 2, och MA 1, MA 2 etc. För att identifiera lämplig ARIMA-modell för Y börjar du genom att bestämma ordningen för differentiering, d behöver stationera serierna och ta bort säsongens bruttoegenskaper, kanske i kombination med en variansstabiliserande transformation som loggning eller deflatering. Om du slutar vid denna punkt och förutsäger att den olika serien är Konstant, du har bara monterat en slumpmässig promenad eller slumpmässig trendmodell. Den stationära serien kan dock fortfarande ha autokorrelerade fel, vilket tyder på att ett antal AR-termer p 1 och eller några nummer MA-termer q 1 också behövs i prognosförhållandet. Process för att bestämma värdena p, d och q som är bäst för en given tidsserie kommer att diskuteras i senare avsnitt i anteckningarna vars länkar finns högst upp på den här sidan, men en förhandsgranskning av några o F de typer av icke-säsongsbaserade ARIMA-modeller som vanligtvis förekommer anges nedan. ARIMA 1,0,0 första ordningens autregressiva modell om serien är stationär och autokorrelerad, kanske det kan förutsägas som ett flertal av sitt eget tidigare värde plus en Konstant Prognosekvationen i detta fall är vilken som Y är regresserad i sig fördröjd med en period. Detta är en ARIMA 1,0,0 konstant modell Om medelvärdet av Y är noll, skulle den konstanta termen inte inkluderas. Om lutningen Koefficient 1 är positiv och mindre än 1 i storleksordning måste den vara mindre än 1 i storleksordning om Y är stillastående, beskriver modellen medelåterkörningsbeteende där nästa period s-värde bör förutses vara 1 gånger så långt bort från medelvärdet som Detta period s värde Om 1 är negativt förutspår det medelåterkallande beteende med teckenväxling, dvs det förutsätter också att Y kommer att ligga under den genomsnittliga nästa perioden om den ligger över medelvärdet denna period. I en andraordens autregressiv modell ARIMA 2,0,0 skulle det finnas en Y t - 2 termen till höger, och så vidare. Beroende på tecken och storheter på koefficienterna kan en ARIMA 2,0,0-modell beskriva ett system vars genomsnittliga reversering sker på ett sinusformigt oscillerande sätt, som en massrörelse På en fjäder som utsätts för slumpmässiga shocks. ARIMA 0,1,0 slumpmässig promenad Om serien Y inte är stationär är den enklaste möjliga modellen för den en slumpmässig promenadmodell, vilken kan betraktas som ett begränsande fall av en AR 1 Modell där den autoregressiva koefficienten är lika med 1, dvs en serie med oändligt långsam medelvärde. 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 den första skillnaden i Y är den beroende variabelen Eftersom den endast innehåller en icke-sekundär skillnad och en konstant term, klassificeras den som en ARIMA 0,1,0-modell med konstant The Random-walk-utan-drift mo Del skulle vara en ARIMA 0,1,0 modell utan konstant. ARIMA 1,1,0 differentierad första ordningens autoregressiv modell Om felet i en slumpmässig promenadmodell är autokorrelerad kanske problemet kan lösas genom att lägga till en lag av den beroende Variabel till prediksionsekvationen - dvs genom att regressera den första skillnaden i Y i sig, fördröjd med en period. Detta skulle ge följande förutsägelsekvation. Det kan omordnas till. Detta är en första-orders 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 gångmodell föreslås av den enkla exponentiella utjämningsmodellen Minns att för vissa icke-stationära Tidsserier, t ex de som uppvisar bullriga fluktuationer runt ett långsamt varierande medelvärde, slumpmässig promenadmodellen utför inte lika bra som ett glidande medelvärde av tidigare värden Med andra ord, snarare än att ta de senaste obs Upplevelse som prognos för nästa observation är det bättre att använda ett genomsnitt av de sista få 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 till Uppnå denna effekt Förutsägningsekvationen för den enkla exponentiella utjämningsmodellen kan skrivas i ett antal matematiskt ekvivalenta former, varav en är den så kallade felkorrigeringsformen, där den föregående prognosen justeras i riktning mot det fel som det gjorde. Eftersom e t-1 Y t-1 - t-1 per definition kan det skrivas om som vilken är en ARIMA 0,1,1-utan konstant prognosförening med 1 1 - Det betyder att du kan passa en enkel exponentiell Utjämning genom att specificera 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 medelåldern för data i 1- Period framåt föreca Sts är 1 vilket betyder att de tenderar att ligga bakom trender eller vändpunkter med cirka 1 perioder. Det följer att den genomsnittliga åldern för data i de 1-framåtprognoserna för en ARIMA 0,1,1-utan konstant modell är 1 1 - 1 Så, till exempel, om 1 0 8 är medelåldern 5 När 1 närmar sig 1 blir ARIMA 0,1,1 utan konstant modell ett mycket långsiktigt glidande medelvärde och som 1 närmar sig 0 blir det en slumpmässig promenad utan driftmodell. Vad är det bästa sättet att korrigera för autokorrelation som lägger till AR-termer eller adderar MA-termer I de tidigare två modellerna som diskuterats ovan fixades problemet med autokorrelerade fel i en slumpmässig gångmodell i 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 behandlas vanligtvis bäst genom att addera en AR-term till modellen och negativ autokorrelati På är vanligtvis bäst behandlad genom att lägga till en MA-term I affärs - och ekonomiska tidsserier uppstår negativ autokorrelation ofta som en artefakt av differensiering. I allmänhet minskar differentieringen positiv autokorrelation och kan till och med orsaka en växling från positiv till negativ autokorrelation. Så, ARIMA 0, 1,1-modell, där differentiering åtföljs av en MA-term, används 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, vilket 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 möjlighet att inkludera en konstant term i ARIMA-modellen om du vill, för att uppskatta en genomsnittlig icke-nollutveckling. ARIMA 0,1,1-modellen med konstant har förutsägelsesekvationen. Prognoserna från en tid framåt från t Hans modell är kvalitativt lik 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å nonseasonal skillnader i samband med MA-termer. Den andra skillnaden i en serie Y är inte bara skillnaden mellan Y och sig själv fördröjt med två perioder, men snarare är det första Skillnaden i den första skillnaden - förändringen i förändringen av 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 på en diskret funktion är analog med ett andra derivat av en kontinuerlig funktion som mäter accelerationen eller krökningen i funktionen vid en given tidpunkt. ARIMA 0,2 , 2 modell utan konstant förutspår att den andra skillnaden i serien är lika med en lin Örafunktionen av de två sista prognosfel. Som kan omplaceras som. Där 1 och 2 är MA 1 och MA 2-koefficienterna. Detta är en allmän linjär exponentiell utjämningsmodell som är väsentligen densamma som Holt s-modellen och Brown s-modellen är en speciell Fall Det använder exponentiellt vägda glidmedel 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 utjämning med konstant fuktad trend. 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 konservatism, En övning som har empiriskt stöd Se artikeln om Why the Damped Trend fungerar av Gardner och McKenzie och Golden Rule-artikeln från Armstrong et al för detaljer. Det är vanligtvis lämpligt att hålla sig till modeller jag N 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 överfitting och gemensamma faktorer som diskuteras i mer Detaljer i anteckningarna om den matematiska strukturen för ARIMA-modeller. Implementering av ARIMA-modeller för premiärarket, såsom de ovan beskrivna, är enkla att genomföra på ett kalkylblad. Prediktionsekvationen är helt enkelt en linjär ekvation som refererar till tidigare värden av ursprungliga tidsserier och tidigare värden av Fel Således kan du ställa in ett ARIMA prognoskalkylblad genom att lagra data i kolumn A, prognosformeln i kolumn B och feldata minus prognoserna i kolumn C Den prognosformeln i en typisk cell i kolumn B skulle helt enkelt vara en linjär Uttryck som hänvisar till värden 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 på kalkylbladet.

No comments:

Post a Comment