67
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1223 PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA BILJNIH VRSTA Valentino Perović Zagreb, lipanj 2016

PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br 1223

PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA BILJNIH VRSTA

Valentino Perović

Zagreb lipanj 2016

Zahvaljuje mentoru doc dr sc Borisu Milašinoviću na povjerenju strpljenju poticaju i savjetima kojima je znatno

olakšao pisanje ovog rada te dr sc Andreji Radović na pomoći i savjetima prilikom implementacije samog sustava

Sadržaj

1 Uvod 1 2 Modeli strojnog učenja 4

21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11

3 Specifikacija zahtjeva 13

31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15

4 Arhitektura sustava 17

41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19

44 Odabrana arhitektura sustava 19

5 Statistički i podatkovni modeli 21

51 Podatkovni model 21

511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26

52 Statistički model predviđanja nalazišta biljnih vrsta 26

521 Princip rada 26 522 Testiranje modela 28

6 Implementacija sustava 31

61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33

63 Implementacija web servisa 35

7 Rezultati 44

71 Korisničko sučelje 44 72 Rezultati predviđanja 46

8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60

Popis slika

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10

Slika 2 Prikaz odabrane arhitekture sustava 20

Slika 3 Prikaz prvog dijela matrice korelacije 24

Slika 4 Prikaz drugog dijela matrice korelacije 24

Slika 5 Grafički prikaz metode testiranja 1198772 29

Slika 6 Grafički prikaz strukture angular radnog okvira 33

Slika 7 Grafički prikaz arhitekture sustava 36

Slika 8 Izgled početnog ekrana korisničkog sučelja 45

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45

Slika 10 Izgled sučelja za izbor parametara modela 46

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48

Slika 14 Prikaz vrijednosti parametara određenog područja 48

Slika 15 Prikaz lokacija za Carpinus betulus L 49

Slika 16 Rezultati predviđanja za Carpinus betulus L 49

Slika 17 Prikaz lokacija za Fraxinus ornus L 50

Slika 18 Rezultati predviđanja za Fraxinus ornus L 50

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51

Popis tablica

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30

Tablica 3 Primjer korištenja RNET knjižnice 37

Tablica 4 Isječak učitavanja datoteka 37

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40

Tablica 6 Isječak za učenje modela i predikciju 41

Tablica 7 Isječak spremanja datoteke i slanja lokacije 42

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 2: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

Zahvaljuje mentoru doc dr sc Borisu Milašinoviću na povjerenju strpljenju poticaju i savjetima kojima je znatno

olakšao pisanje ovog rada te dr sc Andreji Radović na pomoći i savjetima prilikom implementacije samog sustava

Sadržaj

1 Uvod 1 2 Modeli strojnog učenja 4

21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11

3 Specifikacija zahtjeva 13

31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15

4 Arhitektura sustava 17

41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19

44 Odabrana arhitektura sustava 19

5 Statistički i podatkovni modeli 21

51 Podatkovni model 21

511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26

52 Statistički model predviđanja nalazišta biljnih vrsta 26

521 Princip rada 26 522 Testiranje modela 28

6 Implementacija sustava 31

61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33

63 Implementacija web servisa 35

7 Rezultati 44

71 Korisničko sučelje 44 72 Rezultati predviđanja 46

8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60

Popis slika

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10

Slika 2 Prikaz odabrane arhitekture sustava 20

Slika 3 Prikaz prvog dijela matrice korelacije 24

Slika 4 Prikaz drugog dijela matrice korelacije 24

Slika 5 Grafički prikaz metode testiranja 1198772 29

Slika 6 Grafički prikaz strukture angular radnog okvira 33

Slika 7 Grafički prikaz arhitekture sustava 36

Slika 8 Izgled početnog ekrana korisničkog sučelja 45

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45

Slika 10 Izgled sučelja za izbor parametara modela 46

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48

Slika 14 Prikaz vrijednosti parametara određenog područja 48

Slika 15 Prikaz lokacija za Carpinus betulus L 49

Slika 16 Rezultati predviđanja za Carpinus betulus L 49

Slika 17 Prikaz lokacija za Fraxinus ornus L 50

Slika 18 Rezultati predviđanja za Fraxinus ornus L 50

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51

Popis tablica

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30

Tablica 3 Primjer korištenja RNET knjižnice 37

Tablica 4 Isječak učitavanja datoteka 37

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40

Tablica 6 Isječak za učenje modela i predikciju 41

Tablica 7 Isječak spremanja datoteke i slanja lokacije 42

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 3: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

Sadržaj

1 Uvod 1 2 Modeli strojnog učenja 4

21 Strojno učenje 4 22 Maximum Entropy 7 23 Primjeri iz prakse 11

3 Specifikacija zahtjeva 13

31 Korisnički zahtjevi 13 32 Funkcionalni zahtjevi 14 33 Nefunkcionalni zahtjevi 15

4 Arhitektura sustava 17

41 Web servis 17 42 Struktura cjelokupnog sustava 18 43 Tehnologija modela predviđanja 19

44 Odabrana arhitektura sustava 19

5 Statistički i podatkovni modeli 21

51 Podatkovni model 21

511 Prostorni podaci 21 512 Podaci o biljkama 25 513 Proces spajanja podataka 26

52 Statistički model predviđanja nalazišta biljnih vrsta 26

521 Princip rada 26 522 Testiranje modela 28

6 Implementacija sustava 31

61 Implementacija korisničkog sučelja 31 62 Implementacija statističkog modela predviđanja biljnih vrsta 33

63 Implementacija web servisa 35

7 Rezultati 44

71 Korisničko sučelje 44 72 Rezultati predviđanja 46

8 Zaključak 53 Literatura 56 Sažetak 58 Abstract 60

Popis slika

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10

Slika 2 Prikaz odabrane arhitekture sustava 20

Slika 3 Prikaz prvog dijela matrice korelacije 24

Slika 4 Prikaz drugog dijela matrice korelacije 24

Slika 5 Grafički prikaz metode testiranja 1198772 29

Slika 6 Grafički prikaz strukture angular radnog okvira 33

Slika 7 Grafički prikaz arhitekture sustava 36

Slika 8 Izgled početnog ekrana korisničkog sučelja 45

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45

Slika 10 Izgled sučelja za izbor parametara modela 46

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48

Slika 14 Prikaz vrijednosti parametara određenog područja 48

Slika 15 Prikaz lokacija za Carpinus betulus L 49

Slika 16 Rezultati predviđanja za Carpinus betulus L 49

Slika 17 Prikaz lokacija za Fraxinus ornus L 50

Slika 18 Rezultati predviđanja za Fraxinus ornus L 50

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51

Popis tablica

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30

Tablica 3 Primjer korištenja RNET knjižnice 37

Tablica 4 Isječak učitavanja datoteka 37

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40

Tablica 6 Isječak za učenje modela i predikciju 41

Tablica 7 Isječak spremanja datoteke i slanja lokacije 42

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 4: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

Popis slika

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela 10

Slika 2 Prikaz odabrane arhitekture sustava 20

Slika 3 Prikaz prvog dijela matrice korelacije 24

Slika 4 Prikaz drugog dijela matrice korelacije 24

Slika 5 Grafički prikaz metode testiranja 1198772 29

Slika 6 Grafički prikaz strukture angular radnog okvira 33

Slika 7 Grafički prikaz arhitekture sustava 36

Slika 8 Izgled početnog ekrana korisničkog sučelja 45

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka 45

Slika 10 Izgled sučelja za izbor parametara modela 46

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija 46

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L 47

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L 48

Slika 14 Prikaz vrijednosti parametara određenog područja 48

Slika 15 Prikaz lokacija za Carpinus betulus L 49

Slika 16 Rezultati predviđanja za Carpinus betulus L 49

Slika 17 Prikaz lokacija za Fraxinus ornus L 50

Slika 18 Rezultati predviđanja za Fraxinus ornus L 50

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS 51

Popis tablica

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30

Tablica 3 Primjer korištenja RNET knjižnice 37

Tablica 4 Isječak učitavanja datoteka 37

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40

Tablica 6 Isječak za učenje modela i predikciju 41

Tablica 7 Isječak spremanja datoteke i slanja lokacije 42

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 5: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

Popis tablica

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE 30

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772 30

Tablica 3 Primjer korištenja RNET knjižnice 37

Tablica 4 Isječak učitavanja datoteka 37

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu 40

Tablica 6 Isječak za učenje modela i predikciju 41

Tablica 7 Isječak spremanja datoteke i slanja lokacije 42

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 6: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

1

1 Uvod

Statistički modeli najmoderniji su trend u modernoj primjeni računalne

tehnologije u svrhu znanstvenoistraživačkih ali i poslovnih projekata Primjena

statističkih metoda uz matematičko modeliranje dovelo je do razvoja brojnih

algoritama i modela kojima se omogućuje obrada i analiza velikih količina podataka

Obrada takvih podataka najčešće nije jednostavna stoga je primjena statističkih

modela iznimno važna u modernoj tehnologiji Primjeri korištenja takvih modela

sežu u sve grane moderne tehnologije počevši od komercijalnih primjena u svrhu

istraživanja navika kupaca primjena u svrhu otkrivanja i modeliranja raznih pojava

čije je praćenje u ljudskoj okolini nemoguće kao što su primjerice istraživanja

ljudskih ponašanja i emocija temeljem poruka preko društvenih medija pa sve do

kompleksnih znanstvenih istraživanja u svrhu otkrivanja uzroka bolesti

Pravilno postaviti i u konačnici programski podržati moderne statističke

modele i metode ključan je zadatak prilikom njihove implementacije u svakoj od

mnogobrojnih grana korištenja Neispravno postavljeni matematički modeli mogu

postati izvor dezinformacija jer zbog svoje novonastale popularnosti i mogućnosti

ponove iskoristivosti postoji tendencija stvaranja mnogobrojnih programskih

knjižnica opće namjene koje bez nadzora i testiranja mogu potvrditi netočne

hipoteze ili predstaviti zanimljive rezultate koji u suštini nemaju pokriće u stvarnom

svijetu Takve se nenamjerne dezinformacije kasnije mogu predstavljati kao

činjenice ili koristiti u svrhu ulaganja u neprofitabilne poslovne prilike a u najgorem

slučaju ovakvim metodama mogu se prouzročiti razni medicinski problemi ukoliko

se pogrešnim modelima korištenje neke terapije pokaže ispravnim iako u stvarnosti

može biti štetno

Ipak ispravnom implementacijom statističkih modela predviđanja ostvaruje se

neizmjerna korist u svakoj grani primjene Jedan od primjera korištenja ovakvih

modela u današnje vrijeme sve rašireniji jest u svrhe istraživanja i predviđanja

bioloških čimbenika naše okoline Predviđanje raspodjele ribljih vrsta [1]

predviđanja ili određivanja ugroženih biljnih i životinjskih vrsta predviđanja kretanja

biljnih vrsta i biološke raznolikosti (u daljnjem tekstu bioraznolikost) neki su od

primjera korištenja statističkih modela i metoda u svrhu detaljnog istraživanja

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 7: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

2

prirode Pojam bioraznolikost odnosi se na vrijednost alfa-diverziteta to jest broja

različitih biljnih vrsta u nekom području opisan u radu [2] Takvi tipovi istraživanja

donedavno su predstavljali ogromne prepreke znanstvenicima kako zbog iznimne

vremenske zahtjevnosti istraživanja tako i zbog povećih financijskih sredstava

potrebnih za vršenje takvih istraživanja Korisnost ovakvih istraživanja nije potrebno

napominjati stoga je pojednostavljenje primjene ovakvih metoda uz očuvanje

ispravnosti istih od iznimne važnosti za biologiju kao granu znanosti

Ovisno o grani biologije ključne informacije za istraživanja mogu biti upravo

bioraznolikost i vjerojatnost uspješnosti rasta određene biljke na određenom

teritoriju Podaci o tome gdje bi koja biljka mogla imati uvjete za rast mogu se

iskoristiti u raznim aplikacijama Primjerice u Republici Hrvatskoj svake je godine

ogroman problem širenje ambrozije zbog koje velik broj građana može imati

zdravstvenih problema Zbog male površine države također je važno optimirati

iskoristivost poljoprivrednih površina i zarade od poljoprivrednih djelatnosti što se

također može olakšati korištenjem statističkih modela u svrhu predviđanja

uspješnosti rasta neke sorte na neiskorištenim područjima Bioraznolikost se s

druge strane može iskoristiti u svrhu otkrivanja novih žarišta bioloških istraživanja

gdje bi se istraživačima dao uvid u potencijalnu raznolikost biljnih vrsta na nekom

području čime bi se fokus istraživačkih ekspedicija prebacio sa trenutno popularnih

područja kao što su Nacionalni park Plitvička jezera ili Nacionalni park Sjeverni

Velebit

Svrha ovog rada kao i programske infrastrukture stvorene prilikom njegove

izrade leži upravo u stvaranju verificiranog i znanstveno relevantnog sustava koji bi

korisnicima najčešće znanstvenicima i znanstvenim novacima dao jednostavan i

praktičan skup operacija kojima bi iskoristili stvoreni model predviđanja potencijalnih

nalazišta biljnih vrsta kao i potencijalnog broja biljnih vrsta na cjelokupnom teritoriju

kojeg oni sami odaberu Tehnički gledano ideja je stvoriti programsko rješenje u

obliku web sustava koji bi korisniku omogućio korištenje statističkog modela za

predikciju nalazišta biljnih vrsta i biološke raznolikosti Korištenje samog sustava

nije namijenjeno ljudima koji nemaju potrebno znanje u području primjene s obzirom

da sustav koristi podatke koji nisu dostupni svakome a iste je potrebno i pravilno

pripremiti Stoga je fokus korištenja ovog sustava na ekspertima koji su spremni

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 8: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

3

pripremiti podatke na unaprijed definirani način kako bi ih iskoristili za procese koji

bi im inače uzeli mjesece ili godine rada na obradi

Rad je podijeljen u osam poglavlja uključujući uvod i zaključak Nakon uvoda

slijedi kratko upoznavanje sa statističkim modelima korištenima prilikom izrade koji

predstavljaju srž samog programskog rješenja kao i općeniti osvrt na takve modele

Poglavlje završava primjerima sličnih ideja i radova kako bi se ukazalo na korisnost

i važnost implementacije jednog takvog rješenja Slijedeće poglavlje navodi

korisničke funkcionalne i nefunkcionalne zahtjeve osvrt na važnost i razloge iza tih

zahtjeva te ograničenja koja se implementiraju u sustavu kako bi isti zadovoljio

zahtjeve nakon čega slijedi upoznavanje sa arhitekturom sustava te obrascima i

algoritmima potrebnima za ostvarenje takve arhitekture Peto poglavlje opisuje

modele korištene u sustavu modele podataka te statistički model specificiran za rad

s takvim podacima Šesto poglavlje odnosi se na implementaciju sustava Nakon

dokaza ispravnosti konačnog statističkog modela razmatraju se implementacijski

detalji korisničkog sučelja i serverske strane rješenja a zatim slijedi prikaz rezultata

dobivenih radom ponajprije grafičkim sučeljem za interakciju sa sustavom te samih

rezultata predviđanja na testnim primjerima biljnih vrsta i staništa kao i rasprave o

tako dobivenim rezultatima Rad završava kratkim zaključkom te pregledom

literature korištene za izradu

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 9: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

4

2 Modeli strojnog učenja

21 Strojno učenje

Strojno učenje (engl machine learning) predstavlja podskup područja umjetne

inteligencije gdje se matematičkim modelima stvaraju automatizirana rješenja čija

je svrha koristeći funkciju dobrote optimirati stvarni model prema nekom kriteriju

Očigledan razlog primjene ovakvih modela leži u činjenici da je sposobnost

čovjekovog rješavanja kompleksnih matematičkih modela ograničena što zbog

pretjerane vremenske zahtjevnosti rješavanja takvih modela što zbog mnogo većeg

utjecaja nenamjernih pogrešaka na konačno rješenje U novije vrijeme glavni razlog

popularnosti ovakvih modela nalazi se u činjenici da su ljudima dostupne ogromne

količine podataka koje je gotovo nemoguće obraditi bez uporaba kompleksnih

rješenja Stoga se danas ovakvi modeli češće koriste u komercijalne svrhe nego u

okviru znanstvenih istraživanja Povijesno gledano počeci strojnog učenja sežu u

daleku 1951 kada je Arthur Samuel napisao program koji je igrao damu protiv

čovjeka te pamteći dobre kombinacije s vremenom postajao sve bolji u samoj igri

No prvim pravim algoritmom strojnog učenja može se smatrati perceptron (dio

neuronske mreže) koji je implementirao Frank Rosenblatt [3] Ideja koju je

Rosenblatt iskoristio dolazi iz ljudskog mozga u kojem brojni neuroni međusobno

razmjenjuju informacije kako bi u konačnici stekli određeno znanje ili donijeli

zaključak

Dvije su osnovne podjele modela strojnog učenja modeli nadziranog strojnog

učenja (engl supervised machine learning) te modeli strojnog učenja bez nadzora

(engl unsupervised machine learning) Osnovna razlika između ove dvije vrste

modela jest činjenica da nadzirani model zahtijeva znanje o vrijednosti podataka to

jest prilikom učenja modela za predikciju model mora imati predanu i referentnu

vrijednost koja proširuje informacije o tom podatku Primjerice kod predviđanje

filmova koji bi se ljudima mogli sviđati na temelju filmova koji su im se prethodno

svidjeli model prilikom učenja mora za svaki film znati je li se on svidio korisniku ili

nije Modeli učenja bez nadzora najčešće se odnose na modele za grupiranje

podataka temeljem sličnosti te detekciju anomalija u podacima Primjer takvog

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 10: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

5

modela može se naći u industriju gdje se temeljem podataka o sastavu nekog

proizvoda mogu detektirati anomalije to jest neispravni proizvodi kako bi se isti dalje

uklonili iz uporabe

Iduća velika podjela modela strojnog učenja jest podjela na klasifikacijske i

regresijske modele Svrha klasifikacijskih modela kao što samo ime sugerira jest

pridijeliti određenu klasu nekom predmetu temeljem njegovih karakteristika Primjer

jednog takvog modela je predviđanje je li ispitanik sretan ili tužan temeljem njegovih

objava na društvenim mrežama gdje su klase najčešće predstavljene brojevima 0 i

1 ali imaju semantiku sretan i tužan Regresijski modeli s druge strane rade s cijelim

brojevima gdje se primjerice predviđa prosječna plaća ljudi temeljem podataka o

njihovim akademskim uspjesima

U ovom radu implementiraju se obje vrste modela strojnog učenja klasifikacijski

za predviđanje informacije raste li biljka na nekom području te regresijski za

predviđanje bioraznolikosti na tom području Valja napomenuti da podjela modela s

obzirom na vrstu predviđanja nije uzrokovana razlikama u samim modelima već je

ovisna o vrsti podataka i željenim rezultatima koje određeni model daje to jest

najčešće se isti model može jednako ili s minimalnim promjenama koristiti za obje

vrste predviđanja

Tokom priprema sustava razmatrano je nekoliko poznatijih i korištenijih modela

strojnog učenja U ranoj fazi razmatrani su generalizirani linearni ili aditivni modeli

no s obzirom da takvi modeli zahtijevaju pretpostavku da se sve promatrane relacije

ponašaju linearno u ovisnosti o faktorima što je daleko od istine za složeni

ekosustav odustalo se od njihovog razmatranja Zbog očitih ograničenja bilo je

potrebno potražiti nove naprednije modele Prvi često korišten model je regresijska

analiza (engl Multiple Logistic Regression) Iako spada u generalizirane linearne

modele i dalje je često korišten i daje dobre rezultate zbog iznimne moći interpolacije

kompliciranijih funkcija na linearne Osim regresijske analize proučavani su i

napredniji modeli strojnog učenja kao što su model najveće regresije (engl

maximum entropy model u daljnjem tekstu MAXENT) metoda potpornih vektora

(engl support vector machines) neuronske mreže (engl artificial neural network)

klasifikacijska i regresijska stabla (engl classification and regression trees)

Usporedbom ovih modela u koracima koji su prethodili radu kao i u raspravi sa

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 11: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

6

stručnim kolegama odabran je model najveće entropije kao najbolji model za

implementaciju MAXENT model odabran je ponajviše zbog činjenice da se jedini

može modelirati samo skupom pozitivnih podataka to jest onih podataka koji

potvrđuju postojanje hipoteze (u ovom slučaju rast biljne vrste na području) Ostali

algoritmi trebaju i podatke o područjima na kojima ta biljna vrsta ne raste što se s

obzirom na specifičnost domene biljnih vrsta ne može sigurno potvrditi

Inicijalni korak većine modela strojnog učenja jest normalizacija atributa

podataka Naime s obzirom da atributi mogu biti raznoliki i raznih raspona vrijednost

potrebno ih je normalizirati kako atributi najvećih vrijednosti ne bi previše utjecali na

predikciju Primjerice u nekom hipotetskom primjeru moguće je za atribute odabrati

atribut prosječnu plaću zaposlenika što je vrijednost u rasponu nekoliko tisuća

novčanih jedinica i prosječan broj profesionalnih sportaša u poduzeću za koje se

radi taj teorijski model Prosječan broj profesionalnih sportaša vjerojatno je manji od

1 dok je plaća nekoliko desetaka puta veća vrijednost stoga bi kod predikcije

takvog modela ta vrijednost imala veći značaj i pretjerano utjecala na konačni

rezultat Kako bi se izbjegla situacija iz navedenog primjera vrijednosti se

normaliziraju to jest svode na raspon od 0 do 1 čime je smanjen utjecaj veće

varijable na samu predikciju

Kao što je ranije napomenuto ispravnost modela jedan je od najvažnijih faktora

modela strojnog učenja Dokazivanje ispravnosti modela vrši se testiranjem modela

testnim podacima Princip rada detaljnije je opisan u poglavlju 522 ali radi lakšeg

shvaćanja navedeni su neki osnovni principi U idealnom slučaju prilikom

pribavljanja podataka koji će se koristiti za učenje modela potrebno je odvojiti

određen broj podataka koji se mogu iskoristiti za testiranje Testni podaci trebali bi

pokriti dovoljan broj ekstremnih slučajeva kako bi što robusnije ispitali ispravnost

modela Najčešće je željeni omjer testnih i trening podataka 13 no u realnom

slučaju to najčešće nije moguće ostvariti Najveći problem modela strojnog učenja

upravo su podaci koji u stvarnosti ne mogu pokriti sve slučajeve i pripremiti model

na sve kombinacije ulaznih parametara Ipak takva nesavršenost može se poprilično

ispraviti naprednijim tehnikama interpolacije i uzorkovanja podataka čime se greške

modela dovode do zanemarivih postotaka ili do dovoljno dobrih postotaka s obzirom

na broj podataka kojima se model učio Broj podataka kojima se model uči trebao

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 12: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

7

bi brojati čak i milijune podataka kako bi se što vjernije pokrio svaki mogući slučaj

te se takvi modeli mogu dovesti do preciznosti od čak 99 iako bi se prikupljanje

takvih podataka moglo odužiti na čak godine rada i statističke analize U realnom

slučaju gdje se model uči s desecima tisuća ili samo nekoliko tisuća podataka

dovoljno dobrom preciznošću smatra se sve iznad 85 a nekada čak i manje Kod

klasifikacijskih modela javlja se i ogroman problem pristranosti podataka naime ako

se za učenje modela koriste podaci koji pokrivaju samo jedan slučaj od primjerice

dva moguća jednako dobar bdquoalgoritamldquo bio bi i onaj koji stalno kao rezultat daje

upravo klasu za taj slučaj primjerice uvijek vraća rezultat da se biljka nalazi na

nekom području

S obzirom na navedene probleme prilikom učenja i dokazivanja ispravnosti

razrađena je dovoljno dobra metoda kojom se ovakvi modeli mogu testirati u

realnom slučaju što je opisano u [4] Uzevši u obzir ograničenost broja podataka i

potreban omjer ideja je da se iz skupa svih podataka kojim kreator modela

raspolaže uzme 25 za testne podatke a 75 za trening podatke koji će se koristiti

kod učenja modela Time se osigurava potreban omjer testnih i trening podataka

Nakon što se model nauči testni podaci se provuku kroz metodu predviđanja te se

dobiveni rezultat provlači kroz nekoliko mogućih validacijskih funkcija S obzirom da

testni podaci imaju otprije poznatu željenu klasu (u slučaju klasifikacije) ili vrijednost

(u slučaju regresije) validacija nije toliki problem Najjednostavnija metoda

validacije je računanje broja pogođenih predikcija te se taj broj podijeli s ukupnim

brojem predikcija čime se određuje točnost modela No postoje i neke naprednije

metode od kojih je najpopularnije računanje greške metodom najmanjih kvadrata

(engl root-mean-square-error) čime je validacija robusnija na pogreške Nakon što

se dokaže ispravnost modela te dobije kvaliteta predikcije točno se zna s kojom se

razinom točnosti taj model može koristiti

22 Maximum Entropy

Model najveće entropije (MAXENT) [5] temelji se na entropiji to jest prosječnoj

količini informacija koje putuju komunikacijskim kanalom No postoji i alternativna

definicija entropije koja definira entropiju kao broj pojavljivanja nekog uzorka u

promatranom skupu Pomoću osnovnih pretpostavki dobivenih iz definicije entropije

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 13: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

8

sagradi se model kojim se mogu klasificirati podaci Neka je 119901(119883) vjerojatnost

pojavljivanja slučajne varijablu 119883 pri čemu je 119883 jedan podatak iz skupa promatranih

podataka Tada se entropija 119867(119883) definira kao

119867(119883) = minus sum 119901(119883)119899119883=1 1198971199001198922119901(119883)

U MAXENT modelu značajke predstavljaju atribute pojedinog podatka i

povezuju ih sa kategorijom koja se želi odrediti Promatran je primjer gdje značajke

predstavljaju riječi nekog teksta dok je kategoriju potrebno odrediti to jest model

koji određuje hrvatski prijevod engleske riječi board Podaci su rečenice u kojima se

tražena riječ pojavljuje dok su značajke riječi ispred i nakon one riječi za koju se

traži prijevod Najjednostavnija pretpostavka je da će takav model svaku moguću

hrvatsku riječ dati sa jednakom vjerojatnošću no takav model nema previše smisla

Druga opcija je da model traženu riječ svaki put prevede s riječju odbor no što ako

je pravilan prijevod riječ daska Vidljivo je da ni takav model ne daje dobre rezultate

Poboljšanje se može naći uvođenjem skupa pravila na primjer pravilom da se skup

riječi u koje se prevodi riječ board sastoji od odbor daska pano U tom slučaju

postoji više opcija za kreiranje modela Jedna od opcije je da se svaka riječ može

iskoristiti s jednakom vjerojatnošću od 119901 = 13frasl no takav model ne odgovara

realnom prijevodu koji je stvarno potreban Poznavanjem gramatičkih pravila jezika

može se proširiti model predviđanja dodatnim uvjetima primjerice riječ board se

prevodi u riječ pano u 90 slučaja ako ispred nje stoji engleska riječ picture

Uvođenjem dodatnih pravila model predviđanja je postao kompleksan Rješenje

kompleksnosti nalazi se u MAXENT-u Banalno govoreći MAXENT će iskoristiti

poznate činjenice a nepoznate zanemariti to jest kreirati model koji će uz zadana

ograničenja dati raspodjelu vjerojatnosti prijevoda riječi takvu da prosječna količina

informacija bude maksimalna dok će uvjete za koje se smatra da nisu relevantni i

ne zada ih se modelu zanemariti kod stvaranja modela Za ostvarenje te zamisli

iskoristit će se mogućnosti entropije uvjeta to jest umjesto jedne pretpostavke 119883

postojat će uvjet tipa 119884119883 pri čemu je 119883 skup riječi koje se nalaze ispred ili nakon

riječi board a 119884 prijevod te riječi u tom slučaju Maksimiziranjem funkcije

119867(119901) = minus sum 119901(119909 119910)119901(119909)

119901(119909119910)119909119910

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 14: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

9

tako da se uzmu točke gdje je funkcija maksimalna (argmax) za vjerojatnosti 119901 iz

skupa podataka za učenje 119862 generira se model 119901lowast takav da vrijedi

119901lowast = 119886119903119892 max119901 isin119862

119867(119901)

U primjeru s biljkama 119901 predstavljaju podaci o području na kojem biljka raste i

postoji samo jedna klasa 119910 koja zapravo predstavlja informaciju da biljka raste na

tom području Kao što se vidi iz primjera o prijevodu i prijedloga za model s biljkama

lako je uočiti kako je prava moć MAXENT-a u tome što se može koristiti za

klasifikaciju i onda kada nema negativnih podataka to jest podataka s informacijom

suprotnoj originalnoj hipotezi Primjerice drugi poznatiji algoritmi bi pri učenju

modela za predviđanje potencijalnog nalazišta biljke morali imati podatak o

područjima na kojima ta biljka sigurno ne raste što zapravo nije ostvarivo s obzirom

na specifičnu nesigurnost takve informacije u primjeru s biljkama i općenito ostalim

živim bićima Naime ne može se tvrditi s apsolutnom sigurnošću da biljka ne raste

na nekom području

Predviđanje u MAXENT modelu vrši se na način da se za atribute podatka čija

klasa se želi odrediti dohvate vjerojatnosti da ti atributi daju određenu klasu Te se

vjerojatnosti sumiraju i daju konačnu vjerojatnost da neki podatak spada u određenu

klasu Proces se ponavlja za sve klase koje generirani model sadrži ako se radi o

klasifikacijskom modelu Na primjer za podatak 119876 koji ima skup atributa 119878119876

vjerojatnost da podatak 119876 pripada klasi 119870 računa se prema formuli

119901 = sum 119901(119870|119878)

119904 isin 119878119902

pri čemu su vjerojatnosti određene u modelu ili su 0 Nakon što se dobiju

vjerojatnosti svih podataka nad kojima je napravljena predikcija potrebno je odrediti

prag koji podaci trebaju zadovoljiti kako bi se smatrali točno klasificiranima Takav

prag ovisi o konkretnom modelu i domeni primjene naime ukoliko se prilikom učenja

modela koristio velik broj primjera razumljivo je povisiti prag čak i iznad 90 dok u

realnom slučaju gdje se model učio s manjim brojem primjera taj se prag može

spustiti i do 75 Postupak određivanja zadovoljavajućeg praga funkcionira tako da

se pokrene predikcija nad nekim skupom podataka te dobiju rezultati Na početku

se uzme što veći prag te se razmotri dobiveno rješenje Ako je rješenje

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 15: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

10

zadovoljavajuće prag se može ostaviti no češće se svejedno provjeri rješenje za

nešto niži prag primjerice ako se krene s pragom od 90 idući korak može biti

85 pa 80 i niže Kada se primijeti granica na kojoj su rezultati znatno lošiji kreće

se finijom granulacijom prema višim pragovima kako bi se našao optimalan prag

koji bi zadovoljio korisnika modela

Prikazivanje rezultata zadnji je korak svakog modela predikcije pa tako i

MAXENT-a S obzirom da MAXENT daje postotak vjerojatnosti zadovoljavanja neke

klase pogodan je za kartografski prikaz rezultata gdje se područja predviđanja

oboje nijansama neke boje kako bi što vjernije prikazala razliku vjerojatnosti da

određeno područje spada u neku klasu Takav prikaz može se vidjeti na slici 1

Naravno to nije jedini način na koji se podaci mogu predstaviti postoje razne

varijacije od tablica sa rezultatima grafova i slično no takvi prikazi češći su prilikom

rada s tekstualnim podacima

Slika 1 Kartografski prikaz rezultata predviđanja MAXENT modela

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 16: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

11

23 Primjeri iz prakse

Primjene modela strojnog učenja mogu se naći na svakom koraku od sustava

za preporuke na internetskim stranicama preko modela za predviđanje vremenske

prognoze pa sve do kompleksnih modela predviđanja kretanja cijena dionica

temeljem raspoloženja na Twitteru Ideja ovog poglavlja je prikazati moć modela

strojnog učenja općenito s naglaskom na MAXENT i domenu biljnih vrsta te ukazati

na problematiku takvih domena obrađenu u nekim radovima

Jedna od zanimljivijih uporaba modela strojnog učenja svakako je rad [6] u

kojem se kretanje cijena dionica predviđa temeljem raspoloženja ljudi definiranog

objavama na društvenoj mreži Twitter Rad obrađuje model koji uzima javno

dostupne objave prikupljene preko Twitterovog sučelja te na temelju njih drugim

modelom strojnog učenja (Google-Profile of Mood States) određuje javno

raspoloženje u Sjedinjenim Američkim Državama te povezuje informaciju o

raspoloženju sa stanjem na burzi dionica DJIA Navedenim postupkom kreiran je

model koji uspješno predviđa kretanja cijena dionica temeljem javnog raspoloženja

u prethodna tri dana

U radu [7] razmatra se uporaba raznih modela strojnog učenja u svrhu

predviđanja biološke raznolikosti Obrađuju se svi poznatiji modeli poput MAXENT-

a neuronskih mreža linearne regresije i metode potpornih vektora (engl support

vector machine) Ovakav rad iznimno je koristan i razmatran prilikom izrade s

obzirom da pokriva jedno od područja primjene ovog sustava Iako je strogo

specificiran na regresijske modele i zanemaruje problematiku klasifikacijskih

modela u biološkoj domeni pokazao je kako se uporaba MAXENT-a može iznimno

kvalitetno iskoristiti za predviđanje biološke raznolikosti a s obzirom da je MAXENT

najpopularniji model prilikom klasifikacije u biološkoj domeni samo je potvrdio

odluku da se upravo taj model koristi u samom sustavu

[8] predstavlja iznimno važan rad s obzirom da obrađuje problematiku

pristranosti podataka u biljnim vrstama Sličan problem nalazi se i u [9] te [10] gdje

se navode i tehnike rješavanja takvih problema U [8] navode se razlozi radi kojih

dolazi do pristranosti u podacima o biljnim vrstama te se pokušava proširiti svijest o

toj problematici Pokazuje se kako se korištenjem MAXENT modela može donekle

smanjiti utjecaj pristranosti zbog činjenice da je MAXENT poprilično neosjetljiv na

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 17: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

12

takve podatke Nadalje iskazuju se problemi prilikom predviđanja biološke

raznolikosti upravo iz razloga što određena područja nisu dovoljno istražena i nude

se rješenja u vidu uzimanja podataka okolnih područja ili okvirnog predviđanja

biološke raznolikosti na neistraženim područjima prije samog učenja modela

Vjerojatno najbolje dosad poznato rješenja ove problematike nudi [11] gdje se

korištenjem Gowerovih klasa definira istraženost nekog područja a dodatnom

podjelom cjelokupnog teritorija na nekoliko većih regija može se okvirno odrediti

prosječan broj bioloških vrsta čak i malim brojem postojećih podataka

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 18: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

13

3 Specifikacija zahtjeva

U ovom poglavlju opisani su zahtjevi koje sustav mora zadovoljiti Zahtjevi su

podijeljeni u tri kategorije Najprije se razmatraju korisnički zahtjevi koji opisuju

zadatke koje korisnik može obavljati prilikom interakcije sa sustavom

Funkcionalnim zahtjevima se definiraju funkcionalnosti koje sustav mora imati te

također reakcije sustava ako dođe do određene pogreške Popisivanjem

funkcionalnih zahtjeva znatno se olakšava dizajn arhitekture sustava pri čemu se u

ranoj fazi sustav može postaviti tako da bude spreman na potencijalne probleme i

kako ih obraditi

Posljednji su navedeni nefunkcionalni zahtjevi Njima se definiraju potencijalni

zahtjevi dizajna ili performansi sustava koji su najčešće određeni domenom sustava

ili su nametnuti izvana Iznimno su korisni zbog preciziranja određenih nejasnoća

koje mogu nastati prilikom gledanja ostalih zahtjeva ali važni su i u koraku

implementacije ukoliko zahtijevaju određenu brzinu operacije sustava budući da

se takva informacija mora uzeti u obzir tijekom modeliranja nekog algoritma ili

arhitekture na koju se ta operacija oslanja

31 Korisnički zahtjevi

Korisnik mora moći spremati vlastite prostorne podatke na sustavu

Sustav mora omogućiti primanje i spremanje prostornih podataka koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći spremati vlastite podatke o biljkama na sustav

Sustav mora omogućiti primanje i spremanje podataka o biljkama koje

korisnik želi koristiti prilikom interakcije sa statističkim modelom predviđanja

nalazišta biljnih vrsta

Korisnik mora moći odabrati prostorne podatke koji će se koristiti prilikom

učenja modela

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 19: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

14

Sustav mora omogućiti odabir između prostornih podataka koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati podatke o biljkama koji će se koristiti prilikom

učenja modela

Sustav mora omogućiti odabir između podatak o biljkama koje je korisnik

spremio kako bi mogao odrediti željene parametre koji se koriste prilikom učenja

modela za predviđanje nalazišta biljnih vrsta

Korisnik mora moći odabrati biljke nad kojima za koje će se raditi predikcija

Sustav mora omogućiti odabir biljnih vrsta nađenih među podacima o

biljkama koje je korisnik spremio kako bi mogao odrediti za koje biljke će se raditi

predikcija nalazišta pomoću modela za predviđanje nalazišta biljnih vrsta

Korisnik treba moći pokrenuti proces predikcije

Treba omogućiti ručno pokretanje procesa predikcije nalazišta biljnih vrsta i

biodiverziteta temeljenog na odabranim parametrima predikcije

Korisnik mora moći vidjeti kartografski prikaz rezultata predikcije

Sustav mora omogućiti kartografski prikaz rezultata procesa predikcije s

obzirom da su rezultati prostorno orijentirani te nisu pretjerano korisni u tekstualnom

obliku

Korisnik mora moći preuzeti dobivene rezultate

Sustav mora omogućiti preuzimanje rezultata procesa predviđanja nalazišta

biljnih vrsta s obzirom da većina korisnika takve podatke želi pohraniti lokalno ili

koristiti u drugim sustavima prilikom istraživanja

32 Funkcionalni zahtjevi

Sustav mora podržati prihvat i postojanost prostornih podataka korisnika

Obrada primljenih prostornih podataka i njihova postojanost u stalnoj

memoriji moraju biti osigurani Prostorni podaci najčešće se šalju u komprimiranom

obliku te ih je potrebno otpakirati nakon preuzimanja

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 20: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

15

Sustav mora podržati prihvat i postojanost podataka o biljkama korisnika

Prihvat i postojanost podataka o biljkama korisnika moraju biti osigurani Nad

ovakvim podacima nisu potrebne dodatne transformacije nakon primanja

Nakon što korisnik odabere željene podatke o biljkama sustav mora dohvatiti

biljke navedene u njima

Nakon korisnikovog odabira podataka o biljkama koje želi koristiti prilikom

predikcije sustav mora na temelju odabranih dohvatiti i korisniku omogućiti izbor

biljnih vrsta navedenih u njima

Sustav mora pokrenuti skriptu kojom se uči model predikcije i radi sama

predikcija

Prilikom odabira predikcije sustav na temelju primljenih parametara mora

pokrenuti odgovarajuću skriptu kojom se vrši učenje i u konačnici predikcija

modelom predviđanja biljnih vrsta ili predviđanja biološke raznolikosti ovisno o tome

koju je metodu predviđanja korisnik odabrao

Sustav mora omogućiti dohvat rezultata predikcije za daljnje kartografsko

korištenje i preuzimanje

S obzirom da se za preuzimanje i kartografski prikaz rezultati nalaze u istom

formatu sustav mora omogućiti dohvat rezultata za svaku od akcija

33 Nefunkcionalni zahtjevi

Zahtjevi za performansama sustava

- Trajanje izračuna mora biti unutar 30 minuta s obzirom da je sustav

namijenjen jednostavnoj i brzoj uporabi kako bi korisnici dobili rezultat u

realnom vremenskom razdoblju s time da se gornja granica trajanja odnosi

na iznimno velik broj podataka i iznimno velike datoteke čija obrada nije

moguća u krećem vremenskom periodu radi ograničenja tehnologijom

Podatke čije trajanje obrade prelazi gornju vremensku granicu potrebno je

odbiti

Zahtjevi za sigurnošću podataka

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 21: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

16

- Podaci koje određeni korisnik pošalje moraju biti dostupni samo tom

korisniku i nalaziti se u zasebnoj korisničkoj datoteci

Formati podataka

- Prostorni podaci moraju biti u ESRI-evom formatu za prostore podatke [12]

(tzv shapefile) s barem tri standardne datoteke ekstenzija shp shx dbf

- S obzirom da prostorni podaci moraju zadovoljavati prethodno navedenu

strukturu primanje takvih podataka omogućeno je jedino ako su podaci

zapakirani Podaci se također preuzimaju u zapakiranom obliku Podržani

format pakiranja je zip

- Podaci o biljkama primaju se isključivo u csv (engl comma separated values)

formatu odgovarajuće strukture koju je moguće preuzeti na početnoj stranici

sustava kako bi bili pripremljeni za daljnju obradu

Ograničenja korištenja

Sustav bi trebao omogućiti pristup svim korisnicima koji ga žele koristiti bez

potrebe za prijavom na sustav

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 22: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

17

4 Arhitektura sustava

Sustav za predviđanje nalazišta biljnih vrsta zamišljen je kao usluga za

olakšavanje korištenja statističkih modela predviđanja nad podacima o biljnim

vrstama Uzevši taj zahtjev u obzir te s obzirom na današnje tehnologije kao logično

rješenje nameće se izrada web servisa koji znatno olakšava pristup i korištenje

takvog sustava Takvom implementacijom omogućuje se lagan pristup i baratanje

sustavom u odnosu na aplikacije koje bi zahtijevale dodatne korake preuzimanja i

instalacije na računalu te čini ovakav sustav dostupnijim krajnjem korisniku Važan

zahtjev sustava jest brzina izvođenja učenja modela i predikcije zbog čega je

potrebno posebnu pažnju pridati tehnologijama kojima će model predikcije biti

izveden kako bi se optimizirao rad s takvim podacima Postojanost podataka za

potrebe sustava može se ostvariti i u datotečnom obliku s obzirom da osim samih

datoteka korisnika ne postoji poseban model koji bi zahtijevao postojanost no

detaljnije razmatranje ovog faktora biti će u poglavlju 7

41 Web servis

Imajući na umu kako se ovakav sustav može koristiti i u druge svrhe osim

same interakcije putem korisničkog sučelja poput korištenja sustava putem vanjske

skripte ili programa korištenja sustava putem sučelja neke druge aplikacije ili vrste

uređaja odabrana je REST (engl representational state transfer) struktura web

servisa REST je u današnje vrijeme standard prilikom izrade web servisa upravo

zbog jednostavne prilagodbe za rad s više infrastrukturno različitih sučelja Iako je

ideju REST-a uveo Roy Fieldin još 2000 godine popularizacija takve logike došla

je tek nekoliko godina kasnije U to vrijeme vladale su zasebne web aplikacije koje

su rađene za specifičnu svrhu uporabe putem web preglednika ili računalne

aplikacije Osim takvih aplikacija u porastu je bila ideja SOAP web servisa koji su

slično kao i REST servisi nudili korištenje jednog sustava od strane više sučelja

Vrijeme je pokazalo da su SOAP servisi znatno kompliciraniji za izvedbu te se

postepeno uvodio REST kao standard prilikom izrade web servisa Naravno da je i

danas moguće naći raznovrsne implementacije web sustava no REST servisi su

nešto čemu treba težiti

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 23: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

18

Ideja REST servisa je iskorištavanje kvaliteta HTTP protokola kako bi se

povećala skalabilnost sustava olakšalo razdvajanje sučelja i samog sustava te

potaklo moduliranje prilikom izrade samog sustava Korištenje URI-a (engl uniform

resource identifier) kao glavnog identifikatora određenog modela u sustavu potiče

na modulaciju sustava s obzirom na modele Svaki od modela na primjer račun

dobije vlastiti URI kojim se može vršiti radnje nad tim modelom HTTP protokol

omogućuje korištenje glagola kojima se mogu specificirati radnje nad modelom

primjerice GET PUT POST DELETE čime se na razini URI-a i glagola jedinstveno

može odrediti željena operacija nad modelom Neke od prednosti REST-a su

- direktna implementacija klijent-server arhitekture čime se logika

prikaza podataka u potpunosti odvaja od logike za obradom podataka

- nepostojanje stanja u aplikaciji što je jedna od ideja korištenja web-a

(iako nije uvijek u suglasnošću sa zahtjevima domene sustava)

- mogućnost memoriranja adresa u brzoj memoriji s obzirom da svaka

akcija nad modelom ima vlastiti URI može se svaku od tih adresa

spremiti i zapamtiti ukoliko se često koristi

- slojevitost sustava koja se ostvaruje direktno implementacijom REST-

a jer su odvojeni korisničko sučelje i sam sustav dok se odvajanje

modela i sustava naknadno može ostvariti korištenjem baza podataka

S obzirom na brojne prednosti dobivene implementacijom REST servisa takav

način rada pokazuje se iznimno prikladnim za arhitekturu sustava

42 Struktura cjelokupnog sustava

Druga smjernica prilikom odabira arhitekture jest korištenje MVC (engl

Model-View-Controller) obrasca U web tehnologijama vjerojatno najčešće korišteni

obrazac danas jest upravo MVC On je u suštini skup smjernica i pravila kojima se

ostvaruje idealan REST servis spojen na potpuno nezavisno sučelje MVC

arhitekturom gradi se sustav čije su glavne jedinice potpuno razdvojene i nezavisne

jedna o drugoj Model (engl model) predstavlja bazu podataka koje nema direktne

ovisnosti o nijednom drugom dijelu sustava iako ne mora nužno biti baza podataka

već je važno ostvariti očuvanje podataka nezavisno o drugim slojevima arhitekture

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 24: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

19

Upravljač (engl controller) u MVC-u predstavlja spojnicu između korisničkog sučelja

i modela podataka on komunicira s modelom prilikom traženja podataka te je u

konstantnoj interakciji sa sučeljem prilikom slanja podataka i primanja naredbi

Pogled (engl view) zapravo predstavlja korisničko sučelje kojim se šalju naredbe

upravljaču no danas su takva sučelja znatno kompleksnija te se u stvari pretvaraju

u dodatni MVC sloj na korisničkoj strani Vidljive su brojne prednosti ovog obrasca

kao arhitekturne vodilje sustava

43 Tehnologija modela predviđanja

Zadnja važna točka prilikom gradnje arhitekture ovog sustava je izbor

tehnologija kojima će se ostvariti statistički model predviđanja Polazeći od zahtjeva

i realnih slučajeva s kojima se ovakav model može susresti dolazi se do sljedećih

važnih faktora za odluku

- velik broj podataka za učenje

- visok stupanj dimenzije podataka za učenje (svaki podatak mogao bi

imati i po nekoliko atributa)

- potreba za brzom obradom brojnih visoko dimenzionalnih podataka

- mogućnost rada sa nepotpuno definiranim podacima

- potreba za kompleksnim matematičkim operacijama nad podacima

S obzirom na navedene faktore može se zaključiti da postoji potreba za matričnim

prikazom podataka s obzirom da ih ima puno i da svaki od njih ima više atributa

nadalje za rijetkim matricama podataka s obzirom da neki podaci mogu biti

nepotpuni te za brzim matematičkim operacijama nad takvim matricama Iako

postoje neke implementacija knjižnica u objektnim jezicima rijetke se s obzirom na

brzinu rada mogu mjeriti sa matematičkim (statističkim) jezicima te je jedino logično

razviti model u nekom od takvih jezika

44 Odabrana arhitektura sustava

U ovom poglavlju navedene su neke strukture smjernice i tehnologije koje

se danas često koriste te prednosti koje se dobiju korištenjem istih Konačna

struktura sustava uzevši u obzir navedene faktore sastoji se od troslojnog sustava

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 25: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

20

prema MVC obrascu pri čemu je sučelje implementirano nezavisno od ostalih

komponenti te služi za prikaz podataka te komunikaciju sa servisom Servis je rađen

po REST načelima te u potpunosti ostvaruje ideje REST-a dok je postojanost

podataka osigurana spremanjem datoteka u lokalni datotečni sustav servisa Za

ostvarenje modela predviđanja korištene su tehnologije statističkih programskih

jezika kojima se osigurava brz rad i računanje matricama Pojednostavljena

arhitektura predstavljena je na slici 2 Ovim odabirom ostvarena je visoka

skalabilnost sustava osigurana brzina izračuna i predviđanja odvojene su tri glavne

komponente sustava te se potiče modularizacija sustava

Slika 2 Prikaz odabrane arhitekture sustava

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 26: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

21

5 Statistički i podatkovni modeli

Podatkovni model predstavlja podatke nužne za rad sustava i modela

predviđanja Opis podataka značenje atributa te način dobivanja podataka

najvažnije su stavke podatkovnog modela U djelu o statističkom modelu razmatra

se konkretna implementacija modela strojnog učenja opisanih u poglavlju 21 nad

modelom podataka opisanim u poglavlju 51 sve prilagodbe te objašnjenje na koji

način se informacije modela podataka koriste kod učenja i predviđanja te što točno

daju rezultati predviđanja

51 Podatkovni model

Podatkovni model sustava čine dvije vrste podataka iz dva različita izvora U

poglavlju 511 razmatraju se podaci o nalazištima biljaka dobiveni iz prostornih

datoteka koje korisnik odabere Nadalje u poglavlju 512 kratko su sagledani podaci

o do sada nađenim biljkama njihova struktura i pojašnjenje dok je u poglavlju 513

objašnjen postupak spajanja podataka o području nalazišta i podataka o nađenim

biljkama

511 Prostorni podaci

Prostorni podaci korišteni u modelu predviđanja daju informacije o osnovnim

geološkim uvjetima koji vladaju na nekom području Podaci se primaju u shapefile

formatu te sadrže skup poligona proizvoljne veličine primjerice kvadrate 5km lowast

5km sa svim informacijama vezanima za taj kvadrat Atributi podataka potrebni za

učenje modela dolaze iz dva neovisna izvora

- izvor bio-klimatskih faktora za određeno područje prema bioclim

modelu definiranom na [13] (BIOCLIM)

- izvor podataka digitalnog modela terena (DEM) temeljen na podacima

sustava FCD repozitorij prostornih slojeva (httphircbotanichrfcd)

BIOCLIM model se sastoji od sljedećih faktora

- prosječna godišnja temperatura (BIO1)

- prosječan raspon najviše i najniže temperature (BIO2)

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 27: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

22

- izotermija (BIO3)

- temperaturna sezonalnost (BIO4)

- najviša temperatura najtoplijeg mjeseca (BIO5)

- najniža temperatura najhladnijeg mjeseca (BIO6)

- godišnji raspon temperatura (BIO7)

- srednja temperatura najvlažnijeg kvartala (BIO8)

- srednja temperatura najsušeg kvartala (BIO9)

- srednja temperatura najtoplijeg kvartala (BIO10)

- srednja temperatura najhladnijeg kvartala (BIO11)

- godišnja količina padalina (BIO12)

- količina padalina najvlažnijeg mjeseca (BIO13)

- količina padalina najsušeg mjeseca (BIO14)

- sezonska količina padalina (BIO15)

- količina padalina najvlažnijeg kvartala (BIO16)

- količina padalina najsušeg kvartala (BIO17)

- količina padalina najtoplijeg kvartala (BIO18)

- količina padalina najhladnijeg kvartala (BIO19)

Model podataka DEM sadrži sljedeće atribute

- nadmorska visina (NAD_M_)

- ekspozicija (EKSPOZICIJ)

- nagib terena (NAGIB_TERE)

Kao što je napomenuto ovi podaci dolaze u shapefile formatu kao više

odvojenih (minimalno dvije) datoteka ukoliko ih je korisnik preuzeo s drugih izvora

ili kao jedna ukoliko je korisnik sam kreirao datoteku Shapefile format uz sebe

donosi neke dodatne informacije koje su važne za sustav iako se ne koriste u

predviđanju direktno a to su koordinate područja koje se koriste za spajanje

podataka o biljkama i podataka o području Ipak takvi podaci katkad znaju biti

nepotpuni te postoje područja koja se nalaze u datoteci a ne sadrže realne

vrijednosti atributa već broj -9999 ili vrijednost 119873119860frasl stoga je nakon učitavanja

potrebno maknuti redove podataka s takvim vrijednostima s obzirom da se one ne

mogu koristiti prilikom predviđanja niti se nad njima može napraviti dodjeljivanje

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 28: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

23

neke neutralne vrijednosti kao na primjer 0 s obzirom da 0 može biti realna

vrijednost nekog atributa određenog područja

S obzirom da sustav koristi veliki broj bio-klimatskih i prostornih atributa

postoji šansa da se smanji kvaliteta predviđanju radi velikog broja atributa koji su u

korelaciji ponajprije zato što korištenje atributa koji ima snažnu korelaciju s nekim

drugim atributom ne donosi nove informacije u sustav Nadalje samo korištenje

takvih atributa ne mora nužno pogoršati kvalitetu procjene modela no u realnom

slučaju gdje je broj podataka za učenje modela ograničen i najčešće relativno malen

s obzirom na broj atributa korištenje snažno koreliranih atributa doista može dovesti

do smanjenja kvalitete predikcije Na primjer izrazito pojednostavljen primjer gdje su

tri od pet atributa u nekom modelu u korelaciji ta će tri atributa dati sličnost između

dva podatka 35frasl iako su zapravo slični u jednom važnom atributu te bi sličnost

trebala biti 1 3frasl Stoga je nad ovim osnovnim modelom prostornih podataka potrebno

izvršiti statističku analizu Spearmanovim ρ koeficijentom korelacije s obzirom da se

on može primijeniti i kada povezanost varijabli nije linearna Formula za

Spearmanov ρ koeficijent korelacije glasi

119903119904 = 1 minus 6 sum119889119894

2

119899 (1198992 minus 1)

119899

119894=1

Pri čemu je 119889 razlika između vrijednosti varijacije dvije varijable a 119899 broj različitih

podataka Nakon izračuna Spearmanovog ρ koeficijenta korelacije za svaki par

varijabli koje se koriste za predviđanje dobije se matrica korelacije prikazana u dva

dijela na slikama slika 3 i lika 4 Na slikama se može uočiti visoka korelacija među

nekim varijablama a s obzirom da je cilj ovog postupka odrediti takve varijable i

izbaciti ih iz skupa atributa za učenje modela s obzirom na već napomenute

nedostatke korištenja takvih atributa Tim razlogom iz modela su izbačeni atributi

BIO2 BIO4 BIO5 BIO6 BIO7 BIO8 BIO10 BIO11 BIO12 BIO13 BIO16 BIO17

BIO19 i NADM_M_ U svrhu potvrde ove pretpostavke korišten je i statistički

programski jezik R to jest funkcija findCorrelation paketa caret [14] za statistički

programski jezik R koja je dala jednaki rezultat

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 29: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

24

Slika 3 Prikaz prvog dijela matrice korelacije

Slika 4 Prikaz drugog dijela matrice korelacije

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 30: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

25

512 Podaci o biljkama

Ovaj tip podataka predstavlja najveći problem prilikom predikcija ponajviše

zbog toga što ne postoji standard kojim se ovaj tip podataka može podvrgnuti no i

zbog toga što je značajnije podložan greškama u odnosu na prostorne podatke

Korištenje podataka sustava FCD koji sadrži podatke o nalazištima biljnih vrsta

prema opažanjima istraživača i podacima iz literature daje najbolje rezultate s

obzirom da se radi o provjerenim podacima Ipak korisnik sustava može sam

prikupiti podatke opažanja biljaka no tada mora zadovoljiti predložak i unijeti

atribute navedene u njemu Navedeni problem nije jedina mana ovih podataka

postoji također problematika visoke pristranosti prilikom istraživanja biljnih vrsta

kako u Republici Hrvatskoj tako i u drugim državama svijeta što je opisanu u

radovima [8] i [11] Pod pojmom pristranosti misli se ponajprije na činjenicu da

istraživači prilikom svojih opažanja najčešće biraju dva tipa lokacija one koje su im

u neposrednoj blizini te one koje imaju izniman biološki značaj poput Nacionalnog

parka Sjeverni Velebit ili Nacionalnog parka Plitvička jezera Takav pristup stvara

određenu pristranost prilikom učenja modela za predviđanje jer se većina podataka

nalazi na takvim dobro istraženim područjima dok s druge strane postoje tipovi

područja potpuno neistraženih to jest navedenih u bazi što je također opisano u

[11] Ipak s obzirom da ne postoji bolje rješenje barem dok ne dođe do reforme

istraživanja u pojedinim zemljama ovakvi podaci predstavljaju najbolje što se može

iskoristiti Osim nabrojanog podaci se moraju očistiti od nevaljalih podataka iz

datoteke uklanjanjem onih redova koji ne sadrže neki od traženih atributa Atributi

potrebni u podacima o biljkama su

- OznKoord ndash predstavlja jedinstveni identifikator određene koordinate

u bazi podataka FCD

- NazKlase ndash predstavlja ime biljne vrste na latinskom u bazi podataka

FCD iako u slučaju da korisnik sam unosi podatke atribut može

predstavljati i lokalizirano ime biljke

- HTRS96_X ndash predstavlja geografsku dužinu centroida područja u

kojem je koordinata nađena u referentnom sustavu HTRS96

- HTRS96_Y - predstavlja geografsku širinu centroida područja u kojem

je koordinata nađena u referentnom sustavu HTRS96

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 31: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

26

513 Proces spajanja podataka

S obzirom da su podaci o području odvojeni od podataka o biljkama

nađenima na nekom području postoji problem dodjeljivanja podataka o području

biljkama koje se nalaze na tom području Za ostvarenje željenog cilja koristi se

postupak umetanja slojeva geografskih podataka koji prekrivaju istu površinu

naprednim metodama presjeka geografskih objekata pomoću funkcije over

knjižnice sp [15] programskog jezika R Samoj uporabi funkcije prethodi pretvorba

koordinata centroida dobivenih u podacima o biljkama u geografske objekte

funkcijom SpatialPoints iz knjžnice sp programskog jezika R Nakon što se dobije

skup geografskih točaka može se napraviti presjek između točaka i cjelokupnog

skupa geografskih podataka sadržanog u shapefile-u prostornih podataka Time se

za svaku biljku mogu odrediti atributi područja na kojem se biljka nalazi kako bi se

ti podaci kasnije mogli koristiti u koraku učenja algoritma što je detaljnije opisanu u

poglavlju 52

52 Statistički model predviđanja nalazišta biljnih vrsta

U poglavlju 22 opisan je način na koji MAXENT model uči i vrši predviđanja

dok je u poglavlju 51 opisan skup podataka koji se koriste Postavlja se pitanje na

koji način u ovom konkretnom slučaju MAXENT koristi predane podatke te kakvi

su rezultati koji se dobiju i kako je osigurana njihova točnost U poglavlju 521

obrađuje se princip rada i detaljnije se objašnjava korištenje podataka pri

predviđanju dok se u poglavlju 522 detaljnije obrađuje testiranje MAXENT modela

i dokazuje ispravnost i kvaliteta samog modela te prikazuju rezultati testiranja za

korišteni model Konkretna implementacija modela pomoću programskih alata

opisana je u poglavlju 613 gdje se opisuju tehnologije i knjižnice korištene za

implementaciju te navode razlozi njihovog korištenja

521 Princip rada

Prilikom modeliranja modela treba postaviti pitanje što u stvari podaci koji se

koriste znače te kako se oni mogu iskoristiti za predviđanje modela

Osnovnoškolsko obrazovanje dovoljno je da se razumije kako rast biljke na nekom

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 32: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

27

području ovisi o mnogobrojnim faktorima zemljišta i klime koji na tom području

prevladavaju Sasvim je sigurno kako lopoč neće rasti na planini ili kako Velebitska

degenija ne raste u močvarnom području S obzirom na podatke koji se koriste

logično je da se predikcija nalaženja biljke na nekom području može ostvariti

korištenjem određenih bioklimatskih atributa poput srednje prosječne temperature

ili izotermije te isto tako nekih geografskih atributa kao što su ekspozicija i nagib

terena U poglavlju 511 objašnjen je postupak izbora atributa koji se mogu najbolje

iskoristiti za učenje modela Podaci o određenoj biljci i atributi područja na kojima ta

biljka raste predaju se MAXENT modelu u procesu učenja te se određuju optimalne

vjerojatnosti rasta biljke na nekom području s obzirom na atribute područja koji su

predani Generira se model za određenu biljku te se predaju podaci o zemljištima

svih područja datoteke koju je korisnik odabrao u obliku kvadrata proizvoljne veličine

(na primjer 5119896119898 lowast 5119896119898) S obzirom na atribute područja koji su predani računa se

vjerojatnost da na određenom području raste izabrana biljka U konačnici se podaci

o tome raste li biljka na određenom području povezuju sa datotekom iz koje su

pročitani atributi te se generira nova datoteka shapefile formata koja uz bioklimatske

atribute sadrži i podatak o tome raste li određena biljka na nekom području to jest

vjerojatnost rasta biljke na tom području

Drugi slučaj predikcije (biološke raznolikosti) ponešto se razlikuje od prvog

naime radi se o regresijskom predviđanju Osnovna razlika takvog predviđanja leži

u činjenici da se ne predviđa temeljem podataka o jednoj biljci već o ukupnom

skupu podataka koje je korisnik predao U toj činjenici leži i najveći problem ovog

predviđanja Zbog činjenice da korisnik može predati podatke o samo nekoliko

biljnih vrsta postoji šansa da će ova predikcija biti iznimno loša Stoga odgovornost

kvalitete predikcije ovog tipa leži isključivo na korisniku i poželjno je koristiti podatke

o svim biljkama koji se mogu naći na stranicama FCD Ukoliko se predaju dovoljno

dobri podaci oni se grupiraju na način da se sumira broj različitih biljnih vrsta na

određenom području S obzirom na atribute područja i broj različitih vrsta na njima

radi se učenje modela Predikcija se ponovno radi nad svim područjima dobivenim

u datoteci koju je korisnik odabrao te se ta datoteka proširuje informacijom o

biološkoj raznolikosti na svakom od područja te datoteke i u konačnici se generira

nova datoteka u shapefile formatu koja sadrži otprije postojeće atribute i novi atribut

o biološkoj raznolikosti

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 33: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

28

522 Testiranje modela

Kao što je navedeno u poglavlju 22 model je potrebno testirati i utvrditi

njegovu kvalitetu Izabrani proces testiranja klasifikacije je računanje pogreške

metodom najmanjih kvadrata Računanje pogreške metodom najmanjih kvadrata

(engl root-mean-sqaure-error) bazira se na korištenju standardne metode

najmanjih kvadrata kako bi se odredila točnost nekog klasifikacijskog sustava U

metodi najmanjih kvadrata traži se odstupanje točaka od nekog pravca odnosno

nekih vrijednosti Konkretno prilikom računanja greške traže se odstupanja rezultata

predviđanja testnog skupa podataka od pravih vrijednosti koje su zadane u testnom

skupu podataka s obzirom da je testni skup zapravo podskup svih podataka

Formula po kojoj se postotak greške računa je

119877119872119878119864 = radicsum ( 119910119894 minus 119909119894 )2119899

119894=1

119899

gdje je 119910119894 prava vrijednost 119894 - tog testnog podatka danog na predikciju a 119909119894 predikcija

na temelju atributa 119894 ndash tog podatka dok je 119899 ukupan broj testnih podataka Rezultat

ove funkcije je broj između 0 i 1 što pomnoženo sa 100 daje točnost predviđanja

modela izraženu u postotcima u odnosu na druge modele koji bi se koristili nad istim

skupom podataka

Kod računanja greške bioraznolikosti očito je da se ne može koristiti RMSE

zbog činjenice da se predviđaju konkretni brojevi Stoga se za regresijske modele

koristi 1198772 metoda Formula po kojoj se računa 1198772 glasi

1198772 = 1 minus 119878119870119866

119880119878119870=

sum ( 119910119894 minus 119891119894 )2119899

119894=1

sum ( 119910119894 minus )2119899119894=1

gdje su

119878119870119866 = 119904119906119898119886 119896119907119886119889119903119886119905119899119894ℎ 119892119903119890š119886119896119886 = 119899 lowast sum ( 119910119894minus 119909119894 )2119899

119894=1

119899

119880119878119870 = 119906119896119906119901119899119886 119904119906119898119886 119896119907119886119889119903119886119905119886 = sum( 119910119894 minus )2

119899

119894=1

= sum 119910119894

119899119894=1

119899

Ovakva kompliciranija formula regresije služi kako bi se efikasno izračunao postotak

točnih predviđanja regresijskih modela smanjujući pritom utjecaj predviđenih

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 34: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

29

brojeva s obzirom na njihovu veličinu i računajući postotak kvalitete predviđanja

budući da se ne radi o binarnom slučaju točno-netočno već se može desiti da dobar

model daje rezultate s malom razlikom možda u trećoj decimali u odnosu na stvarne

vrijednosti dok loš model može pogriješiti procjenu i za nekoliko tisuća Grafički

prikaz ove metode može se vidjeti na slika 5

Slika 5 Grafički prikaz metode testiranja 1198772

Konkretno testiranje modela sastoji se od nekoliko koraka Najprije su se obje vrste

modela treniraju podacima za učenje koji su izabrani nasumičnim uzorkovanje tako

da čine 75 ukupnih podataka dok se ostatak ostavi kao podaci za testiranje

Izaberu se tri biljke sa nešto većim brojem podataka nad kojima se učio i testirao

model ponajviše zbog činjenice da korisnik sustava mora biti svjestan da ukoliko o

nekoj biljci postoji samo desetak zapisa takav model nikada neće biti kvalitetan

bez obzira na metodu koja se koristila Stoga je razumljivo koristiti one podatke za

koje se testiranje može vršiti Testnim podacima dodani su i ručno odabrani podaci

o zemljištima koja nikako ne smiju biti nalazišta tih biljaka na primjer izrazito suhi

krajevi u kojima uspijevaju rijetke biljke ili izrazito hladni krajevi u kojima praktički

nema vegetacije U tablici 1 prikazani su podaci za Fraxinus ornus L (crni jasen ndash

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 35: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

30

3893 zapisa) Ambrosia artemisiifolia L (ambrozija ndash 1612 zapisa) te Carpinus

betulus L (obični grab ndash 4698 zapisa) kod klasifikacije a u tablici 2 rezultati

testiranja regresije

Tablica 1 Rezultati testiranja MAXENT modela metodom RMSE

Hrast kitnjak Ambrozija Običan grab

RMSE 9282 9381 9296

Tablica 2 Rezultati testiranja MAXENT modela metodom 1198772

Bidiverzitet

R2 7624

Rezultati pokazuju da u slučaju klasifikacije koju je znatno teže testirati radi

uvođenja bdquosigurnoldquo krivih rezultata MAXENT daje iznimno kvalitetne i pouzdane

rezultate iako se radi o samo nekoliko tisuća zapisa o biljkama Kod 1198772 metode

validacije nije problem ni niža razina točnosti upravo zato što je metoda strogo

matematička Primjerice za istraživanja o ljudima i općenito živim bićima fiziološka

i posebno psihološka točnost zna iznositi samo 50 zbog kompleksnosti same

domene dok za matematičku i statističku domenu taj rezultat predstavlja problem

jer se podaci najčešće kreću po nekoj krivulji U slučaju predviđanja bidiverziteta

rezultat je nešto niži postotak Ipak navedeni postotak dovoljno je dobar s obzirom

na kompleksnost domene

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 36: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

31

6 Implementacija sustava

Ovo poglavlje sadrži detaljniji prikaz implementacije korisničkog sustava

statističkog modela i web servisa razloge izbora pojedinih tehnologija i korištenje

vanjske knjižnice i poneku napomenu Prilikom izbora implementacijskih tehnologija

cilj je izabrati tehnologije koje će najbolje odgovarati na zahtjeve navedene u

poglavljima 33 i 4 Najprije je opisana implementacija korisničkog sučelja zatim

implementacija statističkog modela predviđanja nalazišta biljnih vrsta te na kraju

implementacija web servisa

61 Implementacija korisničkog sučelja

Korisničko sučelje predstavlja prikaz stranica u pregledniku korisnika te zbog

današnjih trendova sve većeg korištenja mobilnih preglednika postoji zahtjev za

prilagodbom prikaza iste stranica na takvim uređajima Osim toga korisničko

sučelje mora biti jednostavno i intuitivno te brzog odziva prilikom početnog otvaranja

da korisnik ne pomisli kako stranica ne postoji Izbor radnog okvira na strani

korisničkog sučelja također je iznimno važan Današnji radni okvir pisani u

JavaScriptu nude brojne pogodnosti no potrebno je izabrati onaj koji najbolje

odgovara određenom problemu Zbog činjenice da se web servis bazira na MVC

obrascu za izbor radnog okvira na strani korisničkog sučelja izabran je AngularJS

[16]

Angular je radni okvir koji nudi jednostavnu i brzu implementaciju MVC

obrasca na strani korisničkog sučelja kako bi olakšao upravljanje poziva web

servisa te baratanje rezultatima koji se dohvate Osim što nudi iznimno brze i

jednostavno proširive metode pozivanja web servisa iznimno je bogat proširenjima

kojima se ostvaruju brojni zahtjevi današnjih web aplikacija Primjerice postoji

nekoliko implementacija različitih karti svijeta u angular radnom okviru određenih

komponenti korisničkog sučelja poput padajućih izbornika ili čak određenih stilova

dizajna web stranice Protok podataka je takav da angularov upravljač (engl

controller) poziva web servis koji zapravo predstavlja svojevrsni model barem sa

strane korisničkog sučelja te dohvaća podatke s zadanog URI-a Nakon što su

podaci stigli predaju se nekom objektu u djelokrugu (engl scope) Angularovog

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 37: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

32

radnog okvira Angular promjene u podacima određuje na način da se podatak

prilikom stvaranja u djelokrugu radnog okvira pretplati na promjene U pozadini se

vrti petlja koja prati sve događaje unutar radnog okvira te prilikom obrade događaja

promjene podatka petlja propagira tu promjenu prema korisničkom sučelju Na

korisničkom sučelju promjena je vidljiva bez potrebe za osvježavanjem korisničkog

sučelja

Najveće prednosti korištenja angulara su iznimna brzina i jednostavnost

prilikom promjena u djelokrugu Osim toga u praksi se pokazalo iznimno dobrom

idejom ostvariti isti obrazac na korisničkoj strani kao i na web servisu zbog

olakšavanja programiranja ali i zbog kasnijeg održavanja i proširivanja sustava

Naime moguće je čak imati iste module na web servisu i angular radnom okviru te

znatno olakšati promjene s obzirom da se stvari koje traži praktički jednako zovu

Grafički prikaz strukture angulara prikazan je na slici 6 Važno je i napomenuti

vanjske knjižnice korištene prilikom implementacije

- Leaflet [17] ndash knjžnica za prikazivanje satelitskih geografskih karata i

interakciju ili proširivanje tih karata sadržajem

- Angular UI [18] ndash nudi velik izbor raznih elemenata korisničkog sučelja

kojima se omogućuje lakša interakcija korisnika sa sustavom

- angular-file-upload [19] ndash knjižnica za ostvarivanje slanja datoteka

putem angular-a

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 38: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

33

Slika 6 Grafički prikaz strukture angular radnog okvira

Izgled korisničkog sučelja fokusiran je na jednostavnosti i preglednosti

korisničkog sučelja kako bi interakcija sa sučeljem bila što razumljivija krajnjem

korisniku Za olakšanje ostvarivanja prilagodljivosti stranice različitim preglednicima

i uređajima koristi se knjižnica Bootstrap [20] koja sadrži brojne predefinirane klase

i pravila CSS-a (engl cascading style sheet) Iako idejno sustav nije zamišljen za

korištenje mobilnim uređajem ostvarena je i ta funkcionalnost stoga nije

onemogućeno korisniku da se odluči za takvu interakciju

62 Implementacija statističkog modela predviđanja biljnih vrsta

U poglavlju 43 navedeni su zahtjevi tehnologija kojima bi se ostvario model

predviđanja biljnih vrsta Dva glavna kandidata za implementaciju bili su Matlab i R

Prilikom implementacije web servisa korištene su NET tehnologije stoga je bilo

potrebno pronaći način korištenja jedne od dvije navedene tehnologije

implementacije statističkog modela u takvom okruženju Zbog nekih pogodnosti

ponajprije velikog broja vanjskih knjižnica za strojno učenje ali najviše zbog

knjižnice kojom se naredbe tog jezika mogu pokretati iz NET okruženja izabran je

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 39: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

34

statistički programski jezik R R je programski jezik otvorenog koda čije zajednica

vrlo aktivno radi na proširenju funkcionalnosti i mogućnosti jezika te izrađivanju

korisnih vanjskih knjižnica čime se dodatno proširuju mogućnosti jezika R je jezik

prilagođen brzim operacijama nad matricama efikasnoj implementaciji rijetkih

matrica brzim kompleksnim matematičkim operacijama i radom s velikim

skupovima podataka Ipak najveći razlog odabira R-a u odnosu na Matlab leži

upravo u vanjskoj knjižnici za NET okruženje RNET [21] kojom se omogućuje

interoperabilnost NET okruženja i R-a u istom procesu to jest pokretanje naredbi i

skripti korištenjem prevoditelja jezika R u NET okruženju Tom se knjižnicom

efikasno povezuje NET okruženje i implementiraju brojne strukture podataka

specifične za R koje se kasnije mogu predati korisničkom sučelju putem web

servisa Osim RNET-a korištene su mnoge druge vanjske knjižnice za R kojima

se ostvaruje baratanje geografskim podacima funkcije strojnog učenja i validacije

modela statističke funkcije otkrivanja korelacije funkcije čitanja i pisanja datoteka

u shapefile i csv formatima te brojne druge funkcionalnosti Korištene knjižnice su

- sp [15] ndash knjižnica za rad sa geoprostornim podacima nudi

brojne funkcije pretvorbe u geoprostorne podatke

(SpatialPoints ndash za pretvorbu točaka u geoprostorne objekte)

transformacije između koordinatnih sustava (spTransform)

funkcije specifične za geoprostorne podatke (over)

- rgdal [22] ndash pruža brojne funkcije dobivanja informacija iz

datoteka shapefile formata te zapisivanja i čitanja istih

(readOGR writeOGR)

- maptools [23] ndash skup alata za rad i obradu geoprostornih

podataka

- caret [14] ndash skup funkcija za stvaranje efikasnih modela

strojnog učenja te funkcija za validaciju modela i određivanje

korelacije (findCorrelation)

- maxent [24] ndash skup funkcija za ostvarenje MAXENT modela

koristeći minimalno memorije u procesu učenja i predikcije i

istovremeno omogućavajući visoke brzine rada

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 40: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

35

- RSAGA [25] ndash omogućuje pozivanje funkcije SAGA sustava

instaliranog na računalu te prihvat rezultata funkcija sustava u

R-u iznimno ubrzava rad sa shapefile datotekama

63 Implementacija web servisa

Kao što je napomenuto u poglavlju 41 web servis implementiran je po REST

načelima koristeći NET razvojni okvir te WebAPI komponente istoga Također

prilikom implementacije korišten je MVC obrazac iako malo izmijenjen od originalne

ideje Naime pogled (engl view) rađen je kao zasebni MVC obrazac na korisničkom

sučelju pomoću angulara što je detaljnije opisanu u poglavlju 61 U tom pogledu

leži najveća razlika u odnosu na standardna MVC rješenja koja direktno manipuliraju

pogledom bez da se koristi neki javascript radni okvir Komunikacija između

korisničkog sučelja i web servisa ostvarena je pozivima akcija na servisu koje

vraćaju json (engl javascript object notation) objekte Postojanost podataka

ostvarena je spremanjem korisničkih podataka u datotečni sustav servisa tako da

ne postoji klasičan model podataka iako je ideja vrlo slična Prikaz arhitekture

implementacije vidljiv je na slici 7 Ovakvo rješenje omogućuje razdvajanje

problema vezanih uz svaki zasebni dio aplikacije te znatno lakše snalaženje prilikom

proširivanja funkcionalnosti ili održavanja aplikacije

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 41: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

36

Slika 7 Grafički prikaz arhitekture sustava

Važan aspekt web servisa je komunikacija sa R skriptom koja implementira

stvaranje statističkog modela predviđanja i samo predviđanje Ideja je da skripta

kreira podatke u poseban direktorij u datotečnom sustavu servisa te servis kasnije

može proslijediti putanju do direktorija angularu koji prema potrebi tu informaciju

koristi kao poveznicu za preuzimanje dobivenih rezultata ili kao izvor za iscrtavanje

grafičkog prikaza rezultata na karti Komunikacija sa R skriptom ostvaruje se kao

što je već i navedeno putem RNET knjižnice Ta knjižnica pruža funkcionalnosti

poziva R stroja (engl engine) kao objekta u procesu sustava koji nadalje

omogućuje pozivanje funkcija za interpretaciju naredbi napisanih u R programskom

jeziku stvaranje R-specifičnih objekata ili preuzimanje rezultata dobivenih

naredbama i pozivima skripti u R programskom jeziku Primjer korištenja ove

knjižnice prikazan je u tablici 3 Svakako da takav pristup ima svojih nedostataka

kao što je primjerice problem otkrivanja i uklanjanja pogrešaka nastalih izvođenjem

R skripti ili naredbi usporavanje izvršavanja istih zbog dodatnog sloja pretvorbe R

objekata u NET objekte te nešto veće zauzeće memorije Ipak velika je prednost

ovog načina što se mogu koristiti neke iznimno brze i napredne funkcije koje pruža

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 42: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

37

R programski jezik i njegov prevoditelj s obzirom da takve ili ne postoje u NET

okruženju ili su znatno lošijih performansi S obzirom na sve navedeno potrebno je

pripaziti na pozivanje naredbi u R-u kako bi se osigurao sustav od rušenja ali

prednosti koje su dobivene ovom izvedbom ne bi bile moguće drugačijim pristupom

Tablica 3 Primjer korištenja RNET knjižnice

string toExecute = StringFormat(a lt- maxent_test(list(0)

list(1) list(2)) dataList shapesList plantsList)

_engineEvaluate(source(EProjektiFERDiplomskiapiWebApplication4

WebApplication4r_scriptsalgorithm_maxenttesting_scriptR))

string a = _engineEvaluate(toExecute)AsCharacter()ToArray()[0]

Implementacija MAXENT modela predviđanja korištena u sustavu sastoji se

od funkcije nazvane run_maxen(dataList shapesList plantsList) u programskom

jeziku R koja se sastoji od nekoliko cjelina Ulazni parametri funkcije liste su imena

datoteka koje je potrebno koristiti te biljaka za koje se radi predikcija Prvu cjelinu

predstavlja učitavanje shapefile datoteka temeljem predanih parametara u varijabli

shapesList Programski kocircd cjeline prikazan je u tablici 4 Prvi korak je definiranje

potrebnih konstanti te inicijalizacija varijabli kao što su duljine lista shapefile

datoteka i csv datoteka Inicijalizirani su rječnik koji sadrži shapefile datoteke

shapesDict te rječnik koji sadrži csv datoteke csvsDict Ključevi rječnika su imena

datoteka predana kao ulazni parametri funkcije Sljedeći korak je petlja koja prolazi

kroz sva imena predanih shapefile datoteka te ih učitava u shapesDict rječnik

Nakon toga slijedi dohvaćanje projekcije u kojoj su datoteke predane u konstantu

P4SLATLON Idući korak je učitavanje csv datoteka te spajanje podataka iz tih

datoteka preko koordinata koje su navedene u datotekama sa podacima iz

shapefile datoteka koristeći funkciju over paketa rgdal

Tablica 4 Isječak učitavanja datoteka

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 43: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

38

WANTED_ATTRIBUTES = c(Bio_1 Bio_2 Bio_3 Bio_4 Bio_5

Bio_6 Bio_7 Bio_8 Bio_9 Bio_10Bio_11 Bio_12

Bio_13 Bio_14 Bio_15 Bio_16 Bio_17 Bio_18 Bio_19

EKSPOZICIJ NDM__M_ NAGIB_TERE) konstanta sa parametrima koji

se traže u datotekama

numOfCsvs = length(dataList)

numOfShapes = length(shapesList)

shapesDict = vector(mode = list length = numOfShapes)

names(shapesDict) lt- shapesList

csvsDict = vector(mode = list length = numOfCsvs)

names(csvsDict) lt- dataList

Učittavnje SHAPEFILE-a -------------------------------------------

-------

for (index in 1numOfShapes)

shapeLocation lt- paste(

EProjektiFERDiplomskiapiWebApplication4WebApplication4UploadsS

hapes shapesList[index] sep = )

shapeFile = readOGR(shapeLocation strsplit(shapesList[[index]]

[])[[1]][1])

shapesDict[[index]] = shapeFile

P4SLATLON = CRS(proj4string(shapesDict[[1]]))

for(j in 1numOfCsvs)

csvLocation =

paste(EProjektiFERDiplomskiapiWebApplication4WebApplication4Upl

oadsData dataList[[j]] sep = )

csvFile = readcsv(csvLocation header = TRUE sep = quote =

stringsAsFactors = F)

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 44: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

39

x_y_coors = csvFile[c(HTRS96_X HTRS96_Y)]

X_coords = matrix(transform(x_y_coors HTRS96_X =

asnumeric(HTRS96_X))[1] nrow = nrow(x_y_coors) ncol = 1)

Y_coords = matrix(transform(x_y_coors HTRS96_Y =

asnumeric(HTRS96_Y))[2] nrow = nrow(x_y_coors) ncol = 1)

extendedMatrix = cbind(X_coords Y_coords csvFile[c(OznKoord

NazKlase)])

cleanMatrix = getCleanedLatLonMatrix(extendedMatrix)

names(cleanMatrix) lt- c(HTRS96_X HTRS96_Y OznKoord

NazKlase)

coordinatees = SpatialPoints(cleanMatrix[12] proj4string =

P4SLATLON)

result = c()

for(i in 1numOfShapes)

overlay lt- over(coordinatees shapesDict[[i]])

indicesOfAttributes lt- names(overlay) in WANTED_ATTRIBUTES

if(length(result) == 0)

result lt- overlay[indicesOfAttributes]

else

result lt- cbind(result overlay[indicesOfAttributes])

csvsDict[[j]] = cbind(cleanMatrix result)

Iduća cjelina je uklanjanje nevaljalih podataka što je prikazano u tablici 5

Prolazi se kroz sve dohvaćene csv datoteke rječnika csvsDict te se podaci spajaju

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 45: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

40

u jedinstvenu kolekciju Nakon toga se iz kolekcije izbacuju nevaljali podaci te ostaje

kolekcija podataka iz csv datoteka spremnih za korištenje prilikom učenja modela

Tablica 5 Isječak pripreme podataka o biljkama za korištenje u modelu

results_all lt- c()

for(k in 1length(csvsDict))

if(length(results_all) == 0)

results_all lt- csvsDict[[k]]

else

results_all lt- rbind(results_all csvsDict[[k]])

resultfinal = results_all

rows_to_keep = apply(resultfinal[c(526)] 1 function(row) any(row

== -9999))

resultfinal = resultfinal[rows_to_keep]

resultfinal = naomit(resultfinal)

Treća cjelina prikazana u tablici 6 je priprema podataka o području nad

kojima će se vršiti predikcija Proces generiranja konačnog skupa podataka nad

kojima se radi predikcija isti je kao i proces pripreme podataka za učenje uklanjaju

se podaci sa barem jednim atributom čija je vrijednost -9999 ili NA Nakon toga

prolazi se kroz sve biljke te se u pripremljenim podacima za učenje traži izabrana

biljka Podaci o toj biljci se zatim normaliziraju oduzimanjem minimalne vrijednosti u

tim podacima i dijeljenjem s razlikom maksimalne i minimalne vrijednosti u tim

podacima Generira se vektor s imenima klasa (u ovom slučaju klasa 1) iste duljine

kao i broj podataka o izabranoj biljci Radi se učenje modela predajom varijable

X_plant koja sadrži atribute potrebne za učenje te y_plant koja sadrži imena klasa

Nakon učenja modela radi se predikcija nad svim podacima o područjima te se

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 46: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

41

rezultati spajaju s podacima u shpefile datoteci izabranoj za predstavljanje

rezultata po atributu ID Podaci nad kojima se nije vršila predikcija (oni koji su

izbačeni u koraku pripreme) postavljaju svoju vrijednost vjerojatnosti pojavljivanja

biljke na tom području na 0

Tablica 6 Isječak za učenje modela i predikciju

for (index in 1length(plantsList))

rows_plant = apply(resultfinal 1 function(row) any(row ==

plantsList[index]))

plant = resultfinal[rows_plant]

y = rep(1 nrow(plant))

plant_final = cbind(plant y)

maxVal = apply(plant_final[WANTED_ATTRIBUTES] 2 max)

minVal = apply(plant_final[WANTED_ATTRIBUTES] 2 min)

minMatrix = docall(rbind replicate(nrow(ambrosia_full) minAmb

simplify=FALSE))

plant_norm = (plant_final[WANTED_ATTRIBUTES] - minMatrix)

rep((maxVal - minVal) each = nrow(plant_final))

plant_norm = cbind(plant_norm plant_final[c(y)])

y_plant = datamatrix(plant_norm[c(y)])

X_plant = datamatrix(plant_norm[ -which(names(trainambrosia) in

c(y))])

mxentmodel lt- maxentmaxent(X_plant y_plant)

maxentresult lt- predictmaxent(mxentmodel final_data)

plant_name lt- vector(mode = list length = 1)

names(plant_name) lt- plantsList[index]

plant_name lt- asmatrix(maxentresult[2]) 2 stupac su vjerojatnosti

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 47: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

42

forMerge lt- cbind(final_data[c(ID)] plant_name)

shapedata lt- merge(shapedata forMerge by = ID all = TRUE)

shapedata[isna(shapedata)] lt- 0

Na posljetku slijedi spremanje shapefile datoteke (u četiri zasebne datoteke

shp shx dbf prj) sa podacima o vjerojatnosti rasta svake od odabranih biljaka i

biodiverzitetom na lokalni disk Generirane datoteke komprimiraju se u završnu

datoteku a lokacije te završne datoteke šalje se kao izlazni parametar funkcije Kod

ove cjeline prikazan je u tablici 7

Tablica 7 Isječak spremanja datoteke i slanja lokacije

writeLocation =

EProjektiFERDiplomskiapiWebApplication4WebApplication4Downloads

setwd(writeLocation)

now lt- Systime()

date lt- SysDate()

fileName = paste(prediction_ format(date format = d_m_Y) _

asinteger(now) sep = )

writeOGR(shape writeLocation fileName driver=ESRI Shapefile)

fullPath = paste(writeLocation fileName sep = )

allFiles = c(paste(fileName shp sep = ) paste(fileName dbf

sep = ) paste(fileName shx sep = ) paste(fileName prj

sep = ))

zip( zipfile = fileName files = allFiles zip =

Sysgetenv(R_ZIPCMD zip))

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 48: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

43

return_path = paste(fullPath zip sep = )

return(return_path)

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 49: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

44

7 Rezultati

U ovom poglavlju prikazani su rezultati rada Na početku slijedi prikaz i opis

funkcionalnosti korisničkog sučelja a nakon toga i rezultati predviđanja prikazani u

korisničkom sučelju kao i primjer prikaza rezultata u alatu za rad s prostornim

podacima QGIS

71 Korisničko sučelje

Korisničko sučelje dijeli se na dva dijela dio za slanje datoteka na server i

dio za izbor podataka koji će se koristiti za učenje modela i predikciju Slika 8

prikazuje početni ekran korisničkog sučelja na kojem se jasno vide dva navedena

dijela sučelja Primjer dijela za slanje datoteka s jednom datotekom na čekanju i

jednom poslanom prikazan je na slici 9 Vidljive su opcije slanja svih datoteka

odjednom slanja pojedine datoteke prekida i odustajanja od slanja datoteke Na

slici su također vidljive poveznice za preuzimanje predložaka za shapefile datoteku

i csv datoteku Dio korisničkog sučelja za izbor parametara prikazan je na slici 10

Izbor biljaka nad kojima će se vršiti predikcija moguć je tek nakon što je odabrana

datoteka iz koje će se dovući podaci što je prikazano na slici 11

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 50: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

45

Slika 8 Izgled početnog ekrana korisničkog sučelja

Slika 9 Izgled dijela korisničkog sučelja za slanje datoteka

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 51: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

46

Slika 10 Izgled sučelja za izbor parametara modela

Slika 11 Prikaz izbornika biljaka nad kojima se raditi predikcija

72 Rezultati predviđanja

Rezultati predviđanja dani su na primjeru tri biljke Ambrosia artemisiifolia L

(ambrozija) Carpinus betulus L (običan grab) te Fraxinus ornus L (crni jasen) Za

svaku od biljaka najprije je prikazana slika lokacija opažanja biljke u korisničkom

sučelju sustava kako bi bila lakša usporedba rezultata Prikazani su podaci o

opažanjima korišteni prilikom učenja modela Slike tih podataka prikazane su kako

bi se stekao uvid u podatke kojima model raspolaže te kvalitetnije donio zaključak

o rezultatima predviđanja Prikazana je i opcija detaljnog pogleda rezultata za jedno

područje pri čemu se vide podaci o biodiverzitetu tog područja podaci o

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 52: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

47

koordinatama centralne točke područja te vjerojatnost nalaženja pojedine biljke na

tom području Slika 12 prikazuje početne lokacije za Ambrosia artemisiifolia L gdje

se mogu vidjeti plavo obojana područja koja predstavljaju te lokacija u odnosu na

ostala bijelo obojana područja Na slici je vidljiva i legenda karte u gornjem lijevom

kutu izbornik biljke čiji će se rezultati prikazivati na krati u gornjem desnom kutu

poveznica za preuzimanje dobivenih rezultata u shapefile formatu u donjem lijevom

kutu te opcije približavanja i udaljavanja karte u donjem desnom kutu Prikaz lokacija

opažanja generiran je samo u svrhu usporedbe rezultata te ga nije moguće dobiti

normalnim korištenjem sustava Slika 13 prikazuje rezultate za Ambrosia

artemisiifolia L Vrijednost biodiverziteta i ostalih nabrojanih podataka određenog

polja prikazani su na slici 14 Lokacije korištene prilikom učenja za Carpinus betulus

L prikazane su na slici 15 Rezultati predviđanja za Carpinus betulus L vidljivi su

na slici 16 Lokacije za Fraxinus ornus L prikazane su na slici 17 dok su rezultati

za istu biljku prikazani na slici 18 Na slici 19 vidi se prikaz preuzetih rezultata

predviđanja za Ambrosia artemisiifolia L u alatu QGIS koji se koristi prilikom rada

s prostornim podacima

Slika 12 Prikaz lokacija za učenje Ambrosia artemisiifolia L

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 53: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

48

Slika 13 Rezultati predviđanja za Ambrosia artemisiifolia L

Slika 14 Prikaz vrijednosti parametara određenog područja

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 54: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

49

Slika 15 Prikaz lokacija za Carpinus betulus L

Slika 16 Rezultati predviđanja za Carpinus betulus L

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 55: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

50

Slika 17 Prikaz lokacija za Fraxinus ornus L

Slika 18 Rezultati predviđanja za Fraxinus ornus L

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 56: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

51

Slika 19 Prikaz preuzetih rezultata predviđanja u alatu QGIS

Iz priloženih rezultata može se vidjeti poprilično dobro predviđanje mogućih

nalazišta pojedinih biljnih vrsta Naime u slučaju Ambrosia artemisiifolia L

(ambrozija) vidljivo je da su početna nalazišta iznimno raširena u nizinskim

krajevima dok su u južnijim krajevima rjeđa opažanja ambrozije Predviđanja za

ambroziju dala su upravo najveće vjerojatnosti na mjestima gdje je najviše opažanja

ambrozije nešto manje vjerojatnosti na južnim dijelovima Hrvatske gdje su i

opažanja znatno rjeđa a najmanje šanse u brdovitom području Velebita Takva

raspodjela djeluje točno pogotovo s obzirom na nedavna zapažanja ambrozije u

priobalju pa čak i na otocima Opažanja Carpinus betulus L (običan grab) najčešća

su u području središnje i sjeverne Hrvatske te istarskog poluotoka Rezultati

dobiveni za običan grab pokazuju upravo najveće vjerojatnosti predviđanja u

područjima gdje su opažanja i u njihovoj okolici dok su na jugu Hrvatske te

vjerojatnosti znatno manje Raspodjela predviđanja za grab također je vrlo logična

s obzirom da je grab biljna vrsta koja prevladava u sjevernim krajevima i iznimno se

rijetko nalazi na jugu U primjeru Fraxinus ornus L (crni jasen) opažanja se mogu

vidjeti na području cijele Hrvatske što znači da se radi o biljci koja je iznimno

izdržljiva Predviđanje za crni jasen daje poprilično velik postotak vjerojatnosti rasta

u cijeloj Hrvatskoj Crni jasen je biljka koja se doista može naći na cijelom teritoriju

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 57: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

52

Hrvatske iako nije baš uspješna u poplavnim područjima i blizinama rijeka Ipak

model je predvidio da postoji poprilično velika vjerojatnost rasta i u takvim

područjima Razlog takve predikcije nalazi se u činjenici da se za predikciju koriste

isključivo geografski i meteorološki podaci Podaci o vrsti tla ili vlažnosti tla ne

koriste se u predikciji stoga model nije mogao jednako dobro predvidjeti moguća

područja za jasen kao što je to predvidio za ambroziju i grab Usporedbom slika

opažanja i predikcije vidi se da model temeljem malog broja lokacija korištenih za

učenje uspješno predviđa područja svojstvena za biljku koja se promatra S obzirom

da model ne koristi podatke o tlu ili naprednije pokazatelje bioloških čimbenika

nekog područja prilikom učenja i predikcije može se zaključiti da su dobiveni

rezultati vrlo zadovoljavajući Predviđanje biodiverziteta problematično je zbog

malog broj različitih biljaka koje su korištene za učenje modela S obzirom na takav

ograničen broj korištenih podataka vrijednost biodiverziteta nije realna No u

granicama biljaka koje su korištene za predviđanje rezultati su poprilično točni iako

bi se za kvalitetnije testiranje rezultata svakako trebao proširiti skup biljaka kojima

se model uči

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 58: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

53

8 Zaključak

U današnjem svijetu prepunom informacija gdje se Internetom može doći do

podataka u sekundi uporaba statističkih modela predikcije predstavlja iznimno

važan korak prema naprijed Sve su češće priče o implementaciji umjetne

inteligencije u raznoraznim svrhama primjerice Googleova umjetna inteligencija

koja je pobijedila svjetskog prvaka u partiji igre Go samoupravljajući automobili

nalaženje zanimljivih proizvoda na temelju prijašnjih kupovina kupaca razni

algoritmi predviđanja vremenske prognoze kretanja cijena dionica burze pa i rasta

biljnih vrsta Uporaba takvih algoritama postala je uobičajena stvar u modernoj

tehnologiji stoga se njihovo korištenje pokušava približiti prosječnom korisniku na

što jednostavniji način Iako su komercijalne uporabe češće radi većih financijskih

poticaja koji inženjeri imaju prilikom takvih projekata znanost bi i dalje trebala biti

glavni pokretač i korisnik ovakvih modela

Cilj ovog rada bio je stvoriti sustav koji bi imao svrhu i konkretnu primjenu u

budućim biološkim istraživanjima u Republici Hrvatskoj te smanjiti utrošak vremena

istraživačima prilikom pripreme i tokom samog istraživanja Sustav je zamišljen kao

platforma koja se može iskoristiti na razne načine od kojih je prvenstveno prikazan

onaj putem korisničkog sučelja napravljenog u sklopu rada S obzirom da se

implementirao web servis koji je dostupan i preko drugih uređaja ili programa

namjena aplikacije nije nužno vezana uz korištenje putem korisničkog sučelja

Korištenje samog sustava napravljeno je što je jednostavnije moguće od trenutka

kada korisnik sustava posjeduje potrebne podatke Razumijevanje načina rada

sustava ili namještanje nekih parametara sustava nije potrebno kako bi sustav bio

pristupačniji prosječnom korisniku Nakon slanja podataka na sustav sama uporaba

algoritma sastoji se od pokretanja algoritma Obrada podataka dohvaćanje i prikaz

rezultata nastojali su se optimizirati kako bi korisnik što prije i što jasnije mogao

vidjeti željene rezultate

U radu su predstavljene ideje tehnologije i implementacijske strukture

korištene za ostvarenje jednog ovakvog sustava Rezultati demonstrirani u poglavlju

7 pokazuju da je sustav dovoljno kvalitetan kako bi se dobiveni rezultati mogli

koristiti prilikom istraživanja čime je ostvaren glavni cilj ovog rada Postoje moguća

poboljšanja u određenim koracima ponajprije smanjenje pristranosti podataka

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 59: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

54

primjerice korištenjem Gowerovih klasa što je detaljnije objašnjeno u [11]

Potencijalno poboljšanje može biti i korištenje naprednijih tehnika normalizacije

podataka koje prethode samom učenju modela te svakako korištenje naprednijih

algoritmima za učitavanje i obradu geoprostornih podataka čime bi se ubrzao rad

sustava Ipak dobiveni rezultati bez obzira na napomenute mane više su nego

zadovoljavajući i predstavljaju sustav kakav se dosada nije koristio na ovakav način

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 60: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

55

_____________________

Valentino Perović 0036465527

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 61: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

56

Literatura

[1] Olden J D Jackson D A Peres-Neto P R Predictive Models of Fish Species

Distributions A Note on Proper Validation and Chance Predictions Transactions of

the American Fisheries Society 131(2002) str 329-336

[2] Whittaker R H Evolution and Measurement of Species

Diversity Taxon 21(1972) str 213-251

[3] Rosenblatt F The perceptron A probabilistic model for information storage and

organization in the brain Psychological Review 65(1958) str 386-408

[4] Witten I H Eibe F Hall M A Data mining practical machine learning tools

and techniques 3rd edition Burlington Morgan Kaufmann Publishers 2011

[5] Berger A L Pietra V J D Pietra S A D A maximum entropy approach to

natural language processing Computational linguistics 22(1996) str 39-71

[6] Bollen J Mao H Zeng X J Twitter mood predicts the stock market Journal of

Computational Science 2(2011) str 1-8

[7] Bedia J Busqueacute J Gutieacuterrez J M Predicitng plant species distribution across

an alpine rangeland in northern Spain A comparison of prbabilistic methods

Applied Vegetation Science 10(2011) str- 1-18

[8] Phillips S J Dudik M Elith J Sample selction bias and presence-only

distribution models implications for background and pseudo-absence data

Ecological Applications 19(2011) str 181-197

[9] Elith J Grahm C H Anderson R P Novel methods improve prediction of

species distributions from occurrence data Ecography 29(2006) str 129-151

[10] Foucarde Y Engler J O Roumldder D Secondi J Mapping Species

Distributions with MAXENT Using a Geographically Biased Sample of Presence

Data A Performance Assessment of Methods for Correcting Sampling Bias PLoS

One 9(2014) str 1-13

[11] Radović A Schindler S Rossiter D Nikolić T Impact of biased sampling

effort and spatial uncertainty of locations on models of plant invasion patterns in

Croatia u postupku recenzije

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 62: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

57

[12] White Papers ndash ESRI httpwwwesricomlibrary 2162016

[13] World Clim ndash Global Climate Data httpwwwworldclimorgbioclim 1552016

[14] Max Khun Package caret 1362016 Classification and Regression Training

httpscranr-projectorgwebpackagescaretcaretpdf 1762016

[15] Edzer Pebesma Package sp 1442016 Classes and Methods for Spatial

Dana httpscranr-projectorgwebpackagesspsppdf 2042016

[16] Angular ndash Superheroic JavaScript MVW Framework httpsangularjsorg

1222016

[17] Leaflet httpleafletjscom 1642016

[18] Angular UI httpsangular-uigithubio 742016

[19] angular-file-upload httpsgithubcomnervghangular-file-upload 1852016

[20] Bootstrap httpgetbootstrapcom 1132016

[21] Jean-Michel Perraud RNET Documentation 30102015

httpjmp75githubiordotnet 242016

[22] Roger Bivand Package rgdal 1252016 Bindings for the Geospatial Data

Abstraction Library httpscranr-projectorgwebpackagesrgdalrgdalpdf

2252016

[23] Roger Bivand Package maptools 3012016 Tools for Reading and

Handling Spatial Objects httpscranr-

projectorgwebpackagesmaptoolsmaptoolspdf 1842016

[24] Thimoty P Jurka Package maxent 2022015 Low-memory Multinomial

Logistic Regression with Support for Text Classification httpscranr-

projectorgwebpackagesmaxentmaxentpdf 1342016

[25] Alexander Brenning Donovan Bangs Package RSAGA 512016 SAGA

Geoprocessing and Terrain Analysis in R httpscranr-

projectorgwebpackagesRSAGARSAGApdf 2152016

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 63: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

58

Sažetak

Modeli strojnog učenja predstavljaju zanimljivo područje istraživanja u

modernim tehnologijama Korištenje takvih modela je posvuda no posebno se

istražuje korisnost i primjena takvih modela za predviđanje bioloških podataka

Jednostavnom uporabom ovih modela mogao bi se znatno olakšati rad biolozima s

obzirom na dugotrajnu obradu podataka koju moraju provesti kako bi donijeli

podjednako kvalitetne zaključke a ispravnim modeliranjem i validacijom ovakvih

modela može se ukloniti vjerojatnost ljudske pogreške prilikom istraživanja

Opisane se ideje i kvalitete modela strojnog učenja s posebnim naglaskom

na MAXENT (Maximum entropy) model koji se pokazao iznimno povoljnim prilikom

predikcije podataka o živim bićima Napomenuti su problemi modela predviđanja

prilikom rada s ovakvim podacima te su razmotrene ideje kako bi se takvi problemi

efikasno razriješili Predstavljeni su zahtjevi koje jedan sustav za predikciju nalazišta

biljnih vrsta i biološke raznolikosti treba imati te definirana arhitektura takvog

sustava uzevši u obzir prednosti koje bi takva arhitektura donijela

Predstavljen je sustav za predviđanje biljnih vrsta i biološke raznolikosti

korištenjem detaljno opisanih modela podataka i MAXENT statističkog modela za

predviđanje Napravljeni su i dokazi ispravnosti nad podacima iz FCD te korisničko

sučelje za rad sa samim sustavom

Ukratko su prikazani rezultati predikcije sustava te korisničkog sučelja i

načina korištenja Zaključnom raspravom navedene su kvalitete dobivenog rješenja

potencijalna poboljšanja i prijedlozi drugačijih uporaba

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 64: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

59

Ključne riječi

strojno učenje

MAXENT

predviđanje nalazišta biljnih vrsta

predviđanje biološke raznolikosti

regresijski model

klasifikacijski model

web servis

statistički model predikcije

validacija modela strojnog učenja

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 65: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

60

Abstract

Machine learning models represent interesting field of research in modern

technologies Usage of this models can be found everywhere but this paper

explores usages in the field of biology especially in prediction of species

occurrences and biodiversity Simple usage of this type of models can ease long

term researches of species occurrences and biodiversity and validation of those

models can reduce human errors in those researches

Paper covers ideas and qualities of machine learning models especially

MAXENT (Maximum entropy) model which showed great results regarding

predictions using data about plants and animals because they are not

presenceabsence type of data Problems regarding models with biological data are

shown as are examples on how one would utilize then Later chapters cover

demands of biodiversity and species occurrence prediction systems and

architecture of that system is presented regarding improvements this architecture

would bring

Web api system for predicting biodiversity and plant species occurrences is

presented along with data models of such system MAXENT machine learning

model is chosen for systems prediction model and validated using data from Flora

Croatica Database

Predictions given by system for few of most common plants species in

Croatia are presented Paper wraps up with description of systems user interface

usage and short discussion on quality of given solution possible improvements and

other usages

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models

Page 66: PRIMJENA STATISTIČKIH MODELA U PREDVIĐANJU NALAZIŠTA … · 2016-07-13 · se pogrešnim modelima korištenje neke terapije pokaže ispravnim, iako u stvarnosti može biti štetno

61

Key words

machine learning

MAXENT

biodiversity prediction

plant species occurrences prediction

regression models

classification models

web api

probabilistic prediction models

validation of machine learning models