class: center, middle, inverse, title-slide # OBRADA PODATAKA ## Predavanje 2: Vrste podataka ### Luka Sikic, PhD ### Fakultet hrvatskih studija |
OP
--- ## CILJEVI PREDAVANJA - Strukturirani i ne-strukturirani podatci <br> <br> - Kvantitativni i kvalitativni podatci <br> <br> - Diskretni i kontinuirani podatci <br> <br> - Razine podataka <br> <br> - Podatci u "praksi" <br> <br> - Big Data u društvenim znanostima --- ## STRUKTURIRANI I NESTRUKTURIRANI PODATCI .pull-left[ 1. **STRUKTURIRANI** - observacije sa karakteristikama, uglavnom organizirane u tablicu (redovi i kolone); - znanstveno prikupljeni podatci, telefonski imenik; - manji dio podataka; ] .pull-right[ 2. **NESTRUKTURIRANI** - podatci bez standardne organizacijske hijerarhije - Facebook objave, Twitter, logovi na server, genetska sekvenca nukleotida, tekstualni podatci; - vjerojatno više od 80% svih podataka; - zahtjevaju prilagodbu prije analize; ] --- ## KVANTITATIVNI i KVALITATIVNI PODATCI .pull-left[ 1. **KVANTITATIVNI** - brojevi, matematičke procedure, prosjek, vremenski trend, threshold efekti ] .pull-right[ 2. **KVALITATIVNI** - "prirodne" kategorije, jezik - najčešća observacija, jedinstvene vrijednosti ] --- ### PODATCI ```r # prikazi podatke u tablici py$drinks %>% head(10) %>% kbl() %>% kableExtra::kable_material_dark() ``` <table class=" lightable-material-dark" style='font-family: "Source Sans Pro", helvetica, sans-serif; margin-left: auto; margin-right: auto;'> <thead> <tr> <th style="text-align:left;"> country </th> <th style="text-align:right;"> beer_servings </th> <th style="text-align:right;"> spirit_servings </th> <th style="text-align:right;"> wine_servings </th> <th style="text-align:right;"> total_litres_of_pure_alcohol </th> <th style="text-align:left;"> continent </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> Afghanistan </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 0.0 </td> <td style="text-align:left;"> AS </td> </tr> <tr> <td style="text-align:left;"> Albania </td> <td style="text-align:right;"> 89 </td> <td style="text-align:right;"> 132 </td> <td style="text-align:right;"> 54 </td> <td style="text-align:right;"> 4.9 </td> <td style="text-align:left;"> EU </td> </tr> <tr> <td style="text-align:left;"> Algeria </td> <td style="text-align:right;"> 25 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 14 </td> <td style="text-align:right;"> 0.7 </td> <td style="text-align:left;"> AF </td> </tr> <tr> <td style="text-align:left;"> Andorra </td> <td style="text-align:right;"> 245 </td> <td style="text-align:right;"> 138 </td> <td style="text-align:right;"> 312 </td> <td style="text-align:right;"> 12.4 </td> <td style="text-align:left;"> EU </td> </tr> <tr> <td style="text-align:left;"> Angola </td> <td style="text-align:right;"> 217 </td> <td style="text-align:right;"> 57 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:right;"> 5.9 </td> <td style="text-align:left;"> AF </td> </tr> <tr> <td style="text-align:left;"> Antigua & Barbuda </td> <td style="text-align:right;"> 102 </td> <td style="text-align:right;"> 128 </td> <td style="text-align:right;"> 45 </td> <td style="text-align:right;"> 4.9 </td> <td style="text-align:left;"> NaN </td> </tr> <tr> <td style="text-align:left;"> Argentina </td> <td style="text-align:right;"> 193 </td> <td style="text-align:right;"> 25 </td> <td style="text-align:right;"> 221 </td> <td style="text-align:right;"> 8.3 </td> <td style="text-align:left;"> SA </td> </tr> <tr> <td style="text-align:left;"> Armenia </td> <td style="text-align:right;"> 21 </td> <td style="text-align:right;"> 179 </td> <td style="text-align:right;"> 11 </td> <td style="text-align:right;"> 3.8 </td> <td style="text-align:left;"> EU </td> </tr> <tr> <td style="text-align:left;"> Australia </td> <td style="text-align:right;"> 261 </td> <td style="text-align:right;"> 72 </td> <td style="text-align:right;"> 212 </td> <td style="text-align:right;"> 10.4 </td> <td style="text-align:left;"> OC </td> </tr> <tr> <td style="text-align:left;"> Austria </td> <td style="text-align:right;"> 279 </td> <td style="text-align:right;"> 75 </td> <td style="text-align:right;"> 191 </td> <td style="text-align:right;"> 9.7 </td> <td style="text-align:left;"> EU </td> </tr> </tbody> </table> --- ### PREGLED PODATAKA .pull-left[ ```python drinks['continent'].describe() # pregledaj kolonu 'continent'- KVALITATTIVNA ``` ``` ## count 170 ## unique 5 ## top AF ## freq 53 ## Name: continent, dtype: object ``` ] .pull-right[ ```python drinks['beer_servings'].describe() # pregledaj kolonu 'continent'- KVANTITATIVNA ``` ``` ## count 193.000000 ## mean 106.160622 ## std 101.143103 ## min 0.000000 ## 25% 20.000000 ## 50% 76.000000 ## 75% 188.000000 ## max 376.000000 ## Name: beer_servings, dtype: float64 ``` ] --- ## DISKRETNI I KONTINUIRANI PODATCI .pull-left[ 1. **DISKRETNI** - prebrojivi - npr. igraća kocka ] .pull-right[ 1. **KONTINUIRANI** - postoje na kontinuiranoj skali - npr. težina ili visina ] --- ## ČETIRI RAZINE PODATAKA 1. **NOMINALNI** 2. **ORDINALNI** 3. **INTERVALNI** 4. **OMJERNI** --- ## NOMINALNA RAZINA - podatci opisani nazivom ili kategorijom (kategorički podatci) - npr. spol, nacionalnost, biološke vrste - ne mogu se obavljati matematičke operacije poput zbrajanja ili djeljenja - računanje prosjeka ili drugih st --- ## ODINALNA RAZINA - kategorički podatci koji imaju hijerarhijsku strukturu - iako postoji hijerarhija, nije moguće utvrditi relativne razlike među opservacijama - matematičke operacije kao zbrajanje ili dijeljenje nisu opravdane - usporedbe i sortiranje podataka su opravdane - moguće je koristiti medijan (ne i prosjek) --- ### PRIMJER ```python import numpy # anketa o sreci na ljestvici 1-5 results = [5, 4, 3, 4, 5, 3, 2, 5, 3, 2, 1, 4, 5, 3, 4, 4, 5, 4, 2, 1, 4, 5, 4, 3, 2, 4, 4, 5, 4, 3, 2, 1] # sortiraj rezultate sorted_results = sorted(results) print(sorted_results) # pogledaj prosjek i medijan ``` ``` ## [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5] ``` ```python print ("prosjek:",round(numpy.mean(results),2)) ``` ``` ## prosjek: 3.44 ``` ```python print ("medijan:",round(numpy.median(results),2)) ``` ``` ## medijan: 4.0 ``` --- ## INTERVALNA RAZINA - npr. temperatura - opravdane su matematičke operacije poput zbrajanja i oduzimanja - opravdano korištenje mjera centralne tendencije i varijabilnosti ### PRIMJER ```python # temperatura frizidera u fahrenheitima mjerena svakih sat vremena temps = [31, 32, 32, 31, 28, 29, 31, 38, 32, 31, 30, 29, 30, 31, 26] # pogledaj prosjek i medijan print("prosjek:",round(numpy.mean(temps),2)) ``` ``` ## prosjek: 30.73 ``` ```python print("medijan:",round(numpy.median(temps),2)) ``` ``` ## medijan: 31.0 ``` --- ### PRIMJER ```python ## pogledaj mjere varijacije squared_differences = [] # napravi praznu listu mean = numpy.mean(temps) # spremi prosjek u objekt for temperature in temps: difference = temperature - mean # definiraj funkciju za izracun udaljenosti (temperature) od prosjeka squared_difference = difference**2 # kvadriraj razliku squared_differences.append(squared_difference) # dodaj listi average_squared_difference = numpy.mean(squared_differences) # izracunaj varijancu standard_deviation = numpy.sqrt(average_squared_difference) # izracunaj standardnu devijaciju print("stdev:",round(standard_deviation,2)) ``` ``` ## stdev: 2.52 ``` --- ## OMJERNA RAZINA - opravdane matematičke operacije množenja i djeljenja - podatci na ovoj razni ne smiju biti negativni ### PRIMJER ```python # temperatura frizidera u fahrenheitima mjerena svakih sat vremena temps = [31, 32, 32, 31, 28, 29, 31, 38, 32, 31, 30, 29, 30, 31, 26] # izracunaj geometrijsku sredinu num_items = len(temps) product = 1. for temperature in temps: product *= temperature geometric_mean = product**(1./num_items) # prikazi rezultat print("geometrijska sredina:",geometric_mean) ``` ``` ## geometrijska sredina: 30.63473484374659 ``` --- ## PODATCI U "PRAKSI" **Big Data** - zbog veličine se ne mogu pohraniti na standardne relacijske baze - nestrukturirani, semi-srtukturirani i strukturirani podatci - od terabayt-a do zettabayt-a veličine - osnova za strojno učenje, AI, predviđanje budućnosti --- ## PODATCI U "PRAKSI" **Strukturirani, Ne-strukturirani i Kvazi-strukturirani podatci** - podatkovni "polymorphism" zbog uspona novih tehnologije (web,mobile, socialNet,IoT, programming) - [MongoDB](https://www.mongodb.com/), RAVENDB,RETHINKDB, ORIENTDB, PostrgreSQL, ArangoDB cassandra --- ## PODATCI U "PRAKSI" **Vremenske serije** - svaka opservacija ima vremenski pečat(događaj ili procesuiranje) - npr. bihevioralni podatci(web) koji se koriste za predviđanje akcijskih modela - npr. financijsko trgovanje --- ## PODATCI U "PRAKSI" **Strojni podatci** - sistemski proizvedeni podatci - npr. PC logovi, mobiteli, pametni automobili, aplikacije, API, cloud aplikacije, sensorni signali - posebno korisna za identifikaciju prijetnji, kontrolu kvalitete procesa, predviđanje --- ## PODATCI U "PRAKSI" **Prostorno-temporalni podatci** - geografski i temporalni pečat - prokazuju lokacijsku dinamiku u vremenu - praćenje vozila, promjene u populaciji, otkrivanje anomalija u (npr. telekom) mreži --- ## PODATCI U "PRAKSI" **Otvoreni podatci** - dostupni javnosti prema "pravilima za upotrebu" - trenutno uglavno ograničeni na znanstvenu uporabu --- ## PODATCI U "PRAKSI" **Crni podatci** - neiskorišteni podatci - uglavnom u institucionalnom vlasništvu(tvrtke instituti, think-tank, fakulteti) --- ## PODATCI U "PRAKSI" **Podatci u realnom vremenu** - visoka potražnja i "vrući trend" - 5G - medicina, promet, trgovina - velik potencijal --- ## PODATCI U "PRAKSI" **Genomski podatci** - analiza DNA u cilju identifikacije efekata ljekova i tretiranja bolesti - analitika je glavno ograničenje - prikupljanje i procesuiranje podataka otežano --- ## PODATCI U "PRAKSI" **Operativni podatci** - uvidi u procese ponad analitičara i specijalista - podatci o praksama - korisni za obrnuti inžinjering --- ## PODATCI U "PRAKSI" **Visoko-dimenzionalni podatci** - popularizirani kroz IT podršku za prepoznavanje lica - zbog složenosti transformacija zahtijevaju nove načine bilježenja i manipulacije --- ## PODATCI U "PRAKSI" **Ne-verificirani podatci** - prikupljeni podatci upitne relevantnosti **Translitički podatci** - podatci dostupni u realnom vremenu - memorijska zahtjevnost i brzi pristup informacijama --- ## BIG DATA U DRUŠTVENIM ZNANOSTIMA - visoki volumen, opseg, brzina i raznolikost - geografski, tekstualni, i podatci sa društvenih medija - dostupnost u realnom vremenu, većem opsegu, novi pokazatelji i manje strukture - u poslovnom sektoru i prirodnim znanostima je BD već postao standard - društvene znanosti i javne institucije (vlade) kasne u prihvaćanju BD --- ## BIG DATA U DRUŠTVENIM ZNANOSTIMA .pull-left[ **POTENCIJAL BD ZA UNAPRIJEĐENJE DRUŠTVENIH (I HUMANISTIČKIH) ZNANOSTI** - novi uvidi u društvo, politiku i ekonomiju - nova istraživačka pitanja - preciznija predviđanja - bolje javne politike ] .pull-left[ **IZVAZOVI BD** - pristup podatcima - upravljanje podatcima i provedba analize (T.Khun!?) - postavljanje pravih pitanja ] ---