Elektrotehnički fakultet Univerzitet u...

39
E U Primena Big Data anal mentor: Prof. dr Milan Merkle Elektrotehnički fakultet Univerzitet u Beogradu lize u elektronici preko statističkih fu Diplomski rad student: Srđan Jo Beograd, jun 2017. unkcija dubine ovanović

Transcript of Elektrotehnički fakultet Univerzitet u...

Page 1: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

Elektrotehnički fakultet

Univerzitet u Beogradu

Primena Big Data analize u elektronici preko statističkih funkcija dubine

mentor:

Prof. dr Milan Merkle

Elektrotehnički fakultet

Univerzitet u Beogradu

analize u elektronici preko statističkih funkcija dubine

Diplomski rad

student:

Srđan Jovanović

Beograd, jun 2017.

analize u elektronici preko statističkih funkcija dubine

Srđan Jovanović

Page 2: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

1

Sadržaj

1. Uvod ...............................................................................................................................2

2. Teorijska osnova dubine tačaka .......................................................................................4

2.1. Tjukijeva (Tukey) dubina tačke ....................................................................................4

2.2. Grafička reprezentacija Tjukijeve dubine tačaka ...........................................................4

2.3. Osobine funkcija dubina ...............................................................................................7

2.4. Robusnost .................................................................................................................. 13

3. ABCDepth algoritam ..................................................................................................... 14

3.1. R programski jezik ..................................................................................................... 14

3.2. ABCDepth algoritam za računanje Tjukijevih dubina tačaka ...................................... 16

3.3. Aproksimacija ABCDepth algoritma .......................................................................... 25

3.4. ABCDepth algoritam za računanje Tjukijeve medijane ............................................... 25

3.5. Složenost ABCDepth algoritma za nalaženje medijane ............................................... 27

4. Klasifikacija komponenata ............................................................................................ 28

4.1. Bagdistance postupak ................................................................................................. 28

4.2. kNN klasifikator ......................................................................................................... 29

4.3. Form Fit Functional Equivalents (FFFs) ..................................................................... 30

5. Zaključak ...................................................................................................................... 33

6. Literatura ....................................................................................................................... 34

7. Prilog: programski kodovi ............................................................................................. 35

Page 3: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

2

1. Uvod Medijana je tačka koja se u intuitivnom značenju vezuje za centar neke raspodele.

Odrediti medijanu je prilično trivijalno kod jednodimenzionih skupova tačaka. Ipak, kod

višedimenzionih podataka, a takvih je najviše, to često nije jednostavno jer ne postoji

dovoljna intuitivnost. Stoga je jasno da postoji izuzetna potreba za stvaranjem metode koja bi

rešila ovaj problem. Jedan od pristupa ka rešenju, a koji će biti i predstavljen u ovom radu, je

definisanje dubine tačaka tako da su one centralne zapravo najveće dubine („najdublje“).

Medijana je na primer najdublja tačka u sistemu i postojeće metode za nalaženje medijane

biće polazna tačka ka realizaciji algoritma koji bi računao dubinu svake tačke. U ovom radu

od interesa će biti one metode koje se zasnivaju na definiciji dubine u višedimenzionom

prostoru pomoću poluravni (halfspace depth) . Nastanak ove definicije se vezuje još

za 1975. godinu, a idejnim tvorcem se smatra Džon Tjuki (John Tukey). Kasnije, 1992.

godine, Dejvid Donahju (David Donoho) i Mirijam Gasko (Miriam Gasko) formalno su i

zapisali ovu definiciju, koja se smatra jednom od najvažnijih definicija dubine tačaka.

Čak i pored mnogih pokušaja, još uvek nije pronađena efikasna metoda kojom bi se

računale dubine tačaka u višedimenzionom prostoru dimenzija većih od 100. Zbog toga je ova

oblast i dalje nedovoljno istražena i zasniva se pre svega na teorijskim razmatranjima. U

dvodimenzionom prostoru, Peter Rousseuw i Ida Ruts su 1998. godine predstavili HALFMED

algoritam za računanje medijane koji je poprilično brz. U višedimenzionom prostoru, Struyf i

Rousseeuw su 2000. godine osmislili aproksimativni DEEPLOC algoritam za računanje

medijane. Ovaj algoritam ima problema sa efikasnošću, obzirom da njegovo vreme

izvršavanja ima eksponencijalnu zavisnost od dimenzije. Tymothy Chan je 2004. godine

osmislio veoma precizan algoritam koji je pritom izuzetno složen za izračunavanje. Pavlo

Mozharovskyi je 2016. godine objavio algoritam koji je egzaktan, a čija složenost još uvek

nije ispitana. Neki od ovih algoritama poslužiće kasnije za poređenje sa ABCDepth

algoritmom koji je, inače, okosnica ovog rada.

Značaj funkcija dubine je višestruk. On se ogleda kroz mnoge podoblasti statistike u

kojima se ove funkcije upotrebljavaju. Kod robusne estimacije parametara, klasterizacije,

klasifikacije ove funkcije nalaze veliku primenu. Funkcionalna analiza podataka koja je sve

zastupljenija koristi dubine tačaka u velikoj meri.

U današnje vreme podaci su postali gotovo neizostavan deo svakodnevice. Svakog

trenutka nastaje ogromna količina informacija koju je potrebno obraditi i iz nje izvući

konkretne zaključke. Da bi se to uradilo, često je potrebno ove podatke transformisati u

pogodan oblik, a zatim na njih primeniti neki od dostupnih modela procesiranja. Sve ovo

jednim imenom se naziva Big Data. Ovaj termin dobija sve više na značaju upravo zbog svoje

osobine da gomilu naizgled nebitnih i za nas beznačajnih informacija predstavi u pogodnom i

razumljivom obliku. Statistika, dakle, u ovoj oblasti ima značajnu ulogu i njen osnovni

zadatak je da sve te podatke uprosti i predstavi na pogodan način. U ovom radu biće

prikazana potencijalna primena Big Data analize u elektronici kroz neke od statističkih

metoda klasifikacija.

Page 4: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

3

Jedan od izazova u elektronici je pronalaženje zamenskih komponenti koje ulaze u

sastav nekog proizvoda. Nazivi komponenata nekog elektronskog uređaja se zapisuju u Bill of

Material (BOM) dokumentima. Ovi dokumenti su veoma značajni sa strane korisnika

(profesionalci ili hobisti), jer omogućavaju jednostavan odabir komponenti za neke druge

primene na osnovu svog sadržaja. Ipak, često se ne koriste baš iste pobrojane komponente,

već se traže zamenske komponente koje su im slične po karakteristikama. Postoji više razloga

zbog kojih se traže zamene: nekada je potrebno uzeti jeftiniju varijantu komponente,

pobrojane komponente se više ne proizvode ili se ne ponašaju dovoljno dobru u radu pa im se

traži slična verzija. Često se komponente predstavljaju opisno (primer za otpornik R 100K

0.0625W 10%) pa je potrebno naći njihove ekvivalente ili odrediti grupu kojoj pripadaju. U

ovom radu će se razmatrati pasivne komponente koje se predstavljaju višedimenzionim

skupom, tako da svaka dimenzija označava neku karakteristiku komponente. Kako bi se što

preciznije identifikovala komponenta, potrebno je izvršiti klasifikaciju, videti kojoj klasi ona

pripada i zatim samo pročitati komponente iz te klase koje se mogu koristiti kao zamena.

Ideja je da se primenom kNN metoda izvrši klasifikacija, pri čemu se za merenje rastojanja

koristi bagdistance pristup ([3], 2.2 The Bagdistance). Ovaj pristup računa rastojanja među

tačkama koristeći medijanu, čime se postiže značajna robusnost i smanjuje osetljivost na

outlier-e (tačke koje po karakteristikama ne pripadaju skupu). Izračunavanje medijane u

višedimenzionalnom prostoru je kompleksno i zato je bitno odabrati efikasan algoritam. S tim

u vezi, biće izložen ABCDepth algoritam ([2], ) koji ima linearnu zavisnost od broja

dimenzija, što ga čini jednim od najefikasnijih algoritama ove vrste. Sva implementacija,

testiranja i simulacije radiće se u programskom jeziku R koji predstavlja osnovni alat u

statistici.

Predmet razmatranja u ovom radu je primena novog aproksimativnog ABCDepth

algoritma zasnovanog na Tjukijevim (Tukey) dubinama u pomenutoj klasifikaciji u

elektronici. S tim u vezi, izložiće se teorijski osvrt, implementacija algoritma i računarske

simulacije koje se bave ovom temom.

U drugom delu izlaganja biće objašnjene halfspace funkcije dubine, u trećem

ABCDepth algoritam i implementacija u R-u, dok će se četvrti deo odnositi na bagdistance

pristup i klasifikaciju elektronskih komponenti primenom kNN-a. Na kraju rada su priloženi

svi koršćeni programski kodovi.

Page 5: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

2. Teorijska osnovaDubina tačke se može shvatiti kao mera koliko je neka tačka blizu „centra“ raspodele

konačnog skupa � ∈ ℝ�, pa se na osnovu toga kaže koliko je ona zapravo

u tom skupu. Kod jednodimenzionalnog

da je dovoljno samo sortirati ih i zatim izbrojati koliko pozicija je

najbližeg kraja. U primeru na

tačke 1 je 1 jer se nalazi odmah na početku niza. Dubina tačke 2 je

početka), isto kao i tačke 4 koja je udaljena

3 (dubine 3) i ona je ujedno i medijana ovog niza.

dubina nije tako trivijalno.

Slika

2.1.Tjukijeva (Tukey

Funkcija koja računa dubi

meru raspodele tačaka, �, ona se

tumačenja ovih funkcija, ali u ovom radu će

bazira na dubinama poluprostora (

Tjukijeva (Tukey) ili

definiše kao najmanja od svih verovatnoća da ta tačka pripada bilo kom zatvorenom

poluprostoru koji je sadrži, odnosno

�(�; �) = ���{�(�) |

2.2.Grafička reprezentacija

U nastavku je ilustrovana pomenuta teorema na primeru dvodimenzionog slučaja

Neka je dato 9 tačaka kao na slici

provući pravu (polupravu) kroz tu tačku tako

dvodimenzionom prostoru, poluprostor je zapravo poluravan)

tačaka (uključujući i tačku za koju se računa dubina).

dubinu posmatrane tačke, odnosno

predstavlja dubinu tačke. Na slici je prikazan jedan skup dvodimenzionih tačaka. Plava tačka

na slici 2 je dubine 1/9 jer u jednoj poluravni ima samo jednu tačku (sama ta tačka), dok

drugoj poluravni nalazi 9 tačaka.

jednoj njenoj poluravni nalaze 4 tačke, a u drugoj 6.

skupa, jer ima najveću dubinu.

LIZE U ELEKTRONICI PREKO

Teorijska osnova dubine tačaka se može shvatiti kao mera koliko je neka tačka blizu „centra“ raspodele

, pa se na osnovu toga kaže koliko je ona zapravo

dimenzionalnog slučaja dubinu tačaka je relativno lako naći obzirom

e dovoljno samo sortirati ih i zatim izbrojati koliko pozicija je neka

slici 1 postoji 5 tačaka koje su poređane po vrednosti.

jer se nalazi odmah na početku niza. Dubina tačke 2 je 2 (udaljena

početka), isto kao i tačke 4 koja je udaljena dva mesta od kraja niza. Najdublja tačka je tačka

) i ona je ujedno i medijana ovog niza. Kod višedimenzionalnog slučaja nalaženje

Slika 1: Primer jednodimenzionog niza tačaka

Tukey) dubina tačke

Funkcija koja računa dubinu tačke naziva se funkcija dubine. Za datu tačku

ona se obeležava sa �(�; �). Shodno tome postoje više različitih

tumačenja ovih funkcija, ali u ovom radu će zbog svojih osobina od interesa biti ono koje se

bazira na dubinama poluprostora (halfspace depth).

ili poluprostorna (halfspace) dubina tačke � ∈

definiše kao najmanja od svih verovatnoća da ta tačka pripada bilo kom zatvorenom

koji je sadrži, odnosno

( ) | � ∈ �}, gde je � zatvoreni poluprostor u ℝ�

Grafička reprezentacija Tjukijeve dubine tačaka

nastavku je ilustrovana pomenuta teorema na primeru dvodimenzionog slučaja

tačaka kao na slici 2. Da bi se odredila dubina neke od tačaka, potrebno je

(polupravu) kroz tu tačku tako da u jednoj od dve dobijene poluravni

dimenzionom prostoru, poluprostor je zapravo poluravan) bude što je moguće manje

(uključujući i tačku za koju se računa dubina). Broj tačaka u toj poluravni određuje

dubinu posmatrane tačke, odnosno, taj broj podeljen sa ukupnim brojem tačaka u skupu

Na slici je prikazan jedan skup dvodimenzionih tačaka. Plava tačka

1/9 jer u jednoj poluravni ima samo jednu tačku (sama ta tačka), dok

nalazi 9 tačaka. Crvena tačka na slici 3 ima dubinu 4/9, obzirom da se u

jednoj njenoj poluravni nalaze 4 tačke, a u drugoj 6. Ova tačka je ujedno i medijana ovog

skupa, jer ima najveću dubinu.

SRĐAN JOVANOVIĆ

4

se može shvatiti kao mera koliko je neka tačka blizu „centra“ raspodele

, pa se na osnovu toga kaže koliko je ona zapravo „duboko“ smeštena

je relativno lako naći obzirom

neka tačka udaljena od

postoji 5 tačaka koje su poređane po vrednosti. Dubina

(udaljena dva mesta od

od kraja niza. Najdublja tačka je tačka

Kod višedimenzionalnog slučaja nalaženje

Za datu tačku x i za datu

Shodno tome postoje više različitih

od interesa biti ono koje se

∈ ℝ� raspodele � se

definiše kao najmanja od svih verovatnoća da ta tačka pripada bilo kom zatvorenom

�.

tačaka

nastavku je ilustrovana pomenuta teorema na primeru dvodimenzionog slučaja.

. Da bi se odredila dubina neke od tačaka, potrebno je

u jednoj od dve dobijene poluravni (u

bude što je moguće manje

Broj tačaka u toj poluravni određuje

taj broj podeljen sa ukupnim brojem tačaka u skupu

Na slici je prikazan jedan skup dvodimenzionih tačaka. Plava tačka

1/9 jer u jednoj poluravni ima samo jednu tačku (sama ta tačka), dok se u

ima dubinu 4/9, obzirom da se u

Ova tačka je ujedno i medijana ovog

Page 6: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

5

Slika 2: Tačka dubine 1 u dvodimenzinalnom prostoru

Slika 3: Tačka dubine 4 u dvodimenzinalnom prostoru

Interesantno je pogledati i primer sa 3 tačke. Tada svaka od tačaka ima istu dubinu

koja iznosi 1/3, obzirom da se preostale dve tačke uvek nalaze u istoj poluravni. To je

prikazano na slici 4.

Slika 4: Primer sa 3 tačke dubine 1/3 u dvodimenzinalnom prostoru

Pošto se višedimenzionalni podaci (d > 2) ne mogu predstaviti u dve dimenzije, javlja

se problem njihove vizuelizacije. Ovo se rešava uvođenjem pojma dubinskih regiona(depth

Page 7: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

6

regions ili level sets). Ovaj pojam označava sve tačke koje se nalaze na istoj dubini. Dubinski

region nivoa � ∈ (�0,1] definiše se kao ([1], M. Merkle 2010)

�� = ��(�): = {� ∈ ℝ� | �(�; �) ≥ �)}

Dubinski region može se zamisliti i kao presek kugli koje sadrže tačke u d-dimenzionom

prostoru. Svaka kugla � je određena svojim centrom i sadrži najbiližih ⌊�(1 − �) + 1⌋ tačaka

računajući euklidsko rastojanje. Onda se dubinski region može zapisati kao

�� = � �

�(�)����

Jasno je da se sa povećanjem dubine (�) smanjuje ovaj region i da je �� = 0 za � > ��, gde

je �� maksimalna dubina za datu meru verovatnoće � . Granice ovih regiona se nazivaju

dubinske konture(depth contours) za dve dimenzije, odnosno dubinske površi (depth surface)

uopšte. Isto tako se i medijana može definisati pomoću preseka kugli kao

���(�) = ⋂ ��(�)��� , gde je � = {��, ��, . . , ��}.

Na primeru tri dvodimenzionalna skupa mogu se videti ove konture. Prvi skup

nycrime.dat sadrži podatke o procentualnim promenama ljudstva u policiji i dogođenim

krađama za određeni vremenski period. Drugi skup single-engine_aircraft.tsv sadrži težinu i

cenu letelica. Treći skup animals_log.tsv sadrži težinu životinja i težinu njihovog mozga. Na

slikama 5, 6, i 7 su prikazane dubinske konture svakog od skupova pojedinačno. Konture su

iscrtane korišćenjem funckije isodepth() iz R-paketa depth, o čemu će biti više reči kasnije.

Slika 5: Dubinske konture nycrime.dat skupa korišćenjem funkcije isodepth

Page 8: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

7

Slika 6: Dubinske konture animals_log.tsv skupa korišćenjem funkcije isodepth

Slika 7: Dubinske konture single_engine-aircraft.tsv skupa korišćenjem funkcije isodepth

Ovo je bitno jer u praksi vrlo retko postoji potreba da se izračuna dubina konkretne

tačke. Dubine tačaka se koriste samo kako bi se formirale konture i regioni, a svi ostali

zaključci se donose upravo na osnovu njihovih predstava.

2.3.Osobine funkcija dubina

Jedan od razloga zbog čega se baš poluprostorne (halfspace) dubine koriste jesu

osobine koje poseduju, a koje su veoma korisne u statistici. Postoji 4 osobina za koje je

poželjno da ih poseduje svaka dubinska funkcija i to su: afina invarijantnost, monotonost u

odnosu na najdublje tačke, maksimum dubine u centru raspodele, nestajanje u beskonačnosti.

Pomenute karakteristike su glavni kriterijumi pri odabiru dubinske funkcije. U tom smislu

poluprostorna dubina daje najbolje rezultate u poređenju sa ostalima zbog čega je i jedna od

najzastupljenijih dubinskih funkcija. Ove osobine biće objašnjenje u nastavku teksta.

Afina invarijantnost (affine invariance) je osobina dubinske funkcije takva da dubina

tačke � ∈ ℝ� ne zavisi od izabranog koordinatnog sistema, ili od bilo kakvog skaliranja i

Page 9: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

8

razmere. Drugim rečima, nad posmatranim skupom tačaka može se odraditi bilo koja

linearna transformacija � → � × � + �, gde je � ∈ ℝ�×� regularna matrica i � ∈ ℝ�, tako

da dubine tačaka ostanu nepromenjene. To se može zapisati u obliku

�(�; �) = �(�� + �; �)

Maksimum u centru raspodele je osobina da centralne tačke skupa imaju najveću dubinu

kako bi taj centar bio jedinstven (kod simetričnih raspodela tačaka).

Monotonost je osobina da kako se tačka � ∈ ℝ� udaljava od najdublje tačke iz skupa,

njena dubina opada monotono.

Nestajanje u beskonačnosti znači da dubina tačke teži nuli kako se tačka približava

beskonačnosti.

Jedna od najosnovnijih definicija dubine je dubina po koordinatama (coordinate-wise

depth), koja se često koristi za poređenje sa ostalim dubinama. Na ovaj način pomenute

osobine, a naročito afina invarijantnost, se mogu vrlo lako razumeti.

Dubina po koordinatama (Coordinate-wise) dubina se definiše kao,

��(�, �) = inf(�(��), � ∈ ��)

gde je �� zatvoreni poluprostor čija je granica ortogonalna na jednu od osa. Ovo znači da za

svaku tačku dubina se određuje za svaku dimenziju i ne uzimaju se svi poluprostori u skupu,

već samo oni čija je granica ortogonalna na osu za odgovarajuću dimenziju. Definicija CW

dubinskih kontura je ista kao i Tjukijevih (Tukey) kontura.

Definicija CW dubine samim tim određuje i izgled dubinskih kontura. U dve dimenzije

one će biti u obliku pravougaonika definisanog stranicama �� i ���� na svakoj koordinatnoj

osi, gde je Q kvantil odgovarajućeg reda za jednodimenzione raspodele. Kako se ovde, za

razliku od Tjukijevih (Tukey) dubina, ne uzimaju u obzir sve poluravni, već samo one

ortogonalne, to znači da će i preseci tih poluravni biti mnogo veći, a samim tim će i dubinske

konture biti obimnije od Tjukijevih dubinskih kontura. CW dubina je iz tog razloga nadskup

Tjukijeva (Tukey) dubina, i važi relacija � ⊆ ��, gde je sa � označena Tjukijeva (Tukey)

dubina. Ovo se može koristiti da bi se u nekim situacijama gde je potrebna gruba

aproksimacija Tjukijeve dubine, jer je algoritam za nalaženje CW medijane daleko

jednostavniji.

Kako bi se ove osobine najbolje uočile, na slikama 8, 9 i 10 su dati primeri poređenja

Tjukijeve(Tukey) medijane i CW medijane. CW medijana predstavlja vektor čije su koordinate

jednodimenzione medijane. Ona nije afina invarijantna i zbog toga je zanimljivo uporediti je

sa Tjukijevom (Tukey) medijanom. Poređenje će biti izvršeno na tri već pomenuta skupa

dvodimenzionih podataka. Crvenom bojom prikazana je CW medijana, a plavom Tjuki

medijana. U sva tri slučaja ove medijane su približno slične.

Page 10: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

9

Slika 8: CW i poluprostorna medijana – nycrime.dat

Slika 9: CW i poluprostorna medijana – animals_log.tsv

Page 11: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

10

Slika 10: CW i poluprostorna medijana – single-engine_aircraft.tsv

Radi ispitivanja afine invarijantnosti potrebno je uvesti transformaciju � → � × � + �

koja tačku x transformiše u novi koordinatni sistem. Ispitivanje se vrši nad skupom od 6

dvodimenzionih tačaka. Zbog jednostavnosti posmatra se CW medijana i Tjukijeva (Tukey)

medijana (može bilo koja tačka). To je prikazano na slici 11. Odatle se vidi da i jedna i druga

medijana imaju pozicije koje im garantuju istu dubinu.

Slika 11: CW i poluprostorna medijana pre transformacije

Page 12: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

11

Za parametre transformacije uzete su vrednosti,

� = �15 55 1

� � = �0.50.5

Nakon transformacije medijane su pomerene i originalni raspored tačaka je promenio

oblik. Kod CW medijane to je uticalo da se promeni njena dubina, dok je dubina Tjukijeve

medijane ostala ista. Prikaz toga je na slici 12. Osobina afine invarijantnosti dakle zadržava

iste dubine tačaka bez obzira na transforaciju. Ovo je veoma važno jer u statistici postoje

metode koje imaju za cilj da originalne podatke predstave u neki pogodniji oblik kako bi se

lakše procesirali. Ukoliko bi se tada dubine tačaka menjale, onda korišćena dubinska funkcija

ne bi bila verodostojna i dovela bi do pogrešnih rezultata.

Slika 12: CW i Tjukijeva medijana nakon transformacije

Trebalo bi uporediti i dubinske konture CW i Tjukijevih dubina. Prema teoriji, CW

dubinske konture su pravougaone i treba da sarže Tjukijeve konture. Algoritam za njihovo

nalaženje je mnogo jednostavniji i brži. Na slikama 13, 14 i 15 su prikazane konture oba tipa

za dubine 1, 2 i najveću dubinu 7, na podacima iz skupa nycrime.

Page 13: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

12

Slika 13: Konture dubine 1 - nycrime

Slika 14: Konture dubine 2 - nycrime

Slika 15: Konture dubine 7 - nycrime

Page 14: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

13

2.4.Robusnost

Bitna osobina dubinskih funkcija pored onih pomenutih je i robusnost. Ovo ne spada u

kriterijum za odabir funkcije, jer svaka dubinska funkcija po svojoj prirodi je robusna. Po

definiciji, robusnost je osobina sistema da bude otporan na promene. U želji da se ceo set

podataka opiše nekim parametrom, kao što je npr. srednja vrednost, često dolazi do pogrešnih

zaključaka usled različitih raspodela tih podataka. Kao adekvatan primer može se uzeti

prosečna plata u zemlji koja se računa kako bi se procenio životni standard stanovništva.

Prosešna plata se računa kao srednja vrednost plata svih radnika. Ova plata u Srbiji iznosi oko

35.000 dinara na osnovu čega se da zaključiti da je životni standard poprilično dobar. Ipak,

ispostvlja se da velika većina stanovništva ima daleko niže plate od proseka, a da mali, ali ne i

zanemarljiv deo, ima ekstremno visoke. Srednja vrednost u ovom slučaju navodi na pogrešan

zaključak. Ako se pak umesto srednje vrednosti računa medijana, dobija se mnogo manja i

verodostojnija vrednost plate. Medijana daje mnogo preciznije rezultate baš zbog svoje

robusnosti. U literaturi se ovaj termin povezuje sa pojmom breakdown, koji znači najmanji

broj tačaka koje je moguće promeniti da bi medijana ostala ista. Kod poluprostorne medijane

breakdown iznosi najmanje �

���, a najviše 1/3 [5, Donoho and Gasko].

Page 15: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

14

3. ABCDepth algoritam

Ovaj deo odnosi se na konkretnu implementaciju algoritma koji koristi prethodno

opisanu teoriju u R programskom jeziku. Biće detaljno opisan svaki korak algoritma i

objašnjeno kako je to realizovano u kodu. Jedan deo izlaganja je posvećen upoznavanju sa

osnovana R-a, kako bi se objasnile strukture koje su upotrebljene u programu.

3.1.R programski jezik

U računarstvu, R je programski jezik i programsko okruženje za statistička

izračunavanja i grafičko predstavljanje. R je interpreterski jezik, tako da se u njemu mnoge

stvari mogu odraditi veoma brzo bez suvišnog kompajliranja i linkovanja, što je poprilično

bitno u statistici.

R koristi interfejs komandne linije kroz više grafičkih korisničkih okruženja. Njegova

široka upotreba posledica je bogatog izbora gotovih biblioteka koje omogućavaju korišćenje

linearnih i nelinearnih modela, sprovođenje klasičnih statističkih testova, analizu vremenskih

serija, klasifikaciju, kao i mnoge grafičke funkcije za vizuelizaciju podataka. Takođe, R može

biti proširen od strane korisnika kroz pakete za specijalne namene. Ovaj jezik je takođe

optimizovan za rad sa matricama što je veoma značajna pogodnost. Sintaksa i semantika

jezika su dosta slični Matlab-u i Python-u, jezicima koji se isto mogu koristiti u obradi

podataka. Postoji nekoliko programskih okruženja koji olakšavaju rad u R-u. Za potrebe

implementacija u ovom radu korišćen je RStudio koji nudi tekstualni editor, komandnu liniju,

pregled promenljivih, pregled generisanih slika, instalaciju paketa. Na slici 16 je prikazano

ovo okruženje. Na početku rada potrebno je podesiti radni direktorijum pozivom funkcije

setwd() i prosleđivanjem željene putanje. Od paketa je korišćen ggplot2 koji je namenjen za

grafičko predstavljanje, dok je za izračunavanja i poređenja rezultata korišćen depth paket

koji nudi podršku u vidu gotovih funkcija za neke poznate tipove medijana i dubinskih

funkcija. Postoje još neki paketi koji se tiču dubinskih funkcija kao npr. ddalpha, ExPD2D,

WMTRegions ili rainbow. Ipak, oni se odnose na klasifikaciju ili koriste neke druge vrste

dubinskih funkcija tako da neće biti od interesa u ovom izlaganju. Paketi se instaliraju

odabirom opcije Packages->Install u prozoru za grafičko predstavljanje i instalaciju

paketa. U projekat se uključuju korišćenjem funkcije library().

Page 16: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

Slika

Za razliku od nekih tradicionalnih jezika poput

po tome što ne postoji deklaracija tipa promenljive. Svaka promenljiva ima tip

se kreira pozivom odgovarajuće funkcije sa prosleđenim argumentima. Tip

Vektor – Najprostiji tip podataka koji ima 6 klasa u zavisnosti od tipa podatka koji

sadrži (Logical, Numeric, Integer, Complex, Character, Raw). Dobija se pozivom

funkcije c( ) koja prihvata konkretne vrednosti iz neke od ovih 6 klasa

Lista – Objekat koji sadrži različite tipove objekata poput vektora, funkcija ili drugih

lista. Kreira se pozivom funkcije

Matrica – Dvodimezioni niz podataka i takođe može sadržati elemente koji su iz

različitih klasa. Ovo je bitna razlika u odnosu na C programski jezik. Dobija se

pozivom funkcije matrix( )

i vrsta.

Niz – Za razliku od matrica koje su ograničene na dve, niz može imati više dimenzija.

Kreira se pozivom funkcije

dimenzija.

Faktor – Objekat koji nastaje koristeći vektore. U sebi sadrži vektor zajedno sa

različitim vrednostima iz vektora označenim kao labele. Formira se pozivom funkcije

factor( ) kojoj se kao argument prosleđuje vektor. Koristeći funkciju

se dobiti broj različitih vrednosti vektora, odnosno labela.

Tabela podataka (data f

podatke iste klase. Svaka kolona ima svoje ime, a pristupa joj se korišćenjem operanda

$. Dobija se pozivom funkcije

LIZE U ELEKTRONICI PREKO

Slika 16: RStudio programsko okruženje

Za razliku od nekih tradicionalnih jezika poput C-a, sintaksa i semantika

po tome što ne postoji deklaracija tipa promenljive. Svaka promenljiva ima tip

se kreira pozivom odgovarajuće funkcije sa prosleđenim argumentima. Tip

Najprostiji tip podataka koji ima 6 klasa u zavisnosti od tipa podatka koji

sadrži (Logical, Numeric, Integer, Complex, Character, Raw). Dobija se pozivom

koja prihvata konkretne vrednosti iz neke od ovih 6 klasa

Objekat koji sadrži različite tipove objekata poput vektora, funkcija ili drugih

lista. Kreira se pozivom funkcije list( ) sa prosleđenim argumentima.

Dvodimezioni niz podataka i takođe može sadržati elemente koji su iz

. Ovo je bitna razlika u odnosu na C programski jezik. Dobija se

matrix( ) kojoj se kao argumenti prosleđuju podaci, ali i broj kolona

Za razliku od matrica koje su ograničene na dve, niz može imati više dimenzija.

Kreira se pozivom funkcije array( ) čiji su argumenti podaci, i veličina svake od

Objekat koji nastaje koristeći vektore. U sebi sadrži vektor zajedno sa

različitim vrednostima iz vektora označenim kao labele. Formira se pozivom funkcije

kojoj se kao argument prosleđuje vektor. Koristeći funkciju

se dobiti broj različitih vrednosti vektora, odnosno labela.

data frame) – Tabelarni objekat u kome svaka kolona sadrži

podatke iste klase. Svaka kolona ima svoje ime, a pristupa joj se korišćenjem operanda

. Dobija se pozivom funkcije data.frame( ).

SRĐAN JOVANOVIĆ

15

a, sintaksa i semantika R-a se razlikuje

po tome što ne postoji deklaracija tipa promenljive. Svaka promenljiva ima tip R-objekta koji

se kreira pozivom odgovarajuće funkcije sa prosleđenim argumentima. Tipovi koji postoje su:

Najprostiji tip podataka koji ima 6 klasa u zavisnosti od tipa podatka koji

sadrži (Logical, Numeric, Integer, Complex, Character, Raw). Dobija se pozivom

koja prihvata konkretne vrednosti iz neke od ovih 6 klasa.

Objekat koji sadrži različite tipove objekata poput vektora, funkcija ili drugih

sa prosleđenim argumentima.

Dvodimezioni niz podataka i takođe može sadržati elemente koji su iz

. Ovo je bitna razlika u odnosu na C programski jezik. Dobija se

kojoj se kao argumenti prosleđuju podaci, ali i broj kolona

Za razliku od matrica koje su ograničene na dve, niz može imati više dimenzija.

čiji su argumenti podaci, i veličina svake od

Objekat koji nastaje koristeći vektore. U sebi sadrži vektor zajedno sa

različitim vrednostima iz vektora označenim kao labele. Formira se pozivom funkcije

kojoj se kao argument prosleđuje vektor. Koristeći funkciju nlevels( ) može

Tabelarni objekat u kome svaka kolona sadrži

podatke iste klase. Svaka kolona ima svoje ime, a pristupa joj se korišćenjem operanda

Page 17: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

Za potrebe realizacije narednih

jeziku poput for i while petlji,

jezikom tako da nema potrebe dodatno ih objašnjavati.

3.2.ABCDepth algoritam za računanje

Svi dosad poznati algoritmi za računanje dubine višedimenzio

veoma veliku složenost i sa povećanjem broja dimenzija

izuzetno sporo i računarski neprihvatljivo.

ukoliko je potrebno izvršiti neku obradu u smislenom vremenu.

kompleksnost raste linearno sa broj

algoritama za računanje dubina tačaka

redosled i pseudo-kod prikazan je na slici

Slika 17: Pseudo-kod

LIZE U ELEKTRONICI PREKO

narednih algoritama koristiće se svi pomenuti tipovi

petlji, if/else uslova, definisanja funkcija prilično su slični sa

jezikom tako da nema potrebe dodatno ih objašnjavati.

ABCDepth algoritam za računanje Tjukijevih dubin

algoritmi za računanje dubine višedimenzionalnih

i sa povećanjem broja dimenzija njihovo izračunavanje

izuzetno sporo i računarski neprihvatljivo. Postojanje efikasnog algoritma je veoma bitno

no izvršiti neku obradu u smislenom vremenu. ABCDepth

sa brojem dimenzija što ga čini efikasnijim od drugih predloženih

algoritama za računanje dubina tačaka za � > 2. Sam algoritam se sastoji iz 3 faze

kod prikazan je na slici 17.

kod ABCDepth algoritma za računanje dubine tačaka

SRĐAN JOVANOVIĆ

16

ipovi. Ostale strukture u

uslova, definisanja funkcija prilično su slični sa C

dubina tačaka

nalnih podataka imaju

njihovo izračunavanje postaje

Postojanje efikasnog algoritma je veoma bitno

ABCDepth je algoritam čija

em dimenzija što ga čini efikasnijim od drugih predloženih

algoritam se sastoji iz 3 faze, a njihov

algoritma za računanje dubine tačaka

Page 18: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

Faza 1: Računanje rastojanja između tačaka

Na početku algoritma potrebno je sračunati euklidsko rastojanje između svake

tačke, obzirom da su kugle određene svojim centrom i sadrže

Pošto su tačke d – dimenzionalne u C

kroz svaku koordinatu i na taj način sračunala rastojanje između dve tačke

�(�). U R-u, međutim, računanje ovog rastojanja se svodi na skalarni p

tačke i to se vrlo jednostavno i brzo izvršava(složenost

matrici dimenzija � × �, tako da

matrica je simetrična u odnosu na dijagonalu.

calculateDistances() koja prima podatak tipa

Faza 2: Sortiranje tačaka i formiranje struktura lopti

U drugoj fazi se svaka tačka iz matrice transformiše u strukturu

ne bi izgubila informacija o sv

slici 18. Ona sadrži polja point

rastojanje od tačke u čijem redu u matrici se nalazi. Nakon toga, tačke iz svakog reda matrice

se sortiraju prema rastojanju i formira se nova struktura

Objekat popTup[i] ima polja

sorted_points koje je zapravo niz od

za svaku tačku, ove strukture se smeštaju u listu

populateTuples(). Na slikama

LIZE U ELEKTRONICI PREKO

Računanje rastojanja između tačaka

Na početku algoritma potrebno je sračunati euklidsko rastojanje između svake

, obzirom da su kugle određene svojim centrom i sadrže ⌊� − � +

dimenzionalne u C-u bi npr. bila potrebna jedna for petlja koja bi pro

kroz svaku koordinatu i na taj način sračunala rastojanje između dve tačke

računanje ovog rastojanja se svodi na skalarni proizvod

i to se vrlo jednostavno i brzo izvršava(složenost �(1)). Rastojanja se smeštaju u

, tako da ��� predstavlja distancu između i-te i j-te tačke

matrica je simetrična u odnosu na dijagonalu. Za ovaj deo algoritma koristi se funkcija

koja prima podatak tipa data frame ili matricu dimenzija

ka i formiranje struktura lopti

U drugoj fazi se svaka tačka iz matrice transformiše u strukturu distanceTuple

ne bi izgubila informacija o svakoj tački i njenim rastojanjima. Ova struktura prikazana je na

point koje se odnosi na tačku i polje distance koje označava njeno

rastojanje od tačke u čijem redu u matrici se nalazi. Nakon toga, tačke iz svakog reda matrice

se sortiraju prema rastojanju i formira se nova struktura popTup[i], gde je

ima polja ref_point označavajući tačku na koju se odnosi i polje

koje je zapravo niz od n-1 struktura tipa distanceTuple. Nakon što se formiraju

za svaku tačku, ove strukture se smeštaju u listu popTuple. Za ovu svrhu koristi se funkcija

Na slikama 20 i 21 su prikazane strukture popTuple[i] i popTuple

Slika 18: Struktura distanceTuple

SRĐAN JOVANOVIĆ

17

Na početku algoritma potrebno je sračunati euklidsko rastojanje između svake dve

1⌋ najbližih tačaka.

u bi npr. bila potrebna jedna for petlja koja bi prolazila

kroz svaku koordinatu i na taj način sračunala rastojanje između dve tačke sa zavisnošću

roizvod razlike dve

Rastojanja se smeštaju u

te tačke skupa. Ova

Za ovaj deo algoritma koristi se funkcija

ili matricu dimenzija � × �.

distanceTuple, kako se

struktura prikazana je na

koje označava njeno

rastojanje od tačke u čijem redu u matrici se nalazi. Nakon toga, tačke iz svakog reda matrice

gde je i redni broj tačke.

vajući tačku na koju se odnosi i polje

Nakon što se formiraju

Za ovu svrhu koristi se funkcija

i popTuple.

Page 19: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

Faza 3: Formiranje preseka lopti i traženje dubine tačke

U poslednjoj fazi vrši se iterativno presek lopti sve dok se ne zadovolje određeni

uslovi. U svakoj iteraciji povećava se parametar

posmatra, dok se presek kugli

iteraciji pripada, a da u iteraciji

slučaju da se dođe do kraja iteracije, a da tačka i dalje pripada preseku, njena dubina je

Ovde je bitno napomenuti još jednu veoma bitnu operaciju koja se izvršava nad skupom

LIZE U ELEKTRONICI PREKO

Slika 19: Struktura popTuple[i]

Slika 20: Struktura popTuple

preseka lopti i traženje dubine tačke

U poslednjoj fazi vrši se iterativno presek lopti sve dok se ne zadovolje određeni

uslovi. U svakoj iteraciji povećava se parametar � za 1. Ovako se povećava dubina koja se

dok se presek kugli smanjuje ili ostaje isti. Ukoliko se dogodi da tačka u

iteraciji pripada, a da u iteraciji k+1 ne pripada preseku kugli, to znači da je njena dubina

slučaju da se dođe do kraja iteracije, a da tačka i dalje pripada preseku, njena dubina je

Ovde je bitno napomenuti još jednu veoma bitnu operaciju koja se izvršava nad skupom

SRĐAN JOVANOVIĆ

18

U poslednjoj fazi vrši se iterativno presek lopti sve dok se ne zadovolje određeni

Ovako se povećava dubina koja se

Ukoliko se dogodi da tačka u k-toj

ne pripada preseku kugli, to znači da je njena dubina k. U

slučaju da se dođe do kraja iteracije, a da tačka i dalje pripada preseku, njena dubina je n.

Ovde je bitno napomenuti još jednu veoma bitnu operaciju koja se izvršava nad skupom

Page 20: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

19

tačaka. Kako se čitav koncept poluprostornih funkcija dubina zasniva na nalaženju preseka

kugli (poluprostora), u praksi se može desiti da se za određenu dobinu dobije prazan skup,

odnosno da kugle nemaju zajedničkih tačaka. To znači da ne bi bilo moguće da se procene

najdublje tačke (ili medijana) nekog skupa. Zbog toga se uvode dodatne veštačke tačke koje

generiše generator slučajnih brojeva, a koje imaju uniformnu raspodelu u opsegu u kom se

nalaze tačke iz skupa. Ovo pomaže da se “osvetle“ (prepoznaju) regioni koji su dublji od

najdublje tačke iz originalnog skupa. Iz tog razloga se u zavisnosti od potrebe na početku

algoritma opciono mogu dodati nove tačke na originalni skup. Novi skup sada ima ukupno N

tačaka (� > �).

Realizovana funkcija zadužena za pronalaženje preseka kugli naziva se getLevelSet().

Ova funkcija, u zavisnosti od zahtevanog broja originalnih tačaka koje treba da se nalaze u

kugli, prolazi kroz sve tačke i od svake uzima onoliki broj najbližih tačaka koji je dovoljan da

se u njemu nalazi zahtevani broj originalnih tačaka. Nakon svake tačke, koristeći ugrađenu

funkciju intersect(), vrši presek novih tačaka sa postojećim, kako bi se na kraju dobile

zajedničke tačke za sve kugle. Funkcija intersect() je veoma bitna jer u najvećoj meri utiče na

brzinu algoritma, obzirom da se poziva veliki broj puta.

Na slikama 21, 22, 23, 24, 25 i 26 su prikazane dubine tačaka za tri skupa podataka

(nycrime, single-aircraft_engine, animals_log) računate na originalnom skupu i na skupu

proširenim veštačkim tačkama.

Slika 21: Dubine tačaka računate na originalnom skupu tačaka ABCDepth algoritmom - nycrime

Page 21: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

20

Slika 22: Dubine računate dodavanjem veštačkih tačaka ABCDepth algoritmom – nycrime

Page 22: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

21

Slika 23: Dubine računate na originalnom skupu tačaka ABCDepth algoritmom - aircraft

Page 23: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

22

Slika 24: Dubine računate dodavanjem veštačkih tačaka ABCDepth algoritmom - aircraft

Page 24: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

23

Slika 25: Dubine računate na originalnom skupu tačaka ABCDepth algoritmom – animals_log

Page 25: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

24

Slika 26: Dubine računate dodavanjem veštačkih tačaka ABCDepth algoritmom – animals_log

Page 26: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

25

3.3.Aproksimacija ABCDepth algoritma

Ovaj algoritam smatra se aproksimativnim iz razloga što nije u potpunosti zadovoljena

definicija Tjukijeve dubine. Po definiciji, tačka određene dubine mora biti sadržana u preseku

beskonačnog broja poluprostora (kugli). Takva izračunavanja naravno nisu moguća u realnim

uslovima i zbog toga se račun vrši koristeći konačan broj kugli, tačnije, onoliko koliko ima

tačaka. Tu se nesumnjivo unosi određeni procenat greške. Da bi se ispitalo da li dodavanje

veštačkih tačaka poboljšava tačnost, treba uporediti dubine dobijene ABCDepth algoritmom

sa dubinama dobijenih pomoću funkcije depth iz R-paketa depth. Ova funkcija računa tačnu

dubinu tačke u dvodimenzionalnom prostoru. U tabeli 1 je prikazano procentualno poklapanje

rezultata sa tačnim vrednostima.

Skup Originalne tačke [%]

Veštačke tačke [%]

Nycrime 26.09 30.43

Single-airraft_engine 13.04 26.09

Animals_log 25.92 44.44

Tabela 1: Procentualno poklapanje dubina dobijenih ABCDepth algoritmom na originalnim i veštačkim tačkama

Iz tabele se može zaključiti da ABCDepth algoritam ne daje najbolje rezultate ukoliko

se koriste samo tačke iz originalnog skupa. Dodavanjem veštačkih tačaka, može se povećati

efikasnost. To se može objasniti time da se povećava broj kugli, koji teorijski treba da bude

beskonačan. U simulacijama je broj veštačkih tačaka bio 100 pre svega zbog sporog

izvršavanja u R-u. U nekom bržem jeziku trebalo bi pokrenuti simulacije sa ogromnim brojem

veštačkih tačaka (reda 1000) i rezultati bi trebalo da budu u velikoj meri slični egzaktnim

dubinama.

3.4.ABCDepth algoritam za računanje Tjukijeve medijane

Kako je za kasniju primenu u postupku klasifikacije u ovom radu neophodno

poznavanje medijane konkretnog višedimenzionalnog skupa, potrebno je predstaviti i

algoritam za njeno nalaženje. Postupak za nalaženje višedimenzionalne medijane ABCDepth

algoritmom u dobroj meri se oslanja na prethodni algoritam za nalaženje dubina. Postoje neke

izmene u 3. fazi algoritma, dok su 1. i 2. faza identične. Na slici je predstavljen pseudo-kod

samo 3. faze.

Page 27: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

Slika 27: Pseudo-kod 3. faze

U ovom koraku vrše se iteracije u kojima se svaki put uvećava vrednost parametra

za �

�. Ovim se smanjuje veličina lopti, odnosno broj tačaka u njima. U svakoj iteraciji nalazi se

presek svih kugli u zavisnosti od broja originalnih tačaka. Ukoliko se dogodi da broj tačaka u

preseku bude isti kao u prethodnoj iteraciji, zaustavlja se petlja jer

predstavljaju medijanu. Dobijanje preseka je u kodu realizovano funkcijom

Na slikama je prikazana medijana dobijena na ovaj način i medijana dobijena koršćenjem

egzaktne metode med() iz

ABCDepth algoritmom na originalnim tačkama,

veštačkih tačaka, HALFMED i

Slika 28: Poređenje medijana na skupu

LIZE U ELEKTRONICI PREKO

kod 3. faze ABCDepth algoritma za dobijanje medijane

U ovom koraku vrše se iteracije u kojima se svaki put uvećava vrednost parametra

Ovim se smanjuje veličina lopti, odnosno broj tačaka u njima. U svakoj iteraciji nalazi se

presek svih kugli u zavisnosti od broja originalnih tačaka. Ukoliko se dogodi da broj tačaka u

preseku bude isti kao u prethodnoj iteraciji, zaustavlja se petlja jer su pronađene tačke koje

Dobijanje preseka je u kodu realizovano funkcijom

Na slikama je prikazana medijana dobijena na ovaj način i medijana dobijena koršćenjem

iz R-depth paketa. Na slici su upoređene medijane dobijene

algoritmom na originalnim tačkama, ABCDepth algoritmom dodavanjem

i DEEPLOC medijana.

: Poređenje medijana na skupu animals_log

SRĐAN JOVANOVIĆ

26

algoritma za dobijanje medijane

U ovom koraku vrše se iteracije u kojima se svaki put uvećava vrednost parametra �

Ovim se smanjuje veličina lopti, odnosno broj tačaka u njima. U svakoj iteraciji nalazi se

presek svih kugli u zavisnosti od broja originalnih tačaka. Ukoliko se dogodi da broj tačaka u

su pronađene tačke koje

Dobijanje preseka je u kodu realizovano funkcijom getLevelSets().

Na slikama je prikazana medijana dobijena na ovaj način i medijana dobijena koršćenjem

Na slici su upoređene medijane dobijene

algoritmom dodavanjem

Page 28: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

27

3.5.Složenost ABCDepth algoritma za nalaženje medijane

Opisani algoritam za nalaženje medijane ima složenost ��(� + �)�� + �� log �� .

Algoritamska složenost u ovom slučaju može se posmatrati iz dva ugla. U pogledu

dimenzionalnosti, dobija se linearna zavisnost od broja dimenzija, što je zapravo i najveća

prednost ovog algoritma. U samom algoritmu, uticaj dimenzionalnosti može se videti samo

kroz računanje distanci između tačaka. Tada se za svake dve tačke sračuna euklidsko

rastojanje (Eucledian distance). To se u R-u vrlo lako ostvaruje koristeći pogodnosti

matričnog množenja i skalarnog proizvoda koji ovaj jezik pruža. Ovaj korak zahteva neko

vreme za svoje izvršavanje, ali daleko manje od vremena koje je kasnije potrebno za

nalaženja preseka kugli. U slučaju zavisnosti od broja tačaka n, složenost je polinomijalna i

naročito je zahtevan deo koji se odnosi na računanje preseka lopti, obzirom da se tada

izvršava nekoliko ugnježdenih for petlji.

Page 29: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

4. Klasifikacija komponenata

4.1.Bagdistance postupak

Predstavljeni postupak

neizostavan deo narednog koraka u klasifikaciji,

Naime, pošto poznavanje dubine neke tačke ne nosi informaciju o udaljenosti te

centra skupa, bilo bi dobro pronaći meru kojom se to rastojanje predstavlja.

intuitivno shvatilo, mora se najpre sagledati slika. Na slici je plavom linijom

konturom) označen najdublji region (dubine 9) tačaka iz skupa

crvenom region koji sadrži tačke dubine veće od 2.

ABCDepth algoritmom sa veštačkim tačkama.

za outlier-e. Ovakav prikaz tačaka se u literaturi naziva

osobina posmatranog skupa, kao što su: centar skupa i prisustvo ili odsustvo

1 i 2 su očigledno outlier-i iste dubine

bilo zgodno imati meru kojom se uzima u obzir i centar skupa ali i disperzija ovih tačaka.

Jedan od načina na koji se mera rastojanja može definisati je

Mera rastojanja, bagdistance

datog skupa i euklidskog rastojanja tačke

spaja � i � i konture određene dubine. To se može zapisati kao,

��(�; ��) = � 0 ‖� − �

LIZE U ELEKTRONICI PREKO

komponenata

postupak

Predstavljeni postupak u odeljku 3.4 za nalaženje medijane je veoma

ostavan deo narednog koraka u klasifikaciji, a koji se zasniva na bagdistance

Naime, pošto poznavanje dubine neke tačke ne nosi informaciju o udaljenosti te

centra skupa, bilo bi dobro pronaći meru kojom se to rastojanje predstavlja.

, mora se najpre sagledati slika. Na slici je plavom linijom

najdublji region (dubine 9) tačaka iz skupa single

crvenom region koji sadrži tačke dubine veće od 2. Zvezdicom je označena medijana dobijena

algoritmom sa veštačkim tačkama. Tačke koje se nalaze izvan kontura smatraju se

Ovakav prikaz tačaka se u literaturi naziva bagplot i on prikazuje nekoliko

skupa, kao što su: centar skupa i prisustvo ili odsustvo

i iste dubine iako su na različitim rastojanjima od centra

bilo zgodno imati meru kojom se uzima u obzir i centar skupa ali i disperzija ovih tačaka.

Jedan od načina na koji se mera rastojanja može definisati je bagdistance pristup.

bagdistance, je odnos euklidskog rastojanja tačke

datog skupa i euklidskog rastojanja tačke �� do medijane, gde je �� tačka preseka prave koja

i konture određene dubine. To se može zapisati kao,

, � = ��‖/‖�� − �‖ , � ≠ �

� , gde je �� disperzija u pravcu od

Slika

SRĐAN JOVANOVIĆ

28

za nalaženje medijane je veoma bitan jer je

bagdistance pristupu.

Naime, pošto poznavanje dubine neke tačke ne nosi informaciju o udaljenosti te tačke od

centra skupa, bilo bi dobro pronaći meru kojom se to rastojanje predstavlja. Da bi se to

, mora se najpre sagledati slika. Na slici je plavom linijom(dubinskom

single-engine_aircraft, a

Zvezdicom je označena medijana dobijena

Tačke koje se nalaze izvan kontura smatraju se

i on prikazuje nekoliko

skupa, kao što su: centar skupa i prisustvo ili odsustvo outlier-a. Tačke

iako su na različitim rastojanjima od centra. Stoga bi

bilo zgodno imati meru kojom se uzima u obzir i centar skupa ali i disperzija ovih tačaka.

pristup.

, je odnos euklidskog rastojanja tačke x do medijane �

tačka preseka prave koja

disperzija u pravcu od � ka �.

Page 30: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

29

Na slici su pomenuta rastojanja predstavljena zelenim, odnosno žutim, vektorom. Na osnovu

prethodne definicije mera udaljenosti tačke 1 iznosi 7.10, dok za tačku 2 koja je bliža centru

iznosi 0.96. Ono što je prednost bagdistance pristupa je afino-invarijantnost i to što se može

primeniti i na asimetrične skupove.

4.2. kNN klasifikator

kNN metod je jedan od najkorišćenijih u problemima klasifikacije i predikcije.

Dodeljivanje određene jedinke nekoj klasi osnovni je zadatak ovog metoda. Sam postupak

teče na sledeći način. Neka postoji k grupa (ovde se k uzima kao unapred poznato, dok se

nekad i ovaj parametar mora prvo odrediti) tačaka. Svaka tačka na osnovu nekih svojih

osobina pripada nekoj od klasa. Postavlja se pitanje: Kako odrediti kojoj grupi tačka pripada?

Na slici 29 je predstavljen ovaj problem.

Slika 29: Određivanje kojoj grupi tačka pripada

Potrebno je tačku označenu crnim trouglom svrstati u jednu od dve grupe. Da bi se to

uradilo, mora se najpre opisati nekakav kriterijum po kome će se dodela vršiti. Ovaj

kriterijum označava meru sličnosti tačke i određene klase. Obično se za kriterijum uzima

Page 31: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

30

rastojanje tačke od srednje vrednosti grupe ili zbir kvadratnih rastojanja između tačke i tačaka

iz grupe. U ovom radu posmatra se pomenuto bagdistance rastojanje. Sračuna se bagdistance

vrednost za svaku od klasa i tačka se dodeljuje onoj klasi za koju je ta vrednost najmanja.

Odmah se da videti da je metod poprilično jednostavan, a da se kvalitet klasifikacije bazira na

dobro izabranoj funkciji za meru rastojanja. U narednom odeljku biće opisan konkretan

problem u elektronici gde se kNN klasifikator može koristiti.

4.3.Form Fit Functional Equivalents (FFFs)

Ovaj pojam odnosi se na pronalaženje alternativne komponente već ugrađenim

komponentama. Novi deo (komponenta) mora po svojim fizičkim i funkcionalnim svojstvima

da zadovoljava karakteristike onoga što zamenjuje. U elektronskoj industriji termin FFFs je

postao popularan naročito u samom postupku proizvodnje. Često se dešava da nestanu zalihe

neke komponente (npr. otpornik) i potrebno je brzo reagovati nalaženjem zamenske

komponente kako se proizvodnja ne bi prekidala duži vremenski period. Nekada je neka

komponenta zastarela i mora se menjati, pa se pribegava traženju komponente koja bi mogla

da je zameni. Form Fit Function pravila specificiraju koliko nova komponenta može da se

razlikuje od originalne, a da se još uvek zadrži željeno ponašanje. Dakle, nova komponenta

mora da zadovolji uslove u vidu: forme (Form) kao što su oblik, dimenzije itd., fizičku

interakciju sa ostalim delovima sistema i funkcionalnost. Ovaj radi bavi se nalaženjem

zamenske komponente na osnovu forme kod pasivnih elemenata (konkretno otpornika).

Različiti proizvođači nude različite dizajne otpornika u zavisnosti od tehnologije. Ipak,

svi oni se opisuju istim osobinama (otpornost, dimenzije, tolerancija, disipacija itd. ). Na

osnovu ovih svojstava otpornici se mogu svrstati u grupe. Težnja da za svaki dizajn (klasu)

postoje otpornici sa svim mogućim kombinacijama snage i otpornosti kako bi se povećala

proizvodnja, dovela je do toga da se u klasama koje su specijalizovane za npr. otpornike sa

malim snagama, pojavljuju i otpornici sa većim snagama. Ukoliko se posmatra raspodela

otpornika u ovim klasama, najveći deo je smešten u centralnom delu, što je i očekivano, dok

postoje i neke tačke koje se dosta izdvajaju od centra. To se može videti na slici na kojoj je

prikazana klasa otpornika za specijalne namene (Special Resistors). Za predstavljanje su

korišćene dve karakteristike (dimenzije) pri čemu je na jednoj osi otpornost, a na drugoj

snaga. Pošto je ova klasa otpornika namenjena generalno za male snage, očekivano je da po

y-osi tačke ne odstupaju mnogo jedna od druge. Ipak, kako u klasi postoje i otpornici sa većim

snagama (kojih je inače mali broj) odstupanje je primetno. Takve tačke su stoga outlier-i.

Klasifikacija pomoću bagdistance-a na bazi dubinskih funkcija ovde dobija na ogromnom

značaju, jer zbog svoje definicije, ove tačke ne ubraja u centar klase. Na ovaj način, mera

sličnosti novih tačaka koje treba klasifikovati ne zavisi od outlier-a već samo od medijane i

centralnih tačaka iz klase.

Page 32: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

31

Slika 30: Prisustvo outlier-a u klasi otpornika

Primena kNN metoda u klasifikaciji otpornika

Neke od grupa otpornika koje se razmatraju su: Surface Mount, Through Hole, Chasis

Mount, Resistor Networks. Podaci neophodni za klasifikaciju prikupljeni su sa sajta DigiKey

proizvođača. Oni su podeljeni u 4 klase, a iz svake klase 2/3 tačaka se koristi kao referentni

skup (train set) i 1/3 tačaka za testiranje uspešnosti(test set). Otpornici su predstavljeni kao

tačke u 5 dimenzija (otpornost, snaga, tolerancija, duzina, visina). U tabeli je prikazano kako

ovi podaci izgledaju. Svaka tačka ima svoj identifikator (SM, TH, CM, RN) koji označava

kojoj klasi pripada.

CLASS Resistance Tolerance Power Length Width TH 300 0.05 0.25 1.7 3.2 CM 22 0.05 50 50 28.96 CR 1000 0.05 0.063 1 0.5 RN 47000 0.02 0.3 20.27 2.49

Tabela 2: Prikaz tabele sa podacima o otpornicima

Page 33: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

32

Radi provere uspešnosti ovog klasifikatora, računa se bagdistance rastojanje za svaku

tačku iz skupa za testiranje. Zatim se poredi prava pripadnost tačke nekoj klasi sa onom

dobijenom simulacijom i na osnovu toga se računa količnik uspešnih dodela sa ukupnim

brojem tačaka za testiranje. Za medijanu računatu ABCDepth algoritmom na originalnom

skupu tačaka, dobijena je uspešnost oko 80%, što je veoma dobar rezultat obzirom da nije

rađena nikakva normalizacija(skaliranje) podataka niti dodavanje tačaka. Korišćenjem

medijane dobijene dodavanjem veštačkih tačaka, uspešnost je povećana na 86%, što je i

razumljivo, jer je medijana preciznija. Korišćenjem originalne funkcije bagdistance iz paketa

mrfDepth uspešnost je 88%. Uspešnost ABCDepth algoritma može se povećati povećanjem

broja tačaka i nalaženjem preciznije medijane. Tada, međutim, broj tačaka mora biti veći od

1000, što bi veoma dugo trajalo u R-u.

Page 34: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

33

5. Zaključak Ideja ovog rada je bila da se kroz primenu u konkretnom problemu ispita jedna

popularna oblast u statistici. Prikazane su osobine funkcija dubina koje su veoma značajne, jer

omogućavaju robusnost, osetljivost na outlier-e i nezavisnost od linearne transformacije, što

je veoma korisno u analizi podataka. Opisan je algoritam koji radi sa višedimenzionalnim

podacima (reda većeg od 100) sa linearnom zavisnošću od dimenzije koji je jedinstven takve

vrste. Ovo omogućava da se rad nad ovakvim podacima proširi u mnogim poljima Big Data

analize, a naročito u domenu klasifikacije kao na primeru u radu. Na konkretnom primeru je

pokazano da bagdistance pristup sa poluprostornom medijanom daje poprilično dobre

rezultate, koji mogu i da se poboljšaju uvođenjem dodatnih tačaka i određivanjem preciznije

pozicije medijane.

Takođe, ovaj diplomski rad može poslužiti kao korisna literatura prilikom proširivanja

postojećih paketa za izračunavanje funkcija dubine u višedimenzionalnom prostoru. Ideja je

od samog početka bila da se temeljno objasni i sam programski jezik R, ali i da se kroz

implementaciju algoritma stvori dobra potpora za kasnije proširivanje i nadogradnju

postojećih paketa. Realizovane funkcije mogu se dodatno ubrzati implementacijom u C-u, a

zatim koršćenjem funkcija koje pokreću taj kod u R-u. To je jedno od poboljšanja koje je

realno moguće ostvariti.

Page 35: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PREKO STATISTIĆKIH FUNKCIJA DUBINE

SRĐAN JOVANOVIĆ

34

6. Literatura [1] Milan Merkle. Jensen's inequality for multivariate medians. J. Math. Anal. Appl.,

370:258-269, 2010.

[2] Milica Bogićević and Milan Merkle, ABCDepth: efficient algorithm for Tukey depth,

arXiv 1603.05609v2

[3] Mia Hubert, Peter J. Rousseeuw and Pieter Segaert. Multivariate and functional

classification using depth and distance. Adv. Data Anal. Classif. (2016),

doi:10.1007/s11634-016- 0269-3

[4] C. G. Small. A survey of multidimensional medians. arXiv, 58:263-277, 1990.

[5] D. L. Donoho and M. Gasko. Breakdown properties of location estimates based on halfspace depth and projected outlyingness. Ann. Statist., 20:1803-1827, 1992.

[6] Dokumentacija za depth paket, dostupna na https://cran.r-project.org/web/packages

[7]Dokumentacija za mrfDepth paket, dostupna na https://cran.r-project.org/web/packages

Page 36: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

7. Prilog: programski kodovi

U ovom delu dati su programski kodovi u

funkcionalnosti ABCDepth algoritma.

- calculateDistances()

- populateTuples()

LIZE U ELEKTRONICI PREKO

Prilog: programski kodovi

U ovom delu dati su programski kodovi u R-u kojim su implementirane

algoritma.

calculateDistances()

SRĐAN JOVANOVIĆ

35

u kojim su implementirane

Page 37: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

- getLevelSet()

LIZE U ELEKTRONICI PREKO

SRĐAN JOVANOVIĆ

36

Page 38: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

- getDepth()

LIZE U ELEKTRONICI PREKO

SRĐAN JOVANOVIĆ

37

Page 39: Elektrotehnički fakultet Univerzitet u Beogradumilanmerkle.etf.rs/wp-content/uploads/2017/10/Diplomski_rad_Srdja… · Primena Big Data analize u elektronici preko statističkih

PRIMENA BIG DATA ANALIZE U ELEKTRONICI PSTATISTIĆKIH FUNKCIJA DUBINE

- getLevelSets()

LIZE U ELEKTRONICI PREKO

SRĐAN JOVANOVIĆ

38