2014/12/21

Buchrezension: Rewire

In letzter Zeit habe ich das Buch  Rewire: Digital Cosmopolitans in the Age of Connection von Ethan Zuckerman gelesen. Als Thema wird darin menschliche Kommunikation und Interaktion im Internetzeitalter besprochen.

Das Buch liest sich sehr soziologisch. Dem Menschen wird darin eine eindeutig höhere Bedeutung zugewiesen als der auch reichlich erwähnten Technik. Mir persönlich war der Inhalt aber zu oberflächlich dargestellt, wem jedoch massenmediale Anekdoten zu Themen mehr interessieren als die theoretische Wissenbasis, ist bei Zuckerman genau richtig. Nichtsdestotrotz finde ich das Buch sehr empfehlenswert, nämlich in Bezug auf der thematischen Aufbereitung durch den Autor und dessen lebendiger Erzählweise.

Ende Versuch: Umstellung auf Kleinschreibung

Wie in diesem Beitrag beschrieben, habe ich die letzen Einträge in Kleinschreibung verfasst. Das Experiment ist meiner Meinung nach nicht aufgegangen und darum stelle ich den Versuch jetzt ein. Hauptausschlagender Grund dafür ist, dass es mir mehr Mühe kostet, einen Text ausschließlich in Kleinschreibung zu verfassen, da ich sonst auch mit Groß- und Kleinschreibung unterscheidenden Systemen arbeite. Insofern kosten mich die Tippfehler durch automatisches Umschalten mehr Zeit als ich durch das Weglassen der Umschaltung gewinne. Dazu finde ich, hat sich das Schriftbild des Blogs nicht verbessert (jedoch auch nicht verschlechtert). Die Lesbarkeit der Beiträge hat aber auch gelitten, einfach aus dem Grund, weil die Unterscheidung zwischen Groß- und Kleinschreibung kulturell so eingebrannt ist. Das könnte sich also durch eine weitere Verbreitung der Kleinschreibung verbessern, aktuell ist es mir jedoch noch zu nachteilig.

2014/10/31

visualisierung mit bokeh: beliebte vornamen in OÖ

erste versuche mit Bokeh

Bokeh ist eine python bibliothek für interaktive visualisierungen und datenplots. entwickelt wird sie von Continuum Analytics, das durch seine python distribution anaconda bekannt ist. die als open-source projekt entwickelte bibliothek erlaubt es, mit python interaktive und webfähige plots zu erzeugen - und das auf simple und schnelle art und weise. genug gründe für mich (als nicht unbedingten fan der matplotlib) einmal erste versuche damit zu starten.

die einbindung der bibliothek ist nicht schwierig zu bewerkstelligen. auch die anwendung zur erzeugung der plots erzeugt keinen syntaktischen overhead, wie der code für die beispielanwendung  zeigt (einseh- und downloadbar im visualisierungs-beispiele repo des blogs). die ergebnisse sind für den geringen aufwand visuell ansprechend und auch nützlich für die kommunikation von informationen aus den plots. bei meinen versuchen haben sich jedoch zwei problemfelder gezeigt, die dem noch jungen entwicklungsstands des projekts geschuldet sind. erstens ist die dokumentation noch sehr ausbaufähig. damit bleibt nichts anderes übrig, als bei der verwendung öfters mal im sourcecode der bibliothek nachzusehen. dieser ist zwar gut kommentiert und hilft, die korrekte anwendung von diversen methoden zu finden, kann aber eine gute dokumentation für das schnelle nachschlagen nicht ersetzen. als zweiten problembereich kamen mir dokumentierte parameter unter, die in folge jedoch nicht genutzt werden. dies ist besonders ärgerlich, wenn man die plots individuell verändern möchte. jedoch gehe ich davon aus, dass diese beiden problemgruppen in weiteren entwicklungsstadien behoben werden.

als beispielanwendung habe ich mich auf eine simple visualisierung mittels einer heatmap festgelegt. da bokeh auch eine eigene methode und ein beispiel in der gallery bereit stellt. als zusätzliches ziel setzte ich mir die einbindung eines bokeh-plots in eine statische webseite.

thema: beliebte vornamen

als datenquelle für dieses projekt hat sich der vornamen datensatz des landes oö (über daten.gv.at) angeboten. dieser enthält die 60 beliebtesten vornamen je geschlecht für die letzten 10 jahre. daraus wurden die 25 beliebtesten (nach summe der werte über die gesamtjahre) bestimmt und deren werte dann in einem pandas data frame in eine entsprechende form gebracht, um als input für die CategoricalHeatMap methode von Bokeh zu dienen. im endeffekt stellte sich heraus, dass die größte herausforderung des projekts -wie so oft bei datenanalysen und- visualisierungen- darin bestand, die daten in die gewünschte form zu bringen. die erstellung der eigentlichen plots mittels bokeh ging dann recht zügig.

sobald die visualisierungen erstellt waren, wurden die plots in ein bootstrap template importiert. das vorgehen (im web-beispiele repo des blogs dokumentiert), hätte ich zwar eleganter gestalten können, für eine schnelle präsentationsmöglichkeit ist die einbindung des html-outputs von bokeh aber geeignet. eine bedeutende verbesserung wäre natürlich eine interaktive einbindung, was auch eine effektive verwendung in dynamischen seiten erlauben würde. dies scheint mit bokeh auch möglich zu sein - aber auch hier fehlt noch eine bessere dokumentation. für den anspruch, ein einfaches beispiel zu gestalten, hat mir aber die einbindung des kompletten outputs gereicht. die ergebnisse über die 25 beliebtesten vornamen für männliche und weibliche neugeborene kann somit unter folgendem link betrachtet werden:


zusammenfassung

einbindung und verwendung der python visualisierung-bibliothek Bokeh sind einfach. das potential des projekts ist gross, aktuell gibt es jedoch noch einige mängel, va bezüglich der dokumentation.
und zum ergebnis des beispiels: Lukas bzw. Anna sind die beliebtesten vornamen für neugeborene in den letzten 10 jahren in oberösterreich. die plots zeigen darüber hinaus, dass es besonders bei weiblichen neugeborenen eine konzentration von besonders häufig verwendeten vornamen gibt. ein trend zu mehr individualität bei der benennung von neugeborenen ist zumindest mit diesen vorliegenden daten für die letzten 10 jahre nicht erkennbar.

2014/09/22

geokodierungsskript für MapQuest API

da es zwar aktuelle einige bibliotheken für python 2.x gibt, welche geokodierung mit Hilfe der MapQuest Open Geocoding API zur verfügung stellen, aber keine kompatible version für python 3.x, habe ich ein kleines Skript dafür geschrieben und auf GitHub gestellt. voraussetzung zur verwendung ist ein authorisierungs schlüssel, der auf der entwicklerseite von MapQuest erzeugt werden kann.

das skript kann in ein projekt kopiert werden, das koordinaten für bestimmte orte benötigt. der aufruf der funktion geocodeMQ mit dem parameter der jeweiligen ortsabfrage, stellt dann genau diese bereit, in dem es auf die Open Geocoding API von Mapquest zugreift. diese daten basieren auf OpenStreetMaps-daten und stehen unter der ODbL. es werden die koordinaten des besten treffers als koordinatentupel (breite, länge) zurück gegeben und können zur weiteren prozessierung verwendet werden.

2014/08/22

reporting mit flask

um die möglichkeiten von flask zum erstellen eines reports zu testen, habe ich ein einfaches beispiel über wohnbautätigkeiten zusammen gestellt. zum ausprobieren der anwendung steht der code im python repo von diesem blog unter FlaskReporting zur verfügung.
image home screen
home screen

thema: wohnbautätigkeit in österreich

da es in dem beispiel eigentlich um die anwendung gehen sollte, habe ich datenzusammenstellung, -analyse und -visualisierung simpel gehalten. die daten stammen von statistik austria [ironiemodus an] DEM ansprechpartnerfür historische daten von österreich [ironiemodus aus] und bestehen aus 2 datensätze über die anzahl von fertiggestellten gebäuden mit wohnungen pro jahr. der insgesamte zeitraum der beobachtung ist somit zwischen 1970 und 2002. die datenwerte sind auch relativ unspektakulär mit nur einem ausreisser (in 1980), der eventuell mit mehr historischem wissen erklärbar wäre oder auch nur ein aggregation fehler ist.
für den report habe ich die daten dann so aufbereitet, dass eine zusammenfassende statistik der anzahl der gebäuden und ein einfaches diagramm über die selbe variable zu sehen ist. dazu noch ein bisschen erklärender text und fertig ist die simplifizierte version eines datenanalyse reports.

flask 

mit ein wenig kenntnissen in python und einigen tutorials war es überaus einfach, mit geringem aufwand, eine einfache reporting app zu entwickeln. der code der anwendung ist mehr oder weniger selbsterklärend. grundsätzlich gibt es ein main script mit dem code für flask und ein analyse script, das die datenanalyse und -visualisierung (überwiegend mit hilfe von pandas und der matplotlib) zur verfügung stellt. als layout wurde die basis version von bootstrap verwendet, das über eine erweiterung auch flott in flask integriert werden konnte. dadurch genügten ein paar zeilen code in den html templates, um so einen simplen report zusammen zu stellen.

report

zusammenfassung

flask ist mmn überaus geeignet, einfache reports oder andere datenprodukte ins web zu bringen. die verwendung des frameworks zeigt sich recht einfach, setzt jedoch etwas an wissen über html und css voraus.

2014/08/20

versuch: umstellung auf kleinschreibung

ab sofort starte ich den versuch, meine einträge in kleinschreibung zu verfassen. auf die idee brachte mich das lesen vom das vegan magazin (obwohl selbst nicht veganer) und die erinnerung an ein mal gelesenes buch eines italienischen autors, der sich ebenfalls der kleinschrift bediente. getestet soll werden, ob mir das konsequente klein-schreiben tatsächlich leichter fällt, wie sich die entscheidung auf das gesamte schriftbild des blogs auswirkt und ob die lesbarkeit der beiträge dadurch beeinträchtigt wird. persönliche erfahrungen oder meinungen dazu bitte über kontaktformular auf der seite. 

2014/07/27

Migrationsbilanz als ShinyApp

Für das Kurs-Projekt vom MOOC Developing Data Products habe ich eine simple Visualisierungs App entwickelt. Sie bereitet Migrationsdaten aus dem Zeitraum 2002 - 2012 der Bezirke von Oberösterreich in Form einer Choroplethenkarte auf und zeigt die Werte auch in Tabellenform.

Link zu shinyMig OÖ

ShinyApps.io

Umgesetzt wurde das Projekt zu Versuchszwecken in R auf der ShinyApps.io Plattform von RStudio. Das Deployment hierbei zeigte sich mehr als simpel. Sofern die Anwendung auf der eigenen Workstation einwandfrei läuft, kann es mit einem einfachen deployApp() Befehl auf die Plattform geladen werden. Die Kunst ist lediglich, die Anwendung am eigenen Rechner fehlerfrei zum Laufen zu bringen, da die debugging Möglichkeiten mit shiny leider noch sehr begrenzt sind.

Umsetzung in R

Bei der Entwicklung der App zeigte sich wieder eindeutig, dass R nur ein suboptimales Werkzeug zur Kartenerstellung ist. Mit ggplot2 ist zwar einiges möglich, der Aufwand dafür steht jedoch mMn nicht in Relation zu den mässigen Ergebnissen im Vergleich zu echter GIS-Software. Bei der Aufbereitung der Rohdaten (übrigen von data.gv.at) und der tabellarischen Darstellung in der App, konnte hingegen R natürlich seine Stärken ausspielen. Als größtes Hindernis bei der Entwicklung stellte sich die Kategorisierung der Migrationsbilanzen heraus, wobei ich mich nach etlichen Versuchen in automatischer- und einiger in manueller-Klassifizierung für einen semi-automatischen Weg entschieden habe, wobei positive und negative Salden getrennt und von diesen beiden Kategorien dann der jeweilige Median als weitere Schwelle eingeführt wurde. Damit blieb die visuelle Vergleichbarkeit der Karten noch einigermassen erhalten, bei Beibehaltung des Akzents auf die Trennung von positiven und negativen Werten. Für detaillierte Vergleiche sind ja noch die jeweiligen Schwellen in der Legende verzeichnet bzw. auch die Daten in der Tabelle ersichtlich.

Beispielcode

Der Beispielcode steht im R-Repo dieses Blogs zum download bereit.

2014/07/23

Buchrezension: Lifelogging von Stefan Selke

In den letzten Wochen habe ich das Buch "Lifelogging: Wie die digitale Selbstvermessung unsere Gesellschaft verändert" von Stefan Selke gelesen. Als regelmässiger Leser seines Blogs Stabile Seitenlage und da mir seine Posts im SozBlog sehr zugesagt haben, ging ich mit großen Erwartungen in die Auseinandersetzung mit dem Thema Lifelogging.

Licht und Schatten

Der Schreibstil des Autors sagt mir immer wieder zu. Er vermag nämlich komplexe gesellschaftlich Zusammenhänge, so zu präsentieren, dass sie einfach zu verstehen sind, aber dennoch keine bedeutenden Aspekte verloren gehen. Auch finde ich sehr gelungen, dass positive wie auch negative Entwicklungen und mögliche Auswirkungen des Lifeloggings angesprochen werden. Positive sind zwar eindeutig unterrepräsentiert, aber werden zumindest erwähnt, was im Vergleich zur Mainstream Medienlandschaft schonmal einem Quantensprung gleich kommt.

Vor allem das Ende des Buches kam mir dann doch etwas zu langatmig vor. Das letzte Kapitel, ein Ausblick auf die Zukunft (was mMn in  der Soziologie allzu oft fehlt) mal ausgenommen, waren mir Aneinanderreihungen von dystopischen Beschreibungen über mögliche negative Auswirkungen des Lifeloggings auf Dauer einfach zu viel. Auch die Glorifizierung sozialer und psychologischer Mechanismen im Gegensatz zu technischen Regulationssystemen kann ich zwar als Soziologe nachvollziehen, ist jedoch mMn eine antiquierte Haltung, sowohl im Bezug auf Erstere, wie auf Letztere. Eine trennschärfere Auseinandersetzung über Datenanwendungen und Lifelogging-Techniken hätte ich mir überdies gewünscht. 

Fazit

Grundsätzlich halte ich das Buch "Lifelogging" aktuell als sehr notwendig. Es bringt etwas Licht in die Grauzone der datenbasierten Technikanwendungen und deren manifesten, aber auch unintentionierten, Auswirkungen auf die Gegenwartsgesellschaften. Ich halte das Werk auch dazu fähig, eine Debatte über den Umgang mit Daten auf gesamtgesellschaftlicher Ebene anzustossen. Ob diese dann auch objektiv geführt werden kann, wage ich zu bezweifeln. Auch gerade weil ich den Grundtenor des Buch als zu sehr auf negative Auswirkungen von datenbasierten Technologien ausgerichtet empfinde.
Umgekehrt als die Ausrichtung auf ein Zielpublikum eigentlich zu erwarten wäre, würde ich das Buch sehr für den stereotypischen Techie empfehlen um dessen Horizont zu erweitern, als Technologie-interessierte Sozialforscher oder einer kritischen Öffentlichkeit, welche eventuell durch die Lektüre in ihrer Datenparanoia bestärkt werden könnten.

2014/07/10

Twitter: @datadonk23

Nachdem ich jetzt doch mal einen Twitter-Account angelegt habe (für ein Assignment im Rahmen eines MOOC - mehr dazu bald), gibt es jetzt auch Neuigkeiten von mir über Daten, Sozialforschung und alles was mir sonst noch unter kommt auf: @datadonk23

2014/07/06

Visualisierung von Wahlergebnissen mit Qt

Um die Möglichkeiten für die Entwicklung von Android Apps mit Qt zu testen, habe ich eine simple Anwendung zur Visualisierung von Wahlerbnissen erstellt. Das Projekt kann vom Visualisierungs-Beispiele Repositorium herunter geladen und auf Desktop oder neueren Android Versionen getestet werden.

Screenshot - Wahlergebnisse App

Wahlergbnisse der EU-Wahl 2014 in Steyr 

Da die Daten der letzten politischen Wahl in meiner Heimatstadt einfach zugänglich waren, habe ich diese als Datenbasis verwendet. Diese lagen schon aufbereitet durch die Abteilung für Wahlen der Kommunalverwaltungsbehörde vor und wurden lediglich in XML umgewandelt, um sie durch ein XMLListModel-Objekt in die Anwendung eingebinden zu können.

Tabellenansicht

Auf Basis eines Grid-Layouts wurde dann eine Tabelle mit den Ergebnissen erstellt. Diese ist flickable, mit einer Wischgeste kann also zu den Ergebnissen der Parteien der hinteren Listenplätze gescrollt werden. Auf mehr Interaktion wurde zu Gunsten der Simplizität verzichtet. Uninspirierter Weise wurden die Farben aus dem Standard-Farbschema von Android zur farblichen Gestaltung verwendet.

Fazit

Die Entwicklung einer Android App, die auch auf Desktops lauffähig ist, mit Qt war Dank der umfangreichen Dokumentation des Projekts einfach. Die Integration von tabellarischen Daten und Wiederverwendung in selber Form ist ebenso unkompliziert umzusetzen, wie ein grid-basiertes Layout zur Aufbereitung. Der erstellte Prototyp der App läuft auf Desktop- und neueren Android-Geräten und ist grundsätzlich mit weiteren Features erweiterbar. So wäre eine Navigation zu den einzelnen Stadtteilergebnissen ohne größere Mühen umsetzbar. Eine Darstellung in Diagrammform wäre ebenso denkbar wie sinnvoll, nur etwas umständlicher umzusetzen, da das Datenvisualisierungsmodul von Qt nicht in der OpenSource Version enthalten ist. 

2014/05/22

Buchbesprechung: Neo4j 2.0 - Eine Graphdatenbank für alle

Das Buch "Neo4j 2.0 - Eine Graphdatenbank für alle " von Michael Hunger führt in die Benutzung von Neo4j ein. Graphendatenbanken sind besonders bei sozialen Fragestellungen ein geeignetes Instrument, Daten zu prozessieren. Des weiteren gibt es aber eine Vielzahl von anderen Anwendungsfälle dieser relativ neuen Technologie, die auch in dem Buch kurz vorgestellt werden. Dabei liegt der Fokus eher auf Anwendungen im Business Bereich.

Kurz und prägnant

Wie schon der Hinweis "schnell + kompakt" auf der Umschlagseite und das Format (16 * 10 cm) erkennen lässt, ist das Ziel des Buches, einen kurzen und prägnanten Einstieg in die Verwendung der Graphendatenbank, und dessen Standard-Abfragesprache Cypher, bereit zu stellen. Meiner Meinung nach, kann es als durchaus gelungen bezeichnet werden, wie der Autor Michael Hunger es meistert, Einführung, Benutzung, Anwendungsmöglichkeiten und sogar spezielle Problemstellungen auf so wenig Textraum unterzubringen. Der Schreibstil ist dementsprechend auch schnörkellos und gut verständlich. Natürlich wird hier viel auf Codebeispiele gesetzt, die meist auch für sich allein stehend gut nachvollziehbar sind. Durch die Vielzahl an Verbindungsmöglichkeiten mit Neo4j, werden für die hauptsächlichen eingesetzten Kommunikationswege (Datenbankabfragen, API´s, Treiber) jeweils Beispiele geliefert. Diese sind leider sehr auf Java ausgerichtet, was nicht verwundert, da Neo4j ja auch in der Sprache entwickelt wurde. Dennoch werden auch Anbindungen mit anderen Programmiersprachen zumindest erwähnt und auf vertiefende Informationsmöglichkeiten verwiesen.

Die Welt der Graphendatenbanken

Kurz dargestellt, bestehen Graphendatenmodelle aus Knoten und Verbindungen. Aus der Geoinformatik sind solche Konzepte vor allem von Routenberechnungen bekannt. In den letzten Jahren entwickeln sich Graphendatenbanken im Zuge der Verbreitung von NoSQL immer mehr zu funktionalen Lösungen, um komplexe Zusammenhänge zu modellieren. Einerseits ist dafür die Notwendigkeit gegeben, da in einer stark vernetzten Welt, auch modellhafte Abbilder der Struktur von Verbindungen entsprechen sollte, andererseits sind besonders soziale Netzwerke im Web und andere webbasierten Dienste günstige Lieferanten von Datenstrukturen, die sich intuitiv als Netzwerk abbilden lassen - Stichwort Big Data
Für sozialwissenschaftliche Analysen, aber auch für jeglich Anwendungen, welche soziale Zusammenhänge darstellen (vom Marketing, über Einkauf und Verkauf, bis hin zur Kundendatenbank), sind Lösungen mit Graphendatenbanken überaus geeignet. Die dafür erstellten Modelle sind skalierbar und performant. Der bedeutendste Vorteil liegt meiner Meinung nach aber in der intuitiven Abbildung der sozialen Realitäten. Momentan arbeite ich an einem Beispiel, welches die Möglichkeiten zur Analyse von sozialen Daten demonstrieren  soll. Es wird auf diesem Blog dann vorgestellt werden, natürlich inklusive eines Beispielcodes (Anbindung an Neo4j mit Python).

2014/05/19

Befragungs-App mit QtQuick und Python

Nachdem ich in letzter Zeit ein wenig mit QtQuick herum gespielt habe, war es an der Zeit einen funktionierenden Prototypen zu erstellen. Ich entschied mich, eine simple Befragungs-App zu entwickeln, die auf Tablets oder Touchscreens zum Einsatz kommen könnte.

Interaktion QtQuick mit Python

Die Anwendung ist so aufgeteilt, dass der in QML geschriebene QtQuick Teil die User Interaktion übernimmt, Python die Anwendung beginnt (bzw. schließt) und die erhobenen Daten in eine Output-Datei prozessiert.
Grundsätzlich ist die Interaktion von QtQuick mit Python über PyQt- oder PySide-Bindungen möglich. Gut dokumentierte Beispiele finden sich dafür im Web. Ein noch derzeit vorhandenes Problem dabei ist jedoch, dass QtQuick 2 derzeit nur in PyQt5 (und auch noch nicht in PySide) implementiert ist. Problematisch deswegen, weil dies zu einer Einschränkung für die Entwicklung der Anwendung führte, da PyQt5 aktuell noch nicht auf meinem Fedora 20 System verfügbar ist, weswegen ich gezwungen war, auf PyQt4 zurückzugreifen. Das wiederum unterstützt jedoch nur Bindungen an QtQuick 1 Versionen. Im konkreten Fall ärgerlich, da die Einbindung von QtQuick in PyQt5 umgestellt wurde und in der aktuellen Version natürlicher funktioniert als mit dem PyQt4 QDeclarativeView.
Nichtsdestotrotz läuft die Anwendung so, dass über das Python Skript die App in einem Fenster gestartet wird. Danach übernimmt QtQuick und führt die Befragung durch. Daten werden nach jedem/r Befragten an die Python Anwendung geschickt. Diese übernimmt die Weiterverarbeitung und speichert die codierten Antworten in eine Output-Datei (zur erleichterten Prozessierung mit Statistik-Tools in eine CSV-Datei).

Layout

Da QML die Legung der einzelnen UI-Elemente in einem Grid-System begünstigt und flaches Design sowieso momentan wieder in Mode ist, habe ich mich für das Boxen-Layout als grafisches Paradigma entschieden. Dieses kommt auch dem möglichen Anwendungsfall auf mobilen Geräten mit Touch-Eingabe entgegen. 
Auch hier wieder eine Einschränkung durch den Umstand, nicht PyQt5 verwenden zu können. Mit QtQuick 2 und dem Modul Window 2.0 ist es unkompliziert möglich, auf die Breiten- und Höhenwerte des Displays zuzugreifen. Demnach kann das Layout mit ein wenig Aufwand so gelegt werden, dass es auf unterschiedlichen Ausgabegeräten sinnvoll dargestellt wird. Diesen Schritt habe ich bei meinem Prototypen ausgelassen, da mir eben der Zugriff auf das Modul nicht möglich war und der Mehraufwand für eine responsive Layoutlegung keinen Nuzten gebracht hätte. Demnach habe ich mich für eine fiktive Bildschirmauflösung von 1280 * 800 Pixel entschieden. Dies entspricht einigen älteren Tablets oder Laptop-Bildschirme, was für den Anwendungsfall einer mobilen Befragungsanwendung zumindest zu einem möglichen Einsatzsszenario passen würde.
Als Symbole werden Icons aus Font Awesome verwendet. Der Import von Zeichen aus dieser ikonografischen Schrift für Bootstrap ist sehr gut auf Marks's KDE Blog beschrieben. Als Schriftart für Textelemente wird Verdana eingesetzt.
Py_QML_Befrager: Item Selbstanbau

Thema "Selbstversorgung"

Da mein Fokus hier nicht auf den Inhalt der App lag, habe ich mich für einfache Beispiel-Items zum Thema "Selbstversorgung mit Nahrungsmittel in Oberösterreich" entschieden. Diese sind jedoch so gewählt, dass sie mit gängigen Antworttypen zusammen passen, die sinnvoll im Boxen-Layout verpackt werden können. Die ersten drei Items sind demnach Beispiele welche Bedeutung (Skala von sehr unwichtig bis sehr wichtig) und Wünschbarkeit (sehr unerwünscht bis sehr erwünscht) von bzw. Zustimmung (lehne stark ab bis stimme stark zu) zu Aussagen auf jeweils 5-stufigen Skalen messen. Die Items zu Gemeindegröße und Alter wurden mit Kategorien operationalisiert, um dem Boxen-Layout gerecht zu werden. Das Geschlecht wird dichotom erhoben, wobei eine weitere Box als Antwortalternative den verbreiteten Genderdeterminismus in der Operationalisierung dieses Items aufzuhehen versucht oder zumindest eine weitere Auswahlmöglichkeit bereit stellt.
Py_QML_Befrager: Item Geschlecht

Testen und Fazit

Wer selbst mit der App ein wenig herum spielen möchte, der Quellcode und Ressourcendateien sind im Python-Beispiele Repo für diesen Blog auf Github unter dem Verzeichnis "PyQML_Box_Befrager" abgelegt.
Als Fazit bleibt, dass die Entwicklung von sozialwisschenschaftlich relevanten Anwendungen mit QtQuick und Python möglich ist. Zu hoffen bleibt diesbezüglich, dass die Verbreitung von PyQt5 demnächst weiter zunimmt. Das Boxen-Layout limiert zwar die Itemausgestaltung, hat jedoch auf mobilen Geräten wiederum seine Vorteile.

2014/05/01

YouTube Kanal: IRiSS

Das Institute for Research in the Social Sciences der Stanford Universität hat einen eigenen YouTube Kanal, auf den vor allem Konferenzbeiträge zu Themen der computergestützen Sozialforschung öffentlich zugänglich gemacht werden. In den Vorträgen werden neue Methoden und theoretische Zugänge zum Thema vorgestellt. Einige Vortragende sind auch von Online Kursen von Coursera bekannt, von Daniel A. McFarland (Oranizational Analysis), Lada Adamic (Social Network Analysis) und Scott Klemmer (Human-Computer Interaction) habe ich schon MOOCs absolviert, die ich jeweils sehr empfehlen kann.

Wer also nach Inspiration für die Entwicklung von Anwendungen in der computergestützten Sozialforschung sucht, kann sich hier inspieren lassen.

2014/04/19

Buchbesprechung: Agile Data Science - Building Data Analytics Applications with Hadoop

Russel Jurney versucht Methoden der agilen Entwicklung auf Datenwissenschaften umzulegen. Sein Buch Agile Data Science ist klar für Praktiker mit Vorkenntnissen in Informatik und Statistik ausgelegt. Es beschreibt agile Entwicklungsprinzipien und Toolsets anhand eines Beispiels, das sich durch den gesamten Text zieht.

Agilität in der Datenwissenschaft

Datenanalyse und -visualisierung ist bislang ein eher statisches Feld - Spezialisten arbeiten abgeschlossen mit komplexen Tools an noch komplexeren Modellen. Ein bisschen Agilität könnte diesem Bereich gut tun und den eigenen Workflow ergänzen - war mein Gedanke, um dieses Buch anzuschaffen. Mit den Prinzipien der Agilen Entwicklung hatte ich mich zuvor nur oberflächlich beschäftigt, aber Slogans wie Iterationen, Leichtgewichtigkeit, Interaktivität oder Skalierbarkeit würden doch auch gut zu Datenforschung passen.

Jurney (eventuell bekannt von dem Blog datasysndrome) beginnt sein Buch auch mit einer kurzen Einführung in agile Prinzipien und wie diese in einem Datenanalyseteam umgesetzt werden können. Besonders geht er auf Rahmenbedingungen für produktives Arbeiten ein und beschreibt prozessuale Veränderungen, welche durch die Verbreitung von Big Data nötig werden. Danach werden Tools vorgestellt, um agiles Entwickeln in einem Datenanalyseteam zu ermöglichen. Sein Toolset umfasst u.a. Avro, Pig, MongoDB zur Datenverarbeitung und -analyse bzw. Flask, Bootstrap oder d3 zur Datenvisualisierung.

Wie ein roter Faden zieht sich das Beispiel der Analyse und Visualisierung der Daten des eigenen Email-Kontos durch das Buch. Um diesen Anwendungsfall auch nachzubilden, sind drei Voraussetzungen nötig:
  • Verstehen von Python-Code
  • rudimentäre Kenntnisse von JavaScript, und
  • ein GMail-Konto.

Damit (und möglicherweise einer virtuellen Maschine, die -mit den Anleitungen in den Dokumenten zum Buch- einfach zu installieren ist) wird das Beispiel relativ einfach nachvollziehbar. Aus didaktischer Sicht ist das Beispiel gut geeignet, da wie im Buch vorexerziert wird, alle Schritte der Datenanalyse und -visualisierung daran angewendet werden können. Negativ zu erwähnen dabei ist jedoch, dass es sich in die lange Liste der Beispiele in Tutorials oder Bücher zu Themen der Datenforschung einreiht, die wenig bis gar keine Relevanz für den nützlichen Gebrauch in der Realität aufweisen. Außerdem ist es mehr als fragwürdig, dass vor allem die letzten Kapitel des Buches großteils aus Code-Snippets bestehen und die Beschreibung des Vorgehens den Dokumentationen der Tools im Netz überlassen wird.

Zusammenfassung

Für Einsteiger in die Welt der Datenanalyse ist Russel Jurney´s Buch Agile Data Science ungeeignet. Für erfahrene Datenwissenschafter kann es (aber muss es nicht) neue Einsichten bereitstellen, die den Umgang mit Daten erleichtern oder verbessern. Im Großen und Ganzen hinterlässt das Buch bei mir ein großes Fragezeichen hinsichtlich der Nützlichkeit des Buches. Einerseits hätte ich mir mehr Erklärung (bzgl. Prozessgestaltung, oder auch Anwendung der Tools) gewünscht. Andererseits liefert es aber sehr gute Ansatzpunkte, um den eigenen Workflow agiler zu gestalten.

2014/04/08

MOOC: The Data Scientist's Toolbox

Diese Woche habe ich wiedermal einen MOOC zum Thema Data Science begonnen. Dies ist der Einstiegskurs zu den, in einem früheren Post erwähnten, Data Science Specialization Kursen von Coursera.

Leider war aus der Kursbeschreibung nicht ersichtlich, dass es sich dabei um eine reine Einführung in (und Werbung für) diese neue Specialization-Schiene handelt und nicht etwa um eine umfassende Beschreibung von relevanten Werkzeugen, wie der Titel vermuten lassen könnte.
Thematisch handeln die Lektionen von der Installation nötiger Software (va. R für die Analyse und Git zur Versionskontrolle) und ein wenig einführender Worte zur Arbeit mit Daten. Der Arbeitsaufwand ist entsprechend gering - aktuell, habe ich alle Erfordernisse, abgesehen von der Benotung der Peers, mit einem Zeitaufwand von ca. 4h hinter mich gebracht. Etwas dürftig für einen 4 wöchigen Kurs ;)
Der Kurs ist für Datenwissenschaften-Interessierte als Zeitverschwendung anzusehen. Immerhin sollte davon ausgegangen werden können, dass jemand, der/die sich datenanalytisch betätigen möchte, gut dokumentierte Programme installieren kann.

2014/03/07

Erste Experimente mit ViziCities

Ein interessantes neues Projekt, mit großem Potential für die Datenvisualisierung ist ViziCities. Es setzt auf aktuellen Webtechnologien auf und hat den Anspruch, Arten und Möglichkeiten von Visualisierungen von Big Data auf städtischem Darstellungsniveau zu erweitern.

3D Datenvisualisierung auf Stadtniveau

Eine erste Vorveröffentlichung kann auf Github gefunden werden und umfasst, trotz des frühen Entwicklungsstadiums, schon einige nützliche Features. Grundsätzlich erzeugt ViziCities eine 3-dimensionale Stadtlandschaft im Web-Browser, auf der Daten visualisiert werden können. Das Stadtmodell setzt auf vereinfachte Daten von OSM auf, wobei die Gebäudehöhen derzeit noch halb-zufällig geschätzt werden. Ziel ist es, die steigende Anzahl an offenen Daten zu nutzen und diese im 3D-Raum darzustellen. Auch mit Echtzeit-Daten soll experimentiert werden.
In einem Video stellen Peter Smart und Rob Hawkes ihr Projekt vor und geben einen interessanten Einblick über mögliche Verwendungszwecke

Erster eigener Versuch

Die Installation verlief problemlos - auch Dank der guten Anleitung in der README Datei. Um einen ersten Eindruck zu bekommen, habe ich die Beispielanwendung so abgeändert (im Grunde waren nur die Koordinatenwerte zu ändern), dass eine 3D-Ansicht meiner Heimatstadt im Browser angezeigt wird.

Screenshot: ViziCities - Steyr
Die Qualität des Modells hat mich grundsätzlich positiv überrascht, auch wenn einige Details fehlerhaft sind. So wird beispielsweise ein Kanal auf dem Screenshot nicht gerendert, was auf diesem Level of Detail verkraftbar ist. In einem anderen Bereich des Modells werden jedoch die OSM-Ways soweit vereinfacht, dass anstatt des Hauptflusses durch die Stadt, ein weiterer Stadtplatz dargestellt wird. Die oft in OSM fehlenden Höheninformationen wirken sich auf die Wirkung des Modells auch negativ aus, was vor allem bei Städten mit hoher Höhenvarianz ein Problem darstellt. Nichtsdestotrotz stellt die erste Vorveröffentlichung schon eine gute Basis dar, um Daten auf städtischem Darstellungsniveau im 3D-Raum zu visualisieren. Weitere Experimente mit ViziCities (dann auch mit Analysedaten) werden meinerseits definitiv folgen - und auf diesem Blog dokumentiert.

2014/03/01

Sozialwissenschaften und Data Science

Michael Malak stellt auf dem Blog der Data Science Association eine Weiterentwicklung des bekannten -und oft zur Beschreibung der Datenwissenschaften verwendeten- Bubble-Models von Conway vor. Als vierte Blase werden die Sozialwissenschaften ins Modell aufgenommen:
von: http://www.datascienceassn.org/content/fourth-bubble-data-science-venn-diagram-social-sciences,
dl 29.02.2014

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 ;)

2014/01/28

Umstieg auf Fedora Scientific

Nachdem ich mein Notebook doch noch dazu bringen konnte, mit einem Dualboot-System klar zu kommen, ist es mir endlich möglich ein Linux Betriebssystem auch im Produktivbetrieb zu benutzen. Meine Wahl fiel auf Fedora, genau genommen dessen KDE-basierten Scientific Spin, der schon von Grund auf viele Tools zur Datenanalyse mitbringt (R, Root, Octave, SciPy, Spyder, IPython, ...).

Desktop Heisenbug
Abgesehen von kleinen Schwierigkeiten bei der Druckerinstallation (das durch die Installation eines neuen Druckertreibers von OpenPrinting schnell behoben war) und der doch etwas mühevollen Installation von Chromium (aufgrund des fehlenden offiziellen Repositoriums), gab es bislang bei der Einrichtung des neuen OS keine nennenswerte Probleme. Auch das Einbinden von Windows Partitionen ist mit Hilfe des nachinstallierten gnome-disk-utility Programms (um mir das manuelle umkonfigurieren zu ersparen) einfach eingerichtet gewesen.

Aufgrund der umfassenden Ausstattung von Fedora Scientific, habe ich bislang nur folgende Tools für den produktiven Einsatz zur Datenanalyse nachinstalliert:
  • kate - Geschmacksfrage, liegt mir mehr als der vorhandene KWriter; aus den Fedora Repositorien
  • QGIS - für die Geoinformation; aus den Fedora Repositorien
  • JOSM - OpenStreetMap Editor; aus den Fedora Repositorien
  • Beautiful Soup 4 - Python Bibliothek; aus den Fedora Repositorien
  • LibreOffice - Geschmacksfrage, da Calligra Suite vorhanden; nach der Anleitung auf LibreOffice-Page
  • RStudio - Geschmacksfrage, liegt mir zur Skriptprogrammierung besser als vorhandenes RKWard; RPM Paket von RStudio

Fedora Desktop
Die ersten R-Skripte sind schon gelaufen und die Einrichtung des Desktops (eigentlich der Desktops, da 4 Arbeitsflächen pro Aktivität) ist fast fertig. Die Python Integration ist in diesem Spin hervorragend. Bis auf die oben erwähnte Bibliothek zum Markup-Language-Parsen ist eigentlich alles vorhanden um out-of-the-box mit der Analyse von sozialen Daten in Python (bzw. IPython) los zu legen. Visualisierungs-Hilfswerkzeuge (wie Inkscape) sind auch schon standardmäßig enthalten, sowie Mittel zur Dokumentation (besonders umfassende LaTex-Integration), ein Projektplanungs-Werkzeug und ein Personal-Information-Manager (Kontact, von dem ich wegen seiner Systemintegration besonders begeistert bin).

Der KDE-Desktop ist individuell gut anpassbar. Generell ist mir hinsichtlich der Benutzbarkeit noch kein Bug unter gekommen. Sobald die ersten Projekte in Fedora gemacht wurden aber mehr dazu...

2014/01/22

Coursera´s Data Science Specialization

Nachdem Ende letzten Jahres der MOOC Anbieter Udacity eine Serie von neuen MOOC´s zum Thema Data Science angekündigt hat (die jedoch noch immer nicht Online sind), zog Heute Coursera nach und veröffentlichte eine neue Angebotsschiene. Dabei werden verschiedene Kurse zu einem Thema gebündelt. Werden diese positiv absolviert, wird ein spezielles Zertifikat ausgestellt. Eine dieser Specializations ist Data Science, die in Zusammenarbeit mit der Johns Hopkins Universität realisiert wurde.

Ab April werden die ersten Kurse starten, die alle in Englisch gehalten werden. Neun davon sind zu absolvieren und ein sogenanntes Capstone Project muss am Ende auch noch als Abschlussarbeit erstellt werden. Die Themen der jeweils vierwöchigen Kurse decken das breite Spektrum an Fähigkeiten, die DatenwissenschafterInnen haben sollten, ganz gut ab. Es wird ein Kurs zur Sammlung und Aufbereitung von Daten angeboten, eine Reihe von Kursen zu diversen Analysmethoden, ein Kurs über Machine Learning und einer über die Herstellung von Datenprodukte. Wie aus den Beschreibungen heraus zu lesen ist, sind alle Kurse sehr auf R als Analysewerkzeug ausgerichtet. Die Auswahl der Kursleiter Roger D. PengJeff Leek und Brian Caffo, die alle schon in letzter Zeit Kurse über (oder mit) R auf Coursera gehalten haben, ist wohl auch als Indiz dafür zu werten.

Für jene, die ein solches Specialization Certificate erhalten möchten, beträgt die Kursgebühr jeweils 49$ pro Kurs - was also insgesamt 441$ macht. Ist einem ein solches Zertifikat das nicht wert oder gefällt die Kurszusammenstellung nicht, können die Kurse jedoch auch einzeln und kostenlos absolviert werden.

Da meine Erfahrung von früheren Coursera Kursen ist, dass sie ganz gut geeignet sind, um Wissen aufzufrischen und sich mit aktuellen Entwicklungen vertraut zu machen, habe ich vor, das freie Angebot von The Data Scientist´s Toolbox, Practical Machine Learning und Developing Data Products zu absolvieren und falls es die Zeit (bzw. die Anforderungen der Kurse) zu lässt, eventuell auch noch ein, zwei Kurse über die Analysemethoden.