Spørsmål:
Hvordan teste autokorrelasjonen av restene?
Dail
2011-08-28 22:50:39 UTC
view on stackexchange narkive permalink

Jeg har en matrise med to kolonner som har mange priser (750). På bildet nedenfor plottet jeg restene av følgende lineære regresjon:

  lm (priser [, 1] ~ priser [, 2])  

Ser på bildet, ser det ut til å være en veldig sterk autokorrelasjon av restene.

Hvordan kan jeg imidlertid teste om autokorrelasjonen av disse restene er sterk? Hvilken metode skal jeg bruke?

Residuals of the linear regression

Takk!

Du trenger ikke å teste for autokorrelasjon. Er det der. Handlingen viser det. Du kan se på autokorrelasjonsfunksjonen til disse restene (funksjon `acf ()`), men dette vil ganske enkelt bekrefte det som kan sees med et rent øye: sammenhengen mellom forsinkede reststoffer er veldig høy.
@Wolfgang, ja, riktig, men jeg må sjekke det programmatisk .. Jeg skal ta en titt på ACF-funksjonen. Takk!
@Wolfgang, Jeg ser acf (), men jeg ser ikke en slags p-verdi for å forstå om det er sterk sammenheng eller ikke. Hvordan tolke resultatet? Takk
Med H0: korrelasjon (r) = 0, følger r en normal / t dist med gjennomsnitt 0 og varians av sqrt (antall observasjoner). Så du kan få 95% konfidensintervall ved å bruke +/- `qt (0,75, numberofobs) / sqrt (numberofobs)`
@Jim Variansen i korrelasjonen er ikke $ \ sqrt {n} $. Standardavviket er heller ikke $ \ sqrt {n} $. Men det har en $ n $ i seg.
Tre svar:
Macro
2011-08-29 02:22:45 UTC
view on stackexchange narkive permalink

Det er sannsynligvis mange måter å gjøre dette på, men den første som kommer opp i tankene er basert på lineær regresjon. Du kan regressere de påfølgende restene mot hverandre og teste for en betydelig skråning. Hvis det er autokorrelasjon, bør det være en lineær sammenheng mellom påfølgende rester. For å fullføre koden du har skrevet, kan du gjøre:

  mod = lm (priser [, 1] ~ priser [, 2]) res = mod $ res n = lengde (res) mod2 = lm (res [-n] ~ res [-1]) sammendrag (mod2)  

mod2 er en lineær regresjon av tiden $ t $ feil, $ \ varepsilon_ {t} $, mot tiden $ t-1 $ feil, $ \ varepsilon_ {t-1} $. hvis koeffisienten for res [-1] er signifikant, har du bevis på autokorrelasjon i restene.

Merk: Dette antar implisitt at restene er autoregressive i den forstand at bare $ \ varepsilon_ {t-1} $ er viktig når du forutsier $ \ varepsilon_ {t} $. I virkeligheten kan det være lengre avhengigheter. I så fall bør denne metoden jeg har beskrevet tolkes som en-lag autoregressiv tilnærming til den sanne autokorrelasjonsstrukturen i $ \ varepsilon $.

tusen takk for eksemplet. Bare en tvil: Hvordan kan jeg teste om res [-1] er signifikant?
du vil teste det på samme måte som du ville ha en hvilken som helst annen regresjonskoeffisient - se på $ t $ -statistikken og $ p $ -verdien
gjør en rask test med: lm (rnorm (1000) ~ jitter (1: 1000)) Jeg får: Reststandardfeil: 1.006 på 997 frihetsgrader Flere R-kvadrat: 0.0003463, Justert R-kvadrat: -0.0006564 F-statistikk: 0,3454 på 1 og 997 DF, p-verdi: 0,5569 p-verdien kan ikke avvise nullhypotesen
Makro, jeg har testet restene av diagrammet jeg tegnet ovenfor, og resultatet er: Reststandardfeil: 0,04514 på 747 frihetsgrader Flere R-kvadrat: 0,9241, Justert R-kvadrat: 0,924 F-statistikk: 9093 på 1 og 747 DF, p-verdi: <2.2e-16, Det virker ikke veldig bra, det er veldig rart fordi det er en sterk autokorrelasjon, hva kunne jeg gjøre?
@Dail - det du har fortalt meg indikerer veldig sterk autokorrelasjon i restene. Basert på $ R ^ 2 $ -verdien er korrelasjonen mellom påfølgende rester omtrent 0,96.
Et øyeblikk forstod jeg deg ikke. I testen viste jeg deg p-verdien: <2.2e-16 er resultatet av: sammendrag (mod2). Hva er .96?
$ .96 $ er omtrent kvadratroten til $ R ^ 2 $ -verdien du rapporterte, som (når det er en enkelt prediktor som er kontinuerlig) er lik prøvekorrelasjonen mellom prediktoren og responsen. Estimatet av korrelasjonen mellom $ \ varepsilon_ {t-1} $ og $ \ varepsilon_ {t} $ er 0,96
Makro - så jeg trenger ikke se p.verdien? bare R2?
Nei, du trenger $ p $ -verdien - det indikerer et veldig signifikant forhold - jeg tolket bare $ R ^ 2 $ for å sette den statistiske signifikansen mer forståelig.
så hvis jeg får veldig lav p.verdi, er forholdet til feilene veldig høyt, ikke sant?
Ja, det er riktig.
Dette kalles en Breusch-Godfrey-test for autokorrelasjon.
Rob Hyndman
2011-08-29 05:18:43 UTC
view on stackexchange narkive permalink

Bruk Durbin-Watson-testen, implementert i pakken lmtest.

  dwtest (priser [, 1] ~ priser [ , 2])  
veldig rart jeg får: p-verdi <2.2e-16, Hvordan er det mulig? dataene virker veldig korrelerte!
P-verdien er sannsynligvis å få så mye korrelasjon som den som observeres hvis det ikke er noen reell korrelasjon. Så hvis p er veldig liten, som den er, antyder det at det er mye korrelasjon til stede i utvalget.
Mener du at en p-verdi som dette indikerer at restene er veldig autokorrelerte?
hmm rart, ta en titt på: http://imageshack.us/f/59/17671620.png/ hvordan er det mulig at riktig bilde ikke er autokorrelert?
: dail Det ser ut til at det venstre bildet har en strukturell endring i variansen (se Ruey Tsays artikkel "Outliers, Level Shifts, and Variance Changes in Time Series", Journal of Forecasting, VOl 7, 1-20 (1988) for detaljer) som i dette tilfellet ikke "forvirrer" DW kanskje på grunn av at hele fordelingen fortsatt er normal mens det rette bildet har noen visuelt åpenbare (og empirisk identifiserbare) anomalier (Pulser) som skaper en ikke-normal (leptokurtotic se wikopedia: En distribusjon med positiv overflødig kurtose kalles leptokurtisk) fordeling som forårsaker kaos med DW
@Dail. Jeg kan ikke se noe tegn på autokorrelasjon fra riktig plot. Uansett er en tidsplan ikke den beste måten å få øye på autokorrelasjon. Det er bedre å bruke en ACF for å se den.
@Rob, autokorrelasjon betyr ikke konstant varians og konstant gjennomsnitt?
@Dail. Ideene er stort sett adskilte. En serie kan ha autokorrelasjon og konstant varians og konstant gjennomsnitt. En serie kan ikke ha noen autokorrelasjon, men ikke-konstant varians. Ikke-konstant gjennomsnitt vil vanligvis indusere autokorrelasjon.
IrishStat
2011-08-29 05:32:32 UTC
view on stackexchange narkive permalink

DW-testen eller den lineære regresjonstesten er ikke robuste for avvik i dataene. Hvis du har pulser, sesongpulser, nivåforskyvninger eller lokale tidstrender, er disse testene ubrukelige, da disse ubehandlede komponentene oppblåser variansen til feilene, og nedprioriterer testene, slik at du (som du har funnet ut) feilaktig aksepterer nullhypotesen om nei. auto-korrelasjon. Før disse to testene eller andre parametriske tester som jeg er klar over kan brukes, må man "bevise" at gjennomsnittet av restene ikke er statistisk signifikant forskjellig fra 0,0 overalt ellers er de underliggende antagelsene ugyldige. Det er velkjent at en av begrensningene for DW-testen er antagelsen om at regresjonsfeilene er normalt fordelt. Merk normalt distribuert betyr blant annet: Ingen anomalier (se http://homepage.newschool.edu/~canjels/permdw12.pdf). I tillegg tester DW-testen bare for automatisk korrelasjon av lag 1. Dataene dine kan ha en ukentlig / sesongmessig effekt, og dette vil ikke bli diagnostisert og dessuten, ubehandlet, vil påvirke DW-testen nedover.

hva er testene for å teste at reststoffer er vesentlig forskjellige fra null? Hvis regresjon inkluderer avskjæring, er gjenværende gjennomsnitt algebraicaly null, så jeg er nysgjerrig på hvordan er det mulig å omgå dette problemet.
: mpkitas Som du sa når du inkluderer en konstant, er gjennomsnittet av feilene garantert 0,0, men det garanterer ikke at gjennomsnittet av feilene er null overalt. For eksempel hvis en serie har en endring i gjennomsnitt, vil det totale gjennomsnittet være en konstant, men vil gi to "klumper" av rester, hver med et annet gjennomsnitt. Du kan forfølge Ruey Tsays artikkel "Outliers, Level Shifts, and Variance Changes in Time Series", Journal of Forecasting, VOl 7, 1-20 (1988) for detaljer. ELLER http://faculty.chicagobooth.edu/ruey.tsay/teaching/uts/lec10-08.pdf ELLER Google "automatisk intervensjonsdeteksjon"
Dette er bare den standard antagelsen om "ingen utelatte variabler" som er implisitt i all regresjonsanalyse.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...