Intro (00:00:00)
Thema des Podcasts (00:00:18)
Willkommen zur dreiundzwanzigsten Folge beim datenleben-Podcast, dem Podcast über Verschwörungserzählungen ... nein, über Data Science.
Wir sind Helena und Janine und möchten mit euch die Welt der Daten erkunden.
Daten umgeben uns überall und sind eine wichtige Grundlage für unsere Entscheidungen.
Wer erhebt Daten? Welche Daten werden erhoben? Wie werden sie aufbereitet?
Und noch wichtiger: Welchen Einfluss haben sie auf uns?
Diesen Fragen gehen wir anhand konkreter Themen in unserem Podcast nach.
Thema der Folge (00:00:53)
Es geht um Flüchtige Daten eigentlich, praktisch haben wir ein Beispiel dabei:Weihnachtsmarkt Braunschweig hat Besuchszahlen via Webseite rausgeworfenHelena hat die abgesaugt und eine Webseite mit Plot generiertJanine erzählt kurz über den Weihnachtsmarkt und das InfektionsschutzkonzeptFragen, die wir klären wollenWie kriege ich Daten aus dem Internet?Was kann ich mit den Daten dann machen?Welche Rückschlüsse bieten die Daten an?Warum ist das Thema interessant? (00:02:20)
Ja, was mache ich eigentlich, wenn ich im Internet Daten finde und diese nur von Jetzt sind, ich aber den zeitlichen Verlauf kennen möchte? Dafür sind die Weihnachtsmarktdaten unser Beispiel, weswegen wir uns dafür interessierenHier für die Auslastung von FlächenEinspieler: Datenpakete für mehr Erkenntnisse (00:02:43)
Es klingelt an der Tür, davor steht eine Botin mit einem Paket"Hier, für sie, die Daten die sie bestellt haben!"Enthalten sind ganz verschiedene DatenEin paar Uhrzeiten, ein paar absolute Zahlen, solche Dinge haltDu sortierst nach Kategorien, guckst dir alles näher an, setzt sie ins Verhältnis und entschließt dich für eine Anordnung"Tatsache!", sagst Du, "Das ist ja mal interessant. Gut dass ich das weiß, jetzt kann ich die nächste Entscheidung treffen."So oder so ähnlich ist das mit Daten im InternetManchmal gibt es daten schon in direkt benutzbarer Form (Sensordaten für Feinstaubsensoren bei sensor community)Das ist das schöne an Open Data - es sind offene und für jeden zugängliche DatenManche Daten muss man erst befreienSei es mittels eines Skriptes oder mit einer Anfrage bei Firmen, Behörden, Kommunen, RegierungOft sind auch Daten der öffentlichen Hand nicht undbedingt gut zugänglichObwohl es bereits einige Daten in Deutschland über Govdata gibt, steht Deutschland noch sehr weit am Anfang dieses ProzessesDeswegen gibt es Projekte wie FragDenStaat in der Trägerschaft des Vereins Open Knowledge Foundation DeutschlandDenn eins wissen wir ja bereits: Daten sind wichtig, damit wir in allen Lebenslagen informierte Entscheidungen treffen könnenWie fand der Weihnachtsmarkt statt? (00:05:17)
Im Grunde geht's darum, wie man mit Daten umgeht, die man gefunden und gespeichert hatDeswegen ist es wichtig Kontext zu verstehen in dem die Daten erhoben wurden Deswegen erzählt Janine wie der Weihnachtsmarkt in Braunschweig 2021 stattgefunden hat Der Braunschweiger Weihnachtsmarkt fand 2021 statt und zwar mit einem Infektionsschutzkonzept (Link: Die Seite wird vermutlich im Laufe des Jahres inhaltich ersetzt werden, wenn der Weihnachtsmarkt 2022 ansteht, aktuell sind dort noch die Regeln für 2021 nachzulesen)Während andere Weihnachtsmärkte bereits im Vorfeld abgesagt waren, hielt die Stadt hier dran fest Wie sah das Konzept also aus?Statt der üblichen Verteilung der Buden, wurde alles etwas entzerrt, weniger StändeDer Markt findet auf dem Burgplatz rund um den Dom statt und vor dem RathausEs gab 4 Gastronomieflächen, die eine Ein- und Ausgangskontrolle hattenIn diesen Flächen standen alle Stände, die Getränkeausschank hatten und alle Stände mit Speisen, die eher nicht "To Go" warenZugang war pro Fläche auf eine Anzahl festgelegt und es galt die 2G-Regel, geimpft oder genesenAuf der Marktfläche ohne Zugangskontrollen waren alle anderen Buden - auch die, die Süßspeisen "auf die Hand" mitgegeben habenAllerdings durfte direkt neben der Bude in einem markierten Bereich konsumiert werden, aber nur nach vorzeigen eines 2G-NachweisesAnsonsten war Essen und Trinken auf der gesamten Marktfläche eher verboten, es galt eine Maskenpflicht für medizinische MaskenWenige Tage nach Eröffnung stiegen die Zahlen (Omikron und Winter) wenig überraschend weiterAb dem 1.12. galt überall Maskenpflicht für FFP2 Masken, auch auf den Gastronomieflächen, außer man aß oder trank geradeMaskenpflicht wurde von Sicherheitsdienst, Ordnungsamt und Polizei oft kontrolliert und durchgesetztZusätzlich galt dann auch 2G+ Regel: Geimpft oder genesen UND getestetBzw. kurz darauf 2G+ oder Booster statt TestDas waren die Grundbedingungen unter denen der Markt stattfandWie hat Helena die Daten bekommen? (00:10:41)
Also es gab diese Flächen, die eine maximale Zahl zugelassener Besucher*innen hatten Damit die Menschen zu Hause wussten, ob sich das Losgehen lohnt, hat die Stadt Braunschweig die Auslastung der Flächen im Internet veröffentlicht Unter https://www.braunschweig.de/weihnachtsmarkt/auslastung-flaechen.php (link inzwischen tot, wurde um 11:07 am 05.01. abgeschaltet) wurde das für alle veröffentlichtZu jeder Fläche sah man eine Zahl Helena sah das noch vor der Markteröffnung bereits am Vormittag des Eröffnungstages und dachte sich: Hm, warum speicher ich das nicht einfach Das sind Daten, die stehen da nur live, aber eigentlich ist ja interessant, ob es bestimmte Zeitpunkte gibt, die vorrausplanen lassen, wo es nicht zu voll istAlso: die Daten mussten gespeichert werdenHelena hat sich die Webseite mal runtergeladen und den HTML-Quellcode anzeigen lassen, um zu sehen, wie das aufgebaut ist HTML steht für Hypertext Markup Language und wird für die Darstellung einer Webseite eingesetztIm HTML waren Tags angegeben, die anzeigen, was mit bestimmten Textschnippseln passieren sollDafür gab es die Werte braunschweig-app-1, braunschweig-app-2, braunschweig-app-3, braunschweig-app-4 - für die vier FlächenDas HTML-Schnipsel enthielt dann jeweils einen Zeitpunkt als HTML-Kommentar an dem die Daten gültig waren, sowie den Text "Auslastung: 0 %", wobei statt 0 konnte da eine Zahl stehenDas ist aber auf der Seite selbst nicht zu sehen, sondern nur, wenn man sich den Quelltext angucktDann bekommt man zu der Auslastungszahl auch den Zeitpunkt der Datenerhebung mitgeliefertIn dem Moment, wo Helena ihr Skript geschrieben hat, wusste sie noch nicht, ob das dann ganze Zahlen werden oder auch Kommazahlen möglich sindUnd wenn es Kommazahlen sind, ist es dann das klassische deutsche Komma oder der Dezimalpunkt?Helena hat deswegen jede dieser Varianten in ihre Software eingebautAls dann alles lief und losging, ist irgendwann statt der Zahl ein Text aufgetaucht: FehlerEs musste also noch der Fall eingearbeitet werden, dass da auch mal Datenmüll ankommtPraktisch war: Helena musste nicht immer die ganze Seite neu laden, sondern es gab eine spezielle URL an die man einen GET-request schicken konnteHelena konnte in die URL die data-content-id reinschreiben, Beispiel: braunschweig-app-4, und es kam das HTML zurück mit den dazugehörigen ZahlenIm nächsten Schritt wurde dann eingebaut, dass die Zahlen und der Zeitpunkt der Zahlenerhebung rausgezogen und gespeichert wurdeDiese hat sie dann umgewandelt in tatsächlich maschinenlesbare Daten, und das per Skript immer an eine csv-Datei angehängtCSV-Dateien sind Textdateien, die über eine bestimmte Formatierung genauso sind wie Excel-DateienDer Computer speichert Daten auf eine bestimmte Weise ab in dem DateisystemDateisysteme haben verschiedene Modi in denen eine Datei geöffnet werden kannBeispiel: Dateien können nur für Lesen geöffnet werden, so können mehrere Programme gleichzeitig drauf zugreifen, ohne sich in die Quere zu kommen, weil nur eines zum Beispiel darauf schreiben kann, die anderen nur lesend zugreifenAußer schreibend und lesend, gibt es noch die Möglichkeit anhängendDabei wird nichts überschrieben, was schon da ist, sondern nur etwas Neues angehängtDabei läuft man nicht gefahr bei einem Fehler im Programm alte Daten zu verlierenDaher hat mein Skript die Datei nur 'anhängend' geöffnetWas hat Helena mit den Daten gemacht? (00:19:42)
Nächster Schritt: Daten runterladen und erstmal anguckenHelena hat die Daten dann geplottet (also visualisiert) und sich gedacht, dass es auch nett wäre, wenn andere sich das angucken könntenAlso hat sie mit der Software Shiny, die auf R basiert, ein kleines Webtool gebautHelena hat vorher noch nie mit Shiny gearbeitet und wollte das testen, weil es auch so oft erwähnt wirdHat relativ gut funktioniert, war schnell fertig, aber Helena mag es nichtInteraktivität nicht hoch genug, Defaultwerte kamen nicht richtig an, man muss extra plotten klickenPlot selbst kann nicht gezoomt werden, an den Achsen kann nicht so gebastelt werdenJanine fragt, was sie beim nächsten Mal stattdessen benutzen würdeEs gibt zum Beispiel noch Grafana, was ein javaskript-basiertes Plottingtool ist Helena findet die Plots sehen eher fürchterlich aus, es ist aber interaktiv benutzbarVorteil: Wenn man Daten aus einer Datenbank wie influxdb zieht, gibt es einfach fertige Module, die man einbinden kannWenn es um schnelle Ergebnisse geht, ist das ein richtig cooles Tool, das in vielen Fällen eingesetzt wirdWas Helena programmiert hat, hat sie auch auf Github veröffentlichtDer Code funktioniert zwar nicht mehr, aber als Beispiel ist es hier nochmal verlinktWas haben wir dann mit den Daten und Plots gemacht?Tag 1 des Weihnachtsmarktes:Es gab 4 Plätze: Ruhfäutchenplatz, Burgplatz, Domplatz und Platz der Deutschen Einheit/RathausplatzNach Markteröffnung am ersten Tag geht es auch fast überall recht zügig hoch mit den Zahlen Ab 18:00 ist der Ruhfäutchenplatz, der kleinste von allen, das erste mal gesättigt/voll Burg- und Domplatz ziehen nach, aber Rathausplatz hat es den nicht wirklich über 80% geschafftDer Markt schließt um 21:00 Uhr und man sieht in der letzten halben Stunde schon, dass die Zahlen wieder kleiner werden, weil die Leute gehenUnd dann passiert erstmal nichts, die Zahlen bleiben ab 21:00 Uhr immer auf der gleichen Höhe und bilden eine lange Linie über die 21:00 Uhr hinaus, die irgendwann schlagartig auf Null landetWas ist da passiert?Hier ist der Kontext wichtig, um das zu verstehenZiel Datenerhebung: wissen, wie viele Menschen während der Öffnungszeiten auf den Plätzen sindUnd für die Menschen zu Hause ist auch nur wichtig, dass sie sehen, ob es sich lohnt loszugehenHat der Markt eh zu, ist diese Information nicht mehr relevant, also wird aufgehört zu zählen, wie viele Menschen noch auf dem Platz sind Es darf keiner mehr rauf, wann die vorhandenen Menschen gehen, ist aber egalDamit der Wert am nächsten Tag aber nicht schon mit falschen Zahlen startet, wird irgendwann nachts -- vermutlich automatisiert -- die Zahl wieder auf Null gesetztDeswegen sehen die Zahlen hier so seltsam aus in ihrem VerhaltenNach Tag 1 war auch klar, dass es nur ganze Zahlen und gar keine Kommazahlen in den Daten gibtUnd wie oft aktualisiert wirdWenn man die Webseite offen hatte, sah man, dass 1x pro Minute die Zahlen aktualisiert wurden Also hat Helena ihr Skript auch 1x pro Minute die Daten ziehen lassen, weil sie so davon ausgehen konnte, dass das ein Traffic ist, der auch so erwartet wurde An Tag 2 war der erste reguläre Tag, es gab hier keine 100%ige Auslastung und auffällig waren mehrere Sprünge in den Daten, die wir nicht erklären konnten und es gibt eine Lücke in den Daten, als Helena ihr Skript aktualisieren musste (gegen 19:00 Uhr)Was waren die Dinge, die Helena nochmal anpassen musste?Zum Beispiel musste angepasst werden, dass die Ausgabe "Fehler" anstelle einer Zahl, richtig weggespeichert wurde und nicht die CSV-Datei kaputt macht Der auf den Plots zu sehende Abfall passiert gegen 15:00 Uhr auf Ruhfäutchen- und BurgplatzWäre es nur ein Platz, hätte man vielleicht denken können, dass es eine größere Gruppe gab, die geschlossen gegangen ist Auf zwei Plätzen gleichzeitig klingt das eher unwahrscheinlichSpekulation von Helena: Vielleicht sind zu dem Zeitpunkt Menschen rumgegangen und haben nachgezählt, ob die Zahlen noch stimmen und dann wurde korrigiertDie Ordner*innen haben die Zahlen auf Handys jeweils hoch und runter geklickt, vielleicht wurde einfach nicht immer alles richtig erfasst Und es war der erste ganze Tag, vielleicht passten die Routinen noch nicht Wie wirkt sich die Verschärfung der Maßnahmen aus? (00:30:01)
Am 01.12.2021 wurde 2G+ für die Gastronomieflächen eingeführtDeswegen erschien dieser Tag im Vorfeld besonders spannend, was die Daten angeht Der erste Blick auf die Daten war dann doch überraschend: so wenig Leute, dass es schon absurd wirkteNur 7% Auslastung und ab 15:00 Uhr war gar nichts mehr losEs wirkt sehr unwahrscheinlich, dass die Ursache dafür 2G+ sein sollWas war los? Der Markt wurde um 15:00 Uhr wegen einer Sturmwarnung geschlossenMan sieht, dass nach 15 Uhr das gleiche passiert, wie sonst nach 21:00 UhrDie Zahlen laufen bei 2 Plätzen noch einige Stunden auf dem Stand von 15:00 Uhr so weiter, ehe sie plötzlich abbrechenDie beiden anderen Plätze scheinen schon vor 15:00 Uhr geräumt worden zu seinDann wollten wir aber nochmal einen tatsächlichen Vergleich haben von 2G und 2G+Der Tag darauf war ein Donnerstag, zu dem gab es ja schon in der Woche davor einen VergleichstagIn der Woche davor war die maximale Auslastung bei etwa 75%Nach der Einführung von 2G+ lag die Besuchsrate dann bei maximal 50%Die verschärfte Maßnahme hatte also durchaus einen Effekt auf die BesuchszahlenDen Freitag gab es dann auch wieder 100%, allerdings nicht über lange Zeit wie den Freitag zuvor2G+ hat also zu weniger Menschen auf dem Weihnachtsmarkt geführtDer regnerische Freitag war ähnlich gut besucht wie der erste Freitag mit 2G+Helena schließt: Die Pflicht sich testen zu lassen ist in etwa so nervig, wie bei Regen draußen zu stehen Wie gut passen die Daten zur Realität? (00:33:11)
Fazit Zahlen und wie die Realität sich angefühlt hat:Die Bereitschaft sich testen zu lassen, war trotzdem sehr hoch, es standen doch recht viele Menschen immer am Stand für Stempel oder Bändchen anAlso: Menschen standen bei Testzentren an, haben sich dann für Stempel/Bändchen angestellt, haben sich dann für den Einlass auf eine Fläche angestelltJanine hat das aus erster Hand mitbekommen, weil sie auf dem Weihnachtsmarkt gearbeitet hatAuf der Webseite sieht es auch an ziemlich vielen Tagen so aus, als wäre die Auslastung ganz gut Verglichen mit der Realität ist es aber trotzdem ambivalentIn den Shownotes sind auch ein paar Bilder vom Markt und wie es dort aussah, kombiniert mit dem Plot zum jeweiligen TagUm überhaupt zu sehen: Was heißt denn eine Auslastung von 50 oder 80%?Auch bei 100% war es nicht so voll, dass man nicht noch ein Eckchen für eine kleine Gruppe finden konnte mit Abstand zu anderen Gruppen Tagsüber deutlich weniger Besuchende auf dem markt, insbesondere in den GastronomieflächenDeswegen ist auch das Fazit sehr durchwachsen, unterm Strich war der Markt zu wenig besucht, wenn man das mit vor der Pandemie vergleicht Janine hat sich mit einigen Marktmenschen unterhalten und die Rückmeldung bekommen, dass es eigentlich ziemlich desaströs ist, obwohl die Zahlen auf der Homepage eigentlich einen guten Eindruck gemacht habenAber die meisten waren trotzdem ganz froh darum die Chance mit dem Weihnachtsmarkt überhaupt gehabt zu habenAus sicht der Marktbesucher*innen hat Janine auch verschiedene Dinge gehörtManche haben sich echt gefreut über den Markt, was sich auch im üppigeren Trinkgeld niedergeschlagen hat Andere wiederum haben lauthals im Vorbeigehen gepöbelt über die MaßnahmenEs war für Janine mal ganz schön, mit Daten zu arbeiten, die so direkt mit der Realität abgeglichen werden konnten Helena fand es sehr schön, dass die Daten zur Verfügung gestellt wurden und hat sich über die Fingerübung gefreutWas für andere Anwendungen dafür gibt es? (00:38:14)
In Braunschweig gibt es die Boulderhalle Greifhaus, die veröffentlichen aktuell auch Besuchszahlen auf der Homepage Allerdings: Es ist dort deutlich schwerer die Daten wegzuspeichernWäre aber auch hier spannend einen zeitlichen Verlauf zu kennen, für regelmäßige und nicht nur spontane BesucheAnsonsten gibt es viele öffentliche APIs (Anwendungs Programmier Interface) die auch maschinenlesbare Daten geben Beispiel Projekt: https://dystonse.org/, wo angezeigt werden kann, wie wahrscheinlich eine Straßenbahn zu einer bestimmten Uhrzeit ankommtApropos Verspätungsdaten: Empfehlenswerter Vortrag zu Verspätungen der Deutschen Bahn von David Kriesel, der Data Mining bei der Bahn betrieben hatWettervorhersagen speichern wäre auch ein gutes Projekt, für die Frage: Wie unpräzise sind die Wettervorhersagen für einen bestimmten Ort?Wird die Wettervorhersage immer genauer vorher oder nicht? Wie genau sind welche Webseiten?Ist vermutlich wegen der Piktogramme etwas schwerer auszuwerten, aber möglich Im Internet liegen viele Daten rum und alles, was man auch sehen kann, kann man auch speichernKann man einfach überall alles an Daten abziehen und benutzen? (00:42:17)
Technisch? Ja.Wir haben einige Stichpunkte, um, die man sich beim Datenholen Gedanken machen sollteJe höher der Aufwand an die Daten zu kommen, desto eher überlegen, ob das erwünscht ist Jenachdem wie man die Daten gewinnt, kann dadurch Last und somit Verlangsamung auf oder auch Kosten für den Server anfallenNicht in Ordnung: einfach so viele Daten saugen, die dann die Systeme der Quelle lahm legenSeiten, die Daten zur freien Verfügung stellen haben für so etwas rate limits und regeln wie viele Anfragen pro Sekunde erlaubt sindAber man kann sich nicht drauf verlassen, dass alle das haben, daher sollte man beobachten, ob der Server irgendwann langsamer wird Deswegen hat Helena ihr Skript bei den Weihnachtsmarktdaten auch an der automatischen Aktualisierung der Seite angepasstDaten können Lizenzen unterliegen, achtet darauf, ob es welche gibt, spätestens dann sollte keine kommerzielle Weiterverwendung stattfindenEs gibt auch ein Urheberrecht auf DatenbankenHelena ist grundsätzlich der Meinung des Manifestes vom Chaos Computerclub: öffentliche Daten nutzen, private Daten schützenDatenressourcen, die interessant sein könnten: Govdata, bietet Daten von Regierung und KommunenDort werden auch Links auf Projekte, die mit öffentlichen Daten arbeiten, bereitgestellt, das ist sehr spannend und inspirierendFazit (00:47:33)
Wenn irgendwo Daten rumliegen, mit denen man spannende Dinge tun kann, einfach mal speichernGerade wenn es sich um so Flüchtige Daten handelt, wie in unserem BeispielNächste Folge: wie datenleben entsteht am 26.03.2022 (00:48:17)
Wir haben einen Talk auf der #rC3 im Programm der Haecksen gehaltenWir wurden öfter gefragt, ob wir nichtmal vorstellen können, wie wir die Folgen erarbeiten und umsetzenDiesen Vortrag haben wir natürlich audiotechnisch aufgezeichnet und wollen das in der nächsten Folge veröffentlichenCall to Action (00:49:01)
Wenn ihr uns weiter hören möchtet, folgt uns auf Twitter unter @datenlebenOder besucht unsere Webseite: www.datenleben.deHinterlasst uns gerne Feedback, wir würden uns darüber sehr freuenIhr könnt uns als Data Scientists auch Buchen für Analysen oder ProjekteHabt ihr Fragen oder Themen, die euch interessieren? Dann schreibt uns!Outro (00:49:36)
Schlagworte zur Folge
Web scraping, Datenerfassung, CSV, R, Shiny
Quellen
https://www.govdata.de/https://fragdenstaat.de/Braunschweig.de: Weihnachtsmarkt. Über den Weihnachtsmarkt 2021 (Link wird vermutlich inhaltlich im Laufe des Jahres überschrieben, wenn Weihnachtsmarkt 2022 ansteht)Braunschweig.de: Weihnachtsmarkt. Auslastung Flächen (Link inzwischen tot)R-Project: Shinyhttps://grafana.com/GitHub, ktrask: BS Weihnachtsmarkt-Auslastunghttps://dystonse.org/media.ccc.de: BahnMining - Pünktlichkeit ist eine Zier von David KrieselWeiterführende Links
Für historisch Interessierte: Wikipedia: Ruhfäutchenplatz. Entstehung des Platzes