1.07.2019 / Jędrzej Furmann

Jeszcze kilkanaście, a nawet kilka lat temu o R nie było raczej zbyt głośno. Bazujący na oldschoolowej, proceduralnej składni i mało wydajny program nie był zbyt atrakcyjny jako alternatywa dla innych języków programowania. Szybko okazało się jednak, że ten stworzony w latach ’90 język szybko zyskuje na popularności wraz ze wzrostem zainteresowania rynku specjalnością data science. R stał się łatwo dostępnym środowiskiem służącym analitykom danych, a niekoniecznie programistom. Jaka jest jednak przewaga R nad innymi językami?

Stack Overflow Traffic to programming languages
Porównanie popularności zapytań dotyczących wybranych języków programowania w serwisie Stack Overflow. W wahaniach popularności C widać być może wakacje i okresy egzaminów studenckich 🙂

Przede wszystkim należy zaznaczyć, że do analizy danych czy uczenia maszynowego R nadaje się równie dobrze jak Python. Te dwa języki stanowią „biblię” data science i absolutną podstawę działania w tych obszarach. W ogólności, cokolwiek na polu data science da się zrobić w R, jest również wykonalne w Pythonie i odwrotnie. R to naturalnie środowisko open source, do którego łatwiej niż gdziekolwiek indziej można dołożyć swoją cegiełkę. Baza R to ponad 14 tysięcy pakietów do najróżniejszych celów – od uproszczeń w składni, przez zbiory otwartych danych, po wizualizację danych czy modele predykcyjne – a liczba bibliotek codziennie rośnie dzięki zaangażowaniu użytkowników. Do każdej z nich istnieje wyczerpująca dokumentacja, dostępna z poziomu RStudio (najczęściej używanego środowiska i kompilatora do R). Język ten jest też bardzo uniwersalny dzięki możliwościom połączenia z innymi językami (C, Java), SQL-owymi bazami danych (szczególnie przydatne przy działaniu na dużych zbiorach, gdzie nie trzeba ich importować do R) czy narzędziom do big data, jak Spark albo Hadoop.

Zastosowania R

Odkąd w R stworzono pakiet dplyr, możemy bardzo szybko i łatwo kształtować swoje zbiory danych i wyłuskiwać z nich potrzebne informacje. dplyr pozwala przetworzyć dane w formie łańcucha kodu, dzięki czemu proces ten jest szybki i czytelny. Pakiet ten jest częścią większej biblioteki tidyverse, gromadzącej pakiety służące do szybkiego przetwarzania danych – oprócz dplyr znajdziemy tam na przykład readr, bibliotekę ułatwiającą pobieranie danych bez potrzeby konwersji znaków do czynników, czy ggplot2, ogromne narzędzie do przedstawiania najróżniejszych wykresów. Poniżej przykładowy kod, dla każdego gatunku w tabeli starwars obliczający jego średnia masę oraz liczebność grupy – czytelne, prawda?

starwars %>%
  group_by(species) %>%
  summarise(
    n = n(),
    mass = mean(mass, na.rm = TRUE)
  ) %>%
  filter(n > 1,
         mass > 50)

## # A tibble: 8 x 3
##   species      n  mass
##   <chr>    <int> <dbl>
## 1 Droid        5  69.8
## 2 Gungan       3  74  
## 3 Human       35  82.8
## 4 Kaminoan     2  88  
## 5 Mirialan     2  53.1
## 6 Twi'lek      2  55  
## 7 Wookiee      2 124  
## 8 Zabrak       2  80

Ponieważ aktywną społeczność użytkowników R tworzą w dużej mierze statystycy, R można używać do dowolnych metod analizy statystycznej. Czy to randomizacje, testowanie hipotez, analiza wariancji/regresji, szeregi czasowe czy analiza przeżycia, bez problemu znajdziemy odpowiednie funkcje w podstawowej wersji R lub w bibliotekach. Coraz silniejsze w R stają się jednak narzędzia do uczenia maszynowego, co niegdyś było bardziej domeną Pythona. Oprócz funkcji do samego zbudowania modelu i predykcji – niezależnie czy mówimy o regresji logistycznej, drzewach decyzyjnych, klasyfikacji, czy o ewaluacji wyniku – istnieje też szereg algorytmów pomocniczych, jak np. MICE (algorytm uzupełniający brakujące dane w tabeli) czy PCA (redukcja wymiaru).

Czysty kod generowany w RStudio niespecjalnie nadaje się do prezentacji szerszemu gronu odbiorców, ale z pomocą RMarkdown i Shiny bez problemu można pokazać wyniki swojej pracy. Pierwsze z tych narzędzi służy do generowania czytelnych raportów, w których można pokazać „wyczyszczone” wyniki i wykresy bez kodu, natomiast Shiny buduje aplikacje webowe.

Shiny web app
Przykładowa aplikacja Shiny: wykres ocen wybranych filmów.

Łatwość importowania, przetwarzania, wizualizacji i analizy danych, a następnie budowania modelu i prezentowania wyników sprawia, że data science jest łatwiejsze i przyjemniejsze dzięki R. A skoro przez wielu to właśnie ta profesja jest wskazywana jako najbardziej przyszłościowa, to wydaje się, że R może szybko dołączyć do kanonu IT.

 


7.06.2018 / Lasse Ruokolainen

Kun toimarimme Mika Laukkanen alkuvuodesta alkoi vihjailla osallistumisesta Bilot:in järjestämään hackathoniin, en oikein tiennyt mitä tästä olisi pitänyt ajatella. Eihän tällaisella (entisellä) pitkän linjan akateemisella tutkijalla ollut mitään hajua koko käsitteestä.
Tiedossa oli kuulemma erinäisten asiakkaiden sparraamista AI:n saralla – vieläpä suurelta osin omalla ajalla, joten suhtauduin ajatukseen, sanotaanko, melko avoimesti.

 

Kahden vuorokauden uneton rutistus, pitsa- ja kokispalkalla…

Kun häkki sitten polkaistiin käyntiin huhtikuun alkupuolella, oli kuvio ehtinyt jo kirkastua melkoisesti. Etenkin, kun pääsin osallistumaan häkkiin osallistuvien asiakkaiden potentiaalisten bisnesongelmien ennakkokartoitukseen.

Kyseessä oli huolella järjestetty, kahden kuukauden häkki, jossa ratkottiin koneoppimisen ja tekoälyn turvin Reiman, Altian, Raision ja KONEen liiketoimintaongelmia. Kisaan lähdettiin Bilotin konsulteista ja Louhian Data Science -tiimin jäsenistä kootuin joukkuein.
Itse osallistuin KONEen ja Raision joukkueisiin.

Hissi

 

 

 

Kuten arvata saattaa, tavoitteet olivat melko erilaiset – toisessa keississä keskityttiin hisseihin ja toisessa maidontuotantoon. Tämä tarjosi, ainakin allekirjoittaneelle, kaksi erilaista oppimiskokemusta.

 

 

 

Se tuskin on kenellekään yllätys, että suurimmat haasteet liittyivät näissäkin projekteissa dataan.
Ei niin että se olisi ollut huonoa, mutta datan hankkimiseen, yhdistelyyn ja muokkaamiseen saatiin taas kulumaan leijonan osa häkkiin uponneista työtunneista. Loput ajasta käytettiin analytiikan hiomiseen ja varsinkin käyttöliittymien kehittämiseen; kysehän oli kuitenkin ennen kaikkea tekoälyratkaisuista, ei pelkästä analytiikasta.

 

… vai lähdetäänkö Piilaaksoon?

Lopulta, tämän viikon tiistaina, koitti suuri päivä, jolloin asiantunteva, ulkopuolinen tuomaristo laittoi häkin lopputulokset Voittoparemmuusjärjestykseen.

Hienojen esittelyiden jälkeen saatoin joukkuetovereineni jopa hieman hymyillä, kun team-Raisio julistettiin voittajaksi.

Kaikki joukkueet pystyivät osoittamaan itselleen ja asiakkaille, että lyhyessäkin ajassa voidaan saada aikaan melko päräyttäviä ratkaisuja. Tämä olikin tässä häkissä mainetta ja kunniaa (hienoja palkintoja unohtamatta) tärkeämpää.
Näille ratkaisuille voidaan osoittaa konkreettisia ja merkittäviä liiketoimintahyötyjä!

Saavutettu lopputulos oli varmasti vasta alku, jonka pohjalta voidaan tulevaisuudessa kehittää todellisia tuotantoratkaisuja.

Lopetan pariin melko kulahtaneeseen fraasiin. Minusta tuntuu, että aletaan jo melko hyvin ymmärtää, että: don’t underestimate the power of data science. Tämän harjoituksen perusteella olen myös vahvasti sitä mieltä, että parempi data-ukko (tai akka) häkissä kuin yksin kotona koodia vääntämässä.

 

Lue lisää Bilotin Mathias Hjeltin blogi Hackathoneista ja pistä 29.8 kalenteriin – pääset kuulemaan lisää hackatonista Dixital X -tapahtumassa.


5.06.2018 / Nanni Koski

Mitä data scientistin tulee osata? Kuinka saada ajatus itämään siitä, millaisiin asioihin data scientist törmää työssään? Kuinka esittää asiat realistisesti? Ja kuinka saada koulutettavan käsitys toiminnan kokonaiskuvasta kukkimaan pidempään kuin pöytään kannettu tulppaanikimppu?

Interverkko

Näitä minä mietin tänään, kun suunnittelen uutta sisältöä meidän Data Sciencen perusteet -kurssille.

Tunne datasi

Turhaan ei sanota, että data scientistin työstä 80-90 % kuluu datan tutkimisessa, muuttujien selvittämisessä ja datan muokkaamisessa. Koulutettavan pitäisi siis tuntea pääsevänsä dataan sisälle. Kynsien alle kuuluukin jäädä multaa ja tarpeeksi perinpohjaisesti tutkimalla joukosta löytää aina matoja. Mitä paremmin datan tuntee, sitä enemmän herää kysymyksiä. Jos kaikki tuntuu helpolta, asiaa ei ole ajatellut tarpeeksi. Tai ehkä toinen data scientist on käynyt laittamassa datan kuntoon ennalta.

Valmiin siistin datan antaminen vie kaiken tutkimisen riemun (ja tuskan) ja latistaa kokemusta. Kuitenkin koulutuksessa halutaan tarjota muutakin sisältöä kuin datan muokkaamista lapiolla ja kuokalla. Tästä syystä myös koulutuksen valmistelussa suurin osa ajasta menee siihen, että löytää käyttöön sopivan datan. Jonkin nopeasti sisäistettävän, sisällöltään kiinnostavan, vapaasti saatavan, sopivan kokoisen, jossa on hyviä muuttujia. Ja tällaisen löytäessään saattaa joutua keräämään reaaliaikaista tietoa viikon, ennen kuin pääsee katsomaan, tuleeko datasta kiinnostavia tuloksia.

Dataan tutustuminen vaatii työtä

Tunne liiketoimintasi

Kun data on sisäistetty, tulee myös ymmärtää mihin datalla pyritään vastaamaan. Tai oikeastaan nämä kulkevat käsi kädessä. On hyvä ymmärtää jo aluksi liiketoiminnan ydin, jotta data voidaan muokata oikeaan suuntaan. Joskus nähdään jo ennalta, etteivät datan muuttujat voi tuoda lisäymmärrystä. Ehkä mukaan voisi liittää toiminnan kannalta relevanttia avointa dataa? Toisinaan tavoitteena on havainnollistaa data liiketoiminnan tarpeisiin.

Datasta voi siis tuottaa hyötyä liiketoiminnalle monella tavalla. Visuaalinen tarkastelu voi nostaa esille toiminnan ongelmakohtia ja eri näkökulmien yhdistäminen voi tuottaa uutta tietoa. Usein maalina on koneoppimisen hyödyntäminen, mutta paljon oppii myös matkalla siihen.

Ahaa-elämys

Tunne itsesi

Kouluttaja luo puitteet koulutuksen onnistumiselle. Aiheeseen perehtyneisyyden ja innostuksen kuuluu näkyä, sillä tavalla tuodaan positiivisuutta koulutuspäivään. Valitsemalla datan, joka innostaa sisällöllisesti ja muuttujiltaan myös itseä, saa kurssiin lisää eloa ja energiaa.

Tavoitteena innostuminen

Ennen kuin sukellan penkomaan Internetin loputonta datatarjontaa, esitänkin kysymyksen: Mikä sinua kiehtoo data sciencen maailmassa? Kurssipalautteen perusteella voi aina kehittää koulutusta, mutta parasta on, jos voi tuntea yleisönsä jo etukäteen.

 

 

 

 

 


21.03.2018 / Nanni Koski

Lyhenteiden viidakossa kehitin itselleni muistukseksi uuden: DBD. Mistä tämä sitten on lyhennys? Käydään ensin katsomassa Googlesta, jos satuttiin osumaan johonkin nuorison käyttämään hypetermiin. Itse asiassa Urban Dictionaryn kaksi ylintä termiä sopii teemaan, joten pidetään vielä jännitystä yllä.

 DBD = ”Damn, bro, damn”

Yleensä käytetty ilmaisemaan ilmeisesti vaikuttuneisuutta, mutta tässä tapauksessa toi mieleeni päivän, joka tuntui data scientistin painajaiselta. Olen erityisen ihastunut kreikkalaisiin aakkosiin, joten otetaan ne mukaan selventämään tilannetta. Eli latinalaiset aakkoset viittaavat tunnettuihin asioihin ja kreikkalaiset johonkin tuntemattomaan, mikä ei suorilta ole selvää. Sanottakoon, että projektin vetohahmo sattui olemaan tänä päivänä lomalla, mikä lisäsi tulevan tehtävän haastetta.

Tehtävä: Asiakas A lähettää Excel-tiedoston B, jonka välilehdistä osalla, merkitään [math] \alpha_1, \ldots, \alpha_\beta [/math]  on tietoja, jotka tulee päivittää tiedostoon / tiedostoihin [math] \gamma_1, \ldots, \gamma_\delta [/math] kansiossa [math] \varepsilon [/math] palvelimella [math] \zeta [/math] ja sen jälkeen ajaa tauluihin [math] \eta_1, \ldots, \eta_\theta [/math] kannassa [math] \iota [/math] latauksilla [math] \kappa_1, \ldots, \kappa_\lambda [/math].

Juuri niin helppoa kuin se ääneen luettuna kuulostaa olevan.

Vaikea palapeli

Ehkä tunnin työ, jos kreikkalaisten aakkosten merkitys tässä kontekstissa on tuttu. Jos selvittäminen vaatii valistuneita arvauksia, niin tällaista ongelmaa ei ratkaista googlettamalla.

Tästä päästään sanakirjan seuraavaan ehdotukseen:

DBD = ”Don’t be Dumb”

Sanonnan kirjaimellinen käännös sopii aiheeseen paremmin kuin tarkoitettu ”Don’t worry”. Eli älä ole typerä – dokumentoi tekemisesi.

Mitä uusia muuttujia dataan luotiin, miksi ja millä tavalla? Rajattiinko osa havainnoista tarkastelun ulkopuolelle? Toki osa asioista on haastavampia dokumentoida. Ja joskus vasta kokeilut osoittavat, mikä toimii ja mikä ei. Ja kyllähän sen muistaa, miksi koodi meni näin ja missä järjestyksessä eri tiedostot tulee ajaa. Se on selvää, että tämä koodi löytyy täältä kansioista. Ja tuo tiedosto valitaan tässä tietyssä tilanteessa. Ja se päivitettävä osio koodissa on juuri tuo. Ja että jos haluaa saada aikaan tämän, niin käy muuttamassa tuolla valikossa arvoja. Niin ja muuttujien datatyyppien muunnokset pitää ottaa huomioon. Mutta sehän on selvää tulevan virheilmoituksen perusteella, jos sen sattuu saamaan. Eikö vaan?

Liian monta sekavaa ohjetta

No ei.

Miksi, mitä, miten ja mihin siis dokumentoida? Ja se tärkein eli:

Kuka? Sinä, juuri sinä. Just do it.

Mitä? Ajatukset ja toteutukset projektiin liittyen.

Miksi? Asiantuntemus. Muistipaikkojen vapauttaminen omasta päästä. Lähimmäisenrakkaus. Sharing is caring. Ja ehkä silloin saa viettää jonkun lomapäivän tarvitsematta vastata yhteenkään työpuheluun.

Miten? Tiimin / Asiakkaan saataville. Vaikka Wordillä, PowerPointilla, Notepadilla, R Markdownilla tai Trelloon.

Mihin? Dokumentoinnista ei ole hyötyä, jos sitä tarvitseva ei sitä löydä. Eli varmista, että tiimille on selvää, mistä työsi hedelmät on poimittavissa muidenkin iloksi.

Ehkä suurin ongelma dokumentoinnissa on kuitenkin se, kun into lähtee lapasesta ja perille pääsee nopeammin raskaalla kaasujalalla kuin jokaisen taukopaikan kautta. Kun tässä eräänä päivänä lisäilin koodin joukkoon jälkikäteen selityksiä siitä, miksi olin muokannut dataa esitetyllä tavalla, totesin, että eipä olisi ollut suuri vaiva kirjoittaa ne jo tehdessä.

DBD = ”Document before Doing”

Tästä eteenpäin pyrin seuraavaan: Sunnittele – kirjoita ylös – tee – vaikutu tuloksista tai yritä uudestaan. Sitä tarkoittaa minun DBD. Ihan aina ei (ehkä) ole mahdollista kirjoittaa suunnitelmia ja toteutuksia ylös ennen tekemistä.  Ja joskus on hyvä työskennellä flown mukana. Mutta tavoitteena on selvät ohjeet tai muistiinpanot edes kaikesta lopputuloksen kannalta oleellisesta tai toimivan tuotteen toiminnasta. Ehkä sitten pääsee käyttämään ensimmäistä fraasia alkuperäisessä tarkoituksessa.

Suuri vaikuttuneisuuden huudahdus: Wow!

Pahimmassa tapauksessa dokumentoinnin puuttuminen aiheuttaa moninkertaisen työn siihen vaivaan verrattuna, että asiat voi käydä tarkistamassa jostain. Datamuokkauksien tekeminen uudelle dataversiolle ajamalla siistit koodit läpi mahdollistaa useamman päivän työn tekemisen muutamassa minuutissa.

Mielelläni kuulisin lukijoiden kokemuksia toimivasta tai ei niin toimivasta dokumentoinnista. Tai jäikö jotain oleellista puuttumaan?

Tästä on hyvä siirtyä kahden viikon lomalle. Toivottavasti kaikki tieto on saatu välitettyä työkavereiden ulottuville ja löydettäväksi eivätkä päivät kaadu piilotteleviin dokumentaatioihin. Tai siihen minulle ihan itsestään selvään asiaan. Bye!


16.11.2017 / Ville Niemijärvi

Kun olemme tehnyt data Science / machine learning -ratkaisuja asiakkaille, saadaan niistä usein kaksi tuotosta:

  1. välitön liiketoimintahyöty
  2. oppiminen ja oivallukset

Usein asiakas lähtee hakemaan ensimmäistä eli pikavoittoja mutta isommat hyödyt ovat usein jälkimmäisessä eli organisaation oppimisessa.

Välitön liiketoimintahyöty tuo lisämyyntiä tai vähentää kuluja heti

Välitön liiketoimintahyöty (eräs kollega kutsui tätä nimellä: immediate business healthcheck) tarjoaa tässä ja nyt ratkaisun liiketoimintaongelmaan. Hyödyt voidaan usein realisoida heti.

Esimerkiksi silloin kun ennustimme isolle teleyhtiölle ja vakuutusyhtiölle heidän asiakaspoistumaa (churn), pystyttiin asiakkaiden poistumaan puuttumaan välittömästi ja säästöt saatiin pian analyysin jälkeen.

Tai kun ennustimme turvapaikanhakijoiden määriä tuleville kuukausille loppuvuonna 2015, ennustimme vanhusten kotihoidon tarvetta tai vähittäiskaupan myyntejä ja optimoimme varaston kokoa. Analyysin pohjalta pystyttiin toimimaan välittömästi.

Oppiminen ja oivallukset kehittävät liiketoimintaa

Riippuen algoritmista ja menetelmästä mitä hyödynnämme, voidaan tuloksena saada myös syyt seurausten takana. Eli pystymme selittämään ilmiöitä.

Tällöin organisaatio oppii ja oivaltaa. Ja pystyy kehittämään toimintaansa tämän pohjalta.

Organisaation oppiminen ja oivallukset ovat olleet esimerkiksi sitä kun olemme ennustaneet syitä miksi sen teleoperaattorin asiakkaat ovat poistumavaarassa ja tämän pohjalta asiakas on oivaltanut miten poistuma estetään ja itseasiassa voidaan myydä vielä lisää.

Tai kun teollisuusasiakas on oppinut meidän avulla minkälainen tarjous menee todennäköisin läpi asiakkaalle. Tämä oppi on jalkautettu myyjille, jotka ovat voineet toistaa voittavan tarjouksen uudelleen ja uudelleen ja uudelleen.

Machine learning mallinnus kertoo usein todennäköisyyden jollekin ilmiölle mutta myös syyn ilmiön taustalla.

Haluatko pikaseksiä vai oppia rakastelemaan hyvin?

Kun puhutaan AI:stä (tekoäly), puhutaan usein myös syväoppimisesta (deep learning). Usein kyseessä on neuroverkkoja, jotka opetetaan löytämään isosta läjästä kuvista esimerkiksi kasvoja.

Ja kyllähän ne oppivat.

Mutta oppiiko organisaatio? Oppiiko ihminen?

Sillä todellisuudessa neuroverkot ovat enemmänkin “blackboxeja”,  mustia laatikoita, joiden sisään ei pääsekään. Saamme kenties tarkan ennusteen tai kätevän softan, joka tietää onko kuvassa ihminen vai koira, mutta emme saa selville syytä miksi.

Toisin sanoen algoritmi oppii, neuroverkko oppii, AI oppii, mutta organisaatio ei välttämättä opi.

Mutta kun käytämme muita, kenties vähemmän trendikkäitä menetelmiä, esimerkiksi logistista regressiota, saamme lopputuloksena myös tulkinnan.

Miksi näin tapahtui? Miten tekijä X vaikuttaa ilmiöön Y?

Tämä tuotos voidaan opettaa ihmiselle. Myyjille, tuotekehitykselle, asiakaspalvelijoille. Tai voimme upottaa regressiokertoimen tai ehtolausekkeen hyvin yksinkertaisesti osaksi johdon dashboardia tai 3. osapuolen softaa, vaikka suoraan ERP:iin.

Tällöin saamme sekä välittömän liiketoimintahyödyn, että organisaation opin ja oivallukset.


25.04.2017 / Ville Niemijärvi

Istahdin taas alas Lassen, Louhian johtavan Data Scientistin kanssa ja rupateltiin vähän mitä työvälineitä edistyneen analytiikan toteutustöissä tarvitaan.

Edellisessä kirjoituksessa käytiin Lassen kanssa läpi mitkä ovat Data Scientistin 3 tärkeintä taitoa. Noista taidoista voi jo vähän päätellä minkälaista työkaluosaamista pitää myös hallita.

Voit katsoa videon tästä tai tämän blogin alta.

Data Scientistin tärkeimmät työvälineet

Louhialla jo reilun 5 vuoden ajan kymmeniä data science -toteutuksia tehnyt Lasse luettelee ison listan tuotteita, joita käyttää päivittäin työssään.

  • ETL-työ, data integraatio ja muokkaus: SQL Server Integration Services
  • Tietokannat: SQL Server Management Studio
  • Mallintaminen, data science: R, Python, RapidMiner, Azure ML
  • Tiedon visualisointi, raportointi: QlikView, Power BI

Jokaisella tuotteella on oma roolinsa ja jotta saadaan parempi ymmärrys missä niitä käytetään, sijoittelimme ne alla olevassa kuvassa tyypilliseen business intelligence/analytiikka -arkkitehtuuriin.

Tyypillinen analytiikka-arkkitehtuuri ja data scientistin työvälineet

Tyypillinen tietovarasto/business intelligence/analytiikka -arkkitehtuuri
Tyypillinen tietovarasto/business intelligence/analytiikka -arkkitehtuuri

Kuvassa yllä näkyy tyypillinen arkkitehtuuri, joka on joko valmiina rakennettuna yrityksessä tai me rakennamme sellaisen osana analytiikka- tai laajempaa tiedolla johtamisen hanketta.

Alimpana on tietolähteet eli organisaation lukuisat operatiiviset järjestelmät, CRM:t, taloushallinto  jne. Sekä yhä useammin myös ulkoiset tietolähteet, joka avoimien rajapintojen kautta tai ostettuna 3. osapuolelta.

Tieto täytyy tämän jälkeen ladata analytiikkaa varten jollekin tallennusalustalle. Latauksen yhteydessä tietoa usein yhdistetään, muokataan, siivotaan. Tätä kutsutaan tietovarastopiireissä ETL-prosessiksi (extract-transform-load) mutta usein puhutaan vain tiedon integraatiosta.

Tässä Lasse hyödyntää lähinnä SQL Server Integration Serviceä (SSIS). Itse olen käyttänyt SSIS:n lisäksi Pentahoa ja IBM Cognos Data Manageria, joka on nykyään korvattu IBM Infosphere DataStagella.

Muita markkinoilta löytyviä tuotteita on mm. Informatica, Oracle Warehouse builder, SAS Data Integration Studio.

Tieto siis tallennetaan jollekin tallennusalustalle ja useimmiten se edelleen on relaatiotietokanta. Lassen tapauksessa useimmiten SQL Server jota hallitaan SQL Server Management Studiolla.

Big data (esim. Hadoop) ja NoSQL -tietokannat ovat yleistyneet ja niitä on asiakkaillamme mutta lopulta tieto on helpointa viedä relaatiokantaan, jotta sitä voidaan hyödyntää tilastollisessa mallintamisessa eli varsinaisessa data science -työssä.

Tällöin käyttöön otetaan mallinnustyövälineet kuten R, Python, RapidMiner tai Azure Machine Learning.

Muita markkinoilta löytyviä tuotteita ovat mm. SAS, Knime, SPSS, Amazon Machine Learning, IBM Watson.

Kun ennustemallit tai muu edistyneen analytiikan mallinnus on tehty, tulokset viedään usein visualisoituna liiketoiminnalle (jolleivät mene osaksi jotain operatiivista prosessia tai applikaatiota).

Tällöin käyttöön otetaan raportointi-, visualisointi- ja business intelligence -tuotteet. Lasse suosii näissä QlikView:tä ja Power BI:tä.

Muita asiakkaillamme yleisiä BI-tuotteita ovat mm. Tableau, Cognos, SAP ja Oracle.

Data Scientistin pitää hallita iso joukko tuotteita

Kuten yltä näkyy, ainakin konsulttifirmoissa Data Scientistin pitää hallita iso joukko eri tuotteita.

Totta kai isoissa projekteissa usein on omat erikoismiehet tietovaraston tai data laken rakentamiseen ja omansa tiedon visualisointiin.

Mutta prosessi menee todella hitaaksi jos data scientisti joutuisi joka kerta kun tarvitsee uutta data settiä tai muokkauksia olemassa olevaan, kutsumaan ETL-osaajaa avuksi.

Työ on niin iteratiivista, että on tehokkainta, että DS-roolissa pystytään ottamaan myös ETL-työ, tietokannat ja datan visualisointi haltuun.

Katso video kokonaisuudessaan alta. Muista laittaa Louhian Youtube-video seurantaan ja kommentoi rohkeasti jos haluat kuulla ja nähdä lisää analytiikka-asiaa meiltä.

 


12.04.2017 / Ville Niemijärvi

Monet yritykset rekrytoivat data scientistejä ja analyytikkoja. Neuroverkkovelhoja ja deep learning -osaajia.

Mutta mitä konkreettista osaamista rekryltä pitäisi tällöin odottaa?

Tai mitä osaamista vastavalmistuneen, esimerkiksi tilastotieteen opiskelijan kannattaisi kehittää, voidakseen siirtyä työskentelemään data sciencen ja edistyneen analytiikan parissa?

Haastattelin Louhian data scientistejä, joilla on kymmenien ja taas kymmenien toteutusprojektien kokemus ja jotka myös kouluttavat suomalaisista uusia datatieteilijöitä.

Voit katsoa haastattelun tästä tai tämän kirjoituksen alta.

Käydään tässä läpi haastattelun keskeisimmät pointit.

Data Scientistin tärkeimmät taidot

Louhialla 5 vuotta työskennellyt, yksi maan kovimmista edistyneen analytiikan osaajista, Lasse Liukkonen yllättää hieman tiivistäessään osaamisvaatimukset:

  1. Tietokannat ja SQL
  2. Rajapinnat ja integraatiot (ns. ETL-osaaminen)
  3. Mallintaminen, sisältäen sekä
    1. tiedon mallintamisen että
    2. tilastollisen mallintamisen ja algoritmit

Haastattelussa Lasse tuo esille, että periaatteessa data scientistin työhön voi edetä, ilman tilastotieteen koulutusta. Lisäten kuitenkin, että haastavimmissa tapauksissa pitää kääntyä ammattilaisen puoleen. Tosin ilman osaamista haastavan keissin itsenäinen identifiointi voi olla vaikeaa.

Vastauksessa näkyy ehkä se, että Lasselle tupla-laudatur-maisterina (tilastotiede+matematiikka) ja erittäin kokeneena analyytikkona tilastollinen mallintaminen ja algoritmiosaaminen on ns. peruskauraa.

Useissa projekteissa Lassen kanssa mukana olleena, uskallan väittää että aika monelta IT/Controller/Business Intelligence -jantterilta putoisi hanskat alkumetreiltä jos törmäisi niihin mallinnuskeikkoihin mitä olemme tehneet.

Kun tehdään ennusteita liittyen ihmisten terveyteen ja turvallisuuteen, miljoonien eurojen tarjouskauppoihin tai ministeritasolta tulee mahtikäsky tehdä ennustemalli aiheesta X ja aikaa on 24h, itse ainakin haluan että taustalla on järeää tilastotieteen osaamista.

Mutta totta on, että suurin osa käytetystä ajasta menee tiedon muokkaamiseen, sen poimimiseen, siistimiseen, tutkimiseen ja datan kanssa puljaamiseen.

Itse algoritmien kanssa työskentelyyn, R tai Python koodaamiseen kuluu huomattavasti vähemmän aikaa.

Olli Leppänen, Louhian data scientist, nostaakin SQL:n eniten käytetyksi työvälineeksi.

Ja näitä taitoja ei juuri yliopistossa opeteta. Eli vinkiksi tilastotieteen opiskelijoille: täydentäkää tilastotieteen osaamista etenkin tietokannoilla (relaatio + nosql) ja SQL-kielellä.

Alan konkari, edistynyttä analytiikka jo yli 20 vuotta sitten ensimmäisen kerran tehnyt, Mika Laukkanen, täydentää vielä osaamisvaatimuksia:

  • (Liiketoiminta)ongelman ja datan välisen yhteyden ymmärtäminen. Kyky hahmottaa miten ja millaisen datan avulla ongelma voidaan ratkaista.
  • Mallinnus- ja menetelmäosaaminen (koneoppiminen, tilastotiede).
  • Käsien päällä istuminen. Etenkin kun tulee (odottamattomia) huipputuloksia, niin kannattaa tarkistaa datasettien sisältö sekä muodostus ja mallinnusprosessit n-kertaa, koska kyseessä voi hyvinkin olla tekemiseen liittyvä virhe (nimim. kokemusta on).

Huomasin vasta tänään, että Ari Hovilla on tarjolla “Data Scientist koulutusohjelma”. Sen ohjelma tukee hyvin edellä listattuja osaamisvaatimuksia.

Mukana on R:n ja machine learning -algoritmien lisäksi niin SQL:ää, liiketoimintatiedon mallintamista (data modeling) kuin Hadoopia.

Katso Louhian data scientistien haastattelu ja Louhian vlogin ensimmäinen osa alta.

 


19.11.2016 / Ville Niemijärvi

Yleensä ensimmäinen asia mitä digitalisaatio monille yrityksille tarkoittaa tai mitä se haluaa edistyneen analytiikan tai data sciencen avulla saavuttaa, on omien sisäisten prosessien tehostaminen.

Tämä tarkoittaa kulujen vähentämistä tai myynnin lisäämistä.

Keinoina käytetään esimerkiksi:

  • markkinoinnin tehokkaampi kohdentaminen
  • varastoarvon optimointi, ennustamalla kysyntää
  • tuotantoprosesseissa vikaantumisen ennakointi
  • hinnoittelun optimointi
  • asiakaspoistuman ennakointi (churn)

Nämä vain muutamina esimerkkeinä.

Seuraavaksi, muutamat aidosti asiakkaan edusta kiinnostuneet yritykset, lähtevät parantamaan asiakaspalvelua, asiakaskokemusta.

Esimerkkinä vaikka  relevantti, asiakaskokemusta parantava viestintä, esimerkiksi ohjaamalla asiakasta ostoprosessissa (case Finnchat on hyvä esimerkki vaikka ei analytiikkaa sisälläkään)

Kolmantena digitalisaation arvoketjussa on kehittää tietoon ja analytiikkaan pohjautuvia uusia palveluja ja tuotteita.

different-ways-to-make-use-of-data-science-louhia-analytics

Usein nämä kolme tietenkin liittyvät toisiinsa. Kun sisäisiä prosesseja kehitetään, esimerkiksi varastoarvoa optimoidaan, tarkoittaa se parempaa palvelutasoa asiakkaalle (ei tarvitse myydä ei-oota).

Uskallan kuitenkin väittää, että 90% suomalaisista yrityksiä on ensisijaisesti kiinnostuneita parantamaan omia sisäisiä prosesseja. Hakemaan pieniä parannuksia kannattavuuteen.

Ja hyvä näin. Tämä on yleensä se helpoin tapa edetä.

Itselle mielenkiintoisempia ja kunnianhimoisempia hankkeita ovat kuitenkin olleet ne missä olemme rakentaneet ihan uutta liiketoimintaa, ihan uusia tuotteita. Tällöin tavoitteena on luoda kokonaan uutta, ehkä pelastaa koko yritys toimialaa uhkaavalta tuholta.

Keinot ovat tarjolla mutta tahtotila puuttuu

Keinot parantaa sisäistä tehokkuutta, parantaa asiakaskokemusta tai luoda uutta liiketoimintaa ovat olleet jo vuosikymmenet.

Data science -osaamisen karttumisen kautta ja uusien pilvipohjaisten, helposti käytettävien työvälineiden avulla, tämä on vain entistä helpompaa.

Mutta se, että asiat on mahdollista tehdä, ei tarkoita että mitään tapahtuu koska valitettavasti monesti yrityksistä puuttuu tahtotila. Väitän, että:

Useimmissa yrityksissä asiakkaan etu ei vain kiinnosta.

Kerron seuraavassa kahdessa blogikirjoituksessa miten itse olen kokenut tämän käytännössä.

Esimerkkinä käytän S-Marketin tuoretuotteiden optimointia sekä Oral Hammaslääkäreiden asiakaspalvelua.

Pysy kuulolla ja siihen asti: pidä asiakkaat tyytyväisenä!


(Musiikkina hiljattain edesmenneen Leonard Cohenin yksi suosikkikappaleista, joka kertoo mistä konsultoinnissa on kyse).


3.08.2016 / Ville Niemijärvi

Microsoft SQL ServerTeen kesän aikana jo toiselle asiakkaalle shortlistaa IT-toimittajista, jotka toteuttavat tietovarastoja, osaavat ETL-työvälineenä Microsoftin SSIS:ää ja mahdollisesti mallintaa data vaultilla.

Tarve on siis hyvin spesifille korkean tason osaamiselle, mielellään serfitikaattien kera.

Tunnen alan toimijat hyvin joten helppo homma?

Ei ihan.

Kukaan ei halua olla duunari

Nykypäivänä ainakin firmojen web-sivujen mukaan kukaan ei tee tietovarastoja. Se on passe. Suorituskyvyn johtamista, koneälyä, big dataa, integraatioratkaisuja, tiedolla johtamista, IoT:tä ja digitalisaatiota tuntuu tekevän kaikki. Mitä ne sitten ikinä tarkoittavatkaan?

Mutta harva asiakas ostaa yhden digitalisaation. Tai yhden integraation. Tai kaksi tiedolla johtamisen konsultaatiota ja yksi suorituskykyn johtamisen ratkaisu. 

Jopa sellaiset yritykset jotka tunnen erittäin hyvin ja tiedän heidän olevan maan huippuja tietovarastoinnissa ja esimerkiksi SSIS-työvälineen käytössä, vaikenevat verkossa täysin näistä taidoista.

Tällöin asiakkaiden on erittäin vaikea ostaa osaamista. Ja kaupat jäävät syntymättä.

Näissä parissa casessa olenkin joutunut kysymään Microsoftilta suoraan, ketkä suomalaiset IT-talot toteuttavat esimerkiksi tietovarastoja Azureen, keneltä löytyy SSIS-osaajia, ketkä hallitsevat teknologian X.

Ja näillä konkreettisilla hakusanoilla asiakkaat usein kumppaneita etsivät. Vaikka tuomiopäivän pasuunat muuta väittävät, tietovarastoja tehdään edelleen täyttä häkää. Ja isoja sellaisia. Ja paljon parempia, monipuolisempia ja fiksumpia kuin vuosikymmen sitten.

Firmat ajattelevatkin varmaan, että tietovarastojen toteutus on liian bulkkia, leimaa heidät duunareiksi.

IT-firmojen pitäisi ottaa mallia Timo Soinista

Kaikki tuntuu haluavan näyttäytyvän korkeamman tason digitalisaation sanansaattajina, oppaina ja konsultteina. Tunnustan: niin mekin.

Tämä ylätason huttu on kuitenkin juuri sitä ihteään. Huttua. Liian epämääräistä, liian korkealentoista, että sillä olisi oikeasti käyttöä. Viestintää joka menee täysin hukkaan.

Toisaalta kun kaikkien tuntema tietovarastoja sorvaava akselirasvaosaston IT-firma koittaa näyttää korkeamman jalostusasteen johdon konsulttifirmalta, Accenturelta, Mckinseyltä ja mitä lie, niin jossain vaiheessa siitä jää kiinni. Viimeistään silloin kun propellipää “konsultti” menee asiakkaan johtoryhmälle puhumaan biteistä ja pilvestä. Sieltä lentää äkkiä niskaperseotteella ulos.

IT-firmojen kannattaisikin ottaa mallia Timo Soinin selkokielenkäytöstä. Puhua. Yksinkertaisin. Lausein. Ehkä firmojen pitäisi popularisoida web-sivujensa viestintä. Kansanomaistaa se.

Olisikin ilahduttavan pirteää nähdä IT-firma, joka toteaa webissä etusivulla: me teemme tietovarastoja Microsoftin teknologialla.

Olen pommin varma, että tällöin tulisi kauppaa enemmän kuin diipadaapalla. Ei ehkä jytkyä mutta kauppaa silti.


Ps. Näihin pariin caseen shortlistit on luotu ja toimittajat on kontaktoitu tai tullaan pian kontaktoimaan. Mutta näitä toimeksiantoja tulee meille kuitenkin yhtä enemmän ja enemmän eteen.

Jotta helpotamme omaa työtämme ja palvelemme asiakkaitamme paremmin, lähdemme ylläpitämään listaa suomalaisista eri tiedolla johtamisen osa-alueille erikoistuneista yrityksistä. Toimimme puolueettomana konsulttina ja etsimme asiakkaalle parhaimman toteutuskumppanin.

Jos yrityksesi on siis erikoistunut tietovarastoihin, data science:en, business intelligenceen, raportointiin tai muuhun tiedolla johtamisen alueeseen, ja olet jatkossa kiinnostunut saamaan tarjouspyyntöjä isoista DW/BI/DataScience/IoT -projekteista, nakkaa vaikka maililla (ville.niemijarvi@louhia.fi)

Teknologioita on pilvin pimein ja kaikkia softia ja niiden osaajia emme ala listaamaan mutta aloitamme ainakin näillä, joista on tullut eniten kyselyjä:

  • ETL-työvälineet: SSIS, Informatica
  • pilviratkaisut: Azure, AWS
  • tietovarastot pilvessä, Paas-ratkaisut: Azure SQL DW, Amazon Redshift
  • big data -ratkaisut osana tietovarastointia ja raportointia, Hadoop etc.
  • data science ja edistynyt analytiikka (tästä olemme jo keränneet kattavan listan)

(Raportointituotteiden osalta peli on selkeämpi ja Tableau, Cognos, QlikView, Birst etc. konsultit löytyy helposti. Ehkä listaamme niitäkin mutta ei nyt)

Olisi kiva tietää:

  • mitä yllämainittuja osa-alueita yrityksenne toteuttaa?
  • hieman osviittaa montako toteutusprojektia on takana, mahdolliset referenssit?
  • osaajien lukumäärät, sertifikaatit plussaa?

Auta meitä auttamaan suomalaisia asiakkaita. Ja sinua siinä samassa.