Blogi

IBM:n SPSS Modelerilla tehoa analytiikkaan

Analytiikka edellyttää työkaluja, joita on tarjolla sekä ilmaisina että kaupallisina vaihtoehtoina. Analytiikkatyökalut voidaan jakaa myös koodiohjattaviin ja graafisella käyttöliittymällä varustettuihin ohjelmistoihin. Työkalujen käyttötavoissa, ominaisuuksissa, suorituskyvyssä ja hinnoissa on suuria eroja, joten työkalua käyttävän analyytikon ammattitaito, käytettävissä oleva aika ja analyysin tavoitetaso määrittelevät hinnan ohella sopivimman työkalun valintaperusteet.

Hyvä nyrkkisääntö on ajatella kaupallisia vaihtoehtoja graafisina tuotteina ja ilmaisia analytiikkavälineitä ohjelmointikielinä. Poikkeuksia toki on. Yleisimmät kaupalliset tuotteet ovat SAS ja IBM SPSS Modeler. Suosituimmat ilmaiset tiedon louhintaan, mallintamiseen ja visualisointiin tarjolla olevat ohjelmointikielet ovat R ja Python. SAS Minerilla ja SPSS Modelerilla työskentely tapahtuu workflow-tyyppisesti, jolloin prosessi tehdään valmiilla komponenteilla ja ajetaan virtana. Koodiohjattavat R ja Python puolestaan edellyttävät käyttötilanteessa koodausta. Nämä vaihtoehdot vaativat huomattavasti syvempää ohjelmointiosaamista, mikä nostaa kynnystä kasvattaa näitä työvälineitä.

Kaupallisten graafisten analytiikkatyökalujen käyttöliittymät ovat todella havainnollisia ja intuitiivisia, joten niiden käytön oppii nopeasti. Näiden työkalujen merkittäviä etuja havainnollisuuden lisäksi ovat prosessien helppo muokattavuus. Ilmaisten ohjelmointikielien merkittävin etu on joustavuus (tietokonetta voi käskyttää lähes täysin haluamallaan tavalla). Useisiin kaupallisiin tuotteisiin pystyy myös upottamaan koodia, jolloin toiminnallisuuksien kattavuudessa päästään tarvittaessa koodattavien tuotteiden kanssa samalle tasolle. Sekä ilmaiset että kaupalliset vaihtoehdot ovat prosessien osalta automatisoitavissa, mutta kaupallisten tuotteiden osalta se on jonkin verran helpompaa.

Itselläni on seitsemän vuoden kokemus R-ohjelmoinnista ja noin puolet vähemmän IBM:n SPSS Modelerin käytöstä. Viimeiset vuodet olen käyttänyt Modeleria ja sen oheistuotteita työssäni lähes päivittäin. Ohessa yhteenveto kokemuksistani em. työkalujen käytöstä.

  • R-ohjelmointikieltä käytettäessä ohjelmoinnin viemä aika on noin kolminkertainen SPSS Modeler-streamin tekoon verrattuna. Mitä enemmän ja useammassa lähteessä dataa käytetään, sitä paremmin aikasuhde alkaa kääntyy Modelerin eduksi.
  • Modelerin käyttö ja analyysiprosessien testaus on helppoa. Modelerilla prosessin teossa pääsee vauhtiin todella nopeasti, koska datan preparoinnin ja mallintamisen komponentit vedetään helposti workflow:hun, jonka jälkeen niiden attribuutit klikkaillaan paikalleen. Ensikertalaiselle Modeler on huomattavasti helpompi työväline päästä tuloksiin kuin koodausta vaativa ilmainen vaihtoehto.
  • Analyyttiset prosessit ovat monesti todella laajoja kokonaisuuksia. Riippuvuuksien jäljittäminen on työlästä ja vaikeasti tulkittavaa, jolloin jokin tekijä voi ohjelmoitaessa helposti jäädä huomaamatta. Modelerissa kokonaisuuksien hallinta, hahmottaminen ja muokkaaminen on huomattavasti helpompaa kuin pitkän koodin tulkitseminen ja muokkaaminen. Jos esimerkiksi alusta alkaen tehdyn ohjelmoinnin keskikohta muuttuu, se on uhka loppuprosessin robustisuudelle (= häiriösiedolle) toimimiselle pienin muutoksin. Jos ratkaisu on tehty best practise -periaatteilla, muutokset ovat useimmiten minimaalisia.
  • Yleensä SPSS Modelerin toiminnallisuudet riittävät koko prosessin läpiviemiseksi. Jos kuitenkin ilmenee tarvetta toiminnallisuuden laajentamiseksi, R-koodin upottaminen osaprosessiksi onnistuu hyvin.