Sunday 26 November 2017

Autoregressiv Flytting Gjennomsnittet Python


Tidsserieanalyse tsa. inneholder modellklasser og funksjoner som er nyttige for tidsserieanalyse Dette inkluderer for tiden univariate autoregressive modeller AR, vektorautoregressive modeller VAR og univariate autoregressive bevegelige gjennomsnittlige modeller ARMA Det inneholder også beskrivende statistikk for tidsserier, for eksempel autokorrelasjon, delvis autokorrelasjonsfunksjon og periodogram, samt de tilsvarende teoretiske egenskapene til ARMA eller relaterte prosesser. Det inkluderer også metoder for å arbeide med autoregressive og bevegelige gjennomsnittlige lag-polynomier. I tillegg er relaterte statistiske tester og noen nyttige hjelpefunksjoner tilgjengelig. Oppsummering gjøres enten ved nøyaktig eller betinget Maksimal Sannsynlighet eller betingede minst-kvadrater, enten ved hjelp av Kalman-filter eller direktefiltre. Samtidig må funksjoner og klasser importeres fra den tilsvarende modulen, men hovedklassene vil bli gjort tilgjengelig i navneområdet Modulstrukturen er innenfor is. stattools empiriske egenskaper og tester , acf, pacf, gr anger-kausalitet, adf-enhet rot test, ljung-box test og others. armodel univariate autoregressive prosess, estimering med betinget og eksakt maksimal sannsynlighet og betinget minst-kvadrat. arimamodel univariate ARMA prosess, estimering med betinget og eksakt maksimal sannsynlighet og betinget minst - squares. vectorar, var vektor autoregressive prosess VAR estimeringsmodeller, impulsrespons analyse, prognose feil varians dekomponeringer og data visualisering tools. kalmanf estimering klasser for ARMA og andre modeller med nøyaktig MLE bruker Kalman Filter. armaprocess egenskaper av arma prosesser med gitt parametere, Dette inkluderer verktøy for å konvertere mellom ARMA, MA og AR-representasjon, samt akf, pacf, spektral tetthet, impulsresponsfunksjon og lignende. ligner på armeringsprosessen, men arbeider i frekvensdomene. tsatools ekstrahjelpsfunksjoner, for å lage arrays av forsinkede variabler, konstruere regressorer for trend, detrend og lignende. filters hjelpefunksjon for filtrering av tidsserier. Noen tilleggsfunksjoner som også er nyttige for tidsserieanalyse er i andre deler av statistikkmodeller, for eksempel flere statistiske tester. Noen relaterte funksjoner er også tilgjengelige i matplotlib, nitime, og disse funksjonene er utformet mer for bruk i signalbehandling hvor lengre tidsserier er tilgjengelige og arbeider oftere i frekvensdomenet. Beskrivende statistikk og tester. x, unbiased, demean, fft. Statsmodels er en Python-pakke som gir et komplement til scipy for statistiske beregninger, inkludert beskrivende statistikk og estimering av statistiske modeller. Navnet på har blitt endret til statistikkmodeller den nye versjonen er at. Main Features. regression Generalized minste kvadrater inkludert vektede minste kvadrater og minste kvadrater med autoregressive feil, vanlige minste squares. glm Generelle lineære modeller med støtte for alle en-parameter eksponentielle familiefordelinger. diskrete valgmodeller Poisson, probit, logit, multinomial logit. rlm Robuste lineære modeller med støtte for flere M-estimators. tsa Tidsserieanalysemodeller, inkludert ARMA, AR, VAR. nonparametric Univariate kernel density estimators. datasets Datasett som skal distribueres og brukes til eksempler og i testing. PyDTA Verktøy for å lese Stata-filer i numpy arrays. statistiserer et bredt spekter av statistiske tests. sandbox Det finnes også en sandkasse som inneholder kode for generalisert additiv mo dels untested, blandede effekter modeller, cox proporsjonal fare modeller begge er uprøvd og fortsatt avhengig av nipy formel rammeverket, genererer beskrivende statistikk og utskrift tabell utdata til ascii, latex og html Det er også eksperimentell kode for systemer av ligninger regresjon, tid seriemodeller, paneldataestimatorer og informasjonsteoretiske tiltak Ingen av denne koden anses produksjonsklar. Hvor skal man få det. Utviklingsgrener blir på Github Dette er hvor du skal gå for å få den mest oppdaterte koden i bagasjerommet. Eksperimentell kode er vert her i grener og i utvikler gafler Denne koden er flettet til å mestre ofte Vi prøver å sørge for at hovedgrenen alltid er stabil. Kilde nedlasting av stabile koder vil være på SourceForge. Introduction til ARIMA nonseasonal models. ARIMA p, d, q prognoselikning ARIMA-modeller er, i teorien, den mest generelle klassen av modeller for å prognose en tidsserie som kan gjøres for å være stasjonær ved differensiering om nødvendig, pe rhaps i sammenheng med ikke-lineære transformasjoner som logging eller deflating om nødvendig En tilfeldig variabel som er en tidsserie er stasjonær hvis dens statistiske egenskaper er konstante over tid En stasjonær serie har ingen trend, dens variasjoner rundt dens gjennomsnitt har en konstant amplitude og det vinkler på en konsistent måte, dvs. at kortsiktige tilfeldige tidsmønstre alltid ser like ut i statistisk forstand. Den sistnevnte tilstanden betyr at dets autokorrelasjoner korrelasjoner med sine egne tidligere avvik fra middelværdien forblir konstant over tid, eller tilsvarende, at dets maktspektrum forblir konstant over tid En tilfeldig variabel i dette skjemaet kan ses som vanlig som en kombinasjon av signal og støy, og signalet hvis det er tydelig, kan være et mønster av rask eller langsom gjennomsnittlig reversering eller sinusformet oscillasjon eller rask veksling i tegn , og det kan også ha en sesongkomponent. En ARIMA-modell kan ses som et filter som forsøker å skille signalet fra støyen, og th e-signalet blir deretter ekstrapolert inn i fremtiden for å oppnå prognoser. ARIMA-prognosekvasjonen for en stasjonær tidsserie er en lineær ie-regresjonstypekvasjon der prediktorene består av lag av den avhengige variabelen og eller lags av prognosefeilene som er. Forutsigbar verdi for Y er en konstant og eller vektet sum av en eller flere nylige verdier av Y og eller en vektet sum av en eller flere nylige verdier av feilene. Hvis prediktorene bare består av forsinkede verdier av Y, er det et rent autoregressivt selv - regressert modell, som bare er et spesielt tilfelle av en regresjonsmodell, og som kan forsynes med standard regresjonsprogramvare. For eksempel er en første-ordre autoregressiv AR 1-modell for Y en enkel regresjonsmodell der den uavhengige variabelen bare er Y forsinket etter en periode LAG Y, 1 i Statgraphics eller YLAG1 i RegressIt Hvis noen av prediktorene er lags av feilene, er en ARIMA-modell det IKKE en lineær regresjonsmodell fordi det ikke er mulig å spesifisere siste periode s feil a s en uavhengig variabel feilene må beregnes fra tid til annen når modellen er montert på dataene. Fra et teknisk synspunkt er problemet med å bruke forsinkede feil som prediktorer at modellens spådommer ikke er lineære funksjoner av koeffisienter, selv om de er lineære funksjoner i fortidens data. Således skal koeffisienter i ARIMA-modeller som inneholder forsinkede feil estimeres ved ikke-lineære optimaliseringsmetoder bakkeklatring i stedet for bare å løse et system av ligninger. Akronym ARIMA står for automatisk regressiv integrert Flytte gjennomsnittlig Lags av den stationære serien i prognosekvasjonen kalles autoregressive termer, lags av prognosefeilene kalles glidende gjennomsnittlige vilkår og en tidsserie som må differensieres til å bli stasjonær, sies å være en integrert versjon av en stasjonær serie Tilfeldige-gange og tilfeldige trendmodeller, autoregressive modeller og eksponensielle utjevningsmodeller er alle spesielle tilfeller av ARIMA-modeller. En ikke-søs asonal ARIMA-modell er klassifisert som en ARIMA p, d, q-modell, hvor. p er antall autoregressive termer. d er antall ikke-soneforskjeller som trengs for stasjonar, og. q er antall forsinkede prognosefeil i prediksjonsligningen . Forutsigelsesligningen er konstruert som følger. Først, la y betegne den forskjellen på Y som betyr. Merk at den andre forskjellen på Y d2-saken ikke er forskjellen fra 2 perioder siden. Det er snarere den første forskjellen - av den første forskjellen som er den diskrete analogen til et andre derivat, det vil si den lokale akselerasjonen i serien i stedet for den lokale trenden. Med hensyn til y er den generelle prognoseligningen her. De bevegelige gjennomsnittsparametrene s er definert slik at deres tegn er negative i ligningen, etter konvensjonen innført av boks og jenkins Noen forfattere og programvare inkludert R programmeringsspråket definere dem slik at de har pluss tegn i stedet Når de faktiske tallene er plugget i ligningen, er det ingen tvetydighet, men det er viktig å vite hvilken konvensjon programvaren din bruker når du leser utdataene. Vanligvis er parameterne betegnet av AR 1, AR 2, og MA 1, MA 2 osv. For å identifisere riktig ARIMA-modell for Y du begynner med å bestemme rekkefølgen av differensiering du trenger å stasjonærisere serien og fjerne bruttoegenskapene til sesongmessigheten, kanskje i forbindelse med en variansstabiliserende transformasjon som logging eller deflating Hvis du stopper på dette punktet og forutsier at den forskjellige serien er konstant, du har bare montert en tilfeldig tur eller tilfeldig trendmodell. Den stationære serien kan imidlertid fortsatt ha autokorrelerte feil, noe som tyder på at noen AR-vilkår p 1 og eller noen nummer MA-termer q 1 også er nødvendig i prognose-ligningen. Prosess for å bestemme verdiene p, d og q som er best for en gitt tidsserie, vil bli diskutert i senere avsnitt i notatene hvis koblinger er øverst på denne siden, men en forhåndsvisning av noen o F de typer ikke-sasonlige ARIMA-modellene som ofte oppstår, er gitt nedenfor. ARIMA 1,0,0 førsteordens autoregressive modell hvis serien er stasjonær og autokorrelert, kanskje den kan forutsies som et flertall av sin egen tidligere verdi, pluss en konstant Forutsigelsesligningen i dette tilfellet er. som er Y regressert i seg selv forsinket av en periode Dette er en ARIMA 1,0,0 konstant modell Hvis gjennomsnittet av Y er null, vil ikke det konstante begrepet bli inkludert. Hvis skråningen er koeffisient 1 er positiv og mindre enn 1 i størrelsesorden skal den være mindre enn 1 i størrelsesorden hvis Y er stasjonær, beskriver modellen gjennomsnittsreferanseadferd, der neste periode s-verdi skal anslås å være 1 ganger så langt unna gjennomsnittlig som denne perioden s-verdien Hvis 1 er negativ, forutser den gjennomsnittlig tilbakevendende atferd ved skifting av tegn, dvs. det forutsier også at Y vil være under gjennomsnittlig neste periode hvis den er over gjennomsnittet denne perioden. I en andreordens autoregressiv modell ARIMA 2,0,0, ville det være en Y t - 2 termen til høyre også, og så videre. Avhengig av tegn og størrelser av koeffisientene, kunne en ARIMA 2,0,0 modell beskrive et system hvis gjennomsnitts reversering foregår i sinusformet oscillerende mote, som bevegelse av en masse på en fjær som er utsatt for tilfeldige sjokk. ARIMA 0,1,0 tilfeldig tur Hvis serien Y ikke er stasjonær, er den enkleste mulige modellen for en tilfeldig turmodell, som kan betraktes som et begrensende tilfelle av en AR 1 modell der den autoregressive koeffisienten er lik 1, dvs. en serie med uendelig sakte, gjennomsnittlig reversering. Forutsigelsesligningen for denne modellen kan skrives som. avhengig av hvilken konstant periode er den gjennomsnittlige perioden til periode-endringen, dvs. den langsiktige driften i Y Denne modellen kan monteres som en ikke-avskjæringsregresjonsmodell der den første forskjellen i Y er den avhengige variabelen. Siden den bare inneholder en ikke-soneforskjell og en konstant term, er den klassifisert som en ARIMA 0,1,0-modell med konstant The random-walk-uten-drift mo del ville være en ARIMA 0,1,0-modell uten konstant. ARIMA 1,1,0 differensierte førsteordens autoregressive modell Hvis feilene i en tilfeldig turmodell er autokorrelert, kan problemet løses ved å legge til et lag av den avhengige variabel til prediksjonsligningen - det vil si ved å regresse den første forskjellen på Y i seg selv forsinket med en periode. Dette ville gi følgende prediksjonsligning. Det kan omarrangeres til. Dette er en førsteordens autoregressiv modell med en rekkefølge av ikke-soneforskjeller og en konstant periode - det vil si en ARIMA 1,1,0-modell. ARIMA 0,1,1 uten konstant enkel eksponensiell utjevning En annen strategi for korrigering av autokorrelerte feil i en tilfeldig gangmodell er foreslått av den enkle eksponensielle utjevningsmodellen. Husk at for noen ikke-stationære Tidsserier, for eksempel de som har støyende svingninger rundt et sakte varierende middel, utfører ikke den tilfeldige turmodellen så vel som et glidende gjennomsnitt av tidligere verdier. Med andre ord, i stedet for å ta de siste obs ervation som prognosen for neste observasjon, er det bedre å bruke et gjennomsnitt av de siste observasjonene for å filtrere ut støy og mer nøyaktig estimere det lokale gjennomsnittet. Den enkle eksponensielle utjevningsmodellen bruker et eksponentielt veidende glidende gjennomsnitt av tidligere verdier til oppnå denne effekten Prediksjonsligningen for den enkle eksponensielle utjevningsmodellen kan skrives i en rekke matematisk ekvivalente former, hvorav en er den såkalte feilkorreksjonsformen, der den forrige prognosen er justert i retning av feilen som den gjorde. Fordi e t-1 Y t-1 - t-1 per definisjon kan dette omskrives som det er en ARIMA 0,1,1-uten konstant prognosekvasjon med 1 1 - Dette betyr at du kan passe en enkel eksponensiell utjevning ved å spesifisere den som en ARIMA 0,1,1-modell uten konstant, og den estimerte MA 1-koeffisienten tilsvarer 1-minus-alfa i SES-formelen. Husk at i SES-modellen er gjennomsnittsalderen for dataene i 1- periode fremover foreca Sts er 1, noe som betyr at de vil ha tilbøyelighet til å ligge bak trender eller vendepunkter med ca. 1 perioder. Det følger at gjennomsnittsalderen for dataene i de 1-årige prognosene for en ARIMA 0,1,1-uten-konstant modell er 1 1 - 1 For eksempel hvis 1 0 8 er gjennomsnittsalderen 5 Når 1 nærmer seg 1, blir ARIMA 0,1,1-uten-konstant modell et veldig langsiktig glidende gjennomsnitt, og som 1 nærmer seg 0 blir det en random-walk-without-drift-modell. Hva er den beste måten å korrigere for autokorrelasjon, legge til AR-vilkår eller legge til MA-vilkår I de to foregående modellene ble problemet om autokorrelerte feil i en tilfeldig gangmodell løst i to forskjellige måter ved å legge til en forsinket verdi av differensierte serier til ligningen eller legge til en forsinket verdi av prognosen feil Hvilket tilnærming er best En regel for tommelfinger for denne situasjonen, som vil bli nærmere omtalt senere, er at positiv autokorrelasjon behandles vanligvis best ved å legge til et AR-uttrykk for modellen og negativ autokorrelasjon på er vanligvis best behandlet ved å legge til en MA-term. I forretnings - og økonomiske tidsserier oppstår negativ autokorrelasjon ofte som en artefakt av differensiering. Generelt reduserer differensiering positiv autokorrelasjon og kan til og med forårsake en bryter fra positiv til negativ autokorrelasjon. Så, ARIMA 0, 1,1-modell, hvor differensiering er ledsaget av en MA-term, brukes hyppigere enn en ARIMA 1,1,0-modell. ARIMA 0,1,1 med konstant enkel eksponensiell utjevning med vekst Ved å implementere SES-modellen som en ARIMA modell, får du faktisk en viss fleksibilitet. Først og fremst er den estimerte MA 1-koeffisienten mulig å være negativ. Dette tilsvarer en utjevningsfaktor som er større enn 1 i en SES-modell, som vanligvis ikke er tillatt i SES-modellprosedyren. har mulighet til å inkludere en konstant periode i ARIMA-modellen hvis du ønsker det, for å estimere en gjennomsnittlig ikke-null trend. ARIMA 0,1,1-modellen med konstant har prediksjonsligningen. En-periode-prognosene fra t modellen er kvalitativt lik SES-modellen, bortsett fra at bane av de langsiktige prognosene typisk er en skrånende linje hvis skråning er lik mu i stedet for en horisontal linje. ARIMA 0,2,1 eller 0,2, 2 uten konstant lineær eksponensiell utjevning Linjære eksponensielle utjevningsmodeller er ARIMA-modeller som bruker to ikke-soneforskjeller i sammenheng med MA-termer. Den andre forskjellen i en serie Y er ikke bare forskjellen mellom Y og seg selv forsinket med to perioder, men det er først den første forskjellen i den første forskjellen - forandringen i endringen av Y ved periode t Således er den andre forskjellen på Y ved periode t lik Y t-Y t-1 - Y t-1 - Y t - 2 Y t - 2Y t-1 Y t-2 En annen forskjell på en diskret funksjon er analog med et andre derivat av en kontinuerlig funksjon som måler akselerasjonen eller krumningen i funksjonen på et gitt tidspunkt. ARIMA 0,2 , 2 modell uten konstant forutser at den andre forskjellen i serien er lik en lin øret funksjon av de to siste prognose feilene. som kan omarrangeres som. hvor 1 og 2 er MA 1 og MA 2 koeffisientene Dette er en generell lineær eksponensiell utjevning modell i hovedsak den samme som Holt s modell, og Brown s modellen er en spesiell tilfelle Det bruker eksponentielt vektede glidende gjennomsnitt for å anslå både et lokalt nivå og en lokal trend i serien. De langsiktige prognosene fra denne modellen konvergerer til en rett linje hvis skråning avhenger av den gjennomsnittlige trenden observert mot slutten av serien. ARIMA 1 , 1,2 uten konstant fuktet trend lineær eksponensiell utjevning. Denne modellen er illustrert i de tilhørende lysbildene på ARIMA-modeller. Den ekstrapolerer den lokale trenden i slutten av serien, men flater ut på lengre prognoshorisont for å introdusere konservatisme, en praksis som har empirisk støtte Se artikkelen om Hvorfor Damped Trend fungerer av Gardner og McKenzie og Golden Rule-artikkelen av Armstrong et al for detaljer. Det er generelt tilrådelig å holde seg til modeller jeg n som minst en av p og q ikke er større enn 1, dvs. ikke prøv å passe på en modell som ARIMA 2,1,2, da dette sannsynligvis vil føre til overfitting og fellesfaktorproblemer som diskuteres i mer detalj i notatene om den matematiske strukturen til ARIMA-modellene. Implementering av ARIMA-modellers implementeringsmodeller som de som er beskrevet ovenfor, er enkle å implementere på et regneark. Prediksjonsligningen er bare en lineær ligning som refererer til tidligere verdier av originale tidsserier og tidligere verdier av feil Således kan du sette opp et ARIMA prognose regneark ved å lagre dataene i kolonne A, prognoseformelen i kolonne B og feildataene minus prognosene i kolonne C Forutsigelsesformelen i en typisk celle i kolonne B ville rett og slett være en lineær uttrykk som refererer til verdier i forrige rader med kolonne A og C, multiplisert med de relevante AR - eller MA-koeffisientene lagret i celler andre steder på regnearket.

No comments:

Post a Comment