79
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Vizuális adatanalízis „Big Data” elemzési módszerek Kocsis Imre, Salánki Ágnes i kocsis , salanki @ mit.bme.hu 2014.10.08.

Vizuális adatanalízis

Embed Size (px)

DESCRIPTION

Vizuális adatanalízis. „Big Data” elemzési módszerek Kocsis Imre, Salánki Ágnes i kocsis , salanki @ mit.bme.hu 2014.10.08. Felderítő adatanalízis. Exploratory Data Analysis : statisztikai tradíció, mely koncepcionális és számítási eszközökkel segíti - PowerPoint PPT Presentation

Citation preview

Page 1: Vizuális adatanalízis

Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Vizuális adatanalízis

„Big Data” elemzési módszerek

Kocsis Imre, Salánki Ágnesikocsis, [email protected]

2014.10.08.

Page 2: Vizuális adatanalízis

Felderítő adatanalízis Exploratory Data Analysis: statisztikai tradíció,

o mely koncepcionális o és számítási eszközökkel segíti o minták felismerését és ezen keresztül o hipotézisek felállítását és finomítását.

Komplementere: Confirmatory Data Analysiso Hipotézistesztelés, modellválasztás, paraméterillesztés, …

Legismertebb vizionáriusa: John W. Tukey[2] és [3] alapján

Page 3: Vizuális adatanalízis

EDA Cél: adatok „megértése”

o „detektívmunka”o erősen ad-hoc

Fő eszköz: adatok „bejárása” grafikus reprezentációkkal

Hipotézisek: iteratív folyamat

Flexibilitás és pragmatizmus

Page 4: Vizuális adatanalízis

Anscombe négyese

Hibás feltételezések elkerülése… és intuíció:

Page 5: Vizuális adatanalízis

Dr. John Snow és az 1854-es kolerajárvány A járvány nem

„miazmikus”

A kútnyél-mítosz kérdéses

Forrás: [5] és [6]

„About half of our sensory neurons are dedicated to vision, endowing us with a remarkable pattern-recognition ability.”

Prof. Alfred Inselberg

Page 6: Vizuális adatanalízis

Oszlopdiagram (bar chart)• Megjelenített dimenziók száma: 1

• Ábrázolt összefügg.:• Diszkrét változó egyes

értékeinek abszolút gyakorisága

• Adategység:• Oszlop – az oszlop magassága

az adott érték absz. gyakoriságáttükrözi

•Tervezői döntés:• Csoportok kialakítása?• Értékkészlet darabolása?

Page 7: Vizuális adatanalízis

Hisztogram•Megjelenített dim.k: 1

•Ábrázolt összefügg.:• folytonos változó eloszlása

•Adategység:• Oszlop – az oszlop magassága az

adott érték absz. gyakoriságát tükrözi

•Tervezői döntés:• Oszlopok szélessége?

Nők és férfiak magasságának eloszlása is szép haranggörbe

Fontos percentilisek?

Page 8: Vizuális adatanalízis

Doboz diagram (boxplot)•Megjelenített dim.k: 1

• 5 értékkel jellemzésként•Ábrázolt összefügg.:• folytonos változó fontos percentilisei

•Adategység:• Doboz – szélei jelzik az alsó és

felső kvartiliseket, • Középen a medián. • A minimum és a maximum

általában még pontosan jelezve, • Outlierek már csak pöttyökkel.

Page 9: Vizuális adatanalízis

BoxplotInterquartile range

Page 10: Vizuális adatanalízis

KÉT VÁLTOZÓ

Cél: tartományok, összefüggések keresése

Page 11: Vizuális adatanalízis

Pont – pont diagram (scatterplot)•Megjelenített dim.k: 2

•Ábrázolt összefügg.:• folytonos változók együttes eloszlása

•Adategység:• pont –

előfordulás

•Korlát:• ha az egyik változó értéke

hiányzik nem tudjuk felrajzolni

•Tervezői döntés:• Overplotting?

Page 12: Vizuális adatanalízis

Hol volt, hol nem volt...

Page 13: Vizuális adatanalízis

Szétszórjuk

Page 14: Vizuális adatanalízis

A pontok....

Page 15: Vizuális adatanalízis

És megpróbáljuk közelíteni...

Page 16: Vizuális adatanalízis

Simító görbe (smoothing spline) [11,12]

„Penalized sum of squares” Feladat: minimalizáló függvény megtalálása Első tag: maradvány-hibanégyzetösszeg Második tag: „roughness penalty”

oMinél gyorsabban nő a meredekség, annál nagyobb Megoldása köbös (cubic) spline

Page 17: Vizuális adatanalízis

Simító görbe (smoothing spline) [11,12]

simító paramétero Adat követése o Simaság o =0 esetén interpolációs görbeo esetében lineáris regresszió (ill. linear least squares

estimate)

Page 18: Vizuális adatanalízis
Page 19: Vizuális adatanalízis

Regresszió [12]

• Cél:megtalálni egy olyan f függvényt, amelynek inputja az attribútumok értéke, az outputja pedig a lehető legjobban közelíti (négyzetes hibaérték) a valóságot

• Példa:• testtömeg/magasság együttes

eloszlás valójában egyenesreilleszthető,

• web forgalom jóslása

Page 20: Vizuális adatanalízis

Lokális p-rendű LS polinomiális regresszió

Page 21: Vizuális adatanalízis

Lokális p-rendű LS polinomiális regresszió

Page 22: Vizuális adatanalízis

Lokális p-rendű LS polinomiális regresszió

Page 23: Vizuális adatanalízis

Scatterplot mátrix•Megjelenített dim.k: n

•Ábrázolt összefügg.:• A változópárok együttes eloszlása

•Adategység:• Scatterplot – minden diagram a neki

megfelelő változók együttes eloszlását mutatja be

Page 24: Vizuális adatanalízis

Mozaik diagram (mosaic plot)•Megjelenített dim.k: 2

•Ábrázolt összefügg.:• két diszkrét változó együttes eloszlása

•Adategység:• Téglalap – a téglalap területe arányos

az (X = xi, Y = yi) értékpárok gyakoriságával

•Korlát:• Sorfolytonos olvasása nehézkes

A túlsúlyosak nagy része férfi!

Page 25: Vizuális adatanalízis

Hőtérkép (heat map)•Megjelenített dim.k: 3

•Ábrázolt összefügg.:• sűrű 3D struktúrák összefüggései

•Adategység:• tile – azonos „magasságú” összefüggő

területrész

•Tervezői döntés:• tile-ok mérete?

Színekkel kommunikál:Pl. nincs senki, aki kétméteres lenne és 25 kiló, de sok 1.60-as van 60 kiló

környékén

Page 26: Vizuális adatanalízis

Párhuzamos koordináták•Megjelenített dim.k: n

•Ábrázolt összefügg.:• Rekordok/attribútumok

hasonlósága

•Adategység:• Törött vonal – az egyes

attribútumtengelyeken felvett értékek rendezett sorozata

•Korlátok:• Tengelyek (attribútumok) más

mértékegysége/nagyságrendje stb. torzíthat Az új autókban a tömeg

kisebb…… és a fogyasztás is

Page 27: Vizuális adatanalízis

Buborék diagram (bubble chart)•Megjelenített dim.k: 3

•Ábrázolt összefügg.:• ritka 3D struktúrák összefüggései

•Adategység:• körlap – 3 attribútummal leírható:

X és Y koordináta a középpontra + sugár

•Korlátok• overplotting torzíthat (ha a ritka

struktúrában vannak sűrű részek)

Az X, Y pozíciót a fogyasztás és a teljesítmény adja, a kör sugara a

tömeget mutatja

A Lotushoz tartozik a legkönnyebb

Page 28: Vizuális adatanalízis

Interaktív statisztikai grafika

Ábrák képzése – „plotolás”

Lekérdezések

[7] alapján

Kijelölés és csatolt

kiemelés

Csatolt analízisek

Interakció az ábrákkal

Vezetett adatbejárás – „data tour”

Page 29: Vizuális adatanalízis

iPlots Interaktív statisztikai grafika R-ben

http://stats.math.uni-augsburg.de/iplots/oMondrian, Rserve, rJava

Interaktív…Bar chart, Box plot, Hammock plot, Histogram, Map, Mosaic Plot, Parallel Coordinates Plot, Scatterplot

Page 30: Vizuális adatanalízis

Lekérdezések „Query”

iPlots: CTRL

Többszintű lekérdezés

Page 31: Vizuális adatanalízis

Kijelölés SHIFT-CTRL: OR SHIFT: XOR

Pointer, Drag-box, Brush, Slicer, Lasso

Kijelölés-sorozatok

Page 32: Vizuális adatanalízis

Csatolt kiemelés

Page 33: Vizuális adatanalízis

„Color brush”

Page 34: Vizuális adatanalízis

Interakció az ábrákkal Billentyűkombinációk és

menük

Paraméterek (pl. hisztogram) Tengelyek megcserélése Skálázás Nagyítás (középső

egérgomb) Áttetszőség ()

Page 35: Vizuális adatanalízis

iPlots alternatívák: Acynonix „iPlots eXtreme”

OpenGL gyorsítás

Kiforrottság?

Page 36: Vizuális adatanalízis

rggobi GGobi kötés

Kiváló eszköz…

… de nehézkes, GTK és C++, nincs aktív fejlesztés

Page 37: Vizuális adatanalízis

cranvas

Forrás: [10], p 16Qt; forever github…?

Page 38: Vizuális adatanalízis

További alternatívák RStudio ggvis? RNavGraph?

Ha nem kell komoly R kötés:oMondrian, XmdvTool, Spotfire, Tableau, SAS JMP,

Minitab, DataDesk, …

Az R-be ágyazás előnyei:o Helyben az adato Helyben a statisztikao Helyben iteratív adatfinomítás

Page 39: Vizuális adatanalízis

Példa elemzési feladat Pataricza et al.: Empirical Assessment of Resilience

o Az EDA-t a szolgáltatásbiztonság (dependability) elemzésében is kellene használnunk

o [9]

Itt:o Interaktív technikák szemléltetéseo [9] munkafolyamatának néhány lépésén keresztül

Page 40: Vizuális adatanalízis

Példa adatkészlet Számítási felhő teljesítménymérések

o Gorbenko et al. [8]

Response Time = Request Processing Time + Round Trip Time

Page 41: Vizuális adatanalízis

Példa adatkészlet

Forrás: [8], p 186

Page 42: Vizuális adatanalízis

DEMO

Page 43: Vizuális adatanalízis

DEMOlibrary('iplots') dat <- read.table(myfilepath, sep=',', header=TRUE, colClasses=c('factor', 'double', 'double', 'double', 'factor',

'factor', 'factor', 'double', 'factor'))

dat$pm.pa <- NULL dat$Time <- NULL dat$start.time <- dat$start.time - min(dat$start.time, na.rm=TRUE) dat <- dat[rowSums(is.na(dat)) == 0,]

Adatkészlet

Page 44: Vizuális adatanalízis

DEMO Adatkészlet

Page 45: Vizuális adatanalízis

DEMO RT, RPT, RTT vizsgálata

Kapcsolatok?

Page 46: Vizuális adatanalízis

DEMO RT, RPT, RTT vizsgálata

Page 47: Vizuális adatanalízis

DEMO RT, RPT, RTT vizsgálata

Selection (egérrel)

Közös skála? View Common Scale

Page 48: Vizuális adatanalízis

DEMO „Common scale” után

Page 49: Vizuális adatanalízis

DEMO RT ~ RTT?

Vágás két részre: „normál” és (RT-ben) „hibás” tartományok

Page 50: Vizuális adatanalízis

DEMO Vágás

Lineáris kapcsolat?

Page 51: Vizuális adatanalízis

DEMO Vágás

???

Page 52: Vizuális adatanalízis

iSetiSet

Kapcsolat az R-rel Valójában Java-t használunk (+ df-másolás) Objektumok: Változóba regisztrálás, „léptetés”,

listázás, módosítás

iSetiSetiSetiVar

iSetiSetiVar

iSetiSetiPlot

„aktuális”

„aktuális”

Page 53: Vizuális adatanalízis

EDA több adatkészlet felett Quick & dirty EDA egy adatkeretre: nem kell

foglalkoznunk iSet/iVar/iPlot-okkal

iSet létrehozása: iseto Az iVar-ok a szelekciós operátorokkal elérhetők

i{plot|bar|pcp|…}: az „aktuális” iSet-en Aktuális iSet „átállítása”: iset.set

Kijelölés: iSet-en értelmezett! A végigvezetett demo-ban nincs ezekre szükség

o Bár nem „szép” megoldás feleslegesen új iSet-eket létrehozni…

Page 54: Vizuális adatanalízis

DEMOfts <- iset.new("faultyset", faulty) ihist(fts$RT, title="F,RT")

oks <- iset.new("okset", ok) ihist(oks$RT, title="O,RT")

iset.set("faultyset") ihist(fts$RTT, title="F,RTT")

iset.set("okset") ihist(oks$RTT, title="O,RTT") ibar(oks$DC, title="O,DC")

iset.set("faultyset") ibar(fts$DC, title="F,DC")

Több iSet explicit kezelése

iSet, mint objektum

iSet-változó megjelenítése

Aktuális iSet átállítása

Page 55: Vizuális adatanalízis

DEMO Több iSet explicit kezelése

Page 56: Vizuális adatanalízis

DEMO Több iSet explicit kezelése

Page 57: Vizuális adatanalízis

DEMO

> iset.set(iset.next())[1] "okset"> iset.list()faultyset okset

2 3 > iplot.list()[[1]] ID:1 Name: "Histogram (RT)" [[2]]ID:2 Name: "Histogram (RTT)" [[3]]ID:3 Name: "Barchart (DC)"

Több iSet explicit kezelése

Az aktuális iSet-re

Page 58: Vizuális adatanalízis

DEMO Visszatérve a példára…

Nagyobb pontméretView Larger points

(vagy )

Módosított átlátszóságView More transparent

(vagy )

Lineáris kapcsolat!

Page 59: Vizuális adatanalízis

DEMO RT vs. RTT – „kilógó” esetek

Page 60: Vizuális adatanalízis

DEMO RT vs. RTT – „normál” esetek

Két diszjunkt tartomány?

Page 61: Vizuális adatanalízis

DEMO Gyanús kliens felderítése

Selection

Linked Highlighting

Page 62: Vizuális adatanalízis

DEMO Gyanús kliens: csak Lansing

Color Brush:View Set Colors

Page 63: Vizuális adatanalízis

DEMO Gyanús kliens: csak Lansing 4!

Selection

Page 64: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Zoom

Page 65: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Azonos csempeméret:View Same bin size

Flukt.-diagram:View Fluctuation

Page 66: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Különbségek a kliens-DC párok között azonos IP-n?

Page 67: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Munkaidőben és este magasabb a hálózati terhelés?

Page 68: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Munkaidőben és este magasabb a hálózati terhelés?

Page 69: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Csak Dublin DC, Redmond nem

Page 70: Vizuális adatanalízis

DEMO Időfüggő hálózati viselkedés

Csak Dublin DC, Redmond nem

Page 71: Vizuális adatanalízis

Fájó pontok Legalább Biggish Data?!?

o OpenGL/DirectXo Statisztikai előfeldolgozás az adatokhoz közel?

„Recordable EDA” =/= „reproducible research”

rapporter.net, knitr, sweave, …:o A végeredményo Folyamat kézi visszakövetése és átemelése

Page 72: Vizuális adatanalízis

MEGJELENÍTŐ VIZUALIZÁCIÓ

Page 73: Vizuális adatanalízis

Gráfok

Rgraphviz

Page 74: Vizuális adatanalízis

Beeswarm

beeswarm

Page 75: Vizuális adatanalízis

Korrelogram

corrgram

Page 76: Vizuális adatanalízis

Treemap

treemap

Page 77: Vizuális adatanalízis

Tableplot

tabplot

Page 78: Vizuális adatanalízis

Tableplot

tabplot

Page 79: Vizuális adatanalízis

Hivatkozások [1] http://xkcd.com/435/ [2] Behrens, J.T.: Principles and procedures of exploratory data analysis. Psychological Methods 2,

131–160 (1997) [3] Tukey, J.: We need both exploratory and confirmatory. The American Statistician 34, 23–25

(1980) [4] Anscombe, F. J.: Graphs in Statistical Analysis. American Statistician 27 (1): 17–21 (1973) [5] McLeod, K.S.: Our sense of Snow: the myth of John Snow in medical geography. Social Science

and Medicine 50 (7-8): 923-935 (2000) [6] Inselberg, A.: Parallel Coordinates: Visual Multidimensional Geometry and its Applications.

Springer Science+Business Media, New York (2009) [7] Theus, M., Urbanek, S.: Interactive graphics for data analysis: principles and examples. CRC

Press (2011) [8] Gorbenko, A., Kharchenko, V., Mamutov, S., Tarasyuk, O., Romanovsky, A.: Exploring Uncertainty

of Delays as a Factor in End-to-End Cloud Response Time. In: 2012 Ninth European Dependable Computing Conference, pp. 185–190. IEEE (2012)

[9] Pataricza, András, et al.: Empirical Assessment of Resilience. Software Engineering for Resilient Systems. 1-16. (2013)

[10] http://streaming.stat.iastate.edu/~dicook/Reykjavik/vis/notes/6-interactive.pdf [11] http://en.wikipedia.org/wiki/Spline_interpolation [12] http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-nonparametric-regression.pdf