## R-opasta on helppo käyttää script editorissa. Jos et tiedä, mitä argumentteja funktioon tulee sisällyttää, voit ## tarkistaa sen kirjoittamalla funktion nimen kysymysmerin perään ja suorittamalla komennon. Näin saat selaimeesi auki ## oppaan sivun, joka selittää funktion toimintaa. Esimerkiksi ?ts ## Haetaan aineisto - tässä tapauksessa OMX25 (voit olla tallentanut haluamasi tiedoston minne vain) ## header=TRUE olettaa, että tiedoston ensimmäisellä rivillä on muuttujien nimet data=read.table(file.choose(), header=TRUE) ## Tämän komennon pitäisi antaa sinun valita kansioistasi haluamasi tiedosto ## Vaihtoehtoinen tapa. Muuta tiedoston polku oikeaksi ja poista kommentointi jos haluat käyttää tätä menetelmää. ## ## data=read.table("C:/Opiskelu/Tilastotiede/Stationaariset 2014/Laskuharjoitukset/OMX25.txt",header=TRUE) y = ts(data$Y) ## Muodostetaan aikasarja. Komento etsii sarakkeen Y aineistosta datan, muuttaa sen aikasarjaksi ja nimeää y:ksi. ## Vaihtoehtoinen tapa, kun halutaan antaa ensimmäisen havainnon alkamisajankohta (start=1892) ## ja havaintojen lkm/aikayksikkö (freq=1). y=ts(data$Y, start=1892,freq=1) ## Aineiston alkuajankohta ja frekvenssi on ilmoitettu. freq = 1 tarkoittaa vuosihavaintoja. ## freq = 4 neljännesvuosihavaintoja, freq = 12 kuukausihavaintoja, jne ... Jos aikayksikköä kohti on ## enemmän kuin yksi havainto, täytyy alkuajankohta ilmoittaa vektorina. Tammikuu 1980 olisi start = c(1980, 1) ## Piirretään aikasarja plot(y, ylab="OMX25", main="OMX25 indeksi",xlab="") ## Kun y on aikasarjamuotoa (ts), plot komento piirtää kuvan, jossa x-akseli ## on korvattu aikajanalla. y-lab ja main argumentit nimeävät otsikon ja akselin. ## Muunnokset ## ## Tavanomaiset aritmeettiset operaatiot: +, -, *, /, ^ (potenssi) ## Tavanomaiset funktiomuunnokset: log, exp, sin, cos, tan, asin, acos, atan, sqrt,abs ## Aikasarjan logaritmointi ja differensointi (tarvittaessa) ly=log(y) ## Muunnokset säilyttävät aineiston aikasarjana. dy=100*diff(ly) ##Logaritminen differenssi voidaan tulkita prosenttimuutokseksi plot(dy,ylab="Prosenttia", main="OMX25 tuotto") ## Aikasarjan keskistäminen (tarvittaessa) dmean=mean(dy) dyk=dy-dmean ## Vähentää jokaisesta havainnosta havaintojen keskiarvon ## Autokorrelatiofunktion ja osittaisautokorrelaatiofunktion estimointi - tässä tapauksessa valittu viipymien määrä lag=40 acor=acf(ts(dy), lag=40, type = "correlation", main="Empiirinen autokorrelatiofunktio tuottosarjalle (OMX25)") pacor=pacf(ts(dy), lag=40, main=" Empiirinen osittaisautokorrelatiofunktio tuottosarjalle (OMX25)") ## Ljungin ja Boxin autokorrelaatiotesti. Tässä khi^2-jakauman vapausasteiden määrää säädetään "fitdf = " argumentilla. ## Nyt, kun käytetään alkuperäistä aikasarjaa eikä estimoidun mallin residuaaleja, asetetaan fitdf=0, eli vapausasteita ## valitaan oletusmäärä. Box.test(dy, lag = 10, type = c("Ljung-Box"), fitdf = 0) ## Kun autokorrelaatiofunktio ja osittaisautokorrelaatiofunktio halutaan laskea neliöidylle sarjalle, ## suoritetaan muunnos eli käytetään sarjaa dy2=dy^2 dy2=dy^2 acor2=acf(ts(dy2), lag=40, type = "correlation", main="Empiirinen autokorrelatiofunktio neliöidylle tuottosarjalle (OMX25)") pacor2=pacf(ts(dy2), lag=40, main="Empiirinen osittaisautokorrelatiofunktio neliöidylle tuottosarjalle (OMX25)")