Kirschblüten-Frühlingsgefühle

Es ist einige Zeit vergangen seit meinem letzten Blogeintrag.

Ein Nachtrag

Kurz zum letzten Eintrag: Es zeichnet sich inzwischen eine Entwicklung am Panamakanal ab. Die folgende Graphik habe ich mit meiner eigenen App erstellt. Wir erkennen, dass die Kanalbehörden sparsam mit dem verfügbaren Wasser umgehen (müssen). Der Kanal operiert mit geringerer Kapazität – aber dazu sind (mir) leider keine Daten verfügbar. Falls Du eine Quelle kennst, dann schreibe mich gerne an!

Mit der App am 28. 3. 2024 erstellter Screenshot. Hervorgehoben sind der Verlauf des Wasserstandes im Jahr 2023 (orange) und im Jahr 2024 (rot).

Mit der App am 28. 3. 2024 erstellter Screenshot. Hervorgehoben sind der Verlauf des Wasserstandes im Gatún-See für das Jahr 2023 (orange) und das Jahr 2024 (rot).

Es ist Frühling: die Kirschblüten blühen so schön

Wir leben in Wedel. Hier befindet sich nicht zuletzt auch die „Schiffsbegrüßungsanlage“ des Hamburger Hafens. Seit Jahrzehnten wird in Hamburg das japanische Kirschblütenfest begangen und auch wir waren zweimal in „Planten und Blomen“ dabei. Manche meiner Freunde teilen derzeit Bilder von Kirschblüten und in manchen Straßen ist es eine wahre Pracht.

Nicht umsonst also wird das Kirschblütenfest in Japan seit über 1000 Jahren begangen – und dokumentiert. Historikerinnen und Historiker haben sich durch die Quellen gearbeitet und Jahr für Jahr das Datum des Beginns der Kirschblüte veröffentlicht. Verfügbar sind ihre Daten über diese Quelle: Paleo Data Search | Study | National Centers for Environmental Information (NCEI) (noaa.gov).

Yasuuki Aono hat Daten bis hin zum Jahr 2021 zusammengetragen. Diese Daten verwende ich hier: „Historical Series of Phenological data for Cherry Tree Flowering at Kyoto City„. Wenn Du eine Quelle hast, die bis heute aktualisiert wird, dann bin ich daran interessiert – denn die Daten sind wertvoll, da sie so einen langen Zeitraum überstreichen, und es ist interessant und wichtig zu sehen, wie es weitergeht. Ich habe mir die Daten heruntergeladen, lese sie mit folgendem R-Skript ein und bereite sie auf:

# Daten einlesen:
df <- read_excel("040_KyotoFullFlowerW.xls", skip = 15)[, 1:5] 

# Spaltennamen vereinfachen:
colnames(df) <- c("Year", 
                 "DOY", 
                 "Date.Coded", 
                 "Source", 
                 "Reference")

# Mit dieser Datumsinformation erstellen wir später die Graphiken:
df$Date <- make_date(year = year(Sys.Date()), 
                             month = 1, 
                             day = 1) + days(df$DOY - 1)

Erkennbar sind (siehe dafür die Graphik ganz unten), dass der Beginn der Kirschblüte von Jahr zu Jahr stark schwanken kann. Aber es ist auch ersichtlich, dass sie in den letzten 150 Jahren tendenziell früher begonnen hat.

Datenaufbereitung

Das möchte ich mir genauer ansehen. Dafür berechne ich Jahr für Jahr einen gleitenden Mittelwert über eine frei wählbare Zeitspanne („span“). Für die jeweilige Spanne bestimme ich ebenso die Standardabweichung. Es mag nicht besonders elegant sein (R-Profis rümpfen die Nase, wenn ich eine Schleife verwende), aber es ist eben doch auch schnell getan und so erstelle ich mir eine neue Tabelle res (wie „result“, also „Ergebnis“) wie folgt:

# Vorbereitungen:
start <- min(df$Year)
end <- max(df$Year)
span <- 20  # Über diese Spanne wird der Mittelwert ermittelt


res <- NULL   # Initialisierung der Tabelle res

# Erstellung von gleitendem Mittelwert und Standardabweichungen:
for (y in (start+span):end) {
  temp <- df %>% 
    filter(Year <= y,
           Year >= y-span)
  append <- data.frame(
    Year = y,
    Moving.Average = round(mean(temp$DOY, na.rm = TRUE), 0),
    SD = sd(temp$DOY, na.rm = TRUE)
  )
  res <- rbind(res, append)
}

# Wir erzeugen noch einen "optisch ansprechenden "Vertrauensschlauch":
alpha <- 0.4 # frei wählbar
z <- qnorm(1 - alpha / 2) # z-Wert für 95% CI
res$LowerCI <- round(res$Moving.Average - z * res$SD, 0)
res$UpperCI <- round(res$Moving.Average + z * res$SD, 0)
res$Date <- make_date(year = year(Sys.Date()), 
                     month = 1, 
                     day = 1) + days(res$Moving.Average - 1)
res$Date.UCL <- make_date(year = year(Sys.Date()), 
                      month = 1, 
                      day = 1) + days(res$UpperCI - 1)
res$Date.LCL <- make_date(year = year(Sys.Date()), 
                          month = 1, 
                          day = 1) + days(res$LowerCI - 1)

So lässt sich dann folgende Graphik erzeugen:

# Zunächst die Werte selbst:
p <- ggplot() +
  geom_point(data = df,
             aes(x = Year, 
                 y = Date))

# Wir fügen den "Schlauch für den Vertrauensbereich hinzu:
p <- p +
  geom_ribbon(data = res,
              aes(x = Year,
                  ymin = Date.LCL, 
                  ymax = Date.UCL))

# Nun kommt noch der gleitende Mittelwert:
p <- p +
  geom_line(data = res,
             aes(x = Year,
                 y = Date)) +
  theme_minimal()

print(p)

Mit einigen „Verschönerungen“ (siehe unten) erhalte ich das folgende Ergebnis. Da ich diese Graphik am Dienstag nach Ostern in einer Schulung für Analystinnen und Analysten verwenden werde, siehst Du mir die englische Beschriftung hoffentlich nach:

Auf der horizontalen Achse ist das jeweilige Jahr aufgetragen und auf der vertikalen Achse das Datum der ersten Kirschblüte. Jeder Punkt entspricht einem Kirschblütenfest – seit mehr als 1200 Jahren… Deutlich erkennbar ist der Trend zu immer früherer Kirschblüte seit dem Jahr 1845.

Nun bin ich zugegebenermaßen nicht der Erste, der diese Daten aufbereitet. Der Economist hat das im Jahr 2017 in seinem – in der Regel sehr lesenswerten – „Graphical Detail“ schon getan. Dort wird auch das Offensichtliche diskutiert:

Die Kirschblüte ist ein „Klimaindikator“.

Wenn es wärmer wird, dann blühen die Kirschen früher. Und seit Mitte des 19. Jahrhunderts sind weltweit die Temperaturen angestiegen.

Mir liegt hier an folgenden zwei Aspekten:

  1. Mit dem Panamakanal, jetzt der Kirschblüte und auch inspiriert von einem Blog meines ESSC-Kollegen Daniel Fügner zur Entwicklung des Wasserstands der Nidder denke ich, dass ich noch einige weitere „Klimaindikatoren“ aufspüren und untersuchen möchte. Damit meine ich frei verfügbare Messreihen, gerne über Jahrzehnte oder wie hier sogar Jahrtausende hinweg, die direkt oder indirekt Aufschluss über Klimaveränderungen geben können. Wenn Du Ideen oder Quellen hast: gerne!
  2. Beruflich bin ich immer wieder mit „kritischen“ Daten konfrontiert – und sehe, wie wenig achtsam, durchaus im modernen Sinne des Wortes, diese aufbereitet und dargestellt werden. Wenn wir mit Daten Botschaften vermitteln, vielleicht sogar Handlung inspirieren wollen, dann müssen wir diese Daten auch aufbereiten und die Botschaft auf ansprechende Weise klar herausarbeiten. Deshalb möchte ich hier auch den Code bereitstellen. Denn es liegt mir daran, diese Fähigkeiten zu „demokratisieren“.

Der vollständige Quellcode der Graphik

Ganz im Sinne des zweiten Punktes: Gerne kannst Du diese Graphik bei Dir zuhause selbst erstellen und verändern. Dieses Wissen lässt sich übrigens nur deshalb so leicht teilen, weil es hier als Skript verfügbar ist. Wenn Du diese Fähigkeit hast: versuche einmal, jemand anderem zu erklären, wie er oder sie so eine Graphik in Excel erzeugen kann…

# Read the cherry png:
cherry <- png::readPNG("cherry.png")

# TODO: replaces geom_point with cherry-pictures.
ggplot() +
  annotation_custom(rasterGrob(cherry), 
                    xmin = start, 
                    xmax = start + 100, 
                    ymin = as.Date("2024-05-01"), 
                    ymax = Inf) +
  geom_point(data = df,
             aes(x = Year, 
                 y = Date),
             colour = "#FF1140",
             alpha = 0.3,
             size = 1.5) +
  geom_ribbon(data = res,
              aes(x = Year,
                  ymin = Date.LCL, 
                  ymax = Date.UCL), 
              fill = "#FF1140", 
              alpha = 0.2) +
  geom_line(data = res,
            aes(x = Year,
                y = Date), 
            linewidth = 2,
            colour = "#FF1140") +
  geom_vline(xintercept = 1845, colour = "#FF1140", linetype = "dashed") + 
  geom_text(aes(x = 1845, 
                y = as.Date("2024-05-05"), 
                label = "1845"), 
            vjust = 0.5, hjust = 0, color = "darkgrey", size = 5) +
  theme_minimal() +
  labs(title = "Earlier Kyoto Cherry Blossoming period since about 1845",
       subtitle = "Line: 20-years moving average, with confidence interval",
       x = "", y = "Date of Cherry Blossom",
       caption = paste("Data source: ", source)
       )

Wie steht es eigentlich um die Demokratie in der Welt?

Dieser Blog ist seit fast zwei Jahren verwaist – was schade ist. Seit dem letzten Eintrag ist viel geschehen. Einen Wendepunkt stellt der 24. Februar 2022 dar. Auch in meinem Leben haben sich so neue Schwerpunkte ergeben.

Wir haben nicht aufgepasst

„Als Menschheit“ haben wir manches verschlafen. Viele Länder haben die Erfahrung gemacht, was passiert, wenn ein Volk über Jahre hinweg einer Propaganda ausgesetzt wird und unabhängige Stimmen eine nach der anderen mundtot gemacht werden.

Nun ist die freie Meinungsäußerung sicher nur ein Aspekt unter vielen, auf die es zu achten gilt. Bei meiner Suche bin ich auf die hervorragende Webseite State of Democracy und auf eine über sie veröffentlichte Datenbank bei The Global State of Democracy | International IDEA gestoßen (siehe dort: Data & Tools):

„Diese Daten müssen allen Menschen zur Verfügung stehen!“

Zu 160+ Ländern liegen dort Daten von den Jahren 1975 bis heute vor und dies zu 116 „Indizes“, die z.T. in 8 „sub-sub-Attribute“, in 16 „sub-Attribute“ und 5 „Hauptattribute“ aggregiert werden. „Nichts für mich“, werden Sie sich vielleicht sagen, „da muss eine Statistikerin ran“. So bleibt dann dieser Fundus an Daten den wenigen Statistikern vorbehalten, die ihnen Einsichten entlocken können. Es entsteht ein Flaschenhals – und etwas fundamental undemokratisches. Denn der größte Teil der Menschheit bleibt somit ausgeschlossen.

Alle Länder sollten „unter Beobachtung“ stehen

Das ist ein großer Verlust. Denn zum einen sollten wir alle auf unser eigenes Land, auf Nachbarländer und überhaupt „auf die Welt“ aufpassen. Und das ist nur möglich, wenn wir eine Art „Dashboard“ haben, das uns hilft, Entwicklungen schnell zu erkennen.

Zum anderen: wenn wir über „Demokratie“ sprechen, dann tun wir das häufig im Sinne der „Mechanik“: Wahlen, Gewaltenteilung usw. „State of Democracy“ betrachtet Demokratie stattdessen aus „Kundensicht“: was erwarten sich Menschen von ihrem Staat und was können sie erwarten?

Es geht um 5 Aspekte:

  • Fundamentale Rechte
  • Überprüfung der Regierung
  • Eine unparteiische Verwaltung
  • Einbindung der Bevölkerung und
  • Eine repräsentative Regierung.

Nun fragen Sie völlig zu recht, was mit dem Attribut „fundamentale Rechten“ gemeint sein könnte. Hier geht es wieder um drei wesentliche sub-Attribute:

  • Zugang zur Justiz
  • Bürgerliche Freiheiten
  • Soziale Rechte und Gleichheit.

Auch hier werden Sie fragen, was „bürgerliche Freiheiten“ wohl sind. Laut „State of Democracy“ bestehen diese aus den folgenden „sub-sub-Attributen“:

  • Die freie Meinungsäußerung
  • Die Vereinigungs- und Versammlungsfreiheit
  • Die Freiheit der Religion
  • Die Bewegungsfreiheit und um
  • Persönliche Integrität und Sicherheit.

Allein die freie Meinungsäußerung wird über 8 Indizes gemessen.

Wir können selbstverständlich unterschiedlicher Ansicht sein, ob die freie Meinungsäußerung wohl uneingeschränkt gelten sollte. Bei uns in Deutschland ist zum Beispiel die Leugnung des Holocaust strafbewehrt. Auch gibt es verschiedene Ansichten zum Attribute der Einbindung der Bevölkerung, die neben drei anderen auch über das sub-Attribut „direkte Demokratie“ beschrieben wird: birgt die direkte Demokratie nicht auch populistische und andere Gefahren?

Was „gut“ oder „richtig“ ist wird also kontrovers diskutiert und die demokratische Republik Kongo mag andere Antworten finden als Andorra. Die vorliegenden Daten, erstellt mit einer mir ansonsten unbekannten Sorgfalt (siehe das „Codebook„), können für diese Gespräche eine wichtige Grundlage liefern.

Daraus ergibt sich für mich die nahezu zwingende Vision:

Diese Daten müssen so einfach aufbereitet werden,
dass jedes Schulkind sie verstehen kann!

In den letzten Wochen habe ich damit angefangen.
Die ersten Ergebnisse sind in den folgenden Berichten zusammengefasst:

Es fehlen noch einige Werkzeuge wie Weltkarten, die mithilfe eines Attributs oder eines Index eingefärbt werden. Das ist „Standard“ und kann bei Gelegenheit entstehen. Wie aber kann man 145 „Key Performance Indicators“ und die Zusammenhänge zwischen ihnen so darstellen, dass „jedes Kind“ sie erfassen kann?

Hier hilft das „Blumen-Diagramm“, eine Entwicklung der letzten Tage:

Wenn alles ausgereift ist, dann werden diese Werkzeuge in einer interaktiven „App“ zusammengebaut, die jetzt schon als „halbfunktionaler“ Prototyp verfügbar ist:

Der Democratizer

Falls meine Freunde aus USA dies lesen: wenn es Euch lieber ist, dann könnt Ihr diese App auch gerne als „Republicanizer“ interpretieren. Es geht nicht um die eine oder um die andere Partei. Und falls Sie diesen Beitrag in Cuba oder Venezuela lesen: es geht darum, den Zugang zu diesen Daten zu „sozialisieren“, sie also allen zugänglich zu machen. „Das Volk“ (griechisch Demos) soll die Verfügungsgewalt (griechisch kratein = herrschen) über die aus diesen Daten gewonnenen Einsichten haben.

Um was es hier geht

Natürlich ist es für einen Datenwissenschaftler spannend, große Datensätze wie den vorliegenden visuell aufzubereiten und ihnen Einsichten zu entlocken. Der „Democratizer“ stellt jedoch lediglich eine Produktinnovation dar. Wichtiger sind die Prozesse und Dienstleistungen, die sich mit dieser oder mit vergleichbaren, Transparenz schaffenden Apps denken lassen.

Soviel jetzt schon: ich bin überzeugt, dass es sich hier um Aufgaben einer Generation handelt, die auf einer Stufe stehen mit Aufgaben wie der Umstellung auf erneuerbare Energien oder der Säuberung der Ozeane. Wir müssen es angehen. Viel ist schon unterwegs. Es geht mir darum, „den richtigen Aschluss“ zu finden. Mehr dazu dann später.

Obama oder Romney? Was sagen die Daten?

Der Economist hat am 13. Oktober 2012 eine (externer LinkGraphik veröffentlicht, um Daten zur Beantwortung dieser Frage heranzuziehen. Bitte nehmen Sie sich die Zeit und schauen Sie sich diese Daten an. Vermutlich werden auch Sie die Augen zusammen kneifen müssen, um die Aussage des Economist herauszulesen: die Wirtschaftsdaten legen eine Wahlniederlage Obamas nahe.

Davon abgesehen: der Economist formuliert die Problemstellung sehr geschickt: welche Faktoren könnten bestimmen, ob der aktuelle Präsident (so er denn kandidiert) wieder- oder abgewählt wird? So gefragt kann man Daten sammeln und analysieren.

Ihnen fallen sicher sofort „Wirtschaftswachstum“, „Arbeitslosenquote“, „Inflationsrate“ ,
„Kosten der Wahlkampagne“ und ähnliches ein. Wir wollen nicht spekulieren, und
sie einfach in einem (externer LinkIshikawa-Diagramm strukturiert aufzählen. Die Krux dabei ist jedoch folgende: je mehr dieser möglichen Einflussfaktoren Sie auf Signifikanz testen wollen, desto mehr Daten brauchen Sie: zwei Punkte für eine Gerade, drei spannen eine Ebene auf – und so weiter. Sie müssen schließlich auch ein paar Punkte „übrig haben“, um zu testen, ob alles stimmig ist. (Wem sich bei dieser Beschreibung einer Regressionsanalyse die Nackenhaare sträuben, der weiß mehr als ich hier voraus setzen möchte).

Der Economist geht sehr vorsichtig an die Sache heran:
1) Er zieht lediglich die Wahlergebnisse nach dem II. Weltkrieg heran: es könnte ja sein, dass sonst „Äpfel mit Birnen verglichen“ würden.
2) Er testet lediglich einen Faktor, das wirtschaftliche Wachstum (in einer getrennten Graphik auch die Arbeitslosenquote) – und zwar für die letzten 6 Monate vor der Wahl.

Die sodann präsentierte (externer LinkGraphik stellt das Wirtschaftswachstum Quartal für Quartal vor Präsidentschaftswahlen dar, die entweder gewonnen (hellblau) oder verloren (rosa) wurden. Die Chancen von Obama werden eher schlechter bewertet, da seine Kurve in der Nähe des Mittelwerts der historischen Wahlverlierer liegt (blaue Kurve).

Aus Sicht einer Statistikerin stellt das aber lediglich die Formulierung einer Hypothese dar: die Daten könnten nahe legen, dass Obama verliert. Wie groß seine Gewinnchancen tatsächlich sind, das lässt sich so nicht ermitteln.

Die hier betrachtete Problemstellung ist ein Beispiel für „kontinuierliches x“ (das
Wirtschaftswachstum kann ein Kontinuum von Werten annehmen) gegen ein
„diskretes Y“ (die Wahl wird entweder gewonnen oder verloren). Gesucht ist Y =
f(x). Berühmt geworden ist die dahinter stehende (externer Link) „Logistische Regression“ über die (externer LinkChallenger-Katastrophe 1986: dem NASA-Team lagen Daten zwar vor zur Brüchigkeit von Dichtungsringen („gebrochen, nicht gebrochen“) in Abhängigkeit von der Temperatur. Diese Daten konnten aber nur unzulänglich interpretiert werden – mit fatalen Folgen.

Die oben vom Economist zitierten Daten habe ich mittels logistischer Regression ausgewertet. Weder der Trend des Wirtschaftswachstums noch der Wert eines bestimmten Quartals spielen (bei 95% Signifikanz) eine Rolle. Zieht man jedoch den
Mittelwert des Wirtschaftswachstums der letzten 6 Quartale heran, dann ergibt
sich ein  „(externer LinkP-Wert“ von 0,009. In anderen Worten: mit 99.1% Wahrscheinlichkeit ist die so aufgedeckte Korrelation von Wirtschaftswachstum zu Wiederwahl kein „Zufallsprodukt“.

Die logistische Regression erlaubt zudem, eine Vorhersage-Gleichung abzuleiten. So ergibt sich folgende Kurve:

Chancen der Wiederwahl

Chancen der Wiederwahl

 

Für Barack Obama liegen bisher nur die Wirtschaftsdaten der Quartale 6..2 vor der Wahl vor. Der Durchschnitt aus diesen liegt bei zwei Prozent. Ups…

Was (im Gegensatz zur „gewöhnlichen“) die logistische Regression nicht zulässt ist, einen R^2-Wert zu bestimmen. Dieser besagt, wie viel der beobachteten Variation in Y sich über eine Variation in x erklären lässt. Konkret hier: wie viel Spielraum lässt der beobachtete Zusammenhang anderen Faktoren als nur dem Wirtschaftswachstum? Angemerkt sei, dass die logistische Regression solche Faktoren durchaus mit einbeziehen kann, also Y = f(x1, x2, …).

Zurück zur Aussage des Diagramms. Wenn ich diese Dinge hier schreibe, dann nicht, weil etwa diese statistische Beurteilung meinem Wunsch oder meiner Abneigung
entspräche. Einer der besten politischen Prognostiker, (externer LinkNate Silver, sagt zudem das Gegenteil des Schlusses voraus, den wir hier ziehen. Es geht mir einzig darum: wir wollen Zahlen die in ihnen steckenden Botschaften entlocken. Wir können dafür im Kaffeesatz einiger Excel-Graphiken rühren. Oder wir verwenden das quantitative Werkzeuge. Es kann in der Tat gelegentlich sehr wichtig sein, so seine Schlüsse zu ziehen.

Mein „Kochrezept“ zur Datenanalyse lautet deshalb:
1) Graphische Analyse, um so viele Hypothesen zu formulieren wie möglich
2) Statistische Analyse, um diese zu prüfen
3) Erneute graphische Darstellung, in der nur noch signifikante Signale vorkommen
4) Diese Darstellungen verwenden, um Veränderung zu initiieren.

Probleme lösen mit Six Sigma

Six Sigma ist ein wenig aus der Mode gekommen. Zu viel Statistik und zu wenig Praxisbezug. Außerdem geht Lean schneller…  Aber selbst das Handwerk bei Six Sigma sollten wir sehr hoch schätzen. Denn es ist oft der einzige Weg, Probleme zu lösen. Ich glaube deshalb, dass das Pendel irgendwann wieder zurückschlagen wird: Unternehmen werden Six Sigma „wiederentdecken“. Das folgende Beispiel zeigt warum. Den Kontext habe ich angepasst, um Rückschlüsse auf Unternehmen und gelöstes Problem auszuschließen.

Es gilt, einen galvanischen Abscheidungsprozess zu kontrollieren. Platten werden in einem Tauchbad mit einer Schutzschicht versehen. Die soll eine Dicke von 1300 Mikrometern haben, plus-minus 10 Mikrometer. Leider haut das nur in etwa der Hälfte der Fälle hin. Wir haben also einen „Null-Sigma“- und keinesfalls einen“ Six-Sigma“-Prozess vor uns!

Ein guter Six Sigma Black Belt kann Ihnen aus diesen historischen Daten  Maßnahmen ableiten, die eine Six-Sigma-Prozessfähigkeit durchaus denkbar machen (er oder sie wird nach einer soliden Methode vorgehen, sodass kein „Schnellschuss in den Ofen“ daraus wird).

Wie diese Maßnahmen aussehen, mögen Experten in Ihrem Unternehmen herausfinden. Auf jeden Fall sind Sie sehr daran interessiert: Denn wenn Sie vorher etwa die Hälfte der galvanisch beschichteten Platten auf dem grauen Markt „versenken“ mussten, weil die Schichtdicke nicht stimmte, dann müssen Sie das nach diesem Projekt rein rechnerisch nur noch mit 3 oder 4 Platten von einer Million tun. Es geht also um sehr viel Geld…

Übrigens: dieses Problem mag man Ihnen bei unseren Einstellungsgesprächen vorlegen. Denn unsere Leute sollten auf Anhieb solche „rein handwerklichen“ Probleme lösen können…