What exactly is data?

The term data has a longer history than computing, its first occurence is documented in 1646 where it represented quantities in mathematics, something that was “given” (from the latin word “do” i.e. “to give”. The term later changed its meaning to the result of a calculation or of an experiment.

Working with data happened long before the term was coined, beginning with counting stones where each stone represented an animal, the abacus and early machines such as Pascal’s calculator. However, not only calculations were accelerated by machines; also, work was automated: The Jacquard Machine accelerated the production of textiles using an early form of punched cards, and the Hollerith tabulating machine accelerated the processing of questionnaires during the 1890 US census. Konrad Zuse built one of the first computers using relays in order to compute statics.

The main theme here is that the faster computers became and the less expensive storage is, the more data is stored and processed. Add the internet and the increasing connectability of data sources plus the rise of sensors, and the whole world has become a pure data-producing environment. The existence of data alone, however, does not mean that it can be exploited to generate an advantage. The smarter the use of data, the bigger the business advantage.

Data is not information, and information is not knowledge. This is an important distinction because data is used to derive information, and in the best of all worlds, knowledge can be obtained. We will use a slightly different model of the data – information – knowledge triangle.

Big data is a buzz word without a generally accepted definition; some people understand it as data that is so complex or so massive that it is difficult to process it in realtime. Having said that, there are only very few examples where big data actually is big data.

Next: What is Data Science?

Regression: Was darf eine gebrauchte Spiegelreflexkamera kosten?

Da gerade die Canon 5d Mark IV herausgekommen ist, wird auch die 5d Mark III erschwinglich. 1.500€ für maximal 30.000 Auslösungen wurde mir geraten, aber wenn man sich die angebotenen Kameras bei eBay und den einschlägigen Foren ansieht, dann scheint der Preis viel höher zu sein. Doch was ist der faire Preis? Mit ausreichend Daten kann dieser durch Regression ermittelt werden.  „Regression: Was darf eine gebrauchte Spiegelreflexkamera kosten?“ weiterlesen

UNIX-Kommandozeilen-Tools für Data Scientists

Die Kommandozeile (die “Shell”) mit einem Terminal-Fenster zu erreichen. Das Programm Terminal befindet sich auf dem Mac unter Programme -> Dienstprogramme -> Terminal. Windows-Nutzer müssen Google bemühen, da Windows nicht auf UNIX basiert und extra Programme installiert werden müssen.

Kommandozeile bedeutet genau das: Es werden Kommandos auf einer Zeile eingegeben, eine grafische Ausgabe oder die Möglichkeit, sich durch Menüs zu klicken, existieren nicht. Es erfordert zwar eine gewisse Lernkurve, aber beherrscht man erst einmal ein Minimal-Set an Befehlen und Optionen, so kann man sehr schnell damit arbeiten. Wichtig: Durch die Eingabe von man <Befehl> wird die Anleitung (man für Manual) angezeigt, also zum Beispiel man grep (kleiner Tipp: ruft man ein Manual auf und will wieder raus, einfach ein “q” eingeben, nicht gleich das Terminal-Fenster schließen, weil man sich im Manual gefangen fühlt :-)).

Unix-Kommandos haben in der Regel das Format Befehl Optionen Datei, zum Beispiel sort -r datei.txt.

Wichtige Befehle mit Beispielen:

  • pwd: Print Working Directory, zeigt an, wo man sich gerade befindet im Verzeichnisbaum. Nach dem Öffnen des Programms Terminal auf dem Mac befindet man sich in dem Verzeichnis /Users/<BENUTZERNAME>
  • cd: Mit cd für change directory wird durch den Verzeichnisbaum navigiert.
    • cd Desktop bringt uns in das Unterverzeichnis Desktop
    • cd .. führt uns in das nächsthöhere Verzeichnis, mit cd ../.. kann man auch zwei Ebenen höher gehen.
  • grep: Hiermit werden Muster in Dateien gesucht.
    • grep -i ‘bowie’ enwiki-latest-pages-articles.xml – Durchsuche einen Wikipedia-Dump nach dem Begriff ‘bowie’, die Option -i sorgt dafür, dass die Suche nicht “case sensitive” ist, also auch Fundstellen gefunden werden, in denen der Begriff groß geschrieben wird.
    • grep -iv ‘bowie’ enwiki-latest-pages-articles.xml – Die Option -v sorgt dafür, dass alle Zeilen ausgegeben werden, die nicht den Begriff ‘bowie’ enthalten.
  • sort: Sortiert eine Liste
    • sort -r: Sortiert eine Liste in der umgekehrten Reihenfolge
    • Gerade bei großen Dateien kann sort viel Rechenzeit kosten, eine Alternative ist das zu installierende gsort, das alle Kerne des Prozessors nutzt.
  • uniq: Entfernt alle Mehrfach-Aufkommen eines Elements in einer Liste.

Ein großer Vorteil der Kommandozeile ist die Möglichkeit der Nutzung von Pipes. Hier werden mehrere Befehle aneinander gereiht, so dass die Ausgabe eines Kommandozeilen-Programms als Eingabe für ein anderes Kommandozeilen-Programms genutzt wird. Beispiel:

sort keywords.txt | uniq -c | sort -r | less

Das Zeichen | (auf dem Mac mit alt-7 verwendbar) ist das Pipe-Symbol. In dem Beispiel wird die Datei keywords.txt zunächst sortiert, dann wird mit dem Begriff uniq und der Option -c (für count) die Häufigkeit jedes Zeileninhalts dieser Datei gezählt, und das Ergebnis wird noch mal sortiert, hier mit der Option -r für reverse, wir wollen die häufigsten Zeileninhalte zuerst sehen. Mit dem Befehl less wird dafür gesorgt, dass das Ergebnis nicht einfach nur ausgegeben wird, sondern Seite für Seite angeschaut werden kann. Soll das Ergebnis nicht auf dem Bildschirm ausgegeben werden, sondern in eine Datei, so wird die Ausgabe einfach umgelenkt, zum Beispiel

sort keywords.txt | uniq -c | sort -r > keywords.uniq.txt

Noch ein Tipp: Die Shell ist ein sehr zeitsparendes Tool, wenn man sich daran gewöhnt, nicht alles auszuschreiben, sondern die Tab-Taste (links auf der Tastatur mit dem Symbol ->| ) zu verwenden, um einen Befehl zu vervollständigen. Beispiel: Ich befinde mich in meinem Home-Verzeichnis (/Users/tomalby) und will in das Unterverzeichnis Desktop. Dann gebe ich einfach cd De ein und drücke die Tab-Taste, so dass der Befehl auf cd Desktop/ vervollständigt wird.

Data Science Resources

Data Science & Analytics – Course Material

This is the English version of the Data Science / Analytics script. Work in Progress!

This is a growing collection of data science, data analysis and web analytics information and resources that are used for courses I offer.

Data Analysis/Analytics HAW SS 2018

Data analytics and, as a subset, web analytics have become existential parts in the development and optimization of websites and apps, but also in product development, research and business strategy. The digital transformation of industries will result in more and more data to be produced and in a higher demand for people who are able to translate business problems into data and back to business solutions.

The course will introduce into the basics of data analysis and statistics based on real-life projects which will require students to invest additional time between the course dates. The course will also prepare for the certification of the Digital Analytics Association.

Course Dates:

  • 24.3./10:00: We will meet in front of the building!
  • 7.4.
  • 21.4.
  • 5.5. (cancelled)
  • 2.6.
  • 16.6.
  • 30.6. New date

Please note that you need to be on the participants list in order to take part due to seating limitations.

Important Information

  • You will need to use R or RStudio respectively; please have a look at the tools section about R
  • If you have trouble installing R, I can provide access to a RStudio server
  • In order to pass the course, you will need to pass tests on EMIL. You will pass all tests by attending or reading this script. Attending has the advantage that you will practice the stuff.
  • Please be on time
  • Please don’t talk when I am talking; you cannot listen when you are talking, and it is also bad for my voice
  • Please leave your mobile in your pockets and don’t chat; I do notice, also if you use Whatsapp on your computer etc. We are going to deal with complex stuff, so you will need to focus.
  • Please don’t copy stuff from Wikipedia etc. If you do, you will not pass.

Course Curriculum

Other Resources

Mehr als einen Kern unter Mac OS X nutzen

Heutige Prozessoren haben meist mehr als einen Kern, aber die meisten Programme nutzen nur einen. Oft ist es egal, der Rechner ist auch so schnell genug. Aber dann kommt man manchmal in Bereiche, wo man sich ärgert, dass man nur einen Kern nutzen kann. Vor allem bei den UNIX-Befehlen, die als GNU-Version zum Teil mehrere Kerne ausnutzen können, langweilt sich ein Teil meiner Mac-CPU während der andere zu 100 Prozent ausgelastet ist. In meinem Beispiel geht es um eine Text-Datei mit 8.6 GigaByte (nicht MegaByte :-), die ich sortieren und verarbeiten muss. Was wäre, wenn man mehr als einen Kern nutzen könnte? „Mehr als einen Kern unter Mac OS X nutzen“ weiterlesen

Google-Analytics-Daten in R einlesen

Manchmal kann man nicht mit Packages wie googleAnalyticsR arbeiten oder bekommt die Daten anders zur Verfügung gestellt 🙁 Datenformat aus Analytics exportiert sieht so aus:

11.01.13,"1,79"
12.01.13,"1,81"
13.01.13,"1,86"
14.01.13,"1,83"
15.01.13,"1,79"

R kann nichts mit dem Datumsformat anfangen, da R gerne das POSIX-Datumsformat hätte (Jahr-Monat-Tag).

> analytics &lt;- read.table(file="analytics.csv", sep=",", dec=",", quote = "\"")
> analytics$V1 &lt;- strptime(analytics$V1,format="%d.%m.%y")
> summary(analytics)
V1 V2
Min. :2013-01-11 00:00:00 Min. :1.000
1st Qu.:2013-12-19 06:00:00 1st Qu.:1.550
Median :2014-11-26 12:00:00 Median :1.630
Mean :2014-11-26 11:23:44 Mean :1.632
3rd Qu.:2015-11-03 18:00:00 3rd Qu.:1.710
Max. :2016-10-11 00:00:00 Max. :2.520
>

In letzter Zeit habe ich mir angewöhnt, read.table anstatt read.csv oder read.csv2 zu nutzen, denn ich kann mir den Unterschied zwischen den beiden eh nicht merken und welche Parameter darin true sind oder nicht, und sie sind nur vorformatierte Variationen von read.table.

So kann es passieren, dass man unhübsche Daten bekommt, an denen summary() kapituliert:

V1 V2
65.65796: 3 124.7975: 4
67.34629: 3 121.1097: 3
67.94061: 3 123.5503: 3
67.97769: 3 124.0167: 3
68.30287: 3 126.2769: 3
68.93456: 3 126.7902: 3
(Other) :21062 (Other) :21061

In diesem Fall liegt es einfach daran, dass der Header nicht mit eingelesen wurde. Ganz anders mit der Angabe:

> size
[/code]
[code]
> summary(size)
Height Weight
Min. :60.28 Min. : 78.57
1st Qu.:66.70 1st Qu.:119.31
Median :67.99 Median :127.20
Mean :67.99 Mean :127.09
3rd Qu.:69.27 3rd Qu.:134.88
Max. :75.15 Max. :170.92
>

Lehrveranstaltungen

Allgemeine Hinweise

Deutsch: Bitte lesen Sie die Hinweise zu Seminaren, Referaten und Hausarbeiten.

Digital Analytics / Datenanalyse (Deutsch, HAW/bmk)

Beschreibung im Vorlesungsverzeichnis:

In einer zunehmend Daten-getriebenen Welt ist Analyse-Kompetenz eine Schlüsselqualifikation. Die Webanalyse eignet sich aufgrund des eigenen Internetnutzungsverhaltens besonders, um Grundkonzepte der Datenanalyse praktisch erfahrbar zu vermitteln. Die Teilnehmer lernen dabei zunächst, wie Geschäftsprobleme in Ziele und KPIs und dann in ein Tracking-Konzept übersetzt werden. Die Analyse der Daten ist dann die Voraussetzung für die Definition von Hypothesen im a/b-Testing. Abgerundet wird der Kurs mit Grundlagen der Daten-Visualisierung und des Machine-Learning.

Zwischen den Terminen ist die Bearbeitung von Aufgaben (an der HAW in EMIL) notwendig.

Materialien zur Veranstaltung

Suchmaschinenoptimierung (SEO)

Suchmaschinen sind eine elementare Anlaufstelle für Internetnutzer, so dass der Wunsch, bei Google & Co ganz oben zu stehen, größer denn je ist. Die Optimierung von Webseiten und äußeren Faktoren für ein besseres Ranking ist zu einer eigenen kleinen Wissenschaft geworden, denn die Ranking-Algorithmen sind zu komplex als dass sie noch von Menschen verstanden werden können. Aber Suchmaschinenoptimierung besteht nicht nur aus technischer Optimierung oder dem Schreiben von Texten; ein tiefes Verständnis, wie Suchmaschinen überhaupt funktionieren, ist ebenso unerlässlich wie die Fähigkeit, die richtigen Daten zu erheben und zu interpretieren.

Für das Seminar werden Gruppen eigene Seiten bauen, die dann für einen Begriff optimiert werden müssen, für den es bei Google heute noch keine Ergebnisse gibt. Zusätzlich wird eine Präsentation zu einem Thema von jedem Teilnehmer erwartet.

Materialien zur Veranstaltung

Frühere Seminare

Von Februar 2011 bis Juni 2016 konnte ich aufgrund meines Jobs bei Google keine Lehrveranstaltungen an einer Hochschule anbieten:

  • HAW SS 2018: Analytics (English)
  • HAW WS2017: Suchmaschinenoptimierung: SEO-Skript und Materialien
  • HAW SS 2017: Data Analysis (English)
  • HAW WS 2016/2017: Analytics
  • HAW WS 2010/2011: Suchmaschinenoptimierung
  • BiTS WS 2010/2011: Suchmaschinenoptimierung
  • HAW SS 2010: Suchmaschinenoptimierung
  • BiTS SS 2010: Mobile Technologien
  • HAW WS 2009/2010: Suchmaschinenoptimierung
  • BiTS WS 2009/2010: Online Reputation Management

 

Hinweise zu Referaten, Hausarbeiten, Tests etc

Sie sehen hier die Verteilung der Noten von einem meiner Analytics-Kurse. Wir werden im Rahmen des Kurses über Verteilungen sprechen, aber auch ohne den Kurs können Sie beobachten, dass die Mehrheit der Teilnehmer mit einer 1 oder zumindest einer 1.3 nach Hause geht. Der Rest der Noten verteilt sich im hinteren Bereich. Über mehrere Kurse hinweg habe ich folgende Beobachtungen in Bezug auf Faktoren, die die Notengebung beeinflussen, machen können:

  • Die Anzahl der Semester spielt keine Rolle.
  • Das Geschlecht spielt keine Rolle.
  • Das Studienfach spielt keine Rolle.
  • Die Anzahl der verpassten Veranstaltungen spielt keine Rolle, wenn die Online-Materialien genutzt werden (mehr als 2 Blöcke dürfen Sie allerdings nicht fehlen).

Die Noten kommen durch Wissensabfragen in EMIL zustande, und meine anekdotische Evidenz besagt, dass die Tests umso besser ausfallen, je mehr ein Teilnehmer in den Veranstaltungen mitgearbeitet hat. Damit Sie im Histogramm oben bei den guten Noten landen, habe ich ein paar Tipps für Sie zusammengestellt:

  • Mir ist wichtig, dass Sie tatsächlich etwas aus meinem Kurs mitnehmen, nicht nur dass Sie physisch anwesend waren. Sie werden etwas wirklich Spannendes lernen, was auf dem Arbeitsmarkt momentan extrem gefragt ist. Ich mache das nicht für mich, sondern weil ich weiß, dass der kompetente Umgang mit Daten für Sie mit großer Wahrscheinlichkeit wichtig sein wird. Bitte seien Sie offen für das, was auf Sie zukommt und sehen Sie es nicht als eine irrelevante Veranstaltung.
  • Bitte seien Sie pünktlich. Wenn es mir zu viel wird mit dem Zuspätkommen, dann schließe ich die Tür eine Viertelstunde nach Beginn von innen ab. Sollte ich mal zu spät kommen (ist in der ganzen Zeit nur einmal vorgekommen), dann geht der nächste Kaffee auf mich, für den ganzen Kurs.
  • Sie können nicht gleichzeitig reden und mir zuhören. Wenn Sie eine Frage haben, dann fragen Sie mich, dafür bin ich da, und ich beantworte Ihre Fragen wirklich gerne.
  • Alles, was wir im Kurs behandeln, sollte auch in den Online-Materialien zu finden sein, allerdings logischerweise nur der theoretische Teil. Wenn Sie also eine Veranstaltung verpasst haben, dann gibt es keine Ausrede. Zum Anfang jeder Veranstaltung (außer der ersten) frage ich ab, was wir bisher gemacht haben. Dabei kommt jeder dran.
  • Das heißt nicht, dass es sich nicht lohnt anwesend zu sein oder zuzuhören 🙂 Denn in den Veranstaltungen gehen wir in der Regel nicht nur auf die Theorie ein, sondern wenden das neue Wissen auch in der Praxis an. Es ist sehr viel schwerer, die praktischen Übungen allein mit den Online-Materialien durchzuarbeiten.
  • In Ausnahmen können wir uns auf eine Hausarbeit oder ein Referat einigen. Hausarbeiten haben mindestens 10 Seiten selbstgeschriebenen Text. Deckblatt, Inhaltsverzeichnis, Literaturverzeichnis etc werden nicht mitgezählt. Bitte eine normale Schriftgröße verwenden und die Seitenanzahl nicht durch Bilder “strecken”, die keinen Mehrwert bringen.
  • In Referaten und Hausarbeiten ist Ihre eigene intellektuelle Leistung gefragt; es wird erwartet, dass Sie nicht nur die Inhalte anderer Quellen darstellen.
  • Schreiben Sie nicht irgendwo ab. Weder für Tests noch für Hausarbeiten. Es reicht auch nicht, Texte zu kopieren und leicht zu modifizieren. Oder hinterher zu sagen, dass man nicht wusste, dass man Wikipedia-Artikel nicht kopieren darf (ist schon vorgekommen, kein Witz!).
  • Versuchen Sie bei Referaten nicht abzulesen. Vor allem sollten Sie aber auf Ihren Folien nur Stichwörter verwenden, denn lesen kann jeder alleine, und entweder die Zuhörer hören zu oder sie lesen, beides geht nicht. Siehe oben.
  • Sichern Sie Ihre Dateien regelmäßig! Interessanterweise gehen Rechner immer genau dann kaputt, wenn die Abgabe der Arbeit kurz bevor steht 🙂

Warum Social Search nicht funktioniert

Während Lycos iq-Mitkonzeper Oliver Wagner das Ausbleiben der Social Search-Revolution als Versäumnis sieht (damit aber nicht die reinen Social Search-Ansätze meint) und Robert Basic sogar die Social Bookmark-Dienste als Social Search Engines ansieht, ist eine allein auf Nutzerbewertungen basierende Social Search aufgrund seines Konzepts von vornherein für diejenigen gescheitert, die bereits tiefer in die Komplexität eines Suchalgorithmus geschaut haben. „Warum Social Search nicht funktioniert“ weiterlesen