Autokorelácia je sériová závislosť (korelácia) náhodných porúch, poprípade rezíduí.
Najčastejšie používaným a najznámejším testom autokorelácie je Durbin – Watsonov test. Testujeme ním autokoreláciu v zmysle autoregresnej schémy 1. rádu.
Postup:
Odhadneme parametre modelu metódou najmenších štvorcov, vypočítame reziduály a testovaciu štatistiku d. Pre daný počet pozorovaní n a počet vysvetľujúcich premenných k+1 (vrátane úrovňovej konštanty) a zvolenú hladinu významnosti nájdeme v tabuľkách dolnú (dL) a hornú (dU) hranicu kritickej hodnoty Durbinovho-Watsonovho koeficientu d.
Ak d < dL, zamietame nulovú hypotézu v prospech alternatívnej hypotézy o pozitívnej autokorelácii, t.j. H1.
Ak d > 4 – dL, zamietame nulovú hypotézu v prospech alternatívnej hypotézy o negatívnej autokorelácii, t.j. H1.
Ak dU < d < 4 – dU, akceptujeme nulovú hypotézu, ide o neprítomnosť autokorelácie.
Ak dL < d < dU, alebo 4 – dU < d < 4 – dL, test neumožňuje jednoznačne rozhodnúť, či zamietnuť, alebo nezamietnuť nulovú hypotézu.
Príklad:
Vzorový príklad s metódami na testovanie prítomnosti autokorelácie a jej odstránenie sa nachádza v tomto scripte.
Na nasledujúcom príklade si otestujeme prítomnosť autokorelácie v modeli s empirickými dátami, ktoré nájdete tu: Odkazy na použité a reálne dáta
Riešenie 1 |
Ukázať> |
Potrebné knižnice:
“car”
1. Stiahneme a načítame knižnicu “car” (postup, ako to spraviť nájdeme tu)
2. Načítanie dát
Dáta použité v tomto príklade nájdete tu: Odkazy na použité a reálne dáta
3. Regresia- výpočet parametrov:
regresia<-lm(Yt~Xt)
4.Zavoláme funkciu durbinWatsonTest a výstup uložíme do premennej “dw”
dw<-durbinWatsonTest(regresia,max.lag=2)
dw
5. Výsledky testu:
Alternative hypothesis: rho[lag] != 0
lag |
Autocorrelation |
D-W Statistic |
p-value |
1 |
0.6138786 |
0.5667221 |
0.000 |
2 |
0.1725491 |
1.3274886 |
0.206 |
0.6138786 – je hodnota autokorelačného koeficientu pre posun 1,
0.5667221 – je hodnota Durbin-Watson statistiky pre posun 1.
Tabuľku kritických hodnôt (“dL” a “dU” hranice) pre Durbin-Watsonov test nájdete tu.
|
Riešenie 2 |
Ukázať> |
R softvér nám ponúka možnosť použiť taktiež štatistickú funkciu dwtest(), postup je nasledovný:
1. Inštalácia a načítanie balíčka „lmtest“ tým istým spôsobom ako pri balíčku car
2. Načítanie dát
Dáta použité v tomto príklade nájdete tu: Odkazy na použité a reálne dáta
3. Regresia- výpočet parametrov:
regresia<-lm(Yt~Xt)
4. Zadáme nasledovný príkaz:
dwtest(Xt~Yt,alternative=c("greater","two.sided","less"))
5. Výsledky testu:
Durbin-Watson test
data: Xt ~ Yt
DW = 0.5282, p-value = 3.273e-05
alternative hypothesis: true autocorrelation is greater than 0
|
Odstránenie Autokorelácie pomocou metódy Cochrane-Orcutt |
Ukázať> |
Potrebné knižnice:
“orcutt”
1. Načítanie Yt (spotreba), Xt (mzda):
Yt<-c(292.5, 308.7, 333, 351.5, 371.9, 381.7, 378.5, 396.4, 417.6, 414.4,
428.4, 420.2, 436.2, 451.3, 476)
Xt<-c(6399, 7300, 8259, 9331, 10108, 10833, 11535, 12470, 13616, 14470, 15930,
15982, 17220, 17850, 19500)
2. Regresia- výpočet parametrov:
regresia<-lm(Yt~Xt)
3. Vykonáme nasledujúce príkazy:
library(orcutt)
reg2<-cochrane.orcutt(regresia)
reg2
———————————————————————————————————-
$Cochrane.Orcutt
Call:
lm(formula = YB ~ XB – 1)
Residuals:
Min 1Q Median 3Q Max
-10.450 -6.169 2.031 4.526 9.546
Coefficients:
Estimate Std. Error t value Pr(>|t|)
XB(Intercept) 251.35759 17.68610 14.212 7.19e-09 ***
XBXt 0.01137 0.00118 9.633 5.36e-07 ***
—
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.951 on 12 degrees of freedom
Multiple R-squared: 0.9986, Adjusted R-squared: 0.9984
F-statistic: 4338 on 2 and 12 DF, p-value: < 2.2e-16
$rho
[1] 0.5864118
$number.interaction
[1] 13
|
Odstránenie Autokorelácie pomocou funkcie gls |
Ukázať> |
Potrebné knižnice:
“nlme”
V prostredí R existuje veľmi jednoduchá funkcia gls, ktorá dokáže taktiež odstrániť autokoreláciu
a v dnešnej dobe je používanejšia ako Cochrane-Orcutt. Je nutné si nainštalovať a samozrejme “loadnuť”
nlme balíček, ktorý túto funkciu obsahuje. Práca s funkciou je veľmi jednoduchá a jej výstupom je model.
Podrobnosti o funkcii a jej parametroch nájdete tu.
1. Načítanie Yt (spotreba), Xt (mzda):
Yt<-c(292.5, 308.7, 333, 351.5, 371.9, 381.7, 378.5, 396.4, 417.6, 414.4,
428.4, 420.2, 436.2, 451.3, 476)
Xt<-c(6399, 7300, 8259, 9331, 10108, 10833, 11535, 12470, 13616, 14470,
15930, 15982, 17220, 17850, 19500
2. Vykonanie metódy
gls(Yt~Xt)
|
Postup odstraňovania autokorelácie závisí od konkrétnych príčin jej vzniku. Autokoreláciu je možné zmierniť, alebo úplne odstrániť zmenou špecifikácie modelu (došpecifikovaním ďalšej premennej) alebo zmenou analytického tvaru modelu. Ide teda o postupy, ktoré predovšetkým znamenajú prehodnotenie východiskovej hypotézy o modeli a vedú k novej konštrukcii modelu. Ak tieto pokusy v konečnom dôsledku neodstraňujú autokoreláciu, treba tento fakt brať ako skutočnosť a pri kvantifikácii modelu ho zohľadniť napr. použitím inej odhadovej metódy, než je JMNŠ.
———————————————————————————
Zdroje:
Marček, D., Marček, M., Pančíková, L.: Ekonometria a soft computing. Žilina: EDIS, 2008 ISBN 978-80-8070-746-0
Slovník pojmov z predmetu Ekonometria [4.6.2015]
[R] Cochrane-Orcutt method[4.6.2015]