MALLIN SOPIVUUDEN TUTKIMINEN (ELI DIAGNOSTIIKKA) plot(var_lag2) ## Residuaaleihin liittyviä kuvia ## Edellisellä komennolla näet residuaalien aikasarjat sekä autokorrelaatiot ja osittaisautokorrelaatiot, ## jotka esitetään yhtälöittäin (kuvaikkunan klikkaus vaihtaa kuvan seuraavaksi). ## Huomaa, että monisteen Kuviosta 4.2 poiketen näissä korrelaatiokuvissa olevat kriittiset rajat ## eivät perustu oikeisiin (asymptoottisiin) tuloksiin (vrt. monisteen keskustelu s. 35). ## Residuaalien ristikorrelaatiot tai neliöityjen residuaalien korrelaatiot saadan seuraavalla tavalla. ## Residuaalit res=resid(var_lag2) colnames(res)=c("res_invest","res_income","res_cons") ## Auto ja ristikorrelaatiot kuten aikaisemmin acf(res,lag.max = 10, type="correlation") ## Vastaavat neliöidyille residuaaleille colnames(res)=c("res_invest^2","res_income^2","res_cons^2") acf(res^2,lag.max = 10, type="correlation") ## Kvantiili-kvantiili kuviot kuvaavat kuinka hyvin residuaalit vastaavat normaalijakauman kertymäfunktion kvantiilipisteitä (yhtälöittäin) ## Mitä enemmän kuvion pisteet poikkeavat 45 asteen suorasta sitä enemmän virheiden komponenttien voidaan epäillä poikkeavan normaalijakaumasta. ?qqnorm qqnorm(res[,1]) ## Hakasuluissa oleva 1 ilmoittaa, että kuvio liittyy aikasarjavektorin komponenttiin 1 (matriisin res ensimmäinen sarake). ## Residuaalien auto- ja ristikorrelaatioiden merkitsevyys --> Portmanteau-testi ?serial.test serial.test(var_lag2, lags.pt = 16, type = "PT.adjusted") # Tämä on sama kuin monisteen s. 36 esitetty testi ## Neliöityjen residuaalien auto- ja ristikorreloituneisuutta voidaan testata pistemäärätestillä (eli Lagrangen kerrointestillä), ## jossa vaihtoehtona on moniulotteinen ARCH-malli (ks. http://www.jstatsoft.org/v27/i04/paper, kappale 3.3, ## s. 9-10). Testisuure noudattaa nollahypoteesin voimassa ollessa asymptoottisesti khi^2-jakaumaa vapausastein ## q(n^2(n+1)^2)/4), jossa q on testissä käytettävän ARCM-mallin aste ja n kuten monisteessa. Myös vastaavanlaisia ## yksiulotteisia testejä residuaalivektorin komponenttien neliöiden autokorreloituneiduuden testaamiseen on ## mahdollista käyttää. ## Seuraavassa 'multivariate.only = TRUE' merkitsee vain moniulotteisen testin suorittamista (erästä) astetta 5 olevaa ## moniulotteista ARCH-mallia käyttäen. Valinnalla 'multivariate.only = FALSE' suoritetaan sekä moniulotteinen että ## yksiulotteiset testit (tällöin 'lags.single = 8' määrittelee yksiulotteisissa testeissä käytettävien ARCH-mallien ## yhteiseksi asteeksi 8). arch.test(var_lag2, lags.single = 8, lags.multi = 5, multivariate.only = TRUE) ## GRANGERIN KAUSAALISUUDEN TESTAAMINEN ## H_0="ei Grangerin kausaalisuutta" ## Seuraavassa testataan ensin nollahypoteesia "investoinneista ei Grangerin kausaalisuutta tuloihin ja kulutukseen" ## ja seuraavaksi päinvastaista nollahypoteesia "tuloista ja kulutuksesta ei Grangerin kausaalisuutta investointeihin" (ohjelma ## tulostaa tulokset myös samanaikaiseen kausaalisuuteen liittyvistä testeistä, joita kurssilla ei käsitelty). ## Huomaa, että ohjelma laskee testin (approksimatiiviset) p-arvot käyttäen F-jakaumaan perustuvaa approksimaatiota, jollaisen ## on todettu joissakin simulointikokeissa toimivan pienissä otoksissa khi^2-jakaumaa paremmin. F-jakauman ensimmäisestä ## vapausasteluvusta saadaan vastaavan khi^2-jakaumaan vapaustasteluku. kaus_inv=causality(var_lag2, cause = "invest") kaus_inv kaus_vast=causality(var_lag2, cause = c("income", "cons")) kaus_vast ## IMPULSSIVASTEET ## Jos halutaan ortogonaaliset impussivasteet, niin ortho=TRUE, muuten ortho=FALSE. ## Luottamusvälit on muodostettu (eräällä) bootstrap-menetelmällä. impuls=irf(var_lag2, n.ahead=5, ortho=FALSE, boot=TRUE,ci=0.95,runs=100, cumulative=FALSE) plot(impuls)