MS-C2128 Ennustaminen ja aikasarja-analyysi 3. harjoitukset / Tehtävät Kotitehtävä: 7

Samankaltaiset tiedostot
Esimerkkiaineisto ALKOKULU Olemme käyttäneet 3. harjoituksissa esimerkkinä aineistoa, joka käsittelee yksityisiä kulutusmenoja

2. Tietokoneharjoitukset

Tässä harjoituksessa käydään läpi R-ohjelman käyttöä esimerkkidatan avulla. eli matriisissa on 200 riviä (havainnot) ja 7 saraketta (mittaus-arvot)

Yleinen lineaarinen malli eli usean selittäjän lineaarinen regressiomalli

1. PÄÄTTELY YHDEN SELITTÄJÄN LINEAARISESTA REGRESSIOMALLISTA

MS-C2128 Ennustaminen ja aikasarja-analyysi 2. harjoitukset / Tehtävät Kotitehtävä: 3,4

Ilmoittaudu Weboodissa klo (sali L4) pidettävään 1. välikokeeseen!

1. Tietokoneharjoitukset

Suhtautuminen Sukupuoli uudistukseen Mies Nainen Yhteensä Kannattaa Ei kannata Yhteensä

Regressioanalyysi. Vilkkumaa / Kuusinen 1

Opiskelija viipymisaika pistemäärä

Regressioanalyysi. Kuusinen/Heliövaara 1

Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus. Intelin osakekurssi. (Pörssi-) päivä n = 20 Intel_Volume. Auringonpilkkujen määrä

(d) Laske selittäjään paino liittyvälle regressiokertoimelle 95 %:n luottamusväli ja tulkitse tulos lyhyesti.

Harjoitus 9: Excel - Tilastollinen analyysi

Erikoistyö: Alkoholin kulutusmenojen ennustaminen

4. Tietokoneharjoitukset

1. USEAN SELITTÄJÄN LINEAARINEN REGRESSIOMALLI JA OSITTAISKORRELAATIO

Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä

4. Tietokoneharjoitukset

Johdatus regressioanalyysiin. Heliövaara 1

Mat Tilastollisen analyysin perusteet, kevät 2007

Viikon 5 harjoituksissa käytämme samoja aikasarjoja kuin viikolla 4. Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus

Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos /Malmivuori MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi,

Residuaalit. Residuaalit. UK Ger Fra US Austria. Maat

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Harjoitus 7: NCSS - Tilastollinen analyysi

1. Normaalisuuden tutkiminen, Bowmanin ja Shentonin testi, Rankit Plot, Wilkin ja Shapiron testi

TA7, Ekonometrian johdantokurssi HARJOITUS 4 1 RATKAISUEHDOTUKSET

ATH-koulutus: R ja survey-kirjasto THL ATH-koulutus / Tommi Härkänen 1

1. REGRESSIOMALLIN SYSTEMAATTISEN OSAN MUOTO

805324A (805679S) Aikasarja-analyysi Harjoitus 4 (2016)

Mat Tilastollisen analyysin perusteet, kevät 2007

1. Tutkitaan tavallista kahden selittäjän regressiomallia

Tilastollisen analyysin perusteet Luento 11: Epäparametrinen vastine ANOVAlle

Sisällysluettelo ESIPUHE... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO JOHDANTO TILASTOLLISEEN PÄÄTTELYYN TODENNÄKÖISYYS...

Sisällysluettelo ESIPUHE KIRJAN 1. PAINOKSEEN...3 ESIPUHE KIRJAN 2. PAINOKSEEN...3 SISÄLLYSLUETTELO...4

3. Tietokoneharjoitukset

xi = yi = 586 Korrelaatiokerroin r: SS xy = x i y i ( x i ) ( y i )/n = SS xx = x 2 i ( x i ) 2 /n =

Yhden selittäjän lineaarinen regressiomalli (jatkoa) Ensi viikolla ei pidetä luentoa eikä harjoituksia. Heliövaara 1

Johdatus tilastotieteeseen Yleinen lineaarinen malli. TKK (c) Ilkka Mellin (2004) 1

Regressiodiagnostiikka ja regressiomallin valinta

Tilastollisen analyysin perusteet Luento 7: Lineaarinen regressio

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi. Viikko 5

Load

Testejä suhdeasteikollisille muuttujille

SEM1, työpaja 2 ( )

Tilastollisen analyysin perusteet Luento 6: Korrelaatio ja riippuvuus tilastotieteessä

Harjoitukset 4 : Paneelidata (Palautus )

Mat Tilastollisen analyysin perusteet, kevät 2007

Sovellettu todennäköisyyslaskenta B

Regressiodiagnostiikka ja regressiomallin valinta

805324A (805679S) Aikasarja-analyysi Harjoitus 6 (2016)

FoA5 Tilastollisen analyysin perusteet puheentutkimuksessa. 9. luento. Pertti Palo

Dynaamiset regressiomallit

MS-C2{04 Tilastollisen analyysin perusteet

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä

Ilkka Mellin Tilastolliset menetelmät. Osa 4: Lineaarinen regressioanalyysi. Yleinen lineaarinen malli. TKK (c) Ilkka Mellin (2007) 1

Mat Tilastollisen analyysin perusteet, kevät 2007

Tilastollisen analyysin perusteet Luento 3: Epäparametriset tilastolliset testit

Tehtävä 1. (a) JYVÄSKYLÄN YLIOPISTO Matematiikan ja tilastotieteen laitos Parametrittomat ja robustit menetelmät Harjoitukset 7, vastaukset

Osa 2: Otokset, otosjakaumat ja estimointi


HAVAITUT JA ODOTETUT FREKVENSSIT

Yleistetyistä lineaarisista malleista

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Mat Tilastollisen analyysin perusteet. Painotettu PNS-menetelmä. Avainsanat:

Sovellettu todennäköisyyslaskenta B

Mat Tilastollisen analyysin perusteet, kevät 2007

Tilastollisen analyysin perusteet Luento 9: Moniulotteinen lineaarinen. regressio

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Harjoitus 7 : Aikasarja-analyysi (Palautus )

1. YKSISUUNTAINEN VARIANSSIANALYYSI: AINEISTON ESITYSMUODOT

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut

MS-C2128 Ennustaminen ja aikasarja-analyysi ARMA esimerkkejä

Lisätehtäviä ratkaisuineen luentomonisteen lukuun 6 liittyen., jos otoskeskiarvo on suurempi kuin 13,96. Mikä on testissä käytetty α:n arvo?

54. Tehdään yhden selittäjän lineaarinen regressioanalyysi, kun selittäjänä on määrällinen muuttuja (ja selitettävä myös):

Sovellettu todennäköisyyslaskenta B

Johdatus tilastotieteeseen Regressiomallin valinta. TKK (c) Ilkka Mellin (2004) 1

Väliestimointi (jatkoa) Heliövaara 1

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Nuoruusiän vaikutus aikuisen painoindeksiin Data-analyysin perusmenetelmät Harjoitustyö. Lassi Miinalainen

R: mikä, miksi ja miten?

VARIANSSIANALYYSI ANALYSIS OF VARIANCE

Johdatus tilastotieteeseen Testit suhdeasteikollisille muuttujille. TKK (c) Ilkka Mellin (2004) 1

b1) harhattomuutta, b2) helppoutta, b3) herkkyyttä, b4) mitta-asteikkoa, b5) standardointia, b6) tarkkuutta.

Testit järjestysasteikollisille muuttujille

Tilastollisen analyysin perusteet Luento 2: Tilastolliset testit

Vastepintamenetelmä. Kuusinen/Heliövaara 1

Tavanomaisten otostunnuslukujen, odotusarvon luottamusvälin ja Box ja Whisker -kuvion määritelmät: ks. 1. harjoitukset.

Tilastollisen analyysin perusteet Luento 5: Jakaumaoletuksien. testaaminen

Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot

6. Tietokoneharjoitukset

11. laskuharjoituskierros, vko 15, ratkaisut

proc glm data = ex61; Title2 "Aliasing Structure of the 2_IV^(5-1) design"; model y = A B C D E /Aliasing; run; quit;

Epävarmuuden hallinta bootstrap-menetelmillä

Kvantitatiiviset tutkimusmenetelmät maantieteessä

Harjoitukset 3 : Monimuuttujaregressio 2 (Palautus )

Transkriptio:

MS-C2128 Ennustaminen ja aikasarja-analyysi 3. harjoitukset / Tehtävät Kotitehtävä: 7 Esimerkkiaineisto ALKOKULU Käytämme kurssin aikana useissa harjoituksissa eräänä esimerkkiaineistona seuraavaa aineistoa, joka koskee alkoholin yksityisiä kulutusmenoja Suomessa. Tavoitteena on rakentaa alkoholin kulutusmenoille regressiomalli, jossa alkoholin kulutusmenoja per capita kiinteisiin, vuoden 1975 hintoihin (Q1CPC) selitetään alkoholin reaalihintaindeksillä (R1C) ja kokonaiskulutusmenoilla per capita kiinteisiin, vuoden 1975 hintoihin (QTOTALPC). Aineisto koostuu vuosiaikasarjoista vuosilta 1950-1981. Talousteorian mukaisena perusmallina on log-lineaarinen regressiomalli (M1) log(q1cpc) = 0 + 1 log(r1c) + 2 log(qtotalpc) + jonka regressiokertoimilla on tulkinta joustoina (logaritmisina derivaattoina): Jos alkoholin reaalihinta R1C (kokonaiskulutusmenot QTOTALPC) kasvaa 1 %, niin alkoholin kulutusmenot Q1CPC muuttuvat 1 % ( 2 %). Perusmalli (M1) osoittautuu kuitenkin varsin huonoksi. Näemme myöhemmin, miten johdonmukainen regressiomallien rakennustekniikka johtaa perusmallia (M1) selvästi parempaan malliin. Tämä parempi malli on stokastiseksi differenssiyhtälöksi kutsuttu dynaaminen regressiomalli. Esimerkin perusaikasarjat löytyvät tiedostosta ALKOKULUP1.txt. Tiedoston ALKOKULUP1 muuttujat: VUOSI = Vuosi; 1950-1981 VAKILUKU C1C Q1C CTOTAL QTOTAL = Väkiluku Suomessa vuosina 1950-1981 (tuhansina) = Alkoholin kulutusmenot käypiin hintoihin 1950-1981 (milj. mk) = Alkoholin kulutusmenot kiinteisiin vuoden 1975 hintoihin 1950-1981 (milj. mk) = Kokonaiskulutusmenot käypiin hintoihin 1950-1981 (milj. mk) = Kokonaiskulutusmenot kiinteisiin vuoden 1975 hintoihin 1950-1981 (milj. mk) Kulutusmenoilla käypiin hintoihin tarkoitetaan todellisia kulutusmenoja, kun taas kulutusmenoilla kiinteisiin hintoihin tarkoitetaan kulutusmenoja ilman hinnanmuutosten vaikutusta.

Tehtävä 3.1. Tutustu esimerkkiaineistoon ALKOKULUP1. Piirrä aikasarjojen kuvaajat ja määrää aikasarjoja kuvaavat perustunnusluvut. Tehtävä 3.1. Ratkaisu: Aikasarja voidaan määrittää esim. data framesta komennolla ts(). Aloitusvuodeksi asetaan 1950, ja koska kyseessä on vuosiaikasarja, taajudeksi 1. kp1=read.table("alkokulup1.txt",header=t) aikas=ts(kp1,frequency=1,start=1950) aikas sisältää nyt monta aikasarjaa. summary(aikas) VUOSI VAKILUKU C1C Q1C CTOTAL QTOTAL Min. :1950 Min. :4009 Min. : 116.3 Min. : 593.5 Min. : 3634 Min. :18726 1st Qu.:1958 1st Qu.:4351 1st Qu.: 222.5 1st Qu.: 714.0 1st Qu.: 8075 1st Qu.:25242 Median :1966 Median :4572 Median : 537.4 Median :1119.7 Median : 16324 Median :36263 Mean :1966 Mean :4500 Mean :1197.5 Mean :1431.7 Mean : 29561 Mean :38221 3rd Qu.:1973 3rd Qu.:4672 3rd Qu.:1777.2 3rd Qu.:2299.5 3rd Qu.: 39996 3rd Qu.:52744 Max. :1981 Max. :4800 Max. :4603.7 Max. :2582.1 Max. :112116 Max. :61843 plot(aikas) R päättää automaattisesti milloin käytetään datasta 4e+04 esitystä (ks. CTOTAL). Näiden käytöstä määrää parametri scipen (SCIence PENalty). Jos halutaan näistä eroon, niin asetetaan scipen tarpeeksi suureksi. Tämä tapahtuu kirjoittamalla esim.

options(scipen=1000) Yksittäisten aikasarjojen plottaus sujuu seuraavasti: ts.plot(aikas[,"vakiluku"],xlab="vuosi",ylab="tuhatta henkilöä",main="väkiluku Suomessa '50-'81") grid() Suomen väkiluku on kasvanut tarkasteluajanjaksona lukuun ottamatta vuosia 1969 ja 1970, jolloin väkiluvussa tapahtui pieni lasku. Tämä lasku johtui ns. suuresta maastamuutosta, joka kohdistui Ruotsiin. Väkiluvun kasvuvauhti näyttää myös hidastuneen lähes koko tarkasteluajanjaksona. ts.plot(aikas[,"q1c"],aikas[,"c1c"],lty=c(1:2), xlab="vuosi",ylab="miljoonaa markkaa",main="alkoholin kulutusmenot C1C(katkoviiva) sekä Q1C(kiinteä)") grid() lisämääre lty (Line TYpe) määrittelee plotattujen käyrien tyyliä, saat lisätietoja komennolla help(par).

Käypähintaisessa aikasarjassa C1C on monotonisesti kasvava trendi. Kiinteähintainen aikasarja Q1C näyttää alkoholin kulutusmenojen volyymissa tapahtuneet muutokset: Alkoholin kulutusmenojen volyymi on kasvanut tarkasteluajanjaksona Alkoholin kulutusmenojen volyymissa tapahtui laskua 1956-1958 (syynä yleislakon 1956 jälkeinen lama) Alkoholin kulutusmenojen volyymissa tapahtui vuonna 1969 selvä hyppy ylöspäin (syynä alkoholilain muutos vuoden 1969 alussa) Alkoholin kulutusmenojen volyymin kasvu taittui vuonna 1975 (syynä 1970-luvun alun öljykriisien jälkeinen lama) ts.plot(aikas[,"qtotal"],aikas[,"ctotal"],lty=c(1:2), xlab="vuosi",ylab="miljoonaa markkaa",main="alkoholin kokonaiskulutusmenot CTOTAL(katkoviiva) sekä QTOTAL(kiinteä)") grid()

Käypähintaisessa aikasarjassa CTOTAL on monotonisesti kasvava trendi. Kiinteähintainen aikasarja QTOTAL näyttää kokonaiskulutusmenojen volyymissa tapahtuneet muutokset: Kokonaiskulutusmenojen volyymi on kasvanut tarkasteluajanjaksona Kokonaiskulutusmenojen volyymissa tapahtui laskua 1956-1958 (syynä yleislakon 1956 jälkeinen lama) Kokonaiskulutusmenojen volyymin kasvu hidastui 1968 (syynä taantuma ennen vuoden 1968 devalvaatiota) Kokonaiskulutusmenojen volyymin kasvu hidastui 1976 ja jopa laski 1977 (syynä öljykriisin jälkeinen lama)

Tehtävä 3.2. Talleta tiedoston ALKOKULUP1 (ks. harjoitustehtävää 3.1.) aikasarjat uuteen tiedostoon ALKOKULUP2 ja tee siinä seuraavat muunnokset: C1CPC Q1CPC CTOTALPC QTOTALPC P1C PTOTAL R1C LQ1CPC LR1C LQTOTALPC = 1000 C1C/VAKILUKU = Alkoholin kulutusmenot per capita käypiin hintoihin 1950-1981 (mk) = 1000 Q1C/VAKILUKU = Alkoholin kulutusmenot per capita kiinteisiin vuoden 1975 hintoihin 1950-1981 (mk) = 1000 CTOTAL/VAKILUKU = Kokonaiskulutusmenot per capita käypiin hintoihin 1950-1981 (mk) = 1000 QTOTAL/VAKILUKU = Kokonaiskulutusmenot per capita kiinteisiin vuoden 1975 hintoihin 1950-1981 (mk) = 100 C1C/Q1C = Alkoholin (implisiittinen) hintaindeksi = 100 CTOTAL/QTOTAL = Kulutusmenojen (implisiittinen) hintaindeksi Elinkustannusindeksi = 100 P1C/PTOTAL = Alkoholin reaalihintaindeksi = LN(Q1CPC) = Muuttujan Q1CPC luonnollinen logaritmi = LN(R1C) = Muuttujan R1C luonnollinen logaritmi = LN(QTOTALPC) = Muuttujan QTOTALPC luonnollinen logaritmi Muuttujat LQ1CPC, LR1C, LQTOTALPC ovat taloustieteen perusmallissa (M1) käytettävät muuttujat. Tutki muuttujia LQ1CPC, LR1C, LQTOTALPC graafisesti sekä määrää niistä perustunnusluvut. Tehtävä 3.2. Ratkaisu: Selkeyden vuoksi lasketaan vain uudet muuttujat. attach(kpl) C1CPC=1000*(C1C/VAKILUKU) Q1CPC=1000*(Q1C/VAKILUKU) CTOTALPC=1000*(CTOTAL/VAKILUKU) QTOTALPC=1000*(QTOTAL/VAKILUKU) P1C=100*(C1C/Q1C)

PTOTAL=100*(CTOTAL/QTOTAL) R1C=100*(P1C/PTOTAL) LQ1CPC=log(Q1CPC) LR1C=log(R1C) LQTOTALPC=log(QTOTALPC) Jos nämä halutaan tallettaa tiedostoon, niin on kätevintä sijoittaa ne data frameen kp1, ja kirjoittaa se haluttuun tiedostoon. Tämä voitaisiin tietysti tehdä myös suoraan ilman yllä olevaa välivaihetta. kp1$c1cpc=c1cpc kp1$q1cpc=q1cpc kp1$ctotalpc=ctotalpc kp1$qtotalpc=qtotalpc kp1$p1c=p1c kp1$ptotal=ptotal kp1$r1c=r1c kp1$lq1cpc=lq1cpc kp1$lr1c=lr1c kp1$lqtotalpc=lqtotalpc write.table(kp1,"alkokulup2.txt") aikas=ts(kp1,freq=1,start=1950) ts.plot(aikas[,"q1cpc"],aikas[,"c1cpc"],lty=c(1:2), xlab="vuosi",ylab="markkaa",main="alkoholin kulutusmenot per capita C1CPC(katkoviiva) sekä Q1CPC(kiinteä)") grid()

Kuvion tulkinta: kuten tehtävässä 3.1. ts.plot(aikas[,"qtotalpc"],aikas[,"ctotalpc"],lty=c(1:2), xlab="vuosi",ylab="markkaa",main="alkoholin kokonaiskulutusmenot per capita CTOTALPC(katkoviiva) sekä QTOTALPC(kiinteä)") grid() Kuvion tulkinta: kuten tehtävässä 3.1. ts.plot(aikas[,"ptotal"],aikas[,"p1c"],lty=c(1:2), xlab="vuosi",ylab="hintaindeksi, 1975=100",main="Alkoholin ja kokonaiskulutusmenojen implisiittiset hintaindeksit P1C(katkoviiva) ja PTOTAL(kiinteä)") grid()

Alkoholin implisiittinen hintaindeksi on seurannut melko tarkkaan kokonaiskulutusmenojen implisiittistä hintaindeksiä. Tämä on ollut seurausta alkoholipolitiikasta: alkoholin hintaa on pyritty nostamaan niin, että hinta seuraa elinkustannusten yleistä tasoa. ts.plot(aikas[,"r1c"], xlab="vuosi",ylab="hintaindeksi, 1975=100",main="Alkoholin reaalihintaindeksi") grid() Alkoholin reaalihintaa on pysynyt lähes vakiona; ks. edellisen kuvan selitystä. Kuitenkin 1970-luvun puolessa välissä alkoholi oli alennusmyynnissä. Tämä johtui siitä, että tulopoliittisissa kokonaisratkaisuissa sovittiin, että alkoholin hintaa ei saa nostaa. Alla on vielä kuvattuna perusmallissa (M1) käytettävät muuttujat.

Lisäksi voidaan tarkastella perustunnusluvut: > summary(lr1c) Min. 1st Qu. Median Mean 3rd Qu. Max. 4.491 4.610 4.641 4.633 4.662 4.718 > summary(lq1cpc) Min. 1st Qu. Median Mean 3rd Qu. Max. 4.944 5.129 5.500 5.616 6.196 6.311 > summary(lqtotalpc) Min. 1st Qu. Median Mean 3rd Qu. Max. 8.449 8.679 8.978 8.981 9.332 9.464

Esimerkkiaineisto ALKOKULU Luodaan tehtäviä 3.3-3.7 uusi tiedosto ALKOKULUP4, jonne sijoitetaan muuttujat LQ1CPC, LR1C ja LQTOTALPC sekä myös muuttuja Q1CPC tiedostosta ALKOKULUP2. Tarkastelemme tehtävissä 3.3. 3.7. seuraavia kysymyksiä mallille (M1): (M1) log(q1cpc) = 0 + 1 log(r1c) + 2 log(qtotalpc) + (i) (ii) Miten alkoholin kulutusmenoja ennustetaan mallilla (M1) ja ovatko ennusteet hyviä? Onko malli (M1) hyvä siinä mielessä, että se kuvaa alkoholin kulutusmenojen vaihtelua hyvin koko estimointiperiodilla? (iii) Pätevätkö yleisen lineaarisen mallin jäännöstermiä koskevat standardioletukset mallissa (M1)? Yleisen lineaarisen mallin jäännöstermiä t koskevat standardioletukset: Homoskedastuusoletus: 2 Var( ), 1,2,, Korreloimattomuusoletus: Normaalisuusoletus: Estimoidaan malli (M1) havainnoista 1950-1976. t t n Cor( s, t) 0, s t 2 t : N(0, ), t 1,2,, n log(q1c) = 0 + 1 log(r1c) + 2 log(qtotal) + Joudumme kysymyksiä (i)-(iii) tarkastellessamme toteamaan, että malli (M1) ei ole hyvä. Esimerkiksi mallin jäännöstermiä koskevia oletuksia testattaessa joudutaan melkein kaikki standardioletukset ja residuaalien normaalisuusoletus hylkäämään. Mitä on oikea johtopäätös tästä? Malli (M1) ei ole riittävä kuvamaan alkoholin kulutusmenojen vaihtelua. Näemme kurssin aikana, miten johdonmukainen regressiomallien rakennustekniikka johtaa perusmallia (M1) selvästi parempaan malliin. Tämä parempi malli on tyypiltään ns. dynaaminen regressiomalli. kp2=data.frame(lq1cpc,lr1c,lqtotalpc,q1cpc) write.table(kp2,"alkokulup4.txt") X=LQTOTALPC[-28:-32] #poistetaan havainnot 1977 eteenpäin Y=LR1C[-28:-32] Z=LQ1CPC[-28:-32] malli=lm(z~x+y)

summary(malli) Call: lm(formula = Z ~ X + Y) 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 X 1.50676 0.07188 20.963 <2e-16 *** Y -1.12184 0.46993-2.387 0.0252 * --- 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 Yllä olevan tulostuksen mukaan havainnoista 1950-1976 estimoitu regressioyhtälö on 2.708089 1.121844 LR1C + 1.506756 LQTOTALPC Ennusteet havainnoille 1950-1981 saadaan komennolla predict(). Ennusteen laatimisessa täytyy olla tarkkana data-tyyppien yhteensopivuudesta. ennuste=predict(malli,data.frame(y=lr1c,x=lqtotalpc)) -2.708089-1.121844*LR1C+1.506756*LQTOTALPC Talletetaan ennusteet muuttujaksi PREDM1 ja verrataan ennustetta PREDM1 estimoidun mallin (M1) sovitteeseen malli$fit: Havainnoille 1950-1976 ennuste PREDM1 yhtyy estimoidun mallin (M1) sovitteeseen, kun taas havainnoille 1977-1981 ennuste PREDM1 on aito ennuste. kp2$predm1=ennuste malli$fit Palautetaan vielä ennuste alkuperäiseen skaalaan transformaatiolla EPREDM1 = EXP(PREDM1) kp2$epredm1=exp(ennuste) write.table(kp2,"alkokulup4.txt") Tehtävä 3.3. Vertaa saatuja ennusteita muuttujalle Q1CPC muuttujan Q1CPC havaittuihin arvoihin piirtämällä havaitut arvot ja ennusteet samaan kuvioon. Kuinka suuri on ennustevirhe vuonna 1981? Tehtävä 3.3. Mitä opimme? Tehtävässä tarkastellaan regressiomallin selitettävän muuttujan arvojen ennustamista estimoidun regressiomallin avulla. Tehtävä 3.3. Ratkaisu: Mallia (M1) koskevat estimointitulokset on esitetty edellä. Piirretään estimoidun mallin selitettävän muuttujan arvot ja ennusteet (sovitteet) piirretään samaan kuvioon:

ts.plot(ts(q1cpc,start=1950),ts(kp2$epredm1,start=1950),lty=c( 1,2)) grid() Ylhäällä siis kiinteä viiva on oikea arvo, ja katkoviiva on ennuste/sovite. Ennustevirhe: Koska kp1$vuosi[32]=1981, niin ennustevirhe vuodelle 1981 on eli Q1CPC[32]-kp2$EPREDM1[32], 536.21 602.01 = 65.80 mk Ennustevirhe alkoholin kokonaiskulutusmenoissa vuoden 1975 hintoihin saadaan kertomalla väkiluvulla: 4,800,000 ( 65.80) = 315,840,000 mk Siten malli ei ennusta kovinkaan hyvin tulevaisuuteen.

Tehtävä 3.4. Piirrä Cookin etäisyydet mallista (M1) aikasarjana. Mitä havaitset? Tehtävä 3.4. Mitä opimme? Tehtävässä tarkastellaan poikkeavien havaintojen etsimistä Cookin etäisyyksien avulla. Tehtävä 3.4. Ratkaisu: Mallia (M1) koskevat estimointitulokset on esitetty edellä. DIST=cooks.distance(malli) DTS=ts(DIST, frequency=1, start=1950) plot(dts) grid() Välittömästi alkoholilain muutoksen jälkeisten vuosien 1969-1971 Cookin etäisyydet ovat selvästi edeltävien ja seuraavien vuosien Cookin etäisyyksia suurempia. Tämä viittaa siihen, että ko. vuosina havaintojen ja mallin yhteensopivuus ei ole hyvää. Sama on nähtävissä myös tarkasteluajanjakson alussa vuosina 1950-1954.

Tehtävä 3.5. Tee normaalisuustestejä mallin (M1) residuaaleille. Tehtävä 3.5. Ratkaisu: Mallia (M1) koskevat estimointitulokset on esitetty edellä. Piirretään ensin residuaalien histodiagrammi. hist(malli$res) qqnorm(malli$res) grid()

Kuvaajien perusteella residuaalit eivät noudata normaalijakaumaa kovin hyvin. Seuraavaksi normaalisuustestejä, joista osaa ei ole käsitelty luennolla. Kiinnostuneet voivat etsiä tietoa verkosta tai katsoa kurssin Tilastollisen Analyysin Perusteet ja Todennäköisyyslaskennan ja Tilastotieteen Peruskurssin luentokalvoja. Huomaa, että normaalisuustesteissä nollahypoteesina on oletus normaalisuudesta. Tehdään Shapiron-Wilkin testi: shapiro.test(malli$res) Shapiro-Wilk normality test data: malli$res W = 0.9069, p-value = 0.01936 Tehdään vielä Kolmogorov-Smirnov testi: mean.res <- mean(malli$res) sd.res <- sd(malli$res) ks.test(malli$res,"pnorm",mean.res,sd.res)

One-sample Kolmogorov-Smirnov test data: malli$res D = 0.1545, p-value = 0.4915 Alternative hypothesis: two-sided Eli K-S testin perusteella nollahypoteesia normaalisuudesta ei hylätä. Huomioi, että otoskoon ollessa pieni, niin nollahypoteesin hylkäämisen todennäköisyys on pieni K-S testissä, vaikka aineisto ei olisi likimainkaan nollahypoteesin mukaisesta jakaumasta. Sen sijaan Wilkin ja Shapiron testi näyttää yllä olevan tulostuksen mukaan johtavan normaalisuusoletuksen hylkäämiseen 5 %:n merkitsevyystasolla. Grafiikka kuitenkin osoittaa selvästi, että residuaalit eivät ole normaalijakautuineita. Emme voi tehdä oletusta residuaalien normaalisuudesta.

Tehtävä 3.6. Tee homoskedastisuustesti mallin (M1) residuaaleille. Tehtävä 3.6. Ratkaisu: Testataan homoskedastisuutta apuregressiolla: 2 e 0 1ˆ, 1,2,, t yt t t n Totesimme tehtävässä 3.5, että jäännökset (residuaalit) eivät ole normaalijakautuneita. Voimme kuitenkin suorittaa jakauma-vapaan permutaatiotestin. Käytetään viime viikon harjoituksissa luotua permtest-funktiota (koodi löytyy ATK-harjoitus 2 välilehden alta). set.seed(456) apur = lm(malli$res^2~malli$fit) R2.original <- summary(apur)$r.squared #permtest(d,y,k) #D = selittävät muuttujat, y=selitettävät muuttujat, #k=iteraatioiden lkm. k <- 20000 A <- permtest(malli$fit,(malli$res)^2,k) p.value <- 1- sum(a < R2.original)/k #p.value=0.01 Totesimme tehtävässä 3.5, että jäännökset (residuaalit) eivät ole normaalijakautuneita. Voimme kuitenkin suorittaa jakauma-vapaan permutaatiotestin. Käytetään viime viikon harjoituksissa luotua permtest-funktiota (koodi löytyy ATK-harjoitus 2 välilehden alta). Saamme p-arvon 0.01. Permutaatiotestin perusteella nollahypoteesi jäännöstermin homoskedastisuudesta hylätään 5% merkitsevyystasolla.

Tehtävä 3.7. Tehtävänä on tutkia alla kuvattua aineistoa regressioanalyysilla. Tiedostoon T38.txt on tallennettu kolme mallin rakentamisessa käytettävää aikasarjaa: CONS INC = kokonaiskulutus (consumption) (mrd mk) = tulot (income) (mrd mk) INFLAT = inflaatiovauhti (inflation) (%) Aikasarjat ¼-vuosiaikasarjoja, ja ne alkavat vuoden 1953 ensimmäisestä kvartaalista. 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ö. Miksi aineisto on simuloitu? Useimmissa todellisissa aikasarjoissa on piirteitä, jotka peittävät opetettavan asian (tässä lopullisena tavoitteena on esitellä dynaamisen regressiomallin rakentamisstrategiaa) opetettavan asian kannalta epäolennaisten ongelmien alle. Simuloiduissa aineistoissa saadaan opetettava asia tulemaan esille mahdollisimman puhtaana. Palautusohje Tällä kierroksella on palautustehtävä ensimmäistä kertaa hieman isompi yhtenäinen projekti. Tehtävien tarkastamisen nopeuttamiseksi: Ohje: Kuvaajien tallentaminen: Manuaalisesti RStudion käyttöliittymästä, ruudusta plot -> export Komennolla: o png("tiedostonimi.png") o plot(plotattava muuttuja) o lisämääreet( esim. grid() tai abline()) o dev.off() Ylläoleva koodi tallentaa kuvaajan plotin työhakemistoon tiedostoon tiedostonimi.png. (1) Piirrä aikasarjojen kuvaajat. Tarkastele kuvaajien perusteella aikasarjojen kuten trendiä sekä sen muutoksia, vaihtelua trendin ympärillä ja mahdollisia poikkeavia havaintoja. (2) Tutki aikasarjojen normaalisuutta. (3) Tutki aikasarjojen välisiä riippuvuuksia pistediagrammien (scatter plot) avulla. (4) Tutki aikasarjojen välisiä riippuvuuksia laskemalla aikasarjojen väliset korrelaatiot. Vertaa korrelaatioita kohdan (3) pistediagrammeihin. Vastaavatko tulokset toisiaan?

(5) Estimoi tavanomainen lineaarinen malli (M1) CONSt = 0 + 1 INCt + 2 INFLATt + t PNS-menetelmällä ja tallenna sekä residuaalit (muuttujaksi RES1) että sovitteet (muuttujaksi FIT1) perustamaasi tiedostoon. (6) Tulkitse saadut regressiokertoimet. (7) Piirrä estimoidun mallin residuaalit aikaa vastaan. (8) Tutki residuaalien normaalisuutta. (9) Testaa mallin jäännöstermin homoskedastisuutta. (10) Tarkastele estimoituja regressiokertoimia, niiden hajontoja ja merkitsevyyttä. (11) Mikä on mallin (M1) selitysaste? (12) Ovatko kaikki selittäjät tilastollisesti merkitseviä? (13) Onko malli kokonaisuudessaan merkitsevä? (14) Tutki onko aineistossa poikkeavia havaintoja piirtämällä Cookin etäisyydet aikaa vastaan. Pystytkö paikantamaan öljykriisin kuvion perusteella? (15) Mitkä standardioletukset ovat voimassa edellisten kohtien perusteella? Tee vielä seuraavat operaatiot: (16) Laske estimoidun mallin M1 residuaalien (muuttuja RES1) aritmeettinen keskiarvo. (17) Muodosta muuttuja RES1 FIT1 ja laske sen aritmeettinen keskiarvo. Saat sekä kohdassa (16) että kohdassa (17) tulokseksi erittäin lähellä nollaa olevan luvun (varsinkin tietokoneen laskutarkkuus huomioiden). Onko tämä sattumaa? (18) Laske Cor(CONS, FIT1) 2 Vertaa tulosta estimoidun mallin selitysasteeseen R 2. Mitä havaitset? Miksi?