15.11.2013

RapidMiner:in, SASin ja SQL Serverin analytiikkatyökalujen vertailu

SASia on pitkään pidetty ”the” analytiikkatalona, jonka pitkää kokemusta ja kattavaa analytiikkanäkemystä on ollut vaikea päihittää. Nyt kuitenkin Dortmundista kisaan ilmoittautuu RapidMiner, joka on jo ennestään ollut KDNuggetsin mukaan maailman eniten käytetty analytiikkaohjelmisto. RapidMiner on päättänyt tallata suoraan SASin varpaille ottamalla raskaan sarjan pääomasijoittajat mukaan liiketoimintaansa kasvattamaan ja perustamalla toisen pääkonttorin Bostoniin – aivan SAS:in kotikentälle.

Onkin syytä verrata ohjelmistoja keskenään ja laittaa ne paremmuusjärjestykseen: pystyykö RapidMiner haastamaan SASin ja jos pystyy niin missä. Vertailuun otetaan mukaan mustaksi hevoseksi kolmas jenkkisofta, Microsoftin SQL Server. Musta hevonen se on siksi, että moni ei edes tiedä, että SQL Serverin Analysis Servicestä löytyvät data mining välineet.

Vertailua hankaloittaa hieman se, että Microsoftin ja RapidMinerin kohdalla on kyse yhdestä analyyttisestä ohjelmistosta, kun taas SASin tarjoomassa niitä on monta. Niinpä SASin osalta keskitytään pääasiassa yleiskäyttöisiin data mining-työkaluihin Enterprise Miner (EM) ja Enterprise Guide (EG), osin täydennettynä viittauksilla SAS JMP:n ja SAS Visual Analytics:in suuntaan.

Ohjelmistoja vertaillaan neljällä kriteerillä, joilla kaikilla on suuri merkitys tuloksekkaan analytiikan tekemisessä: käytön helppous, data mining-tekniikoiden määrä, hinta ja toiminta tuotannossa. Kunkin osion voittaja saa kolme pistettä, toinen kaksi ja kolmas yhden pisteen.

Käytön helppous

Vertailun kaikissa ohjelmistoissa analytiikkaa tehdään hiirellä klikkaillen, perustasolla ei tarvitse osata koodata. RapidMiner voittaa kuitenkin tämän osuuden, koska siinä pystyy tekemään helposti asioita, jotka muissa ohjelmistoissa vaativat koodaamista – alla esimerkkinä learning curve:n teko “Optimize parametrs” -operaattorilla:

SAS EM:ssa ja EG:ssa valmiita rakennuspalikoita on jo vähemmän, mutta niiden käyttö on toki sujuvaa. SAS:in visuaalisimmat datatyökalut ovat tosin harmillisesti pääasiassa JMP:n ja Visual Analytics:in puolella. Tällöin ne eivät auta EM:llä tai EG:llä työskentelyä. Sen sijaan monipuolisia graafisia tarkasteluja (esim. plot view ja  advanced charts) voi tehdä sujuvasti osana mitä tahansa RapidMiner:in analytiikkaprosessia ja vieläpä missä tahansa kohdassa analytiikkaprosessia. Tässä on toinen syy RapidMinerin voittoon SAS:ista käytön helppouden osalta.

SQL Server jää kolmanneksi, koska tekeminen muuttuu äkkiä vaikeaksi, jos halutaan mennä vähänkään perustoiminnallisuuksia pidemmälle. Microsoft on selvästi tavoitellut ”paina vain kerran nappia” –tyylistä analytiikkaa, jota ole ei tarkoituskaan mennä luovasti virittelemään. Alla on tehty aikasarjaennusteita SSAS:ssä:

Lisäksi SQL Serverissä tekniikoiden läpinäkyvyys on luvalla sanoen heikko: käyttäjälle ei näytetä, mitä konepellin alla tapahtuu. Kunnollista dokumentaatiota käytetystä tilastotieteestä ei myöskään ole. Tämä jättää käyttäjälle epävarman tunteen puseroon: mitä tarkalleen ottaen tulikaan tehtyä? Nämä kommentit koskevat myös MS SQL Server Add-ins for MS Officea (ja osin myös SAS Add-in for Microsoft Officea): peruskäyttö on helppoa, mutta pidemmälle menevä luova käyttö on haastavaa.

Tekemisen läpinäkyvyys on puolestaan SASilla loistokunnossa, jopa analytiikan teoreettinen tausta on dokumentoitu tarkkaan lähdeartikkeleita myöten (esim. proc mixed:in manuaali on puhelinluettelon kokoinen). Tähän ei RapidMiner harmillisesti yllä, dokumentaatio on lähinnä hyvää perustasoa, toki huimasti parempaa kuin Microsoftilla.

-> RapidMiner 3 pistettä, SAS 2 pistettä ja SQL Server 1 piste

Data mining –tekniikoiden määrä

Erilaisia data miningiin liittyviä tekniikoita ja työkaluja (operaattoreita) on RapidMinerissa satoja ja SAS EM:ssä ja EG:ssä kymmeniä. SQL Serverissä on vakiona yhdeksän mining-algoritmia. RapidMinerin perusoperaattoreilla pärjää todella pitkälle, etenkin kun lisätään R ja Weka laajennokset.

SAS:issa graafista analytiikkaa voi aina täydentää koodaamalla omaa SAS/STAT, SAS/ETS tai nykyään jopa aikasarjamoottori SAS/HPF:n koodia EM:n Code Node:en. Tämä avaa SAS-käyttäjälle niinikään satojen työkalujen pakin, kuten myös SASin data step –kielen toiminnallisuudet. RapidMiner kuitenkin voittaa SASin, koska siinä on valmiina tuntuvasti enemmän analyysejä vakiona.

-> RapidMiner 3 pistettä, SAS 2 pistettä ja SQL Server 1 piste

Toiminta tuotannossa

Hämmästyttävän usein yritykset mieltävät analytiikan vain tilastomatemaatikon koneella tapahtuvaksi puuhaamiseksi. Kuitenkin tuossa vaiheessa analytiikasta on koitunut vain kuluja  -ikään kuin kirjoittaisi pöytälaatikkoon. Todellinen ja iso hyöty syntyy vasta kun analytiikka otetaan käyttöön yrityksen tuotantoympäristössä ja sillä aletaan ohjata yrityksen liiketoimintaa. Esimerkiksi asiakaspoistumamalli siirretään osaksi yöllisiä eräajoja ja kampanjointi kohdistetaan päivittäin niihin asiakkaisiin, joilla on mallin mukaan suurin poistumavaara.

SAS on sisäistänyt tämän loistavasti, RapidMiner erittäin hyvin ja SQL Server kohtuullisesti. Tämä on myös osion paremmuusjärjestys. Esimerkkinä mainittakoon se, että SAS EM:ssa kehitetty malli voidaan tallentaa metadataan, josta sitä edelleen voidaan sujuvasti kutsua SAS Data Integraatio Studiossa osaksi datavirtaa (mining results transformaatio) vaikapa juuri laskemaan poistumariskejä osana eräajoja.

Vielä pidemmälle menee SASin Model Manager, jolla voidaan siirtää malli tuotantoon, seurata sen elinkaarta ja osumatarkkuutta ja vaihtaa tarvittaessa uusi malli. Samalla käytetyt mallit historioidaan, jotta ei keksittäisi pyörää uudestaan. Lisäksi uudelleenmallinnus tehdään juuri silloin kun tarvitaan (esim. auroc putoaa alle 0,7:n) eikä mallinnella turhaan vain varmuuden vuoksi. Tämä lisää tuntuvasti analytiikan tehokkuutta, puhumattakaan siitä että esimerkiksi finanssialalla tällainen läpinäkyvä mallinnushistorian audit trail on joissain tilanteissa viranomaisvaatimus. Alla seurataan tuotannossa olevien mallien osumatarkkuutta Model Managerin dashboardissa:

model-manager-dashboard_full

Vastaavat ominaisuudet löytyvät enimmäkseen RapidServeristä, RapidMinerin tuotantopuolesta vastaavasta osasta. Osa toiminnallisuuksista on suoraan olemassa olevia, osa saavutetaan vanhoja yhdistelemällä. Esimerkiksi edellä mainitut Model Managerin hyvät ominaisuudet on mahdollista saavuttaa yhdistelemällä RapidServerin ETL- ja raportointitoiminnallisuuksia. RapidMinerille siis kakkossija.

SQL Server on pakko jättää kolmossijalle. Ensinnäkin sen analyyttinen DMX-ohjelmointikieli on hankala käyttää. Eräs ongelma on se, että DMX:n prediction join:eja ei voi ketjuttaa siten kuin SQL-kielen joineja. On hankalaa esim. hakea SSAS:stä havainnon klusterin keskipiste ja yhdistää siihen pareittain muiden havaintojen mahalanobis-etäisyydet samaisesta keskipisteestä. Toiseksi, mallin tietojen (esim. parametriestimaattien) haku SSAS:n puurakenteesta on hankalaa. Vertailu erittäin toimiviin SASin Output Delivery System:iin ja RapidMinerin ”Apply Model” ja “Retrieve” operaattoreihin on paikallaan.

Ihmetystä aiheuttaa myös se, että oletusarvoisesti  DMX ei toimi, koska se ei saa ottaa dataa sisäänsä. Siksi joka instanssissa on erikseen asetettava SSAS:n security välilehdelle asetukset DMX:n salliviksi (AllowAdHocOpenRowsetQueries, AllowProvidersInOpenRowset ja AllowSessionMiningModels). Microsoftin ansioksi on kyllä laskettava se, että SSIS:stä toki löytyvät analyyttiseen tuotantotekemiseen tarvittavat peruskomponentit mallin päivittämiseen tuoreimmalla datalla (Data mining model training destination) ja uuden datan pisteyttämiseen (Data Mining Query Task), mutta SASin ja RapidMiner vievät voiton sujuvamman ja kattavamman toiminnan ansiosta.

-> SAS 3 pistettä, RapidMiner 2 pistettä ja SQL Server 1 piste

Hinta (hyötyyn suhteutettuna)

Ohjelmistojen hintavertailu on haastavaa, koska hinta riippuu ympäristöstä johon ohjelmisto asennetaan, ympäristöjen lukumäärästä ja käyttäjien määrästä. Silti voidaan todeta, että (absoluuttisen) hintavertailun yllätysvoittaja löytyy Microsoftilta. Tämä johtuu siitä, että jos yrityksellä vain on jo käytössä SQL Server (Enterprise ja BI editionissa on kaikki data mining-toiminnallisuudet, standardissa vain osa) niin sen data mining –työkalujen käyttö on ilmaista. Mitään lisenssilaajennoksia ei tarvita. Microsoftin BI-putki SSIS – SSAS – SSRS on niin laajasti käytössä, että tämä on tilanne todella monessa analytiikkaa harkitsevassa yrityksessä. Enin käyttöä rajoittava tekijä näyttäisikin olevan tietämyksen ja osaamisen puute. Absoluuttinen hinta tuo siis Microsoftille voiton, toki kapeampi kohderyhmä täytyy pitää mielessä.

Kakkossijan jakavat SAS ja RapidMiner. Molemmat saavat puolitoista pistettä, joskin hyvin eri perustein, eikä sijoitusta voi päättää ilman että suhteuttaa hintaa saavutettaviin hyötyihin. Perus- ja keskiraskaassa analytiikassa RapidMiner on monesti vahvoilla, koska se tarjoaa edullisesti todella laajan valikoiman valmiita työkaluja. Mutta mitä järeämpää analytiikkaa tehdään, sen vahvemmilla SAS useimmiten on, joskus jopa ainoa vaihtoehto. Absoluttinen hinta toki kasvaa kun analytiikkahaaste kovenee, mutta SASilla saavutettavat hyödyt kasvavat usein vielä voimakkaammin. Erityisesti SASin monet toimalaratkaisut kuuluvat tähän kategoriaan. Esimerkiksi retail-puolella Revenue Optimization tuotteella tähdätään satojentuhansien myyntiennusteiden tekoon joka tuotteelle, joka myymälään ja joka päivä. Samalla optimoidaan niiden hinnat ja kampanjat – ja tämä kaikki tarvittaessa jokaöisinä eräjoina.

Lopuksi on todettava, että mikä tahansa – ilmainenkin – ohjelmisto on kallis, jos se ei ratkaise yrityksen liiketoimintaongelmaa.

-> SQL Server 3 pistettä, RapidMiner 1,5 pistettä ja SAS 1,5 pistettä

Dortmund donkkaa tykimmin

RapidMIner voittaa vertailun 9,5:llä pisteellä, SAS tulee toiseksi 8,5:llä pisteellä ja SQL Server on kolmas kuudella pisteellä. Alla on esitetty taulukkona vertailun tulokset:

taul

RapidMInerin vahvuudet ovat sujuva ja intuitiivinen käyttö sekä laaja paletti valmiita työkaluja kohtuuhintaan. SASilla työkalujen määrä ja niiden sujuva käyttö ovat myös hyvällä tolalla, mutta se ottaa voiton sujuvassa toiminnassa tuotannossa.

SQL Serverilläkin on paikkansa. Se on vakavasti harkittava vaihtoehto niille yrityksille, joilla on jo käytössä SQL Server ja jotka aloittelevat data miningia. Tai joiden tavoitteena on ennemmin 80/20-analytiikka kuin pureutuminen jokaiseen epsiloniin akateemisella perusteellisuudella.

Mikä analytiikkaohjelmisto minulle sopii?

Viime kädessä kaikki tässä käsitellyt ohjelmistot ovat päteviä asiassaan ja erot niiden toiminnassa ovat ennemmin painotuksia kuin vakavia puutteita; kaikki selviävät valtaosasta analytiikkahaasteista. Jos voimakkaasti yksinkertaistetaan, voi ohjelmistoja suositella seuraavasti:

___________________________________________________________________________________________________

Antti Ollikainen on työskennellyt 5,5 vuotta SASilla seniorikonsulttina ja 2 vuotta Samcomin Microsoft-osastolla arkkitehtina SQL Server päätyökaluna. Lisäksi Antti on sertifioitu RapidMiner analyytikko. Tätä nykyä Antti konsultoi asiakkaita Louhialla ennakoivan analytiikan ja matemaattisen optimoinnin hankkeissa, kaikkia tässä mainittuja analytiikkasovelluksia asiakkaan tarpeen mukaan käyttäen.

Share
Contact Person

Blog writer

Antti Ollikainen

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!

Vincit Bilot

Bilot & Vincit have joined forces!

See where the story continues 

You have Successfully Subscribed!