Autor: Dario Car, certificirani Microsoft i Oracle trener

Podatkovna znanost

Podaci su svugdje oko nas. Neke analize kažu da je danas oko nas, u digitalnom svijetu, više od 2.7 zettabytes podataka (Terabyte = 1024 gigabytes, petabyte = 1024 terabytes, exabyte = 1024 petabytes, zettabyte = 1024 exabytes ili 1012 gigabytes u kojima danas mjerimo memoriju na mobitelima, tabletima, laptopima…). Projekcija je da će do 2025. godine narasti na 180 zettabytes.

Svi ti različiti podaci, od npr. naših fotografija pa do različitih financijskih izvještaja tek su se nedavno počeli analizirati kako bi na temelju njih dobili uvid kako poboljšati poslovanje u kompanijama. Zato danas bilježimo trendove povećane potražnje za stručnjacima koji će dati smisao tim podacima.

Uz tako velike količine podataka veže se i pojam Big data koji donosi kako velike izazove, tako i velike prilike i izvjesno je da će promijeniti načine na koji kompanije funkcioniraju i, u konačnici, konkuriraju međusobno.  Kompanije koje su uložile u svoje podatke, odnosno njihovu analizu, imat će značajnu prednost u odnosu na konkurenciju. Zbog toga je danas nužno imati osnovno razumijevanje kako pojmova vezanih uz Big Datu, tako i pojmova vezanih uz podatkovnu znanost (engl. Data science). Uz pojmove, danas bi trebali imati osnovno razumijevanje koncepata, komponenata i metodologija kako bi znali koje alate i na koji način ih koristiti za pohranu podataka te njihovu kasniju analizu.

U podatkovnoj znanosti fokus je na tri polja: znanstvenim metodama, matematici i statistici. Ta tri polja najbliža su nečemu što zovemo strojnim učenjem (engl. Machine learning). Strojno učenje je vrsta umjetne inteligencije (AI) koja omogućuje softverskim aplikacijama da postanu točnije u predviđanju različitih ishoda, bez da su za to eksplicitno programirani. Naime, ako smo određenu aplikaciju eksplicitno programirali, ona će biti u stanju prepoznati i/ili riješiti samo određeni problem. Osnovna pretpostavka strojnog učenja je izgraditi algoritme koji mogu primati različite ulazne podatke te koristiti statističku analizu za predviđanje izlazne vrijednosti unutar nekog prihvatljivog raspona.

No, da bi to predviđanje izlazne vrijednosti funkcioniralo, iako algoritmi strojnog učenja imaju izraziti „osjećaj“ za matematiku i statistiku, nedostaje im stručnost u određenoj domeni. Stručnost u domeni odnosi se na činjenicu da algoritam ne može biti, primjerice,  savršeni  voditelj poslovnog odnosa (Sales manager). Također, sam algoritam nema  mogućnosti manipuliranja podacima odnosno njihovom pripremom (Od kuda uzeti podatke? U koji format odnosno  tip podatka ih pretvoriti i sl.).

Koliko sve to nije jednostavno ili koliko je sve to skupa kompleksno, možemo prikazati Vennovim dijagramom gdje se vidi da podatkovna znanost uključuje puno toga. Naime, kako vidimo na prikazu,  ona je centar svega ali je zavisna od puno toga.

Jednostavnije rečeno, da bi netko bio podatkovni znanstvenik npr. u farmaceutskoj industriji, daleko će mu teže biti nešto zaključiti ako ne shvaća da pad standarda građana može voditi ka lošijoj primarnoj zdravstvenoj zaštiti te posljedično ka većim rizicima srčanih oboljenja. Dakle, moramo imati određena znanja kako bi tezu mogli postaviti ili ju na temelju dobivenih analiza razumjeti.

Na temelju Vennovog dijagrama možemo reći da podatkovni znanstvenik mora imati i određene programerske vještine (npr. poznavanje programskih jezika kao što su R ili Phyton), statističke vještine i matematička znanja, poznavati strojno učenje, imati sposobnost mapiranja tzv. sirovih podataka u drugačije oblike koji će biti pogodniji za analizu te komunikacijske i vizualizacijske vještine.

U praksi to izgleda tako da podatkovna znanost započinje „čišćenjem“ podataka i taj proces nazivamo Data cleansing (micanje duplikata, nekonzistentnosti, nepotpunih podataka i sl.). Zato su nam potrebne programerske vještine. Nakon toga podatke je potrebno pretvoriti u neki od prihvatljivih odnosno korisnih oblika (zato nam treba sposobnost mapiranja podataka)  te zatim odlučiti koju ćemo statističku metodu ili algoritam strojnog učenja (engl. Machine learning)  koristiti kako bismo najbolje riješili neki „problem“.

Iako će neki pomisliti da tu sam proces staje, ostao je jedan vrlo važan aspekt, a to je vizualizacija podataka. Naime, velike količine obrađenih podataka treba predstaviti u obliku koji ljudi mogu razumjeti te na temelju toga doći do neke spoznaje.

Zašto nam je podatkovna znanost odnosno jedan njezin segment, vizualizacija, uopće  potrebna?

Činjenica 1. Ljudi su skloni generaliziranju. „Svima ide loše, normalno da je i nama tako“ ili „Svi su oni jednaki“, pri čemu nismo mislili na muškarce J

Činjenica 2. Ljudi su loši u predviđanjima. „Danas sigurno pobjeđuju.“ „Sutra sigurno dobivam na lotu.“

Činjenica 3. Precjenjuju pouzdanost/sigurnost predviđanja.

Činjenica 4. Ljudi teško mijenjaju mišljenje bez obzira što postoje novi „dokazi“ za promjenu mišljenja. Skloni su krivo interpretirati podatke.

Činjenica 5. Ljudi lako zanemaruju, u tom trenutku, nepovezane činjenice.

I zbog svega toga onda i nije tako nejasno zašto se Loto 7/39 igra mnogostruko više od Lota 6/45 kada je ionako mala šansa za dobitak, kod Lota 7/39 dodatno umanjena zato što postoji 1,888376145 puta više kombinacija.

 

 

I da ne bi odluke temeljili samo na intuiciji treba nam znanost o podacima. Ili barem neki njeni dijelovi. Zašto samo neki, doći ćemo nešto kasnije i do toga.

Prije nego nastavimo, još ćemo se malo zadržati na već spomenutom strojnom učenju.  Cilj strojnog učenja je naučiti računala da „generaliziraju“ jer, rekli smo, nema eksplicitnog programiranja.

Neke oblike odnosno početke strojnog učenja možemo naći danas i u našem okruženju, poput otkrivanja prevare (engl. Fraud detection) kod telekom operatera i bankovnih odjela za kartično poslovanje. No ako idemo dalje, stvari se „kompliciraju“.

Na primjer, Google samovozni auto. Preporuke za kupovinu knjige ili multimedije kod Amazona ili Netflixa. Ili analiziranje informacija na temelju prikupljenih podataka o tome što naš korisnik npr. govori, odnosno piše na Twitteru.

Dakle, strojno učenje je jedan od oblika umjetne inteligencije (engl. Artificial intelligence, AI) koji  računalima daje mogućnosti učenja bez, kako smo rekli, eksplicitno pisanog programa. Ono je naime fokusirano na razvoju računalnih programa koji svoje akcije i reakcije mogu mijenjati u odnosu na izložene im podatke. Sam proces je poprilično sličan tzv. rudarenju podataka (engl. Data mining) gdje je sve zasnovano na traženju uzorka. No, za razliku od rudarenja podataka, gdje podatke ekstrahiramo radi ljudskog shvaćanja nekih pojavnosti, kod strojnog učenja podatke koristimo radi otkrivanja uzoraka te prilagođavanja automatskih programskih radnji u skladu s time.

Međutim, kako smo spomenuli u uvodu odnosno vidjeli na Vennovom dijagramu, nije samo strojno učenje ono što čini podatkovnu znanost. Podatkovna znanost se također odnosni na područja djelovanja koja se tiču:

  1. prikupljanja,
  2. pripreme,
  3. analize,
  4. vizualizacije,
  5. upravljanja i
  6. očuvanja velikih količina podataka.

Međutim, prije nego krenemo dalje valja pojasniti nekoliko dodatnih termina s kojim se često susrećemo…

U uvodu smo spomenuli i Big datu i važnost shvaćanja osnovnih pojmova i koncepata. Postavlja se pitanje koja je poveznica između termina Data science i Big data.

 

Ako pogledamo sklopove riječi, i Big data i Data science, vidimo da im je zajednička riječ podatak. U konačnici, oba termina vezuju se uz odluke vođene podacima, ali..

Od odluka vođenih podacima (engl. Data Driven Decision) očekujemo da su bolje od onih „generalizirajućih“, ali isto tako očekujemo i veću vrijednost. Cijeli proces uključuje nekoliko faza:

  1. Prikupljanje podataka
  2. Pohranu
  3. Analizu
  4. Odluke i akcije

Big data je obično involviran u drugom koraku (pohrana), pa ovisno o količini podataka, i njihovoj različitosti, mogu se zahtijevati Big data i ostale s time povezane tehnologije. Od poveznih tehnologija već dugo se susrećemo s pojmom Data Warehouse (DWH), nešto malo kasnije se pojavio termin Big Data, a danas sve češće čujemo i termin Big Query. Svi termini nas upućuju da je količina podataka sve veća i veća i činjenica je da nikada nećemo moći „obraditi“ sve podatke, ali bi smo se definitivno trebali posvetiti obradi onih podataka koji su nama, i uglavnom samo nama, korisni. Iz tih podataka bi smo trebali tražiti uzorke, predviđati, pokušati saznati što će se dogoditi, olakšati poslovno odlučivanje. I u konačnici,  trebali bismo si podatke moći vizualizirati. Prikazati. Znate onu da slika govori više od 100 riječi…

Dalje, kada govorimo o DWH-u, razlikuju se dva koncepta odnosno definicije. Onaj po Billu Inmonu i onaj po Ralphu Kimballu. Kada bismo dublje ulazili u Inmonovu paradigmu, morali bismo više zakoračiti u nešto što se zove normalizacija baze podataka te objasniti što je to prva normalna forma (1NF), druga normalna forma (2NF) i na posljetku što je to treća normalna forma. To bismo radije ostavili za formalnu edukaciju nego kao temu ovog članka. Stoga ćemo samo reći da je skladište podataka (engl. Data Warehouse, DWH) tematski orijentiran, integriran i vremenski određen skup podataka stvoren u svrhu upravljanja odlučivanjem.

Zato, kada stvari pojednostavimo, rješenje u obliku Big date nam treba ako u našim kompanijama (ili što god nam bio aspekt djelovanja) postoji velika količina podataka.  Rješenje u obliku Data Warehousea nam treba kako bi lakše donosili odluke, jer da bismo stvarno znali što se dešava u našoj kompaniji, trebamo podatke koji su pouzdani, svima dostupni i prije svega razumljivi.

Ako pokušamo, iako nepotrebno, povući paralelu između DWH i Big date, možemo reći da je Big data tehnologija, dok je DWH, arhitektura. Pri čemu možemo reći da je DWH način organiziranja podataka dok je Big data sredstvo odnosno način upravljanja velikim količinama podataka.  Naravno da s „tehnologijom“ možemo postići puno više, samo… pitanje je da li nama u našem okruženju i zaista treba.

Za kraj, kada usporedimo Big datu i DWH, zaključili smo da je ovo prvo tehnologija, dok je DWH arhitektura. To su dvije, poprilično, različite stvari. Dok je tehnologija, upravo to – sredstvo za pohranu i upravljanje velikim količinama podataka, DWH je način organiziranja podataka.

Također, kompanije mogu imati implementiranu neku od Big data tehnologija i ne moraju imati DWH. Također, mogu imati oboje. Ali isto tako ne moraju imati implementiran Big data, ali mogu posjedovati DWH. Sve ovisi o njihovim potrebama i u konačnici količini podataka. Hrvatsko tržište, ako ga ne gledamo s globalne perspektive, je savršen teren za implementiranje DWH rješenja. Dakle, dok god naša kompanija ima potrebu za pouzdanim, vjerodostojnim i napose dostupnim podacima na koje se mogu osloniti svi zaposlenici u kompaniji, nama treba DWH. Big data nije zamjena za DWH niti obrnuto.

Sada kada smo riješili eventualne probleme oko termina, možemo se vratiti podatkovnoj znanosti, koja uostalom „leži“ i na DWH i na Big data rješenjima.

Kao što se do sada dalo zaključiti, sama podatkovna znanost je veliko područje i s aspekta korisnika puno ju je lakše i shvatiti i naučiti ako ju podijelimo u tri kategorije:

  1. Velike podatke (engl. Big Data)
  2. Strojno učenje (engl. Machine Learning) i
  3. Vizualizacija podataka (engl. Data Visualisation).

Također, ako se vratimo na ilustraciju s početka, možemo uz podatkovnu znanost povezati  termine:

  • Stručnost u domeni
  • Statistika
  • Podatkovni inženjering
  • Strojno učenje (Machine learning)
  • Vizualizacija

Ali isto tako, možemo detektirati tri glavne komponente:

  • Tehnologija
  • Strojno učenje (Machine Learning)
  • Analitika

 

Za početak, vratimo se na ovu prvu. Tehnologija. Ako se sjećate, ranije je napisano da je Big data tehnologija. Najpopularnija open source Big Data tehnologija je Apache Hadoop, a Microsoftova izvedenica u obliku oblačnog servisa je HDInsight.  U oba slučaja radi se o softverskom okviru koji omogućuje pokretanje aplikacija na sustavima sa tisućama hardverskih čvorova (engl. Nodes) odnosno klastera. Njegov distribuirani datotečni sustav olakšava prijenos podataka između čvorova.

Slijedeća glavna komponenta je strojno učenje. S njom smo se pozabavili ranije te ćemo ju sada preskočiti i malo se zaustaviti na analitici. Microsoftovo rješenje za analitiku je  R Server (gdje se slovo „R“ odnosi na R kao open source programski jezik i softversko okruženje za statističko računanje odnosno možda i bolje, statističko računalstvo). Koristi se za razvoj statističkog softvera i podatkovnu analizu. Više o Microsoft R Serveru se može naći na: https://www.microsoft.com/en-us/cloud-platform/r-server .

I sada se možemo vratit na početak, odnosno pitanja koja si često postavljamo.

Zašto nam to sve treba? Što je to podatkovna znanost? Što su to vizualizacije? Zašto nam je sve to potrebno?

Već iz ove slike u nastavku vidimo da nam standardno izvještavanje, na kakvo smo navikli u našim kompanijama, s obzirom na sve veću dinamiku promjena, kako u poslovnom, tako i globalnom okruženju, ne zadovoljava naše potrebe. Sve više postoji potreba za analizama koje će pokazati, ne što se dogodilo, nego što bi nam se trebalo/moglo dogoditi.

Naravno da različita predviđanja odnosno predikcije traže i sve sofisticiranije i sve kompleksnije alate.

 

Krenimo redom.  Svi smo bili u prilici vidjeti nekakav izvještaj ili ako ništa drugo i sami smo ponekad iz nekog seta podataka napravili grafikon u Excelu. No, činjenica je da se danas situacija drastično mijenja. Barem što se tiče podataka. Činjenica je da nam Excel, ili barem ne u onom smislu na kakav smo do danas navikli, nije previše od pomoći.

Danas su podaci sve. Svi prikupljaju ili se trude prikupljati podatke. Sve više i više. (Vidjeli smo u uvodu što nas „čeka“ do 2025. godine).

Nekada davno, dok nismo niti razmišljali što je to znanost o podacima ili barem ne na ovaj način, razvijen je tzv. DIKW model gdje skraćenica dolazi od riječi Data, Inofrmation, Knowledge, Wisdom.

Sama riječ podatak dolazi od množine latinske riječi datum što bi u prijevodu značilo dio informacije. U naravi, podatak je jednostavna neobrađena izolirana misaona činjenica koja ima neko značenje.

Podaci (engl. Data) su znakovni prikazi činjenica i pojmova koji opisuju svojstva objekata i njihovih odnosa u prostoru i vremenu.

U ukratko, da bi gomilu podataka pretvorili u nešto smisleno, oni moraju proći obradu. Obrada podataka je proces pretvaranja podataka u informacije.

U konačnici, da bi podatak postao vrijedna informacija, on mora imati značenje novosti za primatelja odnosno mora utjecati na rast nivoa znanja primatelja.

Iz svega možemo zaključiti da je informacija rezultat analize i organizacije podataka. Njihove transformacije. Naravno da informacija može, ali i ne mora biti korisna, ali to nećemo znati dok ju ne „obradimo“.

Na osnovu informacija i sami svakodnevno donosimo različite odluke. Jedna od „poslovnih“ odluka može biti i da danas nećemo ići raditi. Naime, ako nam naš liječnik priopći da nam je sedimentacija eritrocita, SE iznosi 50 mm, gdje je „50 mm“ podatak, nama to vjerojatno neće ništa značiti i neće nam donijeti nikakvu informaciju. Da bi smo dobili nekakvu smislenu informaciju moramo taj podatak barem staviti u kontekst referentnih vrijednosti.

Muškarci 2 – 15 mm
Žene 3 – 24 mm
Osobe starije od 50 godina 3 – 28 mm

 

Nakon što smo pogledali referentne vrijednosti, još uvijek nam ne mora ništa značiti osim da je povišena čak i u slučaju da smo stariji od 50 godina.

Iz tog razloga moramo „obradu“ nastavit dalje, gdje saznajemo da: sedimentacija može biti ubrzana poslije obilnih obroka, u starijoj životnoj dobi, kod žena za vrijeme menstruacije i trudnoće, ali može biti i znak, npr. akutne i kronične upale.

Nakon kompletne „obrade“ podataka o sedimentaciji, donijeli smo odluku da ćemo ići na posao jer smo se večer prije najeli na rođendanu. Kao i što bi u slučaju da se nismo prethodni dan najeli, donijeli odluku da ne idemo na posao, jer se radi o „samo upali“.

Iz ove „obrade podataka“, vrlo pojednostavljeno govoreći, mi smo dobili neko novo znanje odnosno postali smo mudriji. Mudrost koju smo stekli je da trebamo preskočiti večeru prije vađenja krvi kako ne bismo dobili „lažno pozitivan nalaz“.

S ovime se vraćamo skoro na početak kada smo rekli da „da informacija može, ali i ne mora biti korisna“.

Podaci su postali od izrazite važnosti za poslovanje bilo koje kompanije. Također, kada govorimo o podacima, drastično se mijenja njihova paradigma. Do jučer ih je svaki administrator baze podataka gledao sa stanovišta sustava za pohranu podataka i načina kako će ih efikasnije pohraniti. No, danas kada podatke imamo već pohranjene, na scenu stupa podatkovni znanstvenik,  gledajući ih iz ugla kako ih „bolje iskoristiti“. Kako ih unovčiti? Da li kroz povećanje prodaje na osnovu podataka koje smo prikupili ranije, da li kroz smanjenje troškova ili  kroz načine kako drugačije pristupiti korisniku na temelju podataka o njegovom ranijem ponašanju i sl.

U Algebrinoj Data Analyst akademiji fokusirat ćemo se na Data Warehousing-u kao jednom od modula. Međutim, nemojte zbog toga biti tužni. U naravi, Big Data rješenje je tehnologija, a Data Warehousing je arhitektura odnosno način organizacije podataka u našim kompanijama, kako smo i objasnili ranije u blogu.

Zatim, kako bi nam rad s podacima bio što lakši, kroz modul „Writing Analytical Queries for BI“ naučit ćemo kako s njima manipulirati.

I za kraj, podatke ćemo naučiti analizirati i u konačnici vizualizirati.

Sve ovo dat će nam dobar uvid u podatkovnu znanost i načine kako dobiti najbolje od naših podataka i pomoći nam da jednoga dana i mi postanemo podatkovni znanstvenici s proširivanjem, ovdje dobivenih znanja. 

Inače, podatkovni znanstvenici ubrajaju se među 50 najboljih poslova u Americi te ostalim zemljama, a također spadaju (u 2016. godini) među 16 najviše plaćenih poslova.

Takvi trendovi bilježe se i u RH.

 

Autor: Dario Car, certificirani Microsoft i Oracle trener