Nach dem ersten Teil unserer Zusammenfassung vom zweiten Präsentationstag der useR! 2015 folgt hier die Fortsetzung der Highlights vom Donnerstag und das Wichtigste der Keynote vom letzten Konferenztag am Freitag.
Session – Machine Learning 1
Ron Pearson von Datarobot zeigt in seinem Vortrag, wie sich durch den Vergleich unterschiedlicher Data Mining Modelle Erkenntnisse über die Bedeutung einzelner Variablen gewinnen lassen. In seinem Beispiel ging es um die Prognose der Stabilität von Beton auf Basis verschiedener Einflussvariablen. Insgesamt wurden 30 Modelle berechnet. Eine vergleichende Analyse des besten Modells gegenüber dem Durchschnitt aller Modelle hat gezeigt, dass eine bestimmte Variable – der Wasseranteil im Beton – im Vergleich zu den anderen Modellen einen signifikant höheren Einfluss hatte. Die Detailanalyse zeigt, dass der Einfluss des Wasseranteils nicht linear und nicht monoton ist, was von den meisten Modellen nicht erkannt wurde. Neben der Verbesserung der Modellqualität hilft der Vergleich verschiedener Data Mining Modelle dabei, inhaltlich Erkenntnisse über den Zusammenhang von Ziel- und Einflussvariablen abzuleiten.
Um räumlich und zeitlich bezogene Clusteranalysen ging es im Vortrag von Markus Loecher von der Berlin School of Economics and Law. Im ersten Schritt projiziert Loecher Punkte mit Hilfe von rgooglemaps auf eine Karte und visualisiert die Dichte über Farbverläufe. Werden die Karten über die Zeit animiert, lassen sich raumzeitliche Cluster leicht erkennen. Um die Cluster analytisch aufzufinden, verwendet Loecher die Decision Tree Methode. Die aus den Entscheidungsbäumen entstandenen Cluster sind zunächst rechteckig, können aber rotiert werden, so dass die Punkte in Form von Parallelogrammen geclustert werden. Die visuelle Kontrolle bestätigt, dass die gefundenen Cluster mit den tatsächlichen Hot-Spots gut übereinstimmen.
Aus dem Bereich der Faktorenanalyse stammt das Paket PCAmixdata, das Marie Chavent in ihrem Vortrag vorgestellt hat. Mit Hilfe des Pakets kann eine Hauptkomponentenanalyse, die im englischsprachigen Raum als Principal Component Analysis (PCA) bezeichnet wird, unter der Bedingung von gemischten Daten durchgeführt werden. Die Mischung der Daten bezieht sich auf das Messniveau. Es können also kategoriale und metrische Daten miteinander kombiniert werden. Darüber hinaus bietet PCAmixdata die Option, inhaltlich zusammengehörige Variablen zu gruppieren.
Natalia da Silva zeigte dem Publikum mit ihren Paketen pptree und ppforest eine interessante Variante des Decision Tree bzw. Random Forest Algorithmus. Die klassische Implementierung des Desicion Tree Algorithmus basiert auf univariaten Entscheidungsbäumen. Die erklärenden Variablen werden getrennt voneinander, auch wenn sie miteinander korrelieren. In einer solchen Situation neigen die Baumstrukturen dazu überkomplex zu werden und gleichzeitig an Stabilität zu verlieren. Das zeigt sich daran, dass Bäume mit ähnlicher Genauigkeit (accuracy) häufig ganz unterschiedliche Strukturen aufweisen. Das pptree Paket verwendet die Projection Pursuit Methode, um die Klassifikationsbäume zu erstellen. Die Methode trägt der Korrelation unter den erklärenden Variablen Rechnung. Als Konsequenz ergeben sich deutlich einfachere, aber stabilere Bäume mit weniger splits. Die Tiefe des Baums entspricht dabei maximal der Anzahl der Endknoten. ppforest erweitert den Ansatz auf das Random Forest Model. Ein Benchmark verschiedener Modelle konnte zeigen, dass ppforest in einigen Situation eine deutlich höhere Genauigkeit erzielen konnte. Allerdings war dies nicht immer der Fall, so dass es weiterhin notwendig bleibt, die unterschiedlichen Ansätze zu vergleichen. Einziger Wehrmutstropfen war, dass die Pakete ctree und cforest, die mit conditional trees einen anderen alternativen Decision Tree und Random Forest Ansatz verfolgen , im Benchmark fehlten. Davon unabhängig ist die Projection Pursuit Tree bzw. Forest Methode ein interssanter und vielversprechender Ansatz, der in Machine Learning Problemstellungen berücksichtigt werden sollte.
Session – Machine Learning 2
Søren Havelund Wellings Paket forestFloor setzt sich ebenfalls mit der Random Forest Methode auseinander. Im Gegensatz zu da Silva ist sein Paket jedoch auf die Visualisierung fokussiert. Genauer gesagt darauf, Interaktionseffekte zwischen den erklärenden Variablen aufzudecken. Klassischerweise werden dazu Partial Dependence Plots verwendet. Wellings Ansatz erweitert diese um eine farbliche Codierung. Die Codierung wird – in aller Regel – durch die Variable mit dem höchsten Einfluss definiert. Ob der Einfluss einer erklärenden Variable auf die Zielvariable tatsächlich vorliegt oder durch eine andere Variable vermittelt wird, konnte durch die Visualisierungsmethode nachvollzogen werden.
Erin Le Dell Vortrag hatte Ensemble Methoden zum Thema. Zunächst hat sie drei Ensemble Arten voneinander differenziert.
- Ensembles eines relativ schwachen Datamining Algorithmus, der eine hohe Varianz aufweist. Bestes Beispiel hierfür: Random Forest als Ensemble von Entscheidungsbäumen.
- Modelstacking: Ensembles von guten Datamining Verfahren, die auf unterschiedlichen Algorithmen basieren. Ein solches Ensemble könnte z.B. aus einem Neuronalen Netz, einer Support Vector Machine (SVM) und einem Boosting Algorithmus bestehen.
- Super Learner: Ähnlich wie Modelstacking. Hier findet jedoch ein Algorithmus die optimale Kombination der verschiedenen Datamining Verfahren.
An einem Bespiel zeigte Le Dell, wie man mit Hilfe des h2o Pakets einen Superlearning Algorithmus konkret umsetzen kann.
Eine Case Study hat Douglas Mason von Twitter vorgestellt. Ziel des Modells war es, die relative Bedeutung von Tweets zu prognostizieren. Nebenbei konnte man im Vortrag lernen, dass Twitter die Klickraten der User als „clickiness“ bezeichnet. Die User sind entweder „clicky“, wenn sie vielen Beiträgen folgen oder „unclicky“, wenn sie das eher selten tun.
Twitter hat drei verschiedene Modelle ausprobiert: Logistische Regression, Random Forest und Neuronale Netze. Das beste Ergebnis mit der höchsten Genauigkeit lieferte das Random Forest Model. Interessant war, dass das Neuronale Netz von allen Methoden am schlechtesten abschnitt. Die klassische logistische Regression lag bei der Modellperformance in der Mitte.
Session – Teaching 1
In der ersten Teaching Session der Konferenz berichtete Miranda Y Mortlock davon, wie sie R verwendet um Wissenschaftlern die sich mit afrikanischer Agrikultur beschäftigen, per Fernstudium in statistischer Methodik zu unterrichten.
In der Präsentation „Teaching R in heterogeneous settings: Lessons learned“, berichtete Matthias Gehrke, Professor an der Privaten Universität FOM, von seinen Erfahrung beim Einsatz von R in der Lehre. Die FOM setzt ausschließlich auf R, was bei so manchem SPSS gewöhnten Dozenten erstmal auf wenig Gegenliebe gestoßen ist. Ein Werkzeug welches die Akzeptanz gesteigert hat, ist die Verwendung des R Commanders, welcher ein grafisches Benuzterinterface für einige Analyseprozesse bietet.
Chris Wild von der University of Auckland hat mit iNZight eine Lernplattform vorgestellt, die im Kern auf R aufbaut und wie er berichtete schon bei Highschool Schülern zum Einsatz kommt. Neu ist die reine Weblösung iNzight Lite, die mit R Shiny Server erstellt wurde und in docker Containern läuft.
Session – Visualisation 2
In der Visualisation 2 Session hat Thomas Levine dazu ermuntert, sich mit alternativen Wegen der Datenwahrnehmung zu beschäftigen. Er selbst hat Wege aufgezeigt wie sich Daten als Musikvideos darstellen lassen. Ein Beispiel dafür ist das Musikvideo zu dem beliebten Iris Datensatz.
Paul Murrell, Autor des Grid Graphics Paket, welches u.a. als Grundlage zu ggplot2 dient, zeigte sich selbstkritisch und erklärte, dass er mit Grid einen weiteren Weg gezeigt hat um in R Grafiken zu erstellen, dieser aber bislang weitestgehend inkompatibel war mit dem Grafik System aus Base R.
Als Lösung hat Murrell das gridGraphics Paket entwickelt, welches im Kern nur aus einer Funktion besteht – grid.echo. grid.echo konvertiert base Grafiken in R Grafiken.
Keynote – Thomas Lumley: How flexible computing expands what an individual can do
Thomas Lumley, Autor des bekannten survey Pakets und Mitglied des R Core-Teams hat in seinem Vortrag eine Rückschau über eine Dekade der Paketentwicklung gegeben und die Wurzel und die Zukunft des Pakets geschildert.
Interessanter noch als der Inhalt seines Paketes – Methoden zur Berechnung von statistischer Inferenz für unterschiedliche Stichproben Designs – waren einige Details der Implementierung sowie kleine Tipps, Tricks und Erfahrungen, die Lumley auf dem Weg sammeln konnte und die er prägnant und unterhaltsam vorgetragen hat.
So berichtete Lumley am Beispiel der glm Funktion, dass er ursprünglich die glm-Variante für Objekte der survey-Klasse als Methode implementieren wollte. Was wie folgt ausgesehen hätte:
- glm(formula = x ~ y, data = dream, …)
- glm(formula = x~ y, data = svydream, …)
Diese Strategie ist daran gescheitert, dass die generische Funktion glm aus nicht näher geklärter Ursache den Methodendispatch über das formula Argument, nicht über das data Argument steuert. Die tatsächliche Implementierung sieht daher so aus:
- svyglm(formula = x ~y, data = svydream, …)
Keine große Sache, aber doch ein interessantes Implementierungsdetail.
Beim Thema Performance steht Lumley ganz in der Tradtion von Donald Knuth („Premature Optimization is the root of all evil“). Am Anfang kümmert er sich überhaupt nicht darum. Er beginnt die Performance erst dann zu optimieren, wenn sich jemand beschwert. Denn, so sein Argument, Performance benötigt reale Messwerte und reale Messwerte können nur aus der realen Anwendung kommen.
Zum Verhältnis von R und Big Data Anwendungen stellt Lumley fest, dass es in Bezug auf die Inferenzberechnung vor allem zwei Arten von Berechnungen relevant sind:
- Berechnungen, die alle Daten benötigen, aber selbst jedoch relativ simpel sind. Diese können leicht über sql in eine Datenbank ausgelagert werden.
- Berechnungen, die mit aggregierten Daten oder einem Subset auskommen, bei denen aber die Berechnungen selbst relativ komplex sind. Diese können in R gerechnet werden.
Diese Beobachtung ist sicherlich nicht auf alle Anwendungsszenarien übertragbar, aber in vielen Fällen zutreffend.
Zur Komplexität von Stichproben Designs entlehnt Lumley ein berühmtes Tolstoi Zitat aus Anna Karenina. Dort heißt es: „Alle glücklichen Familien gleichen einander, jede unglückliche Familie ist auf ihre eigene Weise unglücklich.“ Bezogen auf Stichprobenziehungen macht Lumley daraus: „Alle einfachen Stichproben gleichen einander, jede komplexe Stichprobenziehung ist auf ihre eigene Weise komplex“.
Am Schluss seines Vortrag formuliert Lumley die offizielle Formulierung dessen, was R eigentlich ist, um. Auf der R Homepage heißt es: „R ist ein freies Software Environment für statistische Berechnungen und Grafiken.“ Daraus macht Lumley: „R ist eine freie Community für statistische Berechnungen und Grafiken.“ Damit hat er das im Kern getroffen, was die wesentliche Stärke von R ausmacht.