Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Budapesti Műszaki és Gazdaságtudományi Egyetem
Méréstechnika és Információs Rendszerek Tanszék
Interaktív EDA R-ben:
iPlot...
Megjegyzés
A 2013.09.25. Budapest Users of R Network
meetup-előadás fóliakészlete, kisebb
javításokkal-kiegészítésekkel és...
Hibatűrő rendszerek kutatócsoport
IT
szolgáltatásmenedzsment
Üzleti folyamatok és
alkalmazások
Szoftvertervezés
Kritikus b...
Hibatűrő rendszerek kutatócsoport
Mérnöki modellezés és
formális módszerek
http://www.inf.mit.bme.hu/
Hibatűrő rendszerek kutatócsoport
Mérnöki modellezés és
formális módszerek
Intelligens és „Big Data”
adatelemzés
„Data Science”?
Mérnöki modellezés és
formális módszerek
Intelligens és „Big Data”
adatelemzés
Cloud kapacitás,
monitorozá...
„Data Science”?
Mérnöki modellezés és
formális módszerek
Intelligens és „Big Data”
adatelemzés
Szoftver/üzleti folyamatok
...
„Data Science”?
Mérnöki modellezés és
formális módszerek
Intelligens és „Big Data”
adatelemzés
Applications of R in
Busine...
IANAS
I Am Not A Statistician
Forrás: [1]
Felderítő adatanalízis
 Exploratory Data Analysis: statisztikai tradíció,
o mely koncepcionális
o és számítási eszközökke...
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
...
Anscombe négyese
Hibás feltételezések
elkerülése… és intuíció:
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]
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]
„Abou...
Statisztikai grafika
Ábrák képzése – „plotolás”
[7] alapján
ggplot2 graphics lattice … RADAR …
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
...
iPlots
 Interaktív statisztikai grafika R-ben
o CRAN csomag
 http://stats.math.uni-augsburg.de/iplots/
o Mondrian, Rserv...
Interaktivitás: lekérdezések
 „Query”
 iPlots: CTRL
 Többszintű
lekérdezés
Interaktivitás: kijelölés
 SHIFT-CTRL: OR
 SHIFT: XOR
 Pointer, Drag-
box, Brush, Slicer, Lass
o
 Kijelölés-sorozatok
Interaktivitás: csatolt kiemelés
Interaktivitás: „Color brush”
Interakció az ábrákkal
 Billentyűkombinációk és
menük
 Paraméterek (pl. hisztogram)
 Tengelyek megcserélése
 Skálázás
...
iPlots alternatívák: Acynonix
 „iPlots eXtreme”
 OpenGL gyorsítás
 Kiforrottság?
rggobi
 GGobi kötés
 Kiváló eszköz…
 … de nehézkes,
 GTK és C++,
 nincs aktív fejlesztés
cranvas
Forrás: [10], p 16
Qt; forever github…?
További alternatívák
 RStudio ggvis?
 RNavGraph?
 Ha nem kell komoly R kötés:
o Mondrian, XmdvTool, Spotfire, Tableau, ...
Példa elemzési feladat
 Pataricza et al.: Empirical Assessment of Resilience
o Az EDA-t a szolgáltatásbiztonság (dependab...
Példa adatkészlet
 Számítási felhő teljesítménymérések
o Gorbenko et al. [8]
 Response Time = Request Processing Time +
...
Példa adatkészlet
Forrás: [8], p 186
DEMO
DEMO
library('iplots')
dat <- read.table(myfilepath, sep=',', header=TRUE,
colClasses=c('factor', 'double', 'double', 'dou...
DEMO Adatkészlet
DEMO RT, RPT, RTT vizsgálata
Kapcsolatok?
DEMO RT, RPT, RTT vizsgálata
DEMO RT, RPT, RTT vizsgálata
Selection
(egérrel)
Közös skála?
View  Common Scale
DEMO „Common scale” után
DEMO RT ~ RTT?
Vágás két részre: „normál” és
(RT-ben) „hibás” tartományok
DEMO Vágás
Lineáris kapcsolat?
DEMO Vágás
???
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”,...
EDA több adatkészlet felett
 Quick & dirty EDA egy adatkeretre: nem kell
foglalkoznunk iSet/iVar/iPlot-okkal
 iSet létre...
DEMO
fts <- iset.new("faultyset", faulty)
ihist(fts$RT, title="F,RT")
oks <- iset.new("okset", ok)
ihist(oks$RT, title="O,...
DEMO Több iSet explicit kezelése
DEMO Több iSet explicit kezelése
DEMO
> iset.set(iset.next())
[1] "okset"
> iset.list()
faultyset okset
2 3
> iplot.list()
[[1]]
ID:1 Name: "Histogram (RT)...
DEMO Visszatérve a példára…
DEMO Visszatérve a példára…
Nagyobb pontméret
View  Larger points
(vagy )
Módosított átlátszóság
View  More transparen...
DEMO RT vs. RTT – „kilógó” esetek
DEMO RT vs. RTT – „normál” esetek
Két diszjunkt
tartomány?
DEMO Gyanús kliens felderítése
Selection
Linked Highlighting
DEMO Gyanús kliens: csak Lansing
Color Brush:
View  Set Colors
DEMO Gyanús kliens: csak Lansing 4!
Selection
DEMO Időfüggő hálózati viselkedés
Zoom
DEMO Időfüggő hálózati viselkedés
Azonos csempeméret:
View  Same bin size
Flukt.-diagram:
View  Fluctuation
DEMO Időfüggő hálózati viselkedés
Különbségek a kliens-DC
párok között azonos IP-n?
DEMO Időfüggő hálózati viselkedés
Munkaidőben és este
magasabb a hálózati terhelés?
DEMO Időfüggő hálózati viselkedés
Munkaidőben és este
magasabb a hálózati terhelés?
DEMO Időfüggő hálózati viselkedés
Csak Dublin DC,
Redmond nem
DEMO Időfüggő hálózati viselkedés
Csak Dublin DC,
Redmond nem
Kapocsolat az R-rel
 iplot.opt(ylim=c(1000,1500))
 iset.select(ok$location %in% c('New
York', 'Chicago'))
 iset()[iset....
Praktikus jótanácsok
 32 bit all around
o Java + R
 Ha Deducer, akkor már inkább Mondrian
 Nem Big Data
 Integer helye...
Mondrian
Fájó pontok
 Legalább Biggish Data?!?
o OpenGL/DirectX?
o Statisztikai előfeldolgozás az adatokhoz közel?
o Önmagában a s...
Hivatkozások
 [1] http://xkcd.com/435/
 [2] Behrens, J.T.: Principles and procedures of exploratory data analysis. Psych...
Upcoming SlideShare
Loading in …5
×

Interaktív EDA R-ben: iPlots

1,178 views

Published on

A Budapest Users of R Network (BURN) 2013.09.25. meetup-ján elhangzott előadás.

My presentation on interactive Exploratory Data Analysis in R, using iPlots. (Presented during the second "Budapest Users of R Network" meetup on Sept. 25-th).

The main topics covered:
- The notion of "exploratory" data analysis (EDA)
- The notion of interactive EDA
- Important "usage patterns", introduced via highlights from an interactive analysis performed on cloud response time measurements
- Problems with the State of the Art tools (at least in the R ecosystem)

Published in: Education
  • Be the first to comment

Interaktív EDA R-ben: iPlots

  1. 1. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Interaktív EDA R-ben: iPlots Kocsis Imre ikocsis@mit.bme.hu BURN Meetup, 2013.09.25.
  2. 2. Megjegyzés A 2013.09.25. Budapest Users of R Network meetup-előadás fóliakészlete, kisebb javításokkal-kiegészítésekkel és az élő demonstráció diákba leképezett tartalmával.
  3. 3. Hibatűrő rendszerek kutatócsoport IT szolgáltatásmenedzsment Üzleti folyamatok és alkalmazások Szoftvertervezés Kritikus beágyazott módszerek
  4. 4. Hibatűrő rendszerek kutatócsoport Mérnöki modellezés és formális módszerek http://www.inf.mit.bme.hu/
  5. 5. Hibatűrő rendszerek kutatócsoport Mérnöki modellezés és formális módszerek Intelligens és „Big Data” adatelemzés
  6. 6. „Data Science”? Mérnöki modellezés és formális módszerek Intelligens és „Big Data” adatelemzés Cloud kapacitás, monitorozás, teljesítmény, rendelkezésreállás
  7. 7. „Data Science”? Mérnöki modellezés és formális módszerek Intelligens és „Big Data” adatelemzés Szoftver/üzleti folyamatok elemzése, javítása, optimali zálása
  8. 8. „Data Science”? Mérnöki modellezés és formális módszerek Intelligens és „Big Data” adatelemzés Applications of R in Business Competition (MIT) „Big Data” elemzési módszerek (TMIT) „Big Data” elemzési eszközök nyílt forr. platformokon
  9. 9. IANAS I Am Not A Statistician Forrás: [1]
  10. 10. 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 Analysis o Hipotézistesztelés, modellválasztás, paraméterillesztés, …  Legismertebb vizionáriusa: John W. Tukey [2] és [3] alapján
  11. 11. 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
  12. 12. Anscombe négyese Hibás feltételezések elkerülése… és intuíció:
  13. 13. 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]
  14. 14. 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
  15. 15. Statisztikai grafika Ábrák képzése – „plotolás” [7] alapján ggplot2 graphics lattice … RADAR …
  16. 16. 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 (Algoritmikusan) vezetett adatbejárás – „data tour” Szakterületi tudás / analízis-minták?
  17. 17. iPlots  Interaktív statisztikai grafika R-ben o CRAN csomag  http://stats.math.uni-augsburg.de/iplots/ o Mondrian, Rserve, rJava  Interaktív… Bar chart, Box plot, Hammock plot, Histogram, Map, Mosaic Plot, Parallel Coordinates Plot, Scatterplot
  18. 18. Interaktivitás: lekérdezések  „Query”  iPlots: CTRL  Többszintű lekérdezés
  19. 19. Interaktivitás: kijelölés  SHIFT-CTRL: OR  SHIFT: XOR  Pointer, Drag- box, Brush, Slicer, Lass o  Kijelölés-sorozatok
  20. 20. Interaktivitás: csatolt kiemelés
  21. 21. Interaktivitás: „Color brush”
  22. 22. 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 ()
  23. 23. iPlots alternatívák: Acynonix  „iPlots eXtreme”  OpenGL gyorsítás  Kiforrottság?
  24. 24. rggobi  GGobi kötés  Kiváló eszköz…  … de nehézkes,  GTK és C++,  nincs aktív fejlesztés
  25. 25. cranvas Forrás: [10], p 16 Qt; forever github…?
  26. 26. További alternatívák  RStudio ggvis?  RNavGraph?  Ha nem kell komoly R kötés: o Mondrian, XmdvTool, Spotfire, Tableau, SAS JMP, Minitab, DataDesk, …  Az R-be ágyazás előnyei: o Helyben az adat o Helyben a statisztika o Helyben iteratív adatfinomítás Folytassuk a listát!
  27. 27. 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ése o [9] munkafolyamatának néhány lépésén keresztül
  28. 28. 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
  29. 29. Példa adatkészlet Forrás: [8], p 186
  30. 30. DEMO
  31. 31. DEMO library('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
  32. 32. DEMO Adatkészlet
  33. 33. DEMO RT, RPT, RTT vizsgálata Kapcsolatok?
  34. 34. DEMO RT, RPT, RTT vizsgálata
  35. 35. DEMO RT, RPT, RTT vizsgálata Selection (egérrel) Közös skála? View  Common Scale
  36. 36. DEMO „Common scale” után
  37. 37. DEMO RT ~ RTT? Vágás két részre: „normál” és (RT-ben) „hibás” tartományok
  38. 38. DEMO Vágás Lineáris kapcsolat?
  39. 39. DEMO Vágás ???
  40. 40. 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 iSet iSetiSetiVar iSetiSetiVar iSetiSetiPlot „aktuális” „aktuális”
  41. 41. EDA több adatkészlet felett  Quick & dirty EDA egy adatkeretre: nem kell foglalkoznunk iSet/iVar/iPlot-okkal  iSet létrehozása: iset o 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…
  42. 42. DEMO fts <- 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
  43. 43. DEMO Több iSet explicit kezelése
  44. 44. DEMO Több iSet explicit kezelése
  45. 45. 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
  46. 46. DEMO Visszatérve a példára…
  47. 47. DEMO Visszatérve a példára… Nagyobb pontméret View  Larger points (vagy ) Módosított átlátszóság View  More transparent (vagy )
  48. 48. DEMO RT vs. RTT – „kilógó” esetek
  49. 49. DEMO RT vs. RTT – „normál” esetek Két diszjunkt tartomány?
  50. 50. DEMO Gyanús kliens felderítése Selection Linked Highlighting
  51. 51. DEMO Gyanús kliens: csak Lansing Color Brush: View  Set Colors
  52. 52. DEMO Gyanús kliens: csak Lansing 4! Selection
  53. 53. DEMO Időfüggő hálózati viselkedés Zoom
  54. 54. DEMO Időfüggő hálózati viselkedés Azonos csempeméret: View  Same bin size Flukt.-diagram: View  Fluctuation
  55. 55. DEMO Időfüggő hálózati viselkedés Különbségek a kliens-DC párok között azonos IP-n?
  56. 56. DEMO Időfüggő hálózati viselkedés Munkaidőben és este magasabb a hálózati terhelés?
  57. 57. DEMO Időfüggő hálózati viselkedés Munkaidőben és este magasabb a hálózati terhelés?
  58. 58. DEMO Időfüggő hálózati viselkedés Csak Dublin DC, Redmond nem
  59. 59. DEMO Időfüggő hálózati viselkedés Csak Dublin DC, Redmond nem
  60. 60. Kapocsolat az R-rel  iplot.opt(ylim=c(1000,1500))  iset.select(ok$location %in% c('New York', 'Chicago'))  iset()[iset.selected(),]  iset.sel.changed() o A legutóbbi meghívása óta történt-e változás
  61. 61. Praktikus jótanácsok  32 bit all around o Java + R  Ha Deducer, akkor már inkább Mondrian  Nem Big Data  Integer helyett double (ha boxplotot is akarunk…)  Amikor értelmes: váltsunk (pl.) Mondrian-ba o Minden interakció egérrel (a legtöbb feladatra gyorsabb)
  62. 62. Mondrian
  63. 63. Fájó pontok  Legalább Biggish Data?!? o OpenGL/DirectX? o Statisztikai előfeldolgozás az adatokhoz közel? o Önmagában a stat. viz-re is igaz o ! Hadley Wickham: bigvis (Bin-sum-smooth)  „Recordable EDA” =/= „reproducible research”  rapporter.net, knitr, sweave, …: o A végeredmény o Folyamat kézi visszakövetése és átemelése
  64. 64. 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

×