[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 13.4.2004 11:44 |
On luonnollista yrittää soveltaa edellisessä viestissäni kuvaamaani laskentatekniikkaa myös muiden kuin 1. kertaluvun autokorrelaatioiden testaamiseen lineaarisen mallin residuaaleissa. Ajattelin ensin perustaa toiminnan suoraan autokorrelaatioiden varaan, mutta alustavat kokeilut osoittivat, että jo 1. kertaluvun tapauksessa nollahypoteesi rho(1)=0 torjutaan silloin, kun se ei ole tosi, tehokkaammin Durbin-Watsonin testisuureen D kuin itse autokorrelaatio- kertoimen avulla. Tätä saattaa ounastella jo allaolevien lausekkeidenkin perusteella. Niinpä korkemman kertaluvun k autokorrelaation testaamisessa päädyin käyttämääm yleistettyä DW-testisuuretta summa (r_i - r_i-k)^2 D(k) = --------------------- (erikoistapauksena D=D(1)) summa (r_i)^2 k. kertaluvun autokorrelaatiokertoimen summa r_i*r_i-k rho(k) = --------------- summa (r_i)^2 asemasta. Satunnaistettu testausmenettely on täsmälleen sama kuin edellisessä viestissä esittämäni. Residuaalien autokorrelaatiot testataan kertalukuun k asti lisätäsmennyksellä MAXLAG=k. DWN-täsmennys tarvitaan edelleen osoittamaan koetoistojen määrää (min. 10000). Tässä aikaisempi esimerkki muunneltuna yleisempää tilannetta varten: ....................................................................... Tehdään 4 muuttujan X1-X4 (teoreettinen) korrelaatiomatriisi R: m=4 r=0.7 MAT R=CON(m,m,1-r)+IDN(m,m,r) MAT RLABELS X TO R MAT CLABELS X TO R Generoidaan 1000 havaintoa multinormaalijakaumasta N(0,R): MNSIMUL R,*,DWKOE2,1000,0 / NEWSPACE=16,4 Määritellään muuttujat virhetermiä EPS ja mallin residuaaleja RES varten: VAR EPS,RES TO DWKOE2 EPS=0 RES=0 ....................................................................... Luodaan virhetermi autoregressiivisenä: VAR EPS TO DWKOE2 EPS=if(ORDER<6)then(EPS2)else(EPS2-0.1*EPS[-3]-0.1*EPS[-5]) EPS2=N.G(0,1,rand(2004)) Lasketaan selitettävä muuttuja Y: VAR Y=1+X1+X2+X3+X4+EPS TO DWKOE2 Teoreettiset regressiokertoimet ovat kaikki ykkösiä ja malliin liittyy autoregressiivinen jäännöstermi, jossa on jonkin verran 2. ja 5. kertaluvun autokorrelaatiota. ....................................................................... Regressiomallin laskenta: MASK=XXXX--Y / Mallin valinta REGDIAG DWKOE2,CUR+1 / DWN=10000 MAXLAG=6 Regression diagnostics on data DWKOE2: N=1000 Regressand Y # of regressors=5 (Constant term included) Condition number of scaled X: k=1.75549 Variable Regr.coeff. Std.dev. t Constant 0.9800168 0.0308762 31.740 X1 1.0204639 0.0333812 30.570 X2 1.0032199 0.0336460 29.817 X3 1.0198269 0.0335827 30.368 X4 0.9848015 0.0349460 28.181 Variance of regressand Y=8.986305686 df=999 Residual variance=0.948503431 df=995 R=0.9460 R^2=0.8949 Durbin-Watson=1.989 (P=0.4331) Lag Autocorr. DW P(positive) P(negative) s.e. of P 1 -0.0007 1.9890 0.4331 0.5669 0.0050 2 0.0035 1.9801 0.3878 0.6122 0.0049 3 -0.1357 2.2572 1.0000 0.0000 - 4 0.0074 1.9702 0.3465 0.6535 0.0048 5 -0.0876 2.1598 0.9958 0.0042 0.0006 6 0.0553 1.8714 0.0297 0.9703 0.0017 MAXLAG=6 tuottaa lopussa olevan taulukon, josta paljastuu selvästi 3. ja 5. autokorrelaation esiintyminen. P-arvot lasketaan D(k)-arvojen (DW) perusteella, mutta taulukossa esitetään myös autokorrelaatiot. Viimeisenä ovat P-arvojen keskivirheet. Aikaa laskentaan kului noin 4 sekuntia (1.6GHz:n koneella). * * * SAS-ohjelmistossa (AUTOREG) on tehdään vastaavia asioita tekniikalla, joka on kuvattu mm. sivulla www.msb.edu/training/statistics/sas/books/ets/chap4/sect24.htm Ilmenee, että D(k) saadaan (periaatteessa) esitettyä hyvin yksinkertaisessa muodossa summa d_i*x_i D(k) = ------------- , summa (x_i)^2 missä d_1,d_2,.. ovat erään X-matriisista muodostetun luokkaa n*n olevan matriisin singulaariarvoja ja riippuvat myös k:sta. Laskenta jatkuu tästä muodosta kääntämällä karakteristinen funktio ja suorittamalla numeerista integrointia. Nykyisillä koneilla tämä kaikki menee kyllä läpi kohtuullisessa ajassa kun havaintojen lukumäärä muutamia satoja, mutta ihmettelen, mitä tapahtuu, jos n on vaikkapa 1000 tai suurempi. Pelkästään singulaariarvojen laskenta vie minuutteja ja muistitilankin suhteen saattaa tulla ongelmia. Niinpä vakaa käsitykseni on se, että käyttämäni satunnaistettu menettely on käytännössä kätevämpi ja nopeampi. -Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!