2014/02/28

Neue QGIS-Version auf Fedora

Wer nicht warten will, bis es die neue QGIS Version 2.2.0 (Valmiera) ins offizielle Repo von Fedora geschafft hat, kann es jetzt über ein Alternativ-Repositorium (Dank an Matthias Kuhn) installieren:

Installation

Wie auch auf der Installationsseite des QGIS-Projekts erläutert, zaubern diese Befehle die neue Version ins System:

$ sudo wget fedora.vitu.ch/QGIS/qgis.repo -P /etc/yum.repos.d/
$ sudo rpm --import http://fedora.vitu.ch/Fedora/RPM-GPG-Key-vitu
$ sudo yum update
$ sudo yum install qgis qgis-python qgis-grass qgis-mapserver


Falls wget nicht installiert ist, zuvor noch ein schnelles:
$ sudo yum install wget


Ein erster Test verlief ohne Probleme:
QGIS Info

Für Neueinsteiger in QGIS ist übrigens dieses Buch von Anita Graser sehr zu empfehlen: Learning QGIS 2.0

2014/02/25

R-Package für interaktive Karten - rMaps

Kürzlich wurde ein neues Package präsentiert, um mit R interaktive Karten zu erstellen. Hier meine Erfahrung aus einigen Tests damit:

rMaps

Das Package wurde von Ramnath Vaidyanathan erstellt. Es ermöglicht die Erstellung von interaktiven Karten mit nur wenig Code und unterstützt einige javascript basierte Mapping Libraries, wie z.B. Leaflet. Das Package ist derzeit noch in einem Versuchsstadium, weist jedoch schon einige nützliche Funktionen auf. Es kann über den Github-Account des Entwicklers (Link) herunter geladen (bzw. geklont) werden und enthält eine ausführliche Installationsanweisung und Beispielcode. Weitere Anwendungsbeispiele finden sich auf der Website des Projekts. Hier zwei Beispiele mit sozialen Daten:

Beispiel: Kriminalitätskarte Houston

Heatmap: Kriminalitätsvorkommen in Houston - Übersicht
Das Beispiel wird auf dem Blog des Packages vorgestellt und visualisiert das Kriminalitätsvorkommen in Houston von Jänner bis August 2010 mit einer Heatmap. Der dazu benötigte Code wird im Post auch ausführlich erklärt.

Je nach Fragestellung kann der Analyserahmen vom Stadt- (Bild Screenshot Übersicht) bis hin auf Straßenzugsniveau (Bild Screenshot Detail) skaliert werden.
Heatmap: Kriminalitätsvorkommen in Houston - Detail

Beispiel: Einwohneranzahl je Gemeinde in Bezirken Steyr und Steyr-Land in 2013

Ein eigenes Beispiel verwendet Marker, welche die Gemeinden aus den politischen Bezirken Steyr bzw. Steyr-Land auf einer Hintergrundkarte (Datenbasis OSM, Rendering mit Leaflet) kennzeichnen. Die Zoomstufe ist auch hier wieder frei wählbar. Mit dem Mauszeiger kann eine Gemeinde ausgewählt werden und es erscheint in einem Pop-Up der Gemeindename und die jeweilige Einwohnerzahl aus dem Jahr 2013. 
Screenshot Beispielanwendung
Der Code des Skripts kann aus dem R-Beispiel Repositorium dieses Blogs auf Github herunter geladen werden: rBeispiele

2014/02/17

Buchbesprechung: Doing Data Science

Mit hohen Erwartungen begann ich vor einigen Wochen das Buch Doing Data Science - Straight Talk from the Frontline von Rachel Schutt und Cathy O´Neil zu lesen und diese wurden dabei auch noch übertroffen.

Konzept

Das Konzept des Buches kam mir anfangs etwas grenzwertig vor, denn der Inhalt entstand aus einer Vorlesung, die Rachel Schutt an der Columbia Universität über Data Science hielt und an dem Cathy O´Neil -bekannt durch ihren Blog mathbabe- teilnahm und mitprotokollierte. Ob ein Uni-Kurs einen umfassenden Einblick in die Welt der praktischen Datenwissenschaften (wie das Doing im Titel und generell der Untertitel suggeriert) vermitteln kann? Ich war skeptisch.

Von der Front

Und wurde eines besseren belehrt. Denn die zahlreichen Anekdoten aus dem beruflichen Erfahrungsschatz von Rachel Schutt sind schon mal ein gutes Fundament für ein praxisbezogenes Buch. Jedoch wurde das durch die Beiträge über Gastreferenten aus der Datenindustrie und deren beruflichen Background noch übertroffen. So wurde das weiter und interdisziplinäre Feld der Datenwissenschaften anhand übergreifenden Themen wie Visualisierung, Algorithmen oder das MapReduce-Paradigma anhand der Tätigkeitsbereiche der Gäste (u.a. Prof. Mark Hansen oder William Cukierski von Kaggle, sowie einige ehemalige Kollegen von Google von Racehel Schutt) erläutert, was dem Buch zwar zu einer unüblichen, aber zu einer -hinsichtlich des Durcharbeitens des Inhalts- sehr angenehmen Gliederung verhalf.

Selbst an der Front

Die am Ende der Kapitel befindlichen praktischen Übungen sind thematisch ebenfalls an die jeweiligen Gastreferenten ausgerichtet. Die zu lösenden Fragen sind realitätsnah und mit unterschiedlichen Tools zu lösen. Die Beispiele zu Beginn sind zwar sehr auf R fixiert, im weiteren Verlauf sind jedoch auch Übungen mit Python oder sogar ein Übungsbeispiel zu finden, das mit einem bash-Skript zu lösen war. Pro Übungen wird zwar Beispiel-Code zu Verfügung gestellt, die endgültige Lösung bleibt aber gänzlich dem/r Leser/in überlassen. Der mMn einzige negative Punkt an dem Buch sind dann eben die fehlenden Lösungen zur Kontrolle, was den Eindruck vermittelt, allein an der Front zurück gelassen worden zu sein - was vermutlich auch so intentioniert ist.

Inhalt - umfassend und kritisch

Der Inhalt des Buches erstreckt sich über alle Facetten der Datenwissenschaften. Methoden und Probleme hinsichtlich der Datenbeschaffung werden ebenso thematisiert wie die Datenqualität, Prozessierungsmethoden oder exploarative Datenanalyse. Die eigentlichen Auswertungsmethoden werden verständlich und prägnant erklärt. Besonders wird auf die Funktionalität unterschiedlicher Algorithmen aus dem Bereich des maschinellen Lernen eingegangen. Nötige Grundkonzepte wie beispielsweise die Statistik nach Bayes werden ebenso kurz erklärt, wie auch unterschiedliche Software die zur Analyse eingesetzt werden können. Auch die Präsentation und Visualisierung der Ergebnisse wird ausreichend genau thematisiert und die Auswirkungen kritisch hinterfragt. Mein persönliches Highlight ist jedoch nicht der umfassende und prägnant dargestellte Inhalt, sondern die -im positiven, wie auch negativen Sinn- kritische Grundhaltung der beiden Autorinnen gegenüber ihrer Disziplin. So werden ethische Fragen, insbesondere im Umgang mit sozialen Daten, nicht in Nebensätzen abgehandelt, sondern sind immer wiederkehrende Aspekte in den einzelnen Kapitel. Generell ist eine besondere, ethische Grundhaltung der beiden Autorinnen hinsichtlich des notwendigen Feingefühls im Umgang mit Daten und den Auswirkungen der Analysen zu erkennen. Dem folgend fällt auch der Rat der beiden für angehende Datenwissenschafter aus:
"We´d like to encourage the next-gen data scientists to become problem solver and question askers, to think deeply about appropriate design and process, and to use data responsibly and make the world better, not worse." (Schutt/O´Neil (2013): S. 350)

Zusammenfassung

Das Buch  Doing Data Science - Straight Talk from the Frontline von Rachel Schutt und Cathy O´Neil sollte jede/r gelesen haben der/die mit Daten arbeitet und dies erlernen möchte. Ein wenig technisches Grundwissen vorausgesetzt, zeichnet der Inhalt die aktuelle Welt der Datenwissenschaft nach und erweitert die individuellen Fähigkeiten im Umgang mit Daten. Gerade in Zeiten eines Big Data-Hypes sind die Geschichten von der Datenfront der beiden Autorinnen ein wieder erdendes Mittel. Die dargebotene kritische Hinterfragung aktueller Daten-Technologien und immer wieder kehrende ethische Fragen sind darüber hinaus ein besonderes Merkmal das zum Lesen dieses Buches motivieren sollte. 

2014/02/02

MOOC: Computing for Data Analysis

Nachdem ich beschlossen habe, dass meine Fähigkeiten, mit R zu arbeiten, erweiterungsfähig sind, habe ich mich in den Coursera-MOOC Computing for Data Analysis eingeschrieben. Im Herbst habe ich schonmal einen Coursera-MOOC zur Datenanalyse mit R belegt, aber gleichmal zu Beginn wieder abgebrochen, da mir der Inhalt dann doch zu grundlegend war. Bei diesen habe ich nun erwartet, ein paar Tipps & Tricks in der Skriptprogrammierung und Möglichkeiten zur Übung zu erhalten. Nachdem der Kurs nun abgeschlossen ist, mein Résumé:

Die Ausrichtung des Kurses finde ich nicht recht schlüssig. Einem/r EinsteigerIn ist er mMn nicht zu empfehlen, da gar nicht genügend Zeit bleibt, in einem so kompakte Zeitrahmen von 4 Wochen, die gelernten Techniken so einzuüben, um sie auch produktiv einsetzen zu können. Andererseits langweilt sich der/die Nicht-EinsteigerIn in der ersten Woche (Einführung, Installation etc.) und auch bei den Grundlagen zum Plotten.

Der Vortrag von Roger D. Peng (Assoc. Prof. an der Johns Hopkins Bloomberg School of Public Health) ist inhaltlich gut zusammengestellt und auch gut verständlich. Die Lektionen selbst sind teilweise etwas lang und könnten besser in mehrere Lektionen aufgesplittet werden. Thematisch wurde es erst gegen Ende der dritten (Reproduzierbare Forschung) und in der letzten Woche (Reguläre Ausdrücke in R bzw. S3- & S4 Klassen/-Methoden) richtig spannend.

Quizzes sind gut lösbar, aber auch nicht unterfordernd. Richtig negativ sind mir eigentlich nur die Program Assignments aufgefallen. Deren Angaben sind teilweise mangelhaft und es gibt kein nützliches Feedback (nur ob das abgegebene Dokument "korrekt" war oder eben nicht - jedoch kein Hinweis, was daran nicht korrekt war). Zudem sind die Fragen aufeinander aufgebaut. Kann also das erste Beispiel nicht korrekt gelöst werden, sind auch die übrigen Punkte verloren. Das Positive an den Assignments ist, dass sie eine gute Möglichkeit zum Training der Skriptprogrammierung mit R bieten. Die Beispiele sind mit ein bisschen Übung (und kompletter Anleitung) nicht unlösbar. Außerdem sind mMn die Domänen der jeweiligen Assignments gut gewählt, damit sie nicht allzu langweilig werden. Für diesen Blog relevant, war beispielsweise die Assignments 3 und 4, in denen im Ersten gesundheitsrelevante Datensätze (Gesundheits-Outcome- und Spitaldaten aus den USA) und im Zweiten ein Datensatz zur Kriminalität (Tötungsdelikte in Baltimore) zu bearbeiten waren. Die Datensätze waren dabei jeweils schon aufbereitet.

Alles in Allem, war es eine gute Möglichkeit zur Übung. Im Bereich von Tipps & Tricks hätte ich mir aber mehr erhofft. Vielleicht wird der Kurs in Rahmen des neuen Spezialiserungs-Programms hinsichtlich dieser Richtung ja noch verbessert. Und nun werde ich auf das Statement of Accomplishment warten ;)