MS-C2128 Ennustaminen ja aikasarja-analyysi 6. harjoitukset / Tehtävät Kotitehtävä: 4 Esimerkkiaineisto ALKOKULU Olemme käyttäneet 3. harjoituksissa esimerkkinä aineistoa, joka käsittelee yksityisiä kulutusmenoja Suomessa. Tavoitteena on rakentaa alkoholin kulutusmenoille regressiomalli, jossa alkoholin kulutusmenoja per capita kiinteisiin, vuoden 1975 hintoihin (Q1CPC) selitetään alkoholin reaalihinta-indeksillä (R1C) ja kokonaiskulutusmenoilla per capita, kiinteisiin vuoden 1975 hintoihin (QTOTALPC). Aineisto koostuu vuosiaikasarjoista vuosilta 1950-1981. Talousteorian mukaisena perusmallina on käytetty log-lineaarista regressiomallia (M1) log(q1cpc) = 0 + 1 log(r1c) + 2 log(qtotalpc) + 3. harjoituksissa todettiin regressiodiagnostiikkaa käyttämällä, että malli (M1) ei ole riittävä selittämään selitettävän muuttujan log(q1cpc) arvojen vaihtelua. Malliin (M1) liittyvät tarkastelut on toistettu tehtävässä 5.1. Koska eräs ongelmia aiheuttavista kohdista mallissa (M1) on alkoholilain muuttuminen vuoden 1969 alussa, muunnetaan malli (M1) ensin malliksi (M2) liittämällä malliin (M1) alkoholilain muutosta kuvaava dummy- (tai indikaattori-) muuttuja LAW, joka määritellään seuraavalla tavalla: LAW = 0 vuosina 1950-1968 LAW = 1 vuosina 1969-1981 Muuttuja LAW on siis porras-dummy. Saamme siten mallin (M2) log(q1cpc) = 0 + 1 log(r1c) + 2 log(qtotalpc) + 3 LAW + Lainmuutos-dummy LAW pyrkii ottamaan huomioon alkoholin kulutusmenojen tasossa tapahtuneen hyppäyksen, sillä mallissa (M2) vakiotermi saa mallissa (M2) seuraavan muodon: 0 vuosina 1950-1968 0 + 3 vuosina 1969-1981 Ennakko-oletuksena on, että kerroin 3 on tilastollisesti merkitsevä ja positiivinen. 1/15
Tehtävässä 5.2. malli (M2) estimoidaan vuosille 1950-1976. Lisäksi tarkastellaan mallin (M2) ennustuskykyä vuosina 1977-1981 graafisesti sekä alistetaan estimoitu malli erilaisiin regressiodiagnostisiin testeihin. Joudumme kuitenkin toteamaan, että korjattukaan malli (M2) ei ole riittävä selittämään selitettävän muuttujan log(q1cpc) arvojen vaihtelua. Mallin (M2) ongelmana on se (kuten on myös mallin (M1) ongelmana), että estimoidun mallin residuaalit ovat autokorreloituneita. Joskus autokorrelaatio-ongelma voidaan ratkaista siirtymällä mallien (M1) ja (M2) tyyppisistä tasomalleista ns. differenssimalliin. Kokeilemme siksi alkoholin kulutusmenoille differenssimallia (M3) Dlog(Q1CPC) = 0 + 1 Dlog(R1C) + 2 Dlog(QTOTALPC) + 3 DLAW + Huomaa, että porras-dummyn LAW differenssi on impulssidummy. Tehtävässä 5.3. malli (M3) estimoidaan vuosille 1950-1976. library(car) alko=read.table("alkokulup4.txt",header=t) malli1=lm(lq1cpc~lr1c+lqtotalpc, data=alko) LR1C=ts(alko$LR1C,start=1950) LQ1CPC=ts(alko$LQ1CPC,start=1950) LQTOTALPC=ts(alko$LQTOTALPC,start=1950) Ja näiden katkaistut versiot ennusteiden vertaamista varten: tlr1c=ts(lr1c[1:27],start=1950) tlq1cpc=ts(lq1cpc[1:27],start=1950) tlqtotalpc=ts(lqtotalpc[1:27],start=1950) 2/15
Tehtävä 5.1. Luodaan malli M1: malli1=lm(tlq1cpc~tlr1c+tlqtotalpc) summary(malli1) Call: lm(formula = tlq1cpc ~ tlr1c + tlqtotalpc) Residuals: Min 1Q Median 3Q Max -0.14613-0.09840-0.01314 0.09816 0.15185 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -2.70809 2.35173-1.152 0.2609 tlr1c -1.12184 0.46993-2.387 0.0252 * tlqtotalpc 1.50676 0.07188 20.963 <2e-16 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.1057 on 24 degrees of freedom Multiple R-squared: 0.951, Adjusted R-squared: 0.9469 F-statistic: 232.8 on 2 and 24 DF, p-value: < 2.2e-16 Kommentteja: Tasomallin (M1) hintamuuttujan LR1C regressiokerroin ja kokonaiskulutusmenomuuttujan LQTOTALPC regressiokerroin ovat tilastollisesti merkitseviä. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien merkit ovat ennakko-odotusten mukaiset: Hintamuuttujan regressiokerroin on negatiivinen ja kokonaiskulutusmenomuuttujan regressiokerroin on positiivinen. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien tulkinnat joustoina: Jos hinta nousee 1 %, niin alkoholin kulutusmenot pienenevät 1.12 %. Jos kokonaiskulutusmenot kasvavat 1 %, niin alkoholin kulutusmenot kasvavat 1.51 % Tasomallin selitysaste on 95.1 %. 3/15
Piirretään parit kuvaajat. Ennusteet on laskettu tässä predict() komennolla, ks. viikon 3 tehtävät. 4/15
Tehdään parit testit: > shapiro.test(malli1$res) Shapiro-Wilk normality test data: malli1$res W = 0.9069, p-value = 0.01936 > vif(malli1) tlr1c tlqtotalpc 1.01662 1.01662 Kommentteja: Mallin M1 residuaalien jakauma poikkeaa melko selvästi normaalijakaumasta.. Mallin M1 residuaalit kärsivät voimakkaasta autokorrelaatiosta. Mallissa M1 ei ole multikollineaarisuus-ongelmaa. 5/15
Kommentteja: Mallin M1 residuaalien autokorreloituneisuuden syy näkyy selvästi ylemmästä kuviosta: mallista laskettu sovite (yhtenäinen viiva) kulkee pitkiä yhtenäisiä ajanjaksoja selitettävän muuttujan Q1CPC arvojen kuvaajan ala- tai yläpuolella. Malli M1 ei osaa ottaa huomioon alkoholilain muutoksen (vuoden 1969 alussa) vaikutuksia. Tämä näkyy myös selvästi Cookin etäisyyksistä (alempi kuvio). Yleiskommentteja tehtävään 5.1.: Mallin (M1) jäännöstermi on autokorreloitunut, heteroskedastinen ja ei täytä normaalisuusoletusta. Mallin (M1) residuaaleissa on poikkeavia havaintoja, jotka ajoittuvat alkoholilain muutokseen vuoden 1969 alussa. Malli (M1) ei ole riittävä selittämään alkoholin kulutusmenojen käyttäytymistä. Kysymys: Olisiko mallin (M1) rakenneosa väärin spesifioitu? Yritetään korjata mallin (M1) rakenneosaa lisäämällä malliin lainmuutos-dummy LAW. - Tämä muutos on tehty malliin (M2) 6/15
Tehtävä 5.2. Estimoidaan malli M2. Luodaan lainmuutos-dummy ja estimoidaan malli: zeros <- rep(0,19) ones <- rep(1,13) LAW=c(zeros,ones) LAW=ts(LAW,start=1950) tlaw=ts(law[1:27],start=1950) malli2=lm(tlq1cpc~tlr1c+tlqtotalpc+tlaw) summary(malli2) Tämä tulostaa summary(malli2) Call: lm(formula = tlq1cpc ~ tlr1c + tlqtotalpc + tlaw) Residuals: Min 1Q Median 3Q Max -0.138512-0.030620 0.002313 0.057598 0.085196 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) 0.55826 1.60855 0.347 0.7317 tlr1c -1.04132 0.30228-3.445 0.0022 ** tlqtotalpc 1.08735 0.08451 12.867 5.43e-12 *** tlaw 0.31322 0.05285 5.927 4.84e-06 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.06794 on 23 degrees of freedom Multiple R-squared: 0.9806, Adjusted R-squared: 0.9781 F-statistic: 387.5 on 3 and 23 DF, p-value: < 2.2e-16 Kommentteja: Tasomallin (M2) hintamuuttujan LR1C regressiokerroin ja kokonaiskulutusmenomuuttujan LQTOTALPC regressiokerroin ovat tilastollisesti merkitseviä. Regressiokertoimien estimaatit eroavat mallin (M1) regressiokertoimien estimaateista. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien merkit ovat ennakko-odotusten mukaiset: Hintamuuttujan regressiokerroin on negatiivinen ja kokonaiskulutusmenomuuttujan regressiokerroin on positiivinen. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien tulkinnat joustoina: Jos hinta nousee 1 %, niin alkoholin kulutusmenot pienenevät 1.04 %. Jos kokonaiskulutusmenot kasvavat 1 %, niin alkoholin kulutusmenot kasvavat 1.09 %. Lainmuutosmuuttujan LAW regressiokerroin 0.313 on tilastollisesti merkitsevä. Lainmuutosmuuttujan LAW regressiokerroin on ennakko-odotusten mukaisesti positiivinen. Tasomallin (M2) selitysaste on noussut 98.1 %:iin. 7/15
Ja testit: > shapiro.test(malli2$res) Shapiro-Wilk normality test data: malli2$res W = 0.916, p-value = 0.03167 > vif(malli2) tlr1c tlqtotalpc tlaw 1.018678 3.403215 3.406576 8/15
Kommentteja: Mallin (M2) residuaalien jakauma ei poikkea (ainakaan kovin paljon) normaalijakaumasta. 9/15
Mallin (M2) residuaalit kärsivät edelleen voimakkaasta autokorrelaatiosta. Mallissa (M2) ei ole ongelmaa multikollineaarisuuden suhteen. 10/1 5
Kommentteja: Mallin (M2) residuaalien autokorreloituneisuuden syy näkyy ylemmästä kuviosta: mallista laskettu sovite (viiva ilman merkintöjä) kulkee vieläkin pitkiä yhtenäisiä ajanjaksoja selitettävän muuttujan Q1CPC arvojen kuvaajan ala- tai yläpuolella. Malli (M2) osaa ottaa huomioon alkoholilain muutoksen (vuoden 1969 alussa) vaikutukset. Yleiskommentteja tehtävään 5.2. Mallin (M2) jäännöstermi on autokorreloitunut. Alkoholilain muuttuminen vuoden 1969 alussa on otettu mallissa (M2) huomioon. Myöskään malli (M2) ei ole riittävä selittämään alkoholin kulutusmenojen käyttäytymistä. Kysymys: Olisiko mallin rakenneosa vieläkin väärin spesifioitu? 11/1 5
Tehtävä 5.3. Estimoidaan malli kuten yleensä, saadaan: (komennon diff() avulla) summary(malli3) Call: lm(formula = DtLQ1CPC ~ DtLR1C + DtLQTOTALPC + DtLAW) Residuals: Min 1Q Median 3Q Max -0.084199-0.013725 0.000349 0.020430 0.053935 Coefficients: Estimate Std. Error t value Pr(> t ) (Intercept) -0.01011 0.01076-0.939 0.358 DtLR1C -0.82531 0.15161-5.444 1.81e-05 *** DtLQTOTALPC 1.42828 0.24845 5.749 8.79e-06 *** DtLAW 0.19060 0.03925 4.856 7.47e-05 *** --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05. 0.1 1 Residual standard error: 0.03482 on 22 degrees of freedom Multiple R-squared: 0.8398, Adjusted R-squared: 0.818 F-statistic: 38.45 on 3 and 22 DF, p-value: 6.358e-09 Kommentteja Differenssimallin (M3) kaikki regressiokertoimet ovat (vakiota lukuun ottamatta) tilastollisesti merkitseviä. Kaikkien mallin (M3) muuttujien regressiokertoimien estimaatit eroavat selvästi mallin (M2) regressiokertoimien estimaateista. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien merkit ovat ennakko-odotusten mukaiset: Hintamuuttujan regressiokerroin 0.825 on negatiivinen ja kokonaiskulutusmenomuuttujan regressiokerroin +1.43 on positiivinen. Hintamuuttujan ja kokonaiskulutusmenomuuttujan regressiokertoimien tulkinnat joustoina: Jos hinta nousee 1 %, niin alkoholin kulutusmenot pienenevät välittömästi (ilman viivettä) 0.825 %. Jos kokonaiskulutusmenot kasvavat 1 %, niin alkoholin kulutusmenot kasvavat välittömästi (ilman viivettä) 1.43 %. Lainmuutos-dummyn LAW välittömän vaikutuksen kerroin on 0.191. Differenssimallin (M3) selitysaste on 84.0 %. Huomautus: Yo. differenssimallin selitysastetta ei voi verrata tasomallien (M1) ja (M2) selitysasteisiin, koska differenssimallissa on eri selitettävä kuin tasomalleissa (M1) ja (M2). Tavallisesti differenssimallin selitysaste on (selvästi) alempi kuin vastaavan tasomallin. 12/1 5
13/1 5
> shapiro.test(malli3$res) Shapiro-Wilk normality test data: malli3$res W = 0.9636, p-value = 0.4663 > vif(malli3) DtLR1C DtLQTOTALPC DtLAW 1.028690 1.252828 1.221576 Kommentteja: Differenssimallin (M3) residuaalien jakaumaa voidaan pitää normaalisena. Mallin (M3) residuaalit eivät ole kovin autokorreloituneita. Mallissa (M3) ei ole multikollineaarisuutta. 14/1 5
Tehtävä 5.4. Tehtävässä tutkitaan alla kuvattua aineistoa regressioanalyysilla. Tiedostoon t38.txt on tallennettu kolme mallin rakentamisessa käytettävää aikasarjaa. Aikasarjat ovat tehtävän 3.8 tapaan neljännesvuosittain, ensimmäinen havainto on vuoden 1953 ensimmäisestä kvartaalista. CONS INC = kokonaiskulutus (consumption) (mrd mk) = tulot (income) (mrd mk) INFLAT = inflaatiovauhti (inflation) (%) Aikasarjat CONS ja INC kuvaavat kokonaiskulutuksen ja tulojen reaalista arvoa miljardeina markkoina eräässä kuvitteellisessa maassa. Aikasarja INFLAT kuvaa inflaatiovauhtia. Tehtävänä on pyrkiä estimoimaan ns. kulutusfunktio, jossa aikasarjaa CONS selitetään aikasarjoilla INC ja INFLAT. Aikasarjat on generoitu simuloimalla, mutta niiden stokastiset ominaisuudet jäljittelevät todellisia aikasarjoja. Aikasarjojen kytkeytyminen toisiinsa on taloustieteen mukaista. Aikasarjoihin on tuotettu myös öljykriisiä jäljitteleviä häiriö. Viikolla 3 kulutukselle (CONS) estimoitiin tavanomainen lineaarinen regressiomalli (M1) CONSt = 0 + 1 INCt + 2 INFLATt + t jossa selittäjinä olivat tulot (INC) ja inflaatiovauhti (INFLAT). Tavanomainen lineaarinen regressiomalli osoittautui kuitenkin tilastollisilta ominaisuuksiltaan huonoksi. Pääongelmana mallissa (M1) oli se, että sen residuaalit olivat autokorreloituneita. Tehtävät: (a) (b) Estimoi mallia (M1) vastaava differenssimalli. Tutki tämän differenssimallin hyvyyttä. 15/1 5