MS-C2128 Ennustaminen ja aikasarja-analyysi 4. harjoitukset / Tehtävät Kotitehtävät: 3, 5 Aihe: ARMA-mallit Tehtävä 4.1. Tutustu seuraaviin aikasarjoihin: Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus INTEL.TXT Intel_Close Intelin osakekurssi (Pörssi-) päivä n = 20 Intel_Volume Intelin osakkeiden myynti SUNSPOT.TX T Spots Auringonpilkkujen määrä 1 v n = 215 SERIESA.TXT SeriesA Erään kemiallisen aineen konsentraatiolukema eräässä kemiallisessa prosessissa MLCO2.TXT MLCO2 Mauna Loa -tulivuorella tehtyjen hiilidioksidimittausten tulokset SALES.TXT Sales Erään tukkukaupan myynnin volyymi 2 h n = 197 1 kk n = 216 1 kk n = 144 PASSENGERS.TXT Passengers Lentomatkustajien lkm kansainvälisillä linjoilla USA:ssa 1 kk n = 144 Tehtävä 4.1. Mitä opimme? Tehtävässä tutustutaan aikasarjoihin, joita analysoidaan harjoitustehtävissä 4.3.-6. usealla eri tavalla. Tehtävä 4.1. Ratkaisu: Yllä olevan taulukon aikasarjoja kuvaavat aikasarjadiagrammit on esitetty alla. INTEL=read.table("INTEL.txt",header=T)
SUNSPOT=read.table("SUNSPOT.txt",header=T) SERIESA=read.table("SERIESA.txt",header=T) MLCO2=read.table("MLCO2.txt",header=T) SALES=read.table("SALES.txt",header=T) PASSENGERS=read.table("PASSENGERS.txt",header=T) Intel_Close=ts(INTEL$Intel_Close) Intel_Volume=ts(INTEL$Intel_Volume) Spots=ts(SUNSPOT$Spots) SeriesA=ts(SERIESA$SeriesA) Mlco2=ts(MLCO2$MLCO2,frequency=12) Sales=ts(SALES$Sales,frequency=12) Passengers=ts(PASSENGERS$Passengers) INTEL: Intel_Close Intelin osakekurssi New Yorkin pörssipäivän lopussa 4:n viikon ajalta (huom. pörssiviikko = 5 arkipäivää) plot(intel_close) Ei selvää trendiä; aikasarjan taso vaihtelee Ei kausivaihtelua
INTEL: Intel_Volume Intelin osakkeen päivämyynti (kpl) New Yorkin pörssissä 4:n viikon ajalta (huom. pörssiviikko= 5 arkipäivää) plot(intel_volume) Ei selvää trendiä; aikasarjan taso vaihtelee Ei kausivaihtelua SUNSPOT: Spots Auringonpilkkujen vuotuista määrää kuvaava muuttuja plot(spots)
Ei trendiä Selvää syklistä vaihtelua; syklin pituus on n. 11 vuotta, mutta vaihtelee jonkin verran; syklisen komponentin amplitudi (aallon korkeus) vaihtelee SERIESA: SeriesA Erään kemiallisen aineen konsentraatiolukemat kahden tunnin välein eräässä kemiallisessa prosessissa plot(seriesa)
Ei selvää trendiä; aikasarjan taso vaihtelee jonkin verran Ei kausivaihtelua Voimakasta lokaalia vaihtelua MLCO2: MLCO2 Mauna Loa -tulivuorella (Havaiji) tehtyjen hiilidioksidimittausten tulokset plot(mlco2) Nouseva (lähes) lineaarinen trendi; aikasarjan yleistaso vaihtelee jonkin verran trendin ympärillä; hiilidioksidin määrä on siis lisääntynyt (kasvihuoneilmiön paheneminen?) Melko säännöllistä kausivaihtelua; kauden pituus 12 kk; kausivaihtelukomponentin amplitudi (aallon korkeus) pysyy vakiona SALES: Sales Erään tukkukaupan kuukausimyynnin arvo plot(sales)
Nouseva (lähes) lineaarinen trendi; aikasarjan yleistaso vaihtelee jonkin verran trendin ympärillä Melko säännöllistä kausivaihtelua; kauden pituus 12 kk; kausivaihtelukomponentin amplitudi (aallon korkeus) pysyy vakiona PASSENGERS: Passengers Kansainvälisten lentolinjojen vuotuiset matkustajamäärät USA:ssa plot(passengers)
Nouseva lievästi käyräviivainen trendi Melko säännöllistä kausivaihtelua; kauden pituus 12 kk; kausivaihtelukomponentin amplitudi (aallon korkeus) kasvaa aikasarjan tason mukana Tehtävä 4.2. Tiedostossa PASSENGERS2.TXT on aikasarja Passengers. Piirrä aikasarja käyttäen y- akselilla sekä lineaarista että logaritmista asteikkoa ja vertaa kuvioita toisiinsa. Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus PASSENGERS2. TX Passengers Lentomatkustajien lkm kansainvälisillä linjoilla USA:ssa 1 kk n = 144 Tehtävä 4.2. Mitä opimme? Tehtävässä tutustutaan siihen, miten logaritmointi vaikuttaa aikasarjaan. Aikasarjan logaritmointi Aikasarjoja analysoidaan usein logaritmisessa muodossa. Asialooginen perustelu logaritmoinnille: Muuttujan arvojen suhteelliset muutokset ovat usein tärkeämpiä kuin niiden absoluuttiset muutokset. Tekniset perustelut logaritmoinnille: Jos aikasarjassa on eksponentiaalinen trendi, trendi voidaan linearisoida logaritmoimalla aikasarja. Jos aikasarjan varianssi (tai syklinen vaihtelu) kasvaa aikasarjan tason mukana, varianssi voidaan (usein) vakioida logaritmoimalla aikasarja. Logaritmointi ja suhteelliset muutokset Jos muuttujan x arvo x0 muuttuu p %, niin uusi arvo x1 on p x1 1 x0 100 Logaritmoimalla saadaan: p p log( x1 ) log( x0 ) log 1 log( x0) 100 100 Siten suhteellinen muutos aikasarjan tasossa on logaritmoituna (lähes) riippumaton tasosta ja riippuu (lähes) pelkästään muutosprosentista p.
Tehtävä 4.2. Ratkaisu PASS2=read.table("PASSENGERS2.TXT",header=T) names(pass2) On asiallista laittaa vuosiluvut kohdalleen. Kirjoitetaan PASS2$Year PASS2$Month Täten aikasarja tulee määritellä seuraavasti: ts2=ts(pass2$passengers, start=1949, frequency=12) Aikasarja Passengers, kun y-akselilla käytetään lineaarista asteikkoa: plot(ts2)
Aikasarja Passengers, kun y-akselilla käytetään logaritmista asteikkoa: plot(log(ts2)) Alkuperäisen aikasarjan kausivaihtelun amplitudi (aallonkorkeus) kasvaa aikasarjan tason mukana (ylempi kuva). Logaritmointi vakioi amplitudin selvästi (alempi kuva). Toisaalta alkuperäisen aikasarjan trendin (lievä) käyryys ylikorjautuu (lievästi) logaritmoinnissa. Tehtävä 4.3. Määrää differenssit D, D12 ja D12D tiedoston SALES.txt aikasarjasta Sales ja vertaa differenssejä alkuperäiseen aikasarjaan ja toisiinsa. Mitkä edellä mainituista operaatioista tuottavat stationaarisen aikasarjan? Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus SALES Sales Erään tukkukaupan myynnin volyymi 1 kk n = 144
Tehtävä 4.4. Tehtävässä 4.1. tarkasteltiin alla olevassa taulukossa lueteltuja aikasarjoja. Tiedosto Muuttuja Kuvaus Havaintoväli Aikasarjan pituus INTEL Intel_Close Intelin osakekurssi (Pörssi-) päivä n = 20 SUNSPOT Spots Auringonpilkkujen määrä 1 v n = 215 (a) Tutki aikasarjojen stokastisia ominaisuuksia estimoimalla niiden autokorrelaatio- ja osittaisautokorrelaatiofunktiot. Tehtävä 4.4. Mitä opimme? Tehtävässä analysoidaan usealla eri tavalla aikasarjoja, joihin on tutustuttu harjoitustehtävässä 4.1. Tehtävä 4.4. Ratkaisu: Ladataan aluksi paketti forecast install.packages( forecast ) library(forecast)
Intel_Close Ensin on syytä tarkastella kuvaajia varianssin ja trendin varalta, ja tarvittaessa tehdä muunnoksia. Näitä on piirretty tehtävässä 4.1. Lasketaan autokorrelaatiot ja osittaisautokorrelaatiot. Acf(Intel_Close) Pacf(Intel_Close) Tässä siniset viivat kertovat tilastollisen merkitsevyyden, siis erottavat merkitykselliset havainnot kohinasta.
Spots Kommentteja: (1) Aikasarja Intel-Close voi kuvion perusteella hyvin olla stationaarinen ja se ei siten vaadi differensointia. Aikasarjan taso vaihtelee kyllä melko voimakkaasti, mutta sen käyttäytyminen on lokaalisti rauhallista. Aikasarjassa ei ole monotonista trendiä eikä näkyvää kausivaihtelua. (2) Korrelaatiofunktiot viittaavat AR(2)-malliin. Tehtävän 1 perusteella Spots on valmiiksi stationaarinen Acf(Spots,lag.max=50) Pacf(Spots,lag.max=50)
Kommentteja: (1) Aikasarjaa Spots voi kuvion perusteella pitää stationaarisena ja se ei siten vaadi differensointia. Aikasarjan yleistaso pysyy vakiona. Aikasarjassa ei ole trendiä, mutta siinä on selvää syklistä vaihtelua, jonka jakso on n. 11 vuotta. Jaksolle ei voida löytää luontevaa selitystä (ja lisäksi jakson pituus ei ole täysin vakio), mikä sulkee pois kausidifferensoinnin käytön. (2) Korrelaatiofunktiot ja spektri voisivat viitata AR(2)-malliin, tosin pacf:ssä on näyttöä tätä vastaan. Tehtävä 4.5. Tiedostoon t45.txt on tallennettu aikasarjat C1-C5. Jokaisesta aikasarjasta on 120 havaintoa. Aikasarjat C1-C5 on simuloitu niin, että niiden generoinnissa on käytetty teoreettisina malleina erityyppisiä SARMA-prosesseja. Osassa malleista on ollut mukana kausivaihteluosa, joissa kauden pituutena on ollut 12, osassa ei ole ollut kausivaihteluosaa. (a) Yritä identifioida parhaat mahdolliset SARMA-tyyppiset mallit aikasarjoille C1-C5. Esitä perustelut valinnoillesi. Käytä apunasi ARMA-esimerkkejä ja R-komentoa arima.sim(), jolla saat luotua omia aikasarjoja. Esimerkiksi: AR2<- arima.sim(list(ar=c(0.7,-0.5),ma=c(0,0)), n = 200). Tehtävän ratkaisut eivät ole kiveenhakattuja. Useassa tapauksessa on monta mahdollista hyvää vaihtoehtoa, kunhan perustelut ovat kohdillaan.