Jouko.Kangasniemi@tt.fi

Kausitasoitus osaksi apl-ohjelmistoa

Taloudellisissa kuukausi/neljännesvuosi-aikasarjoissa on usein selvästi havaittava kausivaihtelu, joka on hyvä poistaa tehtäessä analyysejä aikasarjan todellisesta kehityksestä. Kausivaihtelusta pääsee eroon mm. yksinkertaisella liukuvalla keskiarvolla, erilaisilla suotimilla tai tarkoitusta varten tehdyllä kausitasoitusalgoritmilla. Ehkäpä yleisin käytössäoleva kausitasoitusmenetelmä on USA:n tilastoviranomaisen Censuksen kehittämä X11 ja sen X11-arima-laajennus. Ohjelmasta on saatavilla uusi X12-versio. Myös muita menetelmiä on olemassa, uusimpana Eurostatin Tramo/Seats. Ja onhan Suomessa monessa organisaatiossa yhä käytössä vanha ns. Kukkosen menetelmä, joka on kotimainen "parannettu" versio traditionaalisesta X11-algoritmista. Menetelmiä on siis monia.

Vaan mistä kätevä ja edullinen ratkaisu kausiongelmista kärsivälle APL-riippuvaiselle numeronmurskaajalle? Yksi tapa on ostaa kallis tilasto-ohjelmisto (esim SPSS tai SAS), jossa on mukana kausitasoitusmoduuli. APLmäinen ratkaisu olisi tietysti ohjelmoida koko tasoitusalgoritmi itse, mutta kaiken tekeminen ei ole aina käytännöllistä eikä edes mahdollista. Edullinen ratkaisu ongelmaan on imuroida X12-ariman ilmainen DOS-versio osoitteesta ftp://ftp.census.gov/pub/ts/x12a/.

Ilman käyttöliittymää toimivan dos-ohjelman käyttö on kuitenkin hieman hankalaa ja hidasta: ohjelmalle on annettava määrittelytiedosto, johon on ohjelman omalla syntaksilla kirjoitettu tasoitusoptiot. Ohjelmassa ei ole grafiikkaa, vaan graafiset analyysit on tehtävä itse jollain muulla välineellä. Oheisessa esimerkkiohjelmassa aaa.spc data annetaan aaa.dat-tiedostossa, jonka ohjelma lukee syötteenä, tekee erilaisia tilastotemppuja ja tallentaa tasoituksen tulokset useaan eri tiedostoon. Ohjelma käyttää lukujen tieteellistä esitysmuotoa, joka aiheuttaa tottumattomalle käyttäjälle päänsärkyä.

Dos-maailmassa tapahtuvaan kausitasoittamiseen liittyy siis paljon turhaa näpräilyä, jota pitää jotenkin helpottaa. TT:ssä onkin ekonomistien käytössä Dyalog APL:llä tehty käyttöliittymä X12-kausitasoitusohjelmaan, jolla tasoittaminen onnistuu tutulla windoosimaisella tyylillä ilman hankalaa dos-operointia. X12A.EXE on moottori, joka tekee tasoitustemput piilossa käyttäjältä. Tasoitusohjelma on myös ripustettu saumattomasti osaksi muita sovelluksia.

Mitenkä kausitasoitus käytännössä tapahtuu? Aluksi tasoitettava aikasarja haetaan tietokannasta tai Excelistä, jonka jälkeen ohjelma piirtää kuvan aikasarjasta ja samalla tallentaa sen tasoitusta varten tekstitiedostoon. Sitten valitaan halutut tasoitusoptiot ja käynnistetään tasoitus. Kausitasoitukseen liittyviä asetuksia on ohjelman mukana tuleva 100-sivuinen manuaali pullollaan, mutta yleisimmin käytetyt sopivat yhdelle ruudulle.

 

Varsinaisen tasoittaminen suoritetaan piilossa olevassa dos-ikkunassa Œcmd:n avulla antamalla x12-ohjelmalle syötteenä määrittelytiedoston nimi. Tasoitusoperaatio on hitaanpuoleinen, tasoitus kestää noin 5-10 sekuntia, jonka jälkeen tulos on valmis.

© Suoritetaan X12-arima-kausitasoitus
ŒCMD•(dirx12a,'X12a.EXE')(dirx12a,'aaa')''
ŒDL 5 © 5 sekunnin viive, jotta x12a ehtii tasoittaa...

Tasoituksen jälkeen tulokset luetaan tekstitiedostoista takaisin työtilaan. Tulostiedostoissa tieteellisessä esitysmuodossa oleva data pitää vielä muuttaa numeroiksi, mikä onnistuu hyvin Œvfi-systeemifunktiolla.

Z„Z stringrpl'-¯' © Vaihdetaan APL-miikat
Z„Z stringrpl'+0' © Plussat pois
Z„(~^/(³Z)¹' ')/[2]Z © Turhat sarakkeet pois
Z„1‡[2]†ŒVFI¨‡Z © Muunnetaan luvuiksi

Tasoituksen tuloksia voi tarkastella ohjelman useita valmiita kuvatyyppejä käyttäen, tai tulokset on mahdollista kopioida muihin ohjelmiin jatkojalostusta varten. X12-arima tulostaa oletuksena pitkät ja yksityiskohtaiset analyysin tasoituksen onnistumisesta, jotka saa esiin käyttöliittymän kautta.

Kausitasoitusohjelmaa ohjaavat funktiot on kätketty X12A-namespaceen, jota voi kätevästi käyttää myös erillisenä esim. eräajoluonteisissa tasoitustehtävissä. Allaolevalla lauseella saadaan aikasarjasta kausitasoitus- ja trendikomponentti.

out„'SA' 'TR' X12A.ADJUST data

Näin lopuksi voi arvioida Dyalogin ja X12-ariman yhteistyön toimivan oikein hyvin. Käytetty tasoitusmenetelmä on yleisesti tunnettu ja siten sen käyttöä ei tarvitse erikseen selitellä. Ohjelmalla on tarvittaessa mahdollista tehdä erittäin hienostuneita ja monimutkaisia analyysejä, tai sitä voi käyttää vain valmiita perusasetuksia ja automatiikkoja hyödyntäen. Tasoitusmoottori toimii hyvin sekä itsenäisenä ohjelmana, että osana muuta ohjelmistoa. X12-arima on tosin aikasarjojen massatasoitusta (> 100 sarjaa) ajatellen hitaanpuoleinen, mutta silti riittävän nopea pienillä aineistoilla.