Successfully reported this slideshow.
Your SlideShare is downloading. ×

Interaktív EDA R-ben: iPlots

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 64 Ad

Interaktív EDA R-ben: iPlots

Download to read offline

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)

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)

Advertisement
Advertisement

More Related Content

Advertisement

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

×