Lektion 2.2

Große Datenmengen automatisiert erfassen und auswerten

18 min Lesezeit

Eine Wetterstation auf dem Schuldach misst jede Minute die Temperatur. Das sind 1440 Werte am Tag und 525600 Werte im Jahr. Niemand liest eine solche Liste Zeile für Zeile. Dasselbe gilt für einen Onlineshop, der jeden Klick seiner Besucher festhält.

Du lernst, woher solche Daten kommen, wie ein Programm sie aufbereitet und auswertet und wie es sie als Diagramm zeichnet. Dazu gehört die Frage, was große Datenmengen nützen und wo sie Menschen schaden können.

Definition

Große Datenmengen

Von großen Datenmengen (englisch Big Data) spricht man, wenn Daten so zahlreich sind, so schnell eintreffen oder so verschieden aufgebaut sind, dass man sie nicht mehr von Hand oder in einer einfachen Tabelle auswerten kann. Ein Programm erfasst und wertet sie dann automatisiert aus, also ohne dass jemand jeden Schritt von Hand ausführt.

Definition

Sensordaten, Crawling, Tracking und Metadaten

Große Datenmengen kommen aus vier typischen Quellen:

  • Sensordaten: Sensoren (Messgeräte) liefern laufend Werte, zum Beispiel Temperatur, Ort per GPS oder Schritte.
  • Crawling: Ein Crawler ist ein Programm, das Webseiten automatisch abruft, den Links folgt und die Inhalte speichert. Suchmaschinen arbeiten so, aber man sammelt damit auch Preise oder Texte.
  • Tracking: Das Verhalten von Nutzern wird aufgezeichnet: besuchte Seiten, Klicks, Verweildauer, oft mit Cookies oder Gerätekennungen.
  • Metadaten: Daten über Daten. Bei einem Foto sind es Aufnahmezeit, Ort und Kameramodell, bei einer Nachricht Absender, Empfänger, Zeitpunkt und Größe, aber nicht der Text.
Definition

Datenaufbereitung und statistische Methoden

Rohdaten sind selten sauber. Sensoren fallen aus und melden dann einen Platzhalterwert wie -999, Datensätze stehen doppelt, Zahlen haben mal Komma und mal Punkt. Die Datenaufbereitung beseitigt das: ungültige Werte entfernen, Doppelte streichen, Formate und Einheiten vereinheitlichen.

Danach wertest du mit statistischen Methoden aus: Minimum, Maximum, Mittelwert (Summe geteilt durch Anzahl) und Median. Der Median ist der mittlere Wert der sortierten Liste. Bei gerader Anzahl nimmt man den Mittelwert der beiden mittleren. Ein Ausreißer (ein Wert weit neben den anderen) verändert den Mittelwert stark, den Median kaum. In Python helfen Listen, Schleifen und die Bibliothek statistics\texttt{statistics} mit median\texttt{median}.

Beispiel

Fehlwerte entfernen und auswerten

Ein Sensor lieferte diese sieben Temperaturen in Grad Celsius. Der Wert -999 bedeutet "kein Messwert".

ZeileEinrückungAnweisung
10import statistics\texttt{import statistics}
20rohdaten = [17, 18, -999, 19, 21, 20, 19]\texttt{rohdaten = [17, 18, -999, 19, 21, 20, 19]}
30gueltig = []\texttt{gueltig = []}
40for w in rohdaten:\texttt{for w in rohdaten:}
51if w != -999:\texttt{if w != -999:}
62gueltig.append(w)\texttt{gueltig.append(w)}
70print(sum(gueltig) / len(gueltig))\texttt{print(sum(gueltig) / len(gueltig))}
80print(statistics.median(gueltig))\texttt{print(statistics.median(gueltig))}

Was geben Zeile 7 und 8 aus? Was wäre ohne die Aufbereitung herausgekommen?

Die Schleife übernimmt alle Werte außer -999. Die Liste gueltig\texttt{gueltig} hat 6 Werte: 17, 18, 19, 21, 20, 19.

Zeile 7: Summe 17 + 18 + 19 + 21 + 20 + 19 = 114, geteilt durch 6 ergibt 19.0.

Zeile 8: Sortiert lautet die Liste 17, 18, 19, 19, 20, 21. Die beiden mittleren Werte sind 19 und 19, ihr Mittelwert ist der Median. Ausgegeben wird 19.0.

Ohne Aufbereitung wäre der Mittelwert aller 7 Werte (114 - 999) / 7 = -885 / 7, etwa -126,4. Das ist als Temperatur Unsinn. Der Median der 7 Rohwerte (sortiert -999, 17, 18, 19, 19, 20, 21) wäre mit 19 noch richtig, denn der Ausreißer steht nur am Rand.

Definition

Automatisierte Visualisierung

Eine Visualisierung stellt Daten als Diagramm dar. Sie ist automatisiert, wenn ein Programm sie zeichnet: Kommen neue Daten, läuft das Programm erneut, und das Diagramm ist neu. Python zeichnet mit der Bibliothek matplotlib\texttt{matplotlib}. Die Wahl des Diagramms hängt von der Frage ab: Eine Linie zeigt einen Verlauf über die Zeit, Säulen vergleichen Gruppen, Punkte zeigen den Zusammenhang zweier Größen.

ZeileEinrückungAnweisung
10import matplotlib.pyplot as plt\texttt{import matplotlib.pyplot as plt}
20plt.plot(stunden, temperaturen)\texttt{plt.plot(stunden, temperaturen)}
30plt.xlabel("Uhrzeit")\texttt{plt.xlabel("Uhrzeit")}
40plt.ylabel("Temperatur in Grad Celsius")\texttt{plt.ylabel("Temperatur in Grad Celsius")}
50plt.savefig("verlauf.png")\texttt{plt.savefig("verlauf.png")}

stunden\texttt{stunden} und temperaturen\texttt{temperaturen} sind zwei Listen gleicher Länge. Zeile 2 zeichnet eine Linie durch alle Punkte, Zeile 3 und 4 beschriften die Achsen, Zeile 5 speichert das Bild. Ohne Achsenbeschriftung versteht niemand das Diagramm.

Definition

Chancen und Gefahren von Big Data

Chancen: Aus vielen Daten erkennt man Muster, die in wenigen verborgen bleiben. Wettervorhersagen nutzen Messwerte von sehr vielen Stationen. Verkehrsleitsysteme erkennen Staus, und Ärzte können seltene Krankheitsmuster in vielen Patientendaten finden.

Gefahren: Aus vielen harmlosen Angaben entsteht ein genaues Bild einer Person, ein Profil. Es kann zu Überwachung, zu unfairen automatischen Entscheidungen (zum Beispiel beim Kredit) und zu gezielter Beeinflussung durch Werbung führen. Je mehr Daten gespeichert sind, desto größer ist der Schaden, wenn sie gestohlen werden.

Definition

Persönlichkeitsrechte bei großen Datenmengen

Jede Person hat ein Recht auf informationelle Selbstbestimmung: Sie darf grundsätzlich selbst entscheiden, wer welche Daten über sie erhält und wofür er sie nutzt. Das Bundesverfassungsgericht hat dieses Recht 1983 aus dem Grundgesetz abgeleitet. In der EU regelt die Datenschutz-Grundverordnung (DSGVO) den Umgang mit personenbezogenen Daten. Wichtige Grundsätze:

  • Einwilligung: Es braucht eine Einwilligung oder einen anderen gesetzlichen Grund.
  • Zweckbindung: Daten dürfen nur für den Zweck genutzt werden, für den sie erhoben wurden.
  • Datensparsamkeit: Es wird nur erhoben, was nötig ist (die DSGVO nennt das Datenminimierung).
  • Auskunft und Löschung: Betroffene dürfen erfahren, was gespeichert ist, und die Löschung verlangen.

Große Datenmengen verschärfen das Problem. Auch ohne Namen lässt sich eine Person oft wiedererkennen, wenn man Angaben kombiniert, etwa Wohnort, Geburtsjahr und Geschlecht. Man nennt das Re-Identifizierung. Daten anonymisieren heißt deshalb mehr, als Namen zu streichen: Es darf auch durch Kombination keine Person mehr erkennbar sein.

Beispiel

Standortdaten verraten viel

Ein Handy speichert alle 10 Minuten den Standort. Wie viele Standortpunkte entstehen am Tag und in 30 Tagen? Was erkennt ein Programm daraus, ohne eine Nachricht zu lesen?

Pro Stunde sind es 6 Punkte, am Tag 6 mal 24 = 144, in 30 Tagen 144 mal 30 = 4320 Punkte. Kein Mensch liest eine solche Liste, ein Programm wertet sie in Sekunden aus.

Es findet Muster: Nachts steht das Handy fast immer am selben Ort, das ist vermutlich die Wohnung. An Werktagen vormittags steht es an einem zweiten Ort, vermutlich Schule oder Arbeit. Dazu kommen Besuche, die sich wiederholen. Das sind Metadaten, der Inhalt von Gesprächen ist gar nicht nötig. Aus Zeitpunkt und Ort entsteht ein Tagesablauf, und er ist eine persönliche Angabe, die das Recht auf informationelle Selbstbestimmung schützt.

Häufige Fehler

Platzhalterwerte mitrechnen

„Der Sensor hat -999 geliefert, das ist ein Messwert wie jeder andere.“

Richtig ist

-999 ist ein Platzhalter für "kein Messwert". Rechnest du ihn mit, ist der Mittelwert wertlos. Zuerst kommt die Datenaufbereitung, dann die Auswertung.

Häufige Fehler

Ohne Namen sind Daten anonym

„In der Tabelle stehen keine Namen, also kann niemand erkennen, wer gemeint ist.“

Richtig ist

Auch ohne Namen verraten Angaben wie Wohnort, Geburtsjahr, Geschlecht oder Standortverlauf zusammen oft genau eine Person. Anonymisieren bedeutet, dass auch die Kombination der Angaben niemanden mehr erkennbar macht.

Zusammenfassung

  • Große Datenmengen sind so zahlreich, schnell oder vielfältig, dass nur ein Programm sie auswerten kann.

  • Quellen sind Sensordaten, Crawling (automatisches Abrufen von Webseiten), Tracking (Nutzerverhalten) und Metadaten (Daten über Daten).

  • Die Datenaufbereitung entfernt ungültige und doppelte Werte und vereinheitlicht Formate. Danach folgen Minimum, Maximum, Mittelwert und Median.

  • Der Median ist weniger empfindlich gegen Ausreißer als der Mittelwert.

  • Ein Programm kann Diagramme automatisch zeichnen, etwa mit matplotlib. Der Diagrammtyp richtet sich nach der Frage.

  • Große Datenmengen helfen bei Vorhersagen und Mustern, bergen aber Gefahren wie Profilbildung, Überwachung und Datenlecks.

  • Das Recht auf informationelle Selbstbestimmung und die DSGVO verlangen Einwilligung, Zweckbindung und Datensparsamkeit. Auch Daten ohne Namen können Personen verraten.

Übungen

Aufgabe 1Numerisch

Ein Sensor misst alle 30 Sekunden einen Wert. Wie viele Werte sind es an einem ganzen Tag? Schreibe die Zahl ohne Punkt.

Aufgabe 2Numerisch

Die Rohdaten lauten 12, 14, -999, 16, 18, und -999 bedeutet "kein Messwert". Wie groß ist der Mittelwert der gültigen Werte?

Aufgabe 3Numerisch

Welchen Median haben die Werte 3, 9, 4, 8, 100?

Aufgabe 4Multiple Choice

Eine Schule erhebt Handynummern, um Eltern bei Krankmeldungen zu erreichen, und gibt sie an eine Werbefirma weiter. Welchen Grundsatz verletzt das vor allem?

Aufgabe 5Freitext

Eine Firma veröffentlicht eine Tabelle mit Wohnort, Geburtsjahr und Geschlecht ihrer Kunden, aber ohne Namen. Erkläre, warum das nicht sicher anonym ist.