Ja, hallo liebe Hörerinnen und Hörer. Willkommen bei einem Python-Podcast, mittlerweile in der 19. Episode.
Heute unser Thema ist wieder Data Science. Wir haben leider ein bisschen den Coronavirus, Covid-19, die wir in der 19. Folge etwas besprechen möchten,
aber aus einer Data Science Perspektive. Das heißt, wir hoffen, dass ihr euch nicht zu viel mit dem Virus nerven, von dem ihr bestimmt alle die Schnauze und die Nase voll habt.
Ja, wir sind tatsächlich alle remote dabei. Ich bin der Dominik, dabei ist natürlich wieder Jochen.
und wir haben einen Gast, den Thomas.
Hallo, ja, vielen Dank für die Einladung.
Ja, schön, dass du da bist.
Ja, vielleicht sollten wir diesmal auch tatsächlich dazu sagen,
an welchem Datum, das wollten wir sowieso immer machen,
aber heute ist es vielleicht besonders relevant,
das 26. März 2020.
Also, keine Ahnung, an welchem Punkt irgendwie
der ganzen Corona-Krise wir uns befinden.
Vielleicht am Anfang, vielleicht mittendrin, wer weiß.
Ich hoffe, das ist alles direkt bald vorbei
und ich mache die Augen zu und will nicht sehen und hören davon.
naja, ich hoffe, ihr seid alle gesund.
Ja,
ich weiß nicht,
möchtest du dich vielleicht kurz selbst
vorstellen, Thomas?
Klar, gerne. Also ich bin der Thomas
Wiki, ich
T-Wiki auf Twitter.
Ich habe in
Tübingen Bioinformatik studiert und dann da
am Max-Panck-Institut nebenbei noch so ein paar
Sachen gemacht und da
habe ich mich auch angefangen für
Machine Learning und Statistik zu interessieren.
Dann bin ich in die USA gegangen und in der Brown University habe ich einen Doktor gemacht.
Und das war im Bereich von Computational Psychiatry.
Und da geht es darum, dass man Modelle vom Gehirn baut.
Und dann an diesen Modellen von Teilen des Gehirns überlegt man sich,
okay, jetzt weiß ich, wie das in der gesunden Person funktioniert.
Und dann kann man gewisse Neurotransmitter hoch- oder runterregulieren
und sehen, okay, wie verändert sich das Verhalten?
Und stimmt das dann zum Beispiel mit dem, wie man es in Parkinson oder in anderen psychiatrischen Erkrankungen sieht, überein?
Und darüber habe ich mal eine Zertifizierung geschrieben.
Während des Doctors und auch schon davor, allerdings war mir immer klar,
okay, die freie Wissenschaft ist zwar sehr cool, macht viel Spaß,
aber ein sehr unstetiger und steiniger Karriereweg.
Und das war dann, wo das aufkam zu dieser Zeit mit dem Griff Data Science.
Da war dieser riesige Artikel, Data Science is the sexiest job of the 21st century und den habe ich gelesen und habe mir gedacht, krass, das ist ja genau das, was ich mache, ohne es zu wissen, dass es jetzt auf einmal Data Science heißt.
Und dann habe ich mir überlegt, okay, Wissenschaft ist ja schön gut, aber wer weiß überhaupt, wie die Industrie ist, also ich habe das nie wirklich kennengelernt und deswegen habe ich dann angefangen, da so ein paar Fühler auszustrecken.
Und bin dann auch auf diese Pi-Data-Konferenzen gegangen und über den Wes McKinney, der Pandas geschrieben hat, bin ich dann mit dem Forst in Kontakt gekommen und der CEO von Kotopion.
Und dann habe ich da angefangen, einmal in der Woche zu arbeiten, also während des Studiums. Und dann danach bin ich zurück nach Deutschland gezogen und seitdem bin ich da remote als Vice President of Data Science und leite da das Research Team bei Quantopion.
Kannst du das nochmal ganz kurz wiederholen? Ich glaube, wir hatten einen kleinen Knacks in der Verbindung. Deine letzte Station. Das klingt sehr spannend.
Genau, nach meinem Dokument bin ich dann nach Deutschland gegangen und die Banken haben gesagt, willst du nicht weiter für uns arbeiten? Und da bin ich VP of Data Science und Leiter des Research Team.
Okay, cool.
Ja, cool. Was macht Quantopien denn so?
Das klingt irgendwie so ein bisschen nach Finanzbranche.
Quants und so.
Genau, richtig. Daher kommt auch der Name.
Und also wir stellen eine Plattform bereit im Internet,
wo jeder, der möchte und so ein paar rudimentäre Python-Skills hat,
auf die Plattform kommen kann.
Und da findet er zum Beispiel einen Jupyter-Notebook,
wo er direkt, er oder sie,
alle möglichen Finanzdaten hat und die ganzen Bibliotheken, die man haben möchte und dann kann man da direkt loslegen und
Analysen machen, wie sich zum Beispiel jetzt die Corona-Krise auf den Aktienmarkt auswirkt.
Und wenn man dann eine gute Idee hat, dann kann man daraus einen Rhythmus entwickeln, einen Trading-Algorithmus,
der dann in den Markt
investiert, was auf gewisse Ziele zurückgeht. Wenn das tatsächlich funktioniert, dann
kann man die Algorithmus-Plattform zum Beispiel bei unseren Trading-Competitions einreichen
und Cash-Prize gewinnen oder auch Allokationen.
Also wir arbeiten mit Asset-Managern zusammen, um dann diese Algorithmen sozusagen zu vermitteln an andere
und dann wird man da gewinnbeteiligt zum Beispiel.
Und das andere, was wir auch noch machen, ist diese Finanzplattform,
diese Research-Plattform, die wir da gebaut haben,
dann auch noch an Kunden zu vermitteln.
Also es gibt ja auch ein Enterprise-Business,
aber die Community-Edition ist kostenlos.
Und wenn man da rauf geht,
dann, also die Ergebnisse und das Intellectual Property,
was man da entwickelt, bleibt auch immer bei den Usern.
Und da sind unsere Terms of Service sehr genau,
weil das oft eine Frage ist.
Ich meine, um da irgendwie Modelle bauen zu können,
braucht man ja auch irgendwie Zugriff auf eine ganze Menge historische Daten.
Werden die dann schon angeboten?
Oder muss man da irgendwie gucken, wo man die herbekommt?
Ich glaube, ganz lange war irgendwie Yahoo Finance
irgendwie eine ganz gute Quelle, aber...
Die Abis sind nicht mehr frei.
Nee? Ah, okay.
Ja, also die haben es schwieriger gemacht, die Daten zu kriegen.
Also ja, das habe ich dann irgendwann aufgegeben.
Also es gibt eigentlich kaum wirklich gute Datenquellen,
die kostenlos sind.
Aber bei uns auf jeden Fall auf der Plattform gibt es die alle.
Also internationale Equities, Price Volume, alles Mögliche in Minutenauflösung über, ich glaube, die letzten 14 Jahre oder so.
Und auch eine wichtige Sache ist, dass die Survivorship-Bytes frei sind.
Also das heißt, wenn eine Firma untergeht, oft werden die dann zum Beispiel über EU Finance nicht mehr aufgelistet.
Bei uns allerdings schon.
Und wir haben da sehr viel Arbeit reingesteckt,
dass die Daten auch wirklich sauber sind
und dass da, wenn da Splits in dem Stock oder Dividend Payments sind,
dass das akkurat reflektiert wird.
Zusätzlich haben wir noch alle möglichen anderen Datenquellen
wie Estimates, also was Leute glauben,
wie sich die Earnings entwickeln
oder Transactions von Leuten,
gewisse Reglementierung haben. Wenn man bei einer Firma arbeitet, dann darf man nur in
ganz gewisser Art und Weise diese Firma, für die man arbeitet, traden. Das ist ja klar,
weil man natürlich Insider-Informationen hat. Und man muss es auch angeben. Und das
sind auch zum Beispiel Daten, die zur Verfügung sind. Also wir sind die ganze Zeit dabei,
alle möglichen neuen Datenquellen dazuzufügen. Und das ist auch immer wichtig, denn diese
Daten ist eigentlich das, worum es geht.
Wenn man nur Preisdaten hat,
das gibt es seit 50 Jahren,
also da ist nichts mehr,
Alpha nennt sich das, wenn man
ein Signal hat, was Vorhersagekraft hat,
was der heilige Kral ist
in Quant Finance,
braucht man immer diese neuen Datenquellen
und das ist immer so ein Wettrüsten zwischen
den verschiedenen Hedgefonds.
Wer kriegt die neuesten Daten,
die noch das
am besten vorhersagen?
Klingt sehr interessant. Habt ihr da bestimmte Favoriten oder sowas? Oder wie ihr dann den Markt auch performen könnt? Oder bist du da selber irgendwie, machst du da selber Investments?
Also wir sozusagen auf der Plattform machen das nicht, einfach weil es ein Conflict of Interest ist. Das heißt, das übernimmt nur unsere User und nicht nur Conflict of Interest, sondern unsere User können das auch viel besser.
Also ich bin erstaunt, wenn ich mit denen spreche, was für interessante Hintergründe die haben und wie viel Ahnung die auch wirklich haben von der Materie. Und die kommen von allen möglich verschiedenen Bereichen, also Leute, die haben VWL studiert und haben sich dann auf unserer Plattform, also wir haben da alle möglichen Tutorials, Python selber beigebracht und implementieren dann da ihre eigenen Ideen oder aber auch viele Software-Engineers, die eigentlich Python können und dann da so ein bisschen Data Science lernen wollen.
Und genau, da haben wir halt alle möglichen Tutorials für jedermann, was auch immer man da lernen möchte. Und dadurch, dass alles auch natürlich gehostet ist, keine Installations-Delays oder so, also man kann direkt loslegen.
Gut, also läuft alles auf dem Jupyter-Notebook dann bei euch?
Genau, also Jupyter Notebook ist das eine, das ist so das Primäre und dann gibt es aber auch noch einen separaten Backtester, wo man dann wirklich den Algorithmus schreiben kann und dann hat man so ein Web-Interface, wo man dann sagen kann, okay, das möchte ich jetzt auf historischen Daten starten von 2000 bis heute und dann, genau, wird das dadurch simuliert und dann schaut man sich die Ergebnisse an und möglicherweise, ja.
Ja, das ist auch interessant, genau, Backtesting ist vielleicht auch nicht jedem irgendwie ein Begriff direkt, ich meine, wenn man jetzt irgendwie evaluieren will, ob irgendwie ein Modell, so im Machine Learning Bereich zum Beispiel, irgendwie, ja, das tut, was man haben möchte oder so, dann macht man da irgendwie Cross-Validation oder sowas und bei solchen Zeitreihen-Geschichten muss man ja irgendwie ein bisschen was anderes machen, weil man ja gar nicht quasi sozusagen, man muss ja die Zeitrichtung irgendwie berücksichtigen.
Kannst du was dazu sagen, wie das genau funktioniert
oder wo man da aufpassen muss, was man da macht?
Ja, also aufpassen muss man auf jeden Fall.
Das größte Risiko ist immer Overfitting
und das ist sehr, sehr schwer, das nicht zu machen.
Also dadurch, dass wir uns die Algorithmen anschauen,
also wir schauen uns nicht mehr den Code an,
aber wir schauen uns die Ergebnisse an,
also wie viel Profit haben die deklariert
und wie viele Positionen traden die
und den Output von den Algorithmen schauen wir uns an.
Und da können wir auch immer sehen, okay, also hier ist die Zeitperiode, wo der Quant, der User, Zugriff drauf hatte und hier ist die Zeitperiode, wo er keinen Zugriff drauf hatte. Und in der Regel sieht man, dass es nur im Backtest, also historisch, wo man es drauf entwickelt hat, gut funktioniert und dann out of sample eben nicht.
Und um das zu umgehen, muss man auf jeden Fall da sehr diszipliniert dran gehen und genau auch da cross-validisch machen. Die funktionieren ein kleines bisschen anders, aber die Idee ist trotzdem die gleiche.
Also es geht immer darum, gewisse Training-Daten zur Verfügung zu haben und darauf entwickelt man seine Ideen und dann andere Daten, die man nicht anrührt und dann wirklich nur ganz am Ende benutzt zum Testen, um zu wissen, ob die Idee auch wirklich valide ist oder nicht.
Und da gibt es verschiedene Ansätze, zum Beispiel eine Sache, die ich recht elegant finde,
ist, dass man die geraden und die ungeraden Quarte, also Business Quarte, Vierteljahre immer austauscht.
Also man trainiert nur auf den geraden Quartern, also 1. und 3. und dann 2. und 4. benutzt man zu testen.
Denn das, was immer die riesige Schwierigkeit ist bei allem, was Quant Finance ist, ist es nicht stationär.
Also das heißt, der Markt ändert sich permanent und irgendwas, was damals funktioniert hat, funktioniert dann vielleicht nicht mehr.
Aber vielleicht fängt es auch wieder an zu funktionieren.
Also man weiß nie so genau, was da Sache ist.
Das klingt so ein bisschen schwierig, wenn man so Quartale rausnimmt.
Ich stelle mir jetzt vor, es gibt Saisongeschäfte oder sowas und die würde man ja dann verlieren.
Also dann würde ich fast lieber das ungerade Jahr rausnehmen oder so
und dann alle zwei Jahre gucken.
Ja, also es gibt da wenig, was wirklich perfekt ist.
Bei Jahren zum Beispiel hat man 2009, was natürlich ein besonderes Jahr ist.
Also ja, also das mit den Quartalen zum Beispiel, die kann man dann auch randomisieren,
also dass man vielleicht nicht nur die geraden und ungeraden nimmt,
sondern das randomisiert.
Genau, und das Klassische natürlich auch einfach, und das ist eigentlich auch eine solide Methode, ist einfach dann zu sagen, okay, die letzten zwei Jahre schaue ich mir nicht an, denn die Annahme ist so ein bisschen, was jetzt funktioniert, was noch nicht so lange her ist, das, was hoffentlich auch dann funktioniert, wenn man es wirklich live schaltet.
Also, ja, gibt verschiedene Philosophien und leider keine, die so richtig zufriedenstellend ist, hat so alles seine Vor- und Nachteile.
Spannend, also sehr, sehr interessant. Es geht ja auch das Gerücht um, dass dieser große Absturz jetzt gefolgt ist, der hauptsächlich auf so Quant zurückzuführen wäre.
Ich glaube, der ist eher auf Covid-19 zurückzuführen.
Ja, aber in der Kombination und in der Härte.
Also da ist vielleicht auch was dran,
weil die halt dann alle stumpf sagen,
okay, jetzt raus, raus, raus, verkaufe.
Also das ist auf jeden Fall so,
dass Hedgefonds und Quantfonds da auf jeden Fall
ihr Risiko minimiert haben und rausgegangen sind.
Aber das haben die gemacht, so wie jeder andere auch.
Gerade die großen Anleger,
die gehen wahrscheinlich früher raus noch als vielleicht Private,
weil die halt ihr Stop-Loss dann irgendwann haben
und sagen, nee, jetzt muss weg.
Ja und nein, also die sind natürlich sehr hinterher, aber gleichzeitig haben die natürlich auch Investments, die in einer anderen Größenordnung stattfinden.
Also wenn das halt nicht die Rentenanlage von irgendeiner Privatperson ist, der damit 100.000 oder sowas ETFs hat, sondern ein Rentenfonds mit Gott weiß wie vielen Milliarden.
Das kann man nicht von heute auf morgen
in einem absoluten panischen Markt direkt abstoßen.
Das ist so ein bisschen, also die sind da sehr viel langsamer
und natürlich auch, wir gehen jetzt auch nicht einfach so im Cash.
Also die machen natürlich trotzdem weiter,
aber es ist, ja, also das Risiko wird minimiert
und das hat dann immer diese Feedback-Effekte.
Also die Ersten fangen an und dann werden die Stop-Losses bei,
den nächsten getribbt und die
verkaufen dann sehr rapide und
das triggert dann weitere Stop-Losses
und ja, also
das sind so Schneeball-Effekte, die da ganz leicht entstehen.
Interessant, also da könnte man auch irgendwie
einen Algorand ansetzen, der es vielleicht
erkennt oder so, so ein Muster an diesen Losses.
Ja, durchaus, also
wird auch gemacht.
Wir sind jetzt allerdings gerade aber
natürlich echt in einem
Marktregime oder einfach auch
allgemein in einer Weltsituation, die wir
so noch hatten.
Das ist ja ein komplett irrationales Verhalten, das hast du herzulagen, glaube ich.
Das ist sehr, sehr tough.
Also ob das überhaupt geht, ist halt die Frage.
Glasuhl, Reibeln und...
Ja, also irrationales wird sich
herausstellen,
denn ich meine, die Effekte
auf die Weltwirtschaft sind natürlich
schon jetzt schon massiv und
werden wahrscheinlich
nur noch viel stärker werden.
Also es ist echt eine sehr
neue Art der Situation und diese ganzen
Anlagestrategien
wie wir schon gerade besprochen haben,
haben natürlich schon immer so die Annahme mit eingebaut,
dass sich die Geschichte zum gewissen Teil schon wiederholt.
Aber das ist jetzt halt im Moment gerade nicht so.
Und da sind die genauso von überrascht wie alle anderen auch.
Also ich habe relativ interessante Artikel dazu gelesen,
was dann die Zentralbanken machen könnten, um zu reagieren
und wie man halt das dagegen wirken könnte.
Und da kommen einige spannende Effekte bei raus.
Von Deflation über mehrere Inflationen in Folge angefangen
und die man dann halt mit Geld bewerfen kann.
Wenn man es schafft, diesen Wirtschaftskreislauf mit Geld wieder anzukurbeln, dass halt die Umschlagsgeschwindigkeit wieder hochgeht und so, das würde dann bedeuten, dass es sich auf einem ähnlichen Niveau wie jetzt vor kurzem einpendeln könnte. Ja, aber das ist sehr, sehr schwierig vorauszusagen, ob das überhaupt klappt und ob das alles wieder anläuft. Und man muss halt erstmal alles mögliche mit Geld beschmeißen und dann machen die Staaten vielleicht noch den Adler oder so. Das ist alles sehr kompliziert.
Ja, also ist auf jeden Fall jetzt eine sehr schwierige Situation und die Noten sind jetzt auch nicht in einer Situation, wo sie noch so viel mehr Spielraum hatten.
Also die FED zum Beispiel hatte den Leitzins, bevor das überhaupt passiert ist, ziemlich angezogen dann und ihn dann aber sehr frühzeitig schon direkt runtergesetzt und die Märkte haben nicht wirklich darauf reagiert.
Also das ist schon eigentlich so mit der einzige Hebel, den die wirklich haben.
Ich habe gehört, um minus 6% ist das neue Ziel.
Ja,
so ungefähr.
Also in der EU zum Beispiel müssen wir
das was machen, denn die EZB war ja schon
immer bei null.
Da ist kaum noch
Spielraum überhaupt vorhanden,
diesen Hebel zu benutzen.
Und das, was ich auch denke,
ist, dass es natürlich
ein anderes Problem ist.
Es ist halt jetzt nicht wie 2009, wo es
ein Problem in der Finanzbranche
war, was sich dann ausgebreitet
hat und andere
gemacht hat, aber wo die
Weltwirtschaft trotzdem ja noch
funktioniert hat, sondern es war halt einfach so ein
ja auch so ein Schneeball-Effekt, der
sich da dann ausgebreitet hat, aber im Moment
steht die Weltwirtschaft dann einfach
auf Angebot und Nachfrage-Seite,
das gleichzeitig und
egal wie viel Geld man druckt,
das wird
allein die Wirtschaft nicht wieder ankurbeln,
wenn alle zu Hause bleiben müssen.
Ja, bestimmte Sachen kann man auch gar nicht wieder so schnell anfahren, wenn man bestimmte Fabriken oder bestimmte Kraftwerke erstmal stillgelegt hat oder so, weil da halt auch keine Abnehmer für den Strom sind, dann kann man die auch nicht wieder gut anfahren und so weiter und so, das ist halt alles jede Menge Konsequenzen.
Im bis nebenan, wenn der dann erstmal breiter ist, ob die dann direkt den neuen aufmacht, weiß man nicht, da muss sich jemand wieder finden, der dasselbe nochmal macht.
Ja, was ich dann auch noch echt interessant fand, ist, dass halt auch die politischen Konsequenzen von solchen Sachen, wenn sich so viel ändert, sind ja auch immer so völlig unklar. Das hatte letztens irgendwie auch mit jemandem drüber gesprochen, der meinte dann so, ja, also gerade zum Beispiel in der EU ist ja gar nicht so klar, wie das irgendwie mit dieser ganzen Brexit-Geschichte zum Beispiel ausgeht.
Und das könnte ja politisch desaströse Konsequenzen haben, wenn diese Geschichte wirtschaftlich funktioniert.
Aber ob die wirtschaftlich funktioniert oder nicht, hängt ja jetzt von ganz vielen komischen Dingen ab.
Wie zum Beispiel könnte es sein, dass es in einer Pandemie eine gute Idee ist, wenn man auf einer Insel lebt.
Das kann ja sein. Das hat jetzt gar nichts mit der Brexit-Geschichte zu tun.
Aber wenn das jetzt irgendwie dazu führt, dass die wirtschaftliche Situation in Großbritannien irgendwie deutlich besser ist als anderswo in Europa,
dann hat das halt politische Konsequenzen
für alle anderen, die unter Umständen
sehr unangenehm werden. Es kann aber auch andersrum
ausgehen, das weiß einfach keiner.
Es gab
einen Artikel von Taiwanesen, die auch gesagt haben,
ja, also Großbritannien ist ja eigentlich auf einer Insel, die müssen das
ähnlich machen wie wir und dann wären die von dem Virus relativ geschützt
und haben gesagt so, ähm, nee.
Das hat nicht funktioniert und naja,
von daher, wir werden sehen.
Die hatten da durchaus ihre eigene Ernährungsweise, ja.
Aber vielleicht gehen wir nochmal zu dem Ganzen zurück,
das ist alles sehr spannend, aber wie macht man das denn in Python?
Also diese ganzen Quant-Sachen,
die du da eben beschrieben hast, die total spannend sind.
Was würdest du dann da machen?
Und vielleicht kannst du gerade den Hörern
so ein bisschen detaillierter erklären,
also wie man damit so anfangen würde
und welche Bibliothek man vielleicht benutzt
und wie das Schema wäre und die Struktur,
um das so ein bisschen aufzubauen.
Also oft fangen Leute so ganz simpel an,
zum Beispiel, also der Klassiker,
und das funktioniert schon längst nicht mehr,
aber ist so ein Dual Moving Average.
Und da ist...
Entschuldigung, bitte was?
Dual Moving Average.
Also ein doppelter gleitender Durchschnitt?
Ja, genau. Also ein Durchschnitt, den man berechnet über zum Beispiel jetzt den Preis.
Also ich sage, okay, ich nehme immer den durchschnittlichen Preis der letzten zehn Tage
und vergleiche das mit dem durchschnittlichen Preis in 100 Tagen.
Also das heißt, das eine ist was, was sich sehr schnell anpasst an die aktuelle Preisentwicklung
und das andere ist mehr so ein Langzeittrend.
Und dann kann ich zum Beispiel sagen, okay, also wenn der Kurzzeittrend,
also die 10 Tage, den Langzeittrend durchbrechen,
also höher werden von unten,
dann glaube ich, ah, okay, das ist Momentum,
also der Stock geht wohl gerade nach oben.
Und dann glaube ich, dass der auch noch weiter nach oben geht.
Das heißt, das ist dann, wann ich einkaufen möchte.
Und wenn dann diese Linie mit dem 10-Tage-Moving-Average
wieder von der anderen Seite kommt,
dann denke ich, ah, okay, jetzt ist der Trend,
wo das Momentum von dem Stock nach unten geht
und dann möchte ich das verkaufen.
Das kann man auf Einzelhandel anwenden und so fangen viele Leute an, aber in Hedge-Funds
ist es oft so, dass man dann ganz viele Stocks traden möchte, also wie im Casino, also wenn
man jetzt 51% Winschancen hat oder auch nur deutlich weniger, möchte man einfach ganz
Bets machen, um
irgendwann halt über den Mittelwert,
das Law of Large Numbers,
die
Edge da kriegen,
aus dem ganz kleinen
Vorhersagekraft, die man da hat.
Und deswegen
macht man dann Strategien, die halt
nicht nur einen Stock, sondern tausend Stocks
oder zweitausend Stocks
traden. Und
die gleiche Logik, die ich gerade beschrieben habe, kann man
natürlich auch nicht nur auf einen Stock anwenden,
sondern auf all diese gleichzeitig.
Also da würde ich dann einfach sagen, okay, wenn jetzt diese 2000 Stocks,
die ich mir da rausgesucht habe, davon gehen manche gerade nach oben,
also haben Abwärtsmomentum und andere nach unten, die haben Downward-Momentum.
Und dann kann ich zum Beispiel hingehen und sagen, okay, also die,
die gerade nach oben gehen, die möchte ich gerne nach unten und die,
die nach unten gehen, die möchte ich gerne verkaufen sozusagen.
Also Long Selling und Short Selling. Also Short Selling heißt, dass ich Geld verdiene, wenn die Aktie nach unten geht. Und das ist so ein ganz klassischer Trick, dass man sagt, okay, also 50% meiner Anlage möchte ich gern Long anlegen, also Geld verdienen, wenn der Stock nach oben geht und die anderen 50%, da möchte ich gern Geld verdienen, wenn der Stock nach unten geht.
Und die Idee hinter dieser Long-Short-Strategie ist, dass es dann alles ist, was der Markt macht. Also der Markt geht nach oben und das interessiert mich aber nicht, denn die Long 50% verdienen Geld und die anderen Short 50% verlieren Geld, aber das gleicht sich aus.
Und genauso, wenn der Markt nach unten geht, dann gewinne ich mit meinen Shorts und verliere mit meinen Monks. Das heißt, ich isoliere wirklich nur das Signal, was ich auch wirklich glaube, wo ich eine Vorhersagekraft habe in dem Moment. Also in dem Fall jetzt zum Beispiel, dass halt Stocks Aktien Momentum haben und dass sie halt anfangen nach oben zu gehen, dass sie dann noch ein bisschen weiter nach oben gehen und umgekehrt nach unten gehen, dass sie dann noch ein bisschen weiter nach unten gehen.
Das ist so eine sehr klassische, aber dennoch moderne Quant-Strategie.
Also dieses Long-Short ist ganz klassisch
und dass man das auf ganz vielen Aktien anwendet.
Wenn ich jetzt versuchen, also im Grunde geht es darum,
dass ich sagen können möchte,
ob jetzt morgen irgendwie eine Aktie hoch oder runter geht,
so mehr oder weniger, oder für einen bestimmten Zeitraum.
Also ich glaube eher das Portfolio vielleicht, das spielt eine große Rolle und wenn ich das jetzt höre, dass sie sich ausgleichen sollen, dann ist vielleicht das Portfolio wichtiger als die Einzelpositionen?
Genau, richtig, ja. Also es ist natürlich wichtig, auf welcher Seite von meinem Portfolio ist dann die Aktie, die ich da trade, aber also es geht so ein bisschen weg eigentlich davon, sich dann für einzelne Aktien zu interessieren, sondern es geht vielmehr darum, wie sich jetzt diese Aktien, also sagen wir mal, wir haben 1000 Aktien, die wir uns anschauen und die wir zu jeder Zeit traden und das hat 500 davon,
sind dann auf der Long-Seite
und 50% sind auf der Short-Seite
und
da geht es dann darum, wie
in welcher Form,
also wie sortiere ich die so,
dass
die, die ich natürlich
Short habe, sollen abstürzen, denn dann
verdiene ich Geld und die, die ich auf der Long-Seite habe,
sollen nach oben gehen und dann verdiene ich Geld.
Aber ich verdiene wirklich nur Geld
immer auf den relativen Unterschied
zwischen denen und nicht
zu dem, was der Markt macht. Also man
Und deswegen heißt Hedge Fund, also Hedge heißt, dass man sich absichert von diesen anderen Risikofaktoren. Was zum Beispiel sehr hilfreich ist, zum Beispiel, wenn so eine Pandemie zu 20% Losses täglich führt. Also das ist genau dann, wenn man sowas haben möchte, denn da ist man gewissermaßen abgesichert.
Allerdings sind auch die Hedgefonds davon sehr stark betroffen gewesen.
Allerdings aber auch nicht so stark wie jetzt der Markt.
Also das funktioniert schon, aber es ist auch nicht so,
dass man dann sagt, okay, da ist man komplett immun
gegen solch starke Events.
Also das hat einen Einfluss auf jeden.
Ja, da kann man natürlich auch nicht so viel gewinnen,
als wenn jetzt Leute auf gute Einzelpositionen setzen würden,
die sich damit ganz besonders toll auskennen oder so.
Die können natürlich den Markt deutlich mehr outperformen
als jemand, der so einen Mittelwert dann bildet.
Also zumindest theoretisch, ihr könnt natürlich auch mehr verlieren.
Ja, also es gibt da alle möglichen
verschiedenen Ansätze, also der Quant-Ansatz ist auf jeden Fall
diese statistischen Signale
zu finden und die dann auf
sehr großen Portfolios anzulegen,
aber natürlich gibt es auch die
Discretionary, also die, die
wirklich einzelne Firmen dann
sich sehr im Detail anschauen
und da wirklich Analysen machen und dann
sagen, okay, also ich weiß, dass jetzt
Apple möglicherweise halt irgendwas
in einem coolen neuen Produkt rauskommt
Und deswegen werde ich so alles auf Rot setzen.
Also das sind ganz unterschiedliche Anlagen.
Also hier habe ich jetzt wirklich nur den Quant-Ansatz beschrieben.
Aber ist das, ich meine, ich würde jetzt,
wie gesagt, ich mache ja normalerweise so andere Data Science Machine Learning Modelle.
Ich würde jetzt denken, wenn man irgendwie Kurs vorhersagen möchte,
also das Allersimpelste, was mir jetzt einfallen würde,
wäre, ich mache einfach lineare Regressionen oder so.
Ich nehme einfach, weiß ich nicht, den Aktienkurs von gestern,
von vor einer Woche, vor einem Monat oder sowas
und habe halt irgendein Jahresmodell,
was halt dann mir den für morgen halt vorhersagt.
Also das ist auch ziemlich nah dran eigentlich,
wie es oft gemacht wird.
Und dann, so wie du jetzt angefangen hast,
zu sagen, okay, also ich nehme jetzt den Aktienkurs
von vor einer Woche und das ist dann das erste Feature.
Und dann kann ich auch noch sagen, okay,
vielleicht nehme ich auch das Volumen oder so vor einer Woche.
Und dann nehme ich noch das Twitter Sentiment,
Also was haben Leute auf Twitter über diesen Stock geschrieben?
Und das ist dann mein drittes Feature.
Und dann sozusagen so fange ich dann an, immer mehr und mehr.
Und dann werden es Tausende von Signalen, die man hat,
und dann oft lineare Aggressionen.
Die funktionieren erstaunlich gut.
Also jeder sagt immer, er macht da super fancy Machine Learning.
Aber 80 bis 90 Prozent sind schon noch lineare Aggressionen,
weil die einfach so robust sind.
Also das ist immer das große Problem bei Quant Finance,
das Rauschen in den Daten ist so massiv und das Signal ist so klein,
dass wenn man da sehr fancy Methoden macht,
dann ist das immer der Nachteil, dass die halt nicht so robust sind.
Deswegen sind lineare Modelle da sehr mächtig.
Welche Bibliotheken benutzt man denn da so?
Ich glaube, ich habe einmal so ein bisschen was mit Zeit reingemacht.
Das ist jetzt auch schon wieder ein bisschen was her.
Da hatte mich auch so erstaunt, dass das Interface ganz anders ist.
Weil normalerweise mache ich immer so Sachen mit Cycad Learn oder so.
Oder Interfaces zumindest, die so ähnlich aussehen.
Und das war dann Stats Models irgendwie.
So Arima, Sarima Modelle.
Und die sahen halt alle schon so ein bisschen anders aus.
Ich weiß gar nicht, ist das das, was man dann auch...
Jetzt musst du kurz erklären, was ist Arima, was ist Sarima?
Oh je, genau, Thomas erklärt es besser.
Ja, also das sind so klassische statistische Modelle.
ARMA steht für Auto-Regressive, also AR, Auto-Regressive,
AR für Moving Average.
Und das heißt einfach, dass ich mir anschaue,
okay, wie war denn der Wert vor zehn Tagen
und wie ist der Moving Average?
Also einfach so ein ganz klassisches statistisches Zeitreinmodell.
Und die werden unter anderem von Stats Models der Python-Bibliothek unterstützt.
Und allerdings kommen die gar nicht so sehr zum Einsatz in Quant Finance. Also das wurde viel gemacht, aber es ist eigentlich tatsächlich oft der klassische Missionsansatz, der, und das funktioniert nicht immer ganz so gut, oder man muss dann immer ziemlich viel extra Arbeit reinstecken, um das Problem, was ja ein Zeitrahmenproblem ist, das so zu übersetzen, dass es dann trotzdem in das klassische Psychic-Learn-Framework passt,
wo man ja eben keine Zeit rein in der Regel hat.
Also so wie man es oft macht,
ist es einfach, dass man die Zeit eigentlich so ignoriert
und sagt, okay, also ich habe halt einfach Features
und so ein, also es nennt sich dann Walk Forward,
dass man sagt, okay, jetzt habe ich irgendwie Daten von 2017,
auf denen trainiere ich,
dann habe ich Vorhersagen und teste dann das Modell
und jeden Tag mache ich neue Vorhersagen für 2018
und dann, wenn ich 2018
getestet habe, dann
die Training-Daten, die 2018
und 2017 und sage
für 2019 vorher. Und dann gehe ich halt
immer so Schritt für Schritt in der Zeit
nach vorne und
retraine immer mein Scikit-Learn-Modell.
Und Scikit-Learn ist auf jeden Fall
das, was auch
sehr häufig eingesetzt wird, einfach
weil es wie bei dem anderen
Pi-Data auch
mit die klassische Bibliothek ist.
Es gibt auch ein paar andere, die dann noch besser
skalieren, aber das ist schon
der gute Standard.
Ja.
Tja, ja.
Genau, ich weiß,
ich hatte mal,
wie hieß das,
Zip-Line, glaube ich, gab es noch irgendwie.
Genau, ja.
Also, wir haben
selber
fast alle unsere Software eigentlich
als Open-Source.
Also wenn man auf GitHub Quantopian schaut, dann findet man da mögliche Projekte, die wir auf unserer Web-basierten Plattform benutzen.
Genau, richtig.
Zipline ist unser Open-Source-Backtaster, den wir auch auf der Plattform benutzen.
Und das war am Anfang echt so eine ziemlich schwierige Entscheidung eigentlich, wo wir lange überlegt haben.
Also ich war immer der Meinung, dass es eine gute Idee ist, das Open-Source zu stellen.
Aber unser CEO musste sich da noch von überzeugen.
Aber das war sehr, sehr positiv
für uns. Also das
in vielerlei Hinsicht. Also eins ist
natürlich, wir bekommen Pull-Requests, also dass
andere Leute, die die Software verwenden,
dann ihre eigenen Verbesserungen
daran machen und dann uns diese Verbesserungsvorschläge
auf GitHub zuschicken. Und
dann kriegen wir da
Pull-Requests, wie das heißt,
über zum Beispiel jemand, der
unsere Simulations-Engine
um Faktor 4
beschleunigt hat. Wow.
Voll cool.
Vielen Dank.
Ja, genau. Vielen Dank. Und das haben wir dann natürlich
gemerged und das kommt dann natürlich auch der Plattform
zugute, weil das die gleiche Software ist, die wir da auch benutzen.
Und
das ist zusätzlich
dann auch, und in dem Fall hat es auch sehr gut funktioniert,
haben wir uns natürlich diese Person dann genau
angeschaut und so, ja, okay, was
machst du denn so? Und wir
haben den dann eingestellt, einfach weil
erst mal jemand, der das kann,
ist so das beste Vorstellungsgespräch, was man sich
vorstellen kann. Und
er hat auch schon bewiesen,
also er hat es bewiesen, dass er es kann und er ist natürlich auch schon
direkt mit der Codebase vertraut.
Also der hat
dann keine lange Eingewöhnungszeit, sondern
wir wissen, dass er es kann und er
weiß, worum es geht und wie
der ganze Code aussieht. Also das
war eine sehr
positive Erfahrung in vieler Hinsicht
für uns und wir machen das auch schon seit
vielen Jahren.
Ja, also GitHub, das ist halt auch
Open Source schon eine coole Sache. Ja, auf jeden Fall.
Wenn ich jetzt nochmal da einen Angriff an
so diese einfachen Linearenmodelle oder ich meine
irgendwas, was man so bei Scikit-Learn oder so an
Machine Learning-Geschichten üblicherweise so verwendet,
das, was du machst, ist ja jetzt eher so,
ich glaube, du hast ein Großteil von PyMC3
geschrieben oder die
probabilistischen Modelle. Warum
würde ich denn eher sowas verwenden wollen? Oder was
ist eigentlich der, ja, sozusagen
der grundsätzliche Unterschied zu den
Dingen, die man vielleicht eher so aus dem
Scikit-Learn-Bereich kennt oder so?
Ja, gute Frage.
das ist auf jeden Fall mein Lieblingsthema
angekommen.
Was ist das denn
überhaupt, PyMMC? Vielleicht fangen wir damit kurz an.
Genau, also PyMMC3
steht einfach nur für Python und
MC, also Markov-Chain
ist so der Algorithmus,
der da verwendet wird.
Und das
in gewisser Hinsicht kann man es schon
zum Beispiel jetzt mit Scikit-Learn vergleichen, aber es ist
doch eigentlich eine andere Idee.
Vielleicht einmal noch mal ganz kurz, was eine Markov-Chain
ist, für alle Hörer, die es kennen.
Ja, also das ist nicht so leicht zu erklären.
Es ist leichter, so die Idee dahinter zu erklären,
was das überhaupt kann.
Und dann macht das mit der Markov-Chain
vielleicht irgendwann auch ein bisschen mehr Sinn.
Aber genau, also wenn man sich jetzt Cycle-Learn anschaut,
dann ist es ja, dass man einfach gewisse Muster in Daten
lernen möchte, um dann Vorhersagen machen zu können.
Also ich habe Trainingsdaten und Labels
und natürlich mit den Trainingsdaten die Labels Vorhersagen.
Und das ist ein ganz klassisches Problem,
aber die Daten, die man da reinfüttert,
sind dann natürlich ziemlich rudimentär oft.
Also zum Beispiel ist halt alles tabular.
Also das heißt, jeder Datenpunkt ist unabhängig von anderen Datenpunkten.
Zum Beispiel jetzt nehmen wir Handschrifterkennung oder sowas her
mit dem ganz berühmten MNIST-Datensatz.
Und da ignoriert man einfach zum Beispiel, dass die einzelnen Pixel eigentlich ja was miteinander zu tun haben und man sagt einfach, okay, jedes Bild ist einfach ein ganz langer Vektor und dann lerne ich halt, was für eine Zahl da drauf ist und das gebe ich dann einfach ganz viele Daten und hoffe, dass der das dann daraus lernt.
Und das kann dann ein lineares Modell sein, was in dem Fall nicht gut funktioniert oder ein Random Forest oder ein neuronales Netzwerk.
Und das ist oft allerdings natürlich schade, wenn man da viele Informationen hat über seine Daten.
Also zum Beispiel jetzt weiß ich, dass die einzelnen Pixel da einen Zusammenhang haben. Also zwei Pixel, die direkt nebeneinander sind, ist die Wahrscheinlichkeit, dass die den gleichen Wert haben, sehr viel höher als jetzt irgendwas, was ganz rechts oben oder ganz links unten ist.
Aber der ganz naive Ansatz berücksichtigt es nicht.
Also natürlich, klar, wenn man es mit normalen Netzen macht,
die sind dafür gebaut.
Aber hier geht es jetzt eher darum,
dass wir Strukturen in unseren Daten haben,
die wir wissen und die wir ausnutzen wollen.
Und wir wollen nicht alles nur aus unseren Daten lernen.
Ein anderes gutes Beispiel ist auch immer hierarchische Strukturen.
Also sagen wir mal, ich habe jetzt einen Supermarkt
Und ich möchte gerne voraussagen, wie sich gewisse Warengruppen absetzen, also einzelne Produkte.
Wie viel verkaufe ich jetzt nächste Woche von Snickers und wie viel verkaufe ich nächste Woche von Hackfleisch?
Und das kann man natürlich auch ganz normal als machine learning Problem betrachten.
Allerdings weiß ich doch, dass zum Beispiel jetzt Snickers gehört ins Schokoladensortiment.
Und das wird sich wahrscheinlich schon auch ähnlich verhalten. Also Schokoladen, Sachen und Süßigkeiten allgemein werden sich ähnlich verhalten. Und Hackfleisch oder so gehört zu einer anderen Warengruppe. Und da gibt es auch gewisse Ähnlichkeiten zu denen. Und diese Ähnlichkeiten möchte ich gerne auch in meinem statistischen Modell oder in meinem Vorhersagen abbilden.
Und wenn man diese Modelle spezifischer bauen möchte, die diese Strukturen auch wirklich abbilden, da ist dann PyMC oder jedes andere probabilistic programming, wie es oft genannt wird, oder Bayesian statistische Modelle, das ist beides so das gleiche, die sind dann da sehr viel geeigneter.
Denn was die einem erlauben, ist, diese Modelle zu bauen,
die ganz spezifisch sind für das Problem,
was man auch wirklich lösen möchte.
Machen die dann irgendwie lineare Abhängigkeiten mit dann?
Oder anders?
Zum Beispiel.
Also das kann ich so komplett einbauen, wie ich gerne möchte.
Also ich kann sagen, okay,
der Zusammenhang zwischen diesen Sachen hier ist linear
und hier ist es aber logarithmisch oder nicht linear.
Und genau, oder hier sind gewisse hierarchische Strukturen in meinen Daten drin und über die weiß ich Bescheid und ich weiß, dass sich jetzt die Süßigkeiten-Sachen ähnlich verhalten und Fleischprodukte verhalten sich auch ähnlich zueinander, aber dennoch erlaube ich auch, dass zum Beispiel Snickers und Mars, was beides in der Süßigkeiten-Kategorie ist, Unterschiede hat, aber auch gleichzeitig lerne ich die Ähnlichkeiten davon.
Also ich lerne die Unterschiede, aber auch die Ähnlichkeiten und dadurch kann ich dann natürlich deutlich besser Vorhersagen machen. Und das ist aber nicht nur auf Vorhersagen beschränkt. Also diese Statistikmodelle können alles machen. Also die können auch einfach nur Daten erklären.
In der Wissenschaft zum Beispiel geht es dann oft darum, okay, ich habe zwei Versuchsgruppen, gibt es da einen Unterschied zwischen denen und nicht die einen bekommen das Medikament, die anderen das Placebo. Ist das ein statistischer, signifikanter Unterschied, den es da gibt? Und da kann man natürlich auch ein statistisches Modell bauen.
Also man kann es immer ganz gut so vergleichen, dass vielleicht Machine Learning ist so ein bisschen Playmobil, ist schon alles vorgebaut und man kauft es einfach und so wie es ist, dann kann man nichts daran ändern und Probabilistic Programming ist so Lego.
Also da hast du deine eigenen Bausteine, die du zusammensetzen kannst und baust dir ganz spezifisch das statistische Modell, was du genau haben möchtest. Und wenn für das nächste Problem, baust du dir dann ein anderes Modell. Also ja, es ist ein sehr viel manuellerer, aber auch dadurch natürlich sehr viel flexiblerer Ansatz.
Ja, ja, ich glaube, so einiges Problem hatte ich auch schon mal, das stimmt, das hätte ich dann vielleicht irgendwie mit hierarchischen Modellen irgendwie besser in den Griff kriegen können, dass man halt zum Beispiel eben das, was man vorhersagen möchte, dass das sehr spars ist, irgendwie eben, um bei dem Supermarkt Beispiel zu bleiben, man hat einen sehr, sehr großen Supermarkt mit ganz, ganz vielen unterschiedlichen Sachen und man beobachtet nur ganz selten Käufe, möchte aber trotzdem vorhersagen irgendwie, was wird denn jetzt irgendwie, oder was ist denn der durchschnittliche, wie viel wird denn da ungefähr verkauft von irgendeiner speziellen Geschichte, wo man nie irgendwas beobachtet hat.
Und dann war halt so der Ansatz in dem Machine Learning Teil, den wir dann benutzt haben, eher sowas wie, eben man clustert das in sowas wie Süßwaren oder so und sammelt dann dafür halt irgendwie Daten, die man dann wieder als Features verwendet. Das ging auch irgendwie, aber das, wenn man es explizit in ein Modell reinpacken kann, ist natürlich, ja.
Ja, genau. Also das ist ein gutes Beispiel. Also zum Beispiel jetzt kommt eine neue Süßigkeiten-Kategorie dazu, wo ich noch keine Daten habe und ein Machine Learning Modell wird einfach sagen, naja, habe ich vorher nicht gesehen, kann ich nichts zu sagen. Aber wenn ich diese hierarchischen Strukturen abbilde, kann ich natürlich das, was ich von den anderen Produkten gelernt habe, auch darauf dann anwenden.
Oder aber auch, und das ist ein anderer wichtiger Punkt, der ein großer Vorteil ist von Bayesian Statistics generell, ist, dass man sogenannte Prior setzen kann. Und das ist Wissen, was ich schon habe, bevor ich überhaupt irgendwelche Daten gesehen habe.
Und um da auch zum Beispiel bei dem Supermarktbeispiel zu bleiben, wenn ich jetzt in den Supermarkt gehen würde und den Manager da fragen, dann wird er mir alle möglichen Sachen erzählen können darüber, wie sich das verhält. Also er sagt zum Beispiel Schokolade vor Weihnachten geht halt immer nach oben. Das muss ich nicht auf den Daten lernen, das wissen wir schon.
Und das kann ich mein Modell dann auch schon einprogrammieren in Form von diesen Pryern. Also da kann ich Expertenwissen direkt schon injizieren in das Modell, was bei Machine Learning auch oft sehr schwer ist, weil ich wirklich alles von den Daten lernen muss.
Ja, das stimmt.
Ja, das heißt, Programming nennt man das oder Probability Programming?
Also Probabilistic Programming, genau.
Und die PIMC ist ja für die Bibliothek
deiner Wahl und du hast da viel mitgearbeitet.
Genau, also ich habe die auch
mitentwickelt und benutze die
auch sehr viel und
die erlaubt einem
dann, also das ist nicht so,
dass man diese Modelle halt dann von der
Stange hat, wie zum Beispiel jetzt bei Second Learn
habe ich einfach eine
Klasse, die macht lineare Aggressionen oder Random Forests
und hier habe ich stattdessen
von der Stange
Wahrscheinlichkeitsfunktionen,
die ich dann zusammenstöpseln kann,
um mir mein statistisches Modell zu bauen.
Also da kann ich aus diesen Wahrscheinlichkeitsverteilungen
kann ich mir dann zum Beispiel auch eine Linear-Aggression zusammenbauen,
aber das muss ich halt erst noch machen.
Und das ist mit PyMC3 sehr leicht möglich.
Und das heißt, erstmal geht es darum, das Modell zu bauen
und dann im zweiten Schritt geht es darum,
okay, jetzt habe ich das Modell gebaut,
wie fitte ich das überhaupt zu meinen Daten?
Und da kommen dann alle möglichen Algorithmen zum Tragen,
die diese Probleme automatisch lösen.
Also oft ist es so, irgendein Modell, was man sich ausmalt
und was man dann in Code zusammenschreibt,
mit PyMC3 zum Beispiel,
das lässt sich dann nicht einfach so lösen.
Also man braucht da ziemlich ausgefeilte Algorithmen
Und da ist es dann, wo das mit dem Markov Chain Monte Carlo MCMC hinzukommt. Das ist so eine Klasse von Algorithmen, die auf so fast allen Modellen, die man sich vorstellen kann, automatisch funktionieren. Und das ist so was echt cool an dem Approach ist, dass man sagt, okay, ich baue jetzt irgendein total verrücktes Modell und dann drücke ich einfach den Inference Button, wie ich das nenne, und der fittet dann das Modell zu den Daten.
Und das andere, was auch noch sehr wichtig ist, ist, dass ich nicht nur eine Antwort bekomme. Und das ist auch ein Unterschied zum Beispiel zu Machine Learning. Also wenn ich da jetzt eine lineare Aggression laufen lasse, dann bekomme ich eine Antwort. Und das ist die Antwort, also in dem Fall jetzt halt die Steigung und die Intercept, ist zwei Parameter, skalare Parameterwerte, die ich bekomme.
und die beschreiben die Daten
am besten. Aber
ist natürlich trotzdem die Frage, wenn ich jetzt
nicht so viele Daten habe, gibt es vielleicht noch andere
Linien, die
die Daten beschreiben können. Also wenn ich jetzt
die Steigung
um 0,01 verschiebe,
dann passt das wahrscheinlich trotzdem noch ganz gut.
Ich bin mir halt nie so richtig
sicher, diese Antwort, die mir jetzt
das Machine Learning Modell gegeben hat,
ist das wirklich die
allerbeste
und wie gut funktionieren dann andere
antworten. Und da
geht es um Uncertainty oder halt
um Gewissheit. Also wie
sicher kann ich mir sein,
dass die Antworten, die mir mein Modell geben, auch wirklich
die richtigen sind? Also wie sicher sind die Datenpunkte
irgendwie klassifiziert und wie gut sind
die voneinander trennbar überhaupt von einem Modell?
Genau, richtig. Und
da ist
auch ein gutes Beispiel zum Beispiel
im Gesundheitssektor. Wenn ich da
jetzt vorhersagen möchte, hat diese
Person Diabetes
oder nicht und ich habe irgendwelche
Tests, die ich gemacht habe, und diese meine Inputs, und dann ist die Frage, wie sicher bin ich mir denn überhaupt in diese Antworten? Und das ist natürlich in dem Fall
extrem wichtig. Und da sind diese
Probabilistic Programming, das ist so eine der Kernstärken davon,
dass man diese Ungewissheit, die Unsicherheit in den Antworten
und aber auch in den Parametern von dem Modell immer direkt mit spezifiziert.
Also man arbeitet ja nie mit einzelnen Werten, sondern
immer nur mit Wahrscheinlichkeitsverteilungen, die einem angeben, okay, also
die Steigung von meiner linearen Aggression kann 0,5 sein,
Aber 0,6 kann es eigentlich auch sein.
Also beschreibt beides das eigentlich sehr gut.
Und genau, das ist...
Ihr habt ja einen schönen Fehler-Schätzler mit drin,
den ihr mitbestimmt dann.
Oder wird der ausgerechnet von dem Modell
oder könnt ihr den auch einschätzen?
Also genau, man kann es so einstellen in Form der Pry.
Also da kann ich zum Beispiel sagen,
ich weiß eigentlich schon, dass der Wert sehr nah 0,5 ist,
ohne überhaupt irgendwelche Daten gesehen zu haben.
Und dann kann ich da schon mal dem Modell vorher sagen,
Okay, das hier ist die Richtung, in die du da schauen solltest. Und dann schätze ich das Modell und kriege eine neue Wahrscheinlichkeitsverteilung, die mir sagt, okay, das ist jetzt, nachdem ich die Daten gesehen habe, in welchem Bereich spielen sich denn die Parameterwerte ab, die das dann am besten erklären.
Also ich kann beides machen. Also ich kann im Vorfeld schon mal das spezifizieren, je nachdem, wie genau ich das möchte. Und dann wird das mit, nachdem ich die Datenpunkte gesehen habe, werden diese Algorithmen es abschätzen und ich kriege eine neue Wahrscheinlichkeitsverteilung, die einfach nur beschreibt, wie viel habe ich gelernt.
Also man kann es sich so vorstellen eigentlich, ich fange an mit einem gewissen Wissen und dann sehe ich Daten und dann update ich dieses Wissen und habe dann einfach neue Wahrscheinlichkeitsverteilung.
Ja, das klingt schon sehr gut. Das ist immer so ein Problem auch bei diversen Modellen. Bei manchen fällt ja eventuell auch eine Wahrscheinlichkeit direkt raus, aber manchmal einfach nur eine Distanz zu irgendwas oder so.
und dann muss man das halt irgendwie kalibrieren
auf eine Wahrscheinlichkeit.
Und dann meistens nimmt man nur irgendwie
die Signet-Funktion oder sowas.
Und da ist natürlich jetzt COVID-19 auch ein super Beispiel,
wenn ich da jetzt Vorhersagen treffen möchte
mit gewissen statistischen Modellen.
Und da gibt es aus der Epidemiologie
alle möglichen Modelle, die man da finden kann.
Und dann ist die Frage,
also wenn ich jetzt das nicht in einem bayesianischen Ansatz mache,
dann kriege ich halt eine Kurve raus,
die vorhersagt, okay, so wird sich das jetzt
über die nächste Woche entwickeln.
Aber klar, wir haben noch nicht so viele Datenpunkte.
Das kann sich, also so wie ich die historischen Daten,
ich kann die historischen Daten halt nicht nur auf eine Weise beschreiben,
sondern auf potenziell unendlich viele Weisen.
Und jede unterschiedliche Weise,
wie ich die historischen Daten beschreiben kann,
führt zu unterschiedlichen Vorhersagen,
wie sich die Zukunft verhalten wird.
Und das heißt, ich möchte halt nicht nur die Linie sehen
und die Vorhersage sehen, die die Daten am besten beschreiben,
sondern halt alle, die das einigermaßen gut beschreiben.
Denn das sind alles dann Ausgänge, die passieren können.
Und das sieht man dann immer super gut bei diesen Modellen,
dass es halt nicht nur eine Linie gibt, die dann in die Zukunft zeigt,
sondern ganz viele Linien, die so auseinanderstreuen.
Also je nachdem, je weiter ich in die Zukunft gehe,
desto weniger kann ich mir sicher sein, wie sich das entwickelt.
Also kann sein, dass es exponentiell weiter nach oben schießt
und wir bald Millionen von Infizierten haben.
Es kann auch sein, dass aber natürlich die Interventionen,
die wir jetzt machen, effektiv sind und sich die Kurve abflacht.
Und das sind alles Vorhersagen, die dann aus dem Modell rauskommen.
Ja, das wäre natürlich genau interessant.
Also ich meine, ich könnte mir jetzt vorstellen,
dass wenn man zum Beispiel eben macht irgendeine Maßnahme
oder überlegt sich halt, wenn ich jetzt, keine Ahnung,
irgendetwas tue, also ich glaube,
die Zahlen, die ich da schon mal gehört habe,
sowas wie seit, zumindest in Deutschland,
Beginn der
etwas heftigeren Maßnahmen
ist halt der,
ich glaube in dem Modell vom Robert-Koch-Institut
werden irgendwie Landkreise
als kleinste Einheiten
benutzt, sozusagen,
wenn die Reisetätigkeit zwischen Landkreisen
irgendwie sozusagen,
ist irgendwie schon um 40% runtergegangen
seitdem,
dann ändern sich halt entsprechend Parameter
in dem Modell und dann kann man halt gucken, okay,
wie geht denn das jetzt aus?
Die Frage wäre jetzt sozusagen, okay, wenn ich jetzt irgendeinen dieser Parameter ändere, wie wirkt sich das dann zum Beispiel auf diese Basisreproduktionszahl aus?
Also wie stark führt das dazu, dass jetzt der Anstieg der infizierten Zahlen halt hochgeht oder gleich bleibt oder so?
Und dann wäre halt die ganz interessante Frage, mit welcher Wahrscheinlichkeit kann ich diese Vorhersage machen?
es könnte ja auch sein, also wenn ich
ein 30-prozentiges
Risiko habe, dass sich das ganz anders
verhält als das, was ich
vorhersage, dann
möchte ich mir das vielleicht nochmal überlegen, weil ich ja gar nicht
so ein großes Risiko eingehen möchte vielleicht.
Sondern ich möchte vielleicht eine Maßnahme machen, wo
ich dann ziemlich sicher sein kann,
dass das dann halt auch hilft.
Und ja,
das wäre dann sozusagen etwas, was ich direkt aus so einem
probabilistischen Modell rauskriegen würde, wie dann
die Erfolgswahrscheinlichkeit
oder wie wahrscheinlich es ist, dass es dann
halt auch in dem Bereich bleibt, sozusagen.
Genau, also das ist
sehr wichtig. Also
nicht jeder Ausgang ist ja auch gleich. Also
jetzt habe ich vielleicht, wenn ich jetzt
das so fitte,
dass ich wirklich nur eine Linie bekomme, dann sieht
die vielleicht okay aus. Und dann sage ich, ah ja, okay,
muss ich ja gar nicht mehr wirklich
Gedanken machen. Und möglicherweise ist es
auch der wahrscheinlichste Ausgang. Aber
was ist, wenn mit einer
fünfprozentigen Wahrscheinlichkeit
das exponentiell
weitergeht und diese Maßnahmen
halt nicht greifen. Naja, das möchte ich ja unbedingt
wissen. Was ist der Worst-Case-Szenario?
Das ist vielleicht unwahrscheinlich, aber nicht so unwahrscheinlich,
dass wir es außer Acht lassen dürfen.
Und da kann man
dann auch, je nachdem,
das Modell verändern, also
in verschiedenen
Hinsichten. Und das ist auch so ein bisschen das, was
ich so mächtig an diesem Ansatz
finde, ist, dass es so oft
ein sehr iteratives Arbeiten
ist mit diesem Modell. Also ich fange an mit
einem ganz einfachen Modell, und das habe ich auch
gemacht, also ich habe einfach ein exponentielles Modell genommen,
und das funktioniert dann am Anfang
zum Beispiel ziemlich gut und
dann aber sehe ich auch, ah ja, okay, ich habe ja nicht
nur ein Land, sondern ich habe mehrere Länder
und diese Kurven verhalten sich bei allen
Ländern eigentlich ziemlich ähnlich.
Nicht immer gleich, aber ähnlich und da
kommt es dann wieder rein mit der hierarchischen Struktur,
die ich vorhin erwähnt habe,
wo ich genau das auch in mein Modell einbauen
kann und sage, okay, also da gibt es Ähnlichkeiten
in diesen
Growth Rates, in diesen
Steigerungszahlen und das heißt,
dann habe ich ein hierarchisches Modell,
was für jedes einzelne Land einzelne Parameter hat.
Aber diese Parameter sind dann auch auf einem höheren Level
noch miteinander verbunden.
Und ich lerne also beides zugleich.
Und dann zum Beispiel könnte ich hingehen und sagen,
na gut, exponentiell ist ja vielleicht gar nicht mal so ein gutes Modell,
denn das nimmt ja an, dass das einfach immer weiter nach oben geht
und immer und immer schneller wird.
Irgendwo ist ja da schon spätestens bei der Anzahl der Menschen,
die in einem Land leben,
ein ganz natürliches physikalisches Limit gesetzt.
und dann kann ich das Modell
verbessern und sage, okay, dann nehme ich stattdessen eine logistische
Funktion, die am Anfang auch
steil nach oben geht, aber dann sich wieder abflacht.
Und
dann kann ich
aber auch hingehen und sagen, okay,
das
modelliert schon die Steigungssache
vielleicht ganz gut, aber
ich weiß, dass es da,
zum Beispiel habe ich jetzt vielleicht
gerade ein Buch von Nassim Taleb gelesen,
den Black Swan, und ich weiß, dass es
sehr wichtig ist, da nicht auch nur
anzunehmen, dass sich alles in der Welt
nach einer Normalverteilung verhält, sondern
es gibt halt auch das Tail-Risk und
dann nehme ich halt nicht eine Normalverteilung,
sondern eine zum Beispiel
Student-T-Verteilung, also eine T-Verteilung
und die hat sehr viel mehr
Wahrscheinlichkeiten, dass da auch
extreme Ausreißer passieren können.
Und dann habe ich das in mein Modell
integriert und arbeite dann halt
mich immer weiter vor und verbessere das
Modell immer weiter und kriege dann auch immer besser
Vorhersagen, die natürlich
dann ja auch die
möglichen Handlungen,
die man machen möchte,
hoffentlich da bessere
Antworten zu liefern.
Ja, ja, das ist für mich,
das ist auch
irgendwie ein Twitter-Account,
der hat einen Twitter-Account, dem ich auch folge und da
sind manchmal sehr lustige Sachen dabei.
Er hat jetzt auch was über diese
statistischen Modelle, die irgendwelche Dinge vorhersagen,
gesagt. Das fand ich
auch ganz bemerkenswert, weil
es halt, ich weiß,
Ja, also er hat ja schon so einen gewissen Punkt. Er sagt halt im Grunde, naja, also da einige wenige Ereignisse, was so Pandemien angeht, halt sehr, sehr böse Auswirkungen haben können, ist es halt eigentlich, sobald man sieht, dass das irgendwie in die Richtung geht, dann ist das eher so wie eine Lawine.
wenn man irgendwann am Berg steht und sieht, da kommt eine Lawine
runter, dann fange ich jetzt nicht an, mir auszurechnen,
ob die mich jetzt treffen kann oder nicht.
Und bei so einer Pandemie ist halt auch
so ein bisschen, und der hat ja einen schönen Vergleich benutzt,
der meinte dann, also wenn ich jetzt anfange, da
statistisch ganz genau zu werden, dann
ist das so ein bisschen wie Löffelzellen auf der
Titanic, ja, das ist halt so.
Sondern da muss man halt
dann irgendwie das Extremste machen, was man irgendwie
hinkriegt, um halt zu verhindern, dass diese ganz
schlimmen Sachen halt passieren.
Ja, also der ist auf jeden Fall
sehr extrem in seinen Ansichten,
dass man eigentlich, also der sagt
eigentlich, so extrem
sagt er es nicht, aber dennoch,
dass 90, 95 Prozent aller
Statistiken komplett in die Tonne gekloppt
werden können, weil das
alles Phänomene sind, die halt
diese Ausreise-Events haben, die
das alles bestimmen.
Ich finde das
ein bisschen oft sehr extrem, denn
die Modelle funktionieren doch schon
oft auch ganz gut, aber klar muss man sich immer
bewusst sein, dass das Modelle sind und dass es diese
Terrors gibt und die auch
idealerweise natürlich ins Modell
integrieren, dass man das
mit berücksichtigt.
Das kann man ja machen.
Genau diese unvorhergesehenen Ereignisse.
Da kannst du halt so viel modulieren
und Statistik machen, wie du willst, wenn halt Ereignisse
auftreten, deren Dimensionen man
nicht abschätzen kann oder deren Auswirkungen
auf die einzelnen Achsen in dieser Verteilung.
Das wird natürlich dann
schwer zu pronostizieren.
Woher soll man das wissen, dass solche Events kommen?
Ja und nein.
Also genau, diese Ausreißer sind fast unmöglich zu modellieren, aber jetzt zum Beispiel die Modelle, die ich da gebaut habe, um vorherzusagen, wie sich das Wachstum weiterverhält, sind bisher erschreckend akkurat gewesen.
Jetzt hören sie auf, also zu funktionieren und das ist gut. Also das erste Modell, wie ich schon gesagt habe, war so ein exponentielles Modell und das, ja, also am Anfang hatten wir exponentielles Wachstum, jetzt scheint es sich ein bisschen abzuschwächen, was ja sehr gut ist, aber dennoch, also das, ja, also diese Modelle haben schon eine volle Sache Kraft und das ist ja auch genau das, was man wissen möchte.
Und das ist auch das, was ich so erschreckend fand, dass es eigentlich, wenn man sich das angeschaut hat, also zum Beispiel vor drei Wochen noch gab es in Deutschland, weiß ich nicht, zehn Fälle oder so und in Italien aber war es schon sehr dramatisch.
Und dann hierzulande wurde es gesagt, naja, aber es sind nur 10 Fälle, das muss uns ja nicht interessieren.
Aber gut, also beziehungsweise sagen wir mal 10 Fälle und in drei Tagen sind es halt 100 Fälle.
Und da sagt man, na gut, 100 Fälle ist ja trotzdem noch nicht viel.
Aber vollkommen egal, es geht darum, was für eine Steigerung haben wir da und das ist exponentiell.
Und das heißt, in drei Tagen sind es dann von 100 auf 1000.
Du hast da auch ein Notebook zu, online, wo man da so ein bisschen angucken kann.
Genau, das hatten wir noch gar nicht erwähnt, aber ja, das war auch einer der Gründe,
warum das jetzt halt ein guter Zeitpunkt ist,
vielleicht dieses Gespräch zu führen.
Ich hatte da irgendwie diese Notebooks gesehen.
Ich weiß nicht, es gibt mehrere.
Das Erste ist, glaube ich, das Daily.
Wir packen den Link in die Show Notes.
Das ist ein Repository, in dem mehrere Notebooks sind.
COVID-19 Growth ist, glaube ich, das Erste.
Und das ist sozusagen das exponentielle Modell.
Und da gibt es halt so einen Graph mit einer Lockscale sozusagen,
was die Anzahl der Infizierten angeht.
Und dass man das halt so ein bisschen linearer sieht.
Und auf der X-Achse die Zeit, auf der Y-Achse die Infizierten.
Und dann halt sozusagen Tage nach den ersten bestätigten 100 Fällen.
Und die Kurven sehen alle relativ ähnlich aus, am Anfang zumindest.
Ist auch China mitgeplottet.
Weil ich hatte nämlich von einem Freund von mir gehört,
der aus Shanghai geflohen ist.
Schon Ende Januar, weil die Flüge alle gestrichen wurden,
dass das die Situation wohl sehr dramatisch sein soll
und dass wir uns auf was gefasst machen müssen.
Ja, also genau.
China ist nicht mit dabei, weil das Modell das nicht abbilden kann.
Also dieses nicht, das Modell, was ich jetzt gerade gebaut habe.
Das logistische Modell des Kantons, denn da gibt es diesen Effekt,
dass die auch wieder stehen bleiben, die Neuinfektionen.
Und das scheint China nach den offiziellen Zahlen, die wir haben,
Das ist die Frage, wie sehr man die glauben möchte. Wobei ich, also meine Meinung ist, ich glaube schon, dass die es geschafft haben, das abzuschwächen. Also ich glaube nicht, also die absolute Zahl ist möglicherweise viel höher, aber ich glaube trotzdem nicht, dass die Neuinfektionen haben. Und zumindest auch in Korea. Also diese Länder haben es geschafft, dieses Wachstum zu stoppen, eigentlich effektiv.
Und das sieht man, dass das Modell das nicht kann. Also die sind auf jeden Fall ausgebrochen aus dem Exponentiellen und dafür braucht man das logistische Modell, was genau diesen Effekt modellieren kann. Und das sieht man jetzt auch bei anderen. Also das ist ganz interessant bei dem logistischen Modell.
Also das interpretiert dann schon, dass wenn man aus dem Exponentiellen rauskommt und sieht, ah, okay, es fängt sich an abzuschwächen und man nimmt an, dass dieser logistischen Funktion folgt, dann kann man auch vorher sagen, okay, also jetzt dauert es vielleicht noch zwei Wochen, bis sich die Neuinfektionen dann zurückgegangen sind und es keine neuen gibt.
Ja, ich glaube auch, dass das in China ist. Klar, man kann da immer zweifeln, aber eben bei so einer exponentiellen Entwicklung, das hätten wir dann halt schon über die Zeit gemerkt, wenn das irgendwie nicht geklappt hätte, weil dann wäre das schon überall jetzt und das ist es irgendwie nicht.
Und daher, in Südkorea ist ein ganz interessanter Fall, weil da man das relativ gut verfolgen konnte, weil das irgendwie hauptsächlich irgendwie ein Community-Cluster irgendwie war, in dem das aufgetreten ist und dann haben halt diese ganzen, wir verfolgen das jetzt mit auch großem Personalaufwand-Aktionen halt da tatsächlich sehr viel gebracht, aber das geht halt anderswo nicht so gut.
Also das ging halt in dem Fall super. Und naja, ist halt immer auch die Frage, inwiefern irgendwelche Geschichten vergleichbar und übertragbar sind. Wenn jetzt irgendwie alle Leute sagen, man muss das nur so machen wie in Südkorea, dann ist es kein Problem.
Naja, irgendjemand meinte dann so satirischerweise irgendwie, ja, ich habe gehört, in Südkorea wird ganz viel Kimchee gegessen. Lass uns alle einfach Kimchee essen und dann ist es okay.
Aber was ich auch interessant finde, ist, dass halt einige, so Japan, Taiwan, Hongkong, Singapur, die ja dann auch schon seit langer Zeit irgendwie da relativ viel Maßnahmen machen, dass die auch irgendwie von dieser exponentiellen Entwicklung relativ gut verschont wurden.
Die haben aber alle unterschiedliche Methoden gemacht.
Japan hat zum Beispiel einfach die Anzahl an Tests
unheimlich hoch gefahren, indem sie einfach jeden Menschen
getestet haben und dann diese Kette auch
versucht haben, damit zu unterbrechen.
Weil die halt relativ genau wussten, wer jetzt da vielleicht dann
Kontaktperson war. Das mag auch
ein Vorteil sein. Aber von China glaube ich übrigens
keine einzige Zahl. Also ich habe Dunkelziffern
gelesen, die man jetzt alle mit Vorsicht genießen
möchte, aber dass irgendwie 700.000 Fälle
alleine in Wuhan noch irgendwie offen waren,
die nicht registriert waren und
naja, was man da glauben kann,
ich weiß ja nicht.
Und also eine Sache auf jeden Fall noch zu den Notebooks, also diese Modelle habe ich dann online gestellt und die haben auf jeden Fall da sehr viel Interesse bekommen.
Ich wurde auf jeden Fall auch dafür kritisiert, dass es, also ich bin kein Epidemiologe und habe mir das angeschaut und diese Modelle gebaut, dass das ja nur jeden verwirren würde und dass exponentielle Modelle ja sowieso komplett falsch sind.
Und ich kann das verstehen, allerdings sind im Moment diese exponentiellen Modelle erschreckend akkurat.
Also die letzten Wochen war es ein sehr guter Fit.
Klar, dass das nicht sehr weit in die Zukunft projizieren kann, ist klar.
Und das andere, was aber auch sehr interessant ist, was passiert ist, ist, dadurch, dass man dann diese Sachen shared,
also das ist halt dieses Open-Source-Prinzip, dann kam der Hamel und hat dann,
ein Dashboard daraus gebaut, dass das halt täglich
updatet. Und das heißt,
das ist jetzt eine coole Webseite, wo das
Notebook dann automatisch geladen wird
und ist auch interaktiv.
Andere Leute haben es benutzt,
um dann das Modell zu verbessern oder
einfach nur sich selber dann
das Modell auf andere Daten anzuwenden.
Ich habe selber viel Feedback bekommen,
was ich dann einpflege und das Modell verbessere.
Also dieser iterative
Ansatz, der
in der Öffentlichkeit stattfindet und auch den Code zu posten,
wo halt dann auch andere Leute Bugfixes schicken
oder so,
ist also meiner Meinung nach überwiegender
die Vorteile einfach viel mehr
als die Nachteile, dass
ich halt erst mal
sechs Monate
mit Epidemiologen zusammenarbeite,
um das absolut wasserdichte Modell zu
bauen, was dann aber
vielleicht nicht richtig funktioniert, weil ich halt nicht das Feedback
von der Community habe und auch nicht diese ganzen Netzwerkeffekte,
die Open Source da
bringen.
Ja, das würde ich auch sagen.
Das ist auch etwas, wenn das halt in der Öffentlichkeit passiert. Also ich meine, im Grunde kann man ja nur durch Feedback irgendwie Dinge lernen. Das ist auch etwas, was ich immer sehe, dass es halt dann, ich meine, das ist halt auch unter Umständen ein schmerzhafter Prozess, öffentlich Feedback einzusammeln. Aber es hilft auch tatsächlich, während ich da große Bedenken habe, wenn da Leute irgendwie jahrelang an irgendwas arbeiten oder so und da gab es nie wirkliches Feedback, ob das dann so wirklich stimmt.
Da habe ich letztens den ersten Tweet gesehen von einem Epidemiologie-Professor,
der da einen super akkuraten Simulator geschrieben hat,
der halt da verschiedene Agenten simuliert, die sich treffen und die infizieren sich.
Und das ist ja also das absolute Nonplusultra-Modell.
Und das hat er aber schon vor langer Zeit gemacht, also als Epidemiologe.
Und da aber natürlich bisher nur Paper drüber geschrieben.
Und dann ist natürlich sofort die Frage, okay, du hast ja vor zehn Jahren dieses super coole Modell gebaut, was sagt es denn jetzt voraus? Und kann man das denn nicht benutzen, um das halt upzudaten? Naja, und dann war halt die Frage, ja, was ist denn mit dem Code? Und dann so, oh, okay, naja, die Codes sind irgendwie 50.000 Zeilen C++-Code, den eine Person versteht, der unkommentiert ist, ungetestet ist.
Also ich war selbst in der Forschung, ich weiß ganz genau, was die Codequalität da ist und die ist oft sehr niedrig. Und in dem Fall jetzt, weil der Code einfach so wahnsinnig wichtig ist, arbeitet er mit Microsoft zusammen, um den Code dann da tatsächlich zu testen und zu wissen, dass der funktioniert.
Da werden bestimmt einige Wachs gefunden. Und das ist natürlich auch sehr gefährlich. Also diese ganz klassische, so wie die Wissenschaft da bisher immer arbeitet und wie wenig die sich wirklich für Codequalität da einsetzen, glaube ich, dass wir da viel voneinander lernen können.
und zum Beispiel oft sind die halt auch nicht
bäsianisch, also gibt es wirklich den
Epidemiologen, der ein Top-Coder ist
und gleichzeitig halt
natürlich epidemiologisch
total fit ist und dann zusätzlich auch noch
weiß, wie man Pianti 3 benutzt,
wahrscheinlich gibt es den nicht,
deswegen, wenn wir da alle unseren Teil
dazu beitragen, glaube ich,
wird es am besten funktionieren.
Ja, ja, ich bin
auch, gut, das ist jetzt auch wieder ein bisschen her,
ich habe auch eine Zeit lang irgendwie viel
Pepper gelesen und versucht Dinge
zu reproduzieren und so und das hat
also das
war schon, also oft
bekommt man dann ja Code, wenn man
irgendwie ein Paper hat und dann sich überlegt, okay
das sieht sehr interessant aus für das Problem, was ich
habe und wenn man dann die Autoren anschreibt
und sagt so, ich würde das mal gerne reproduzieren
könnt ihr mir den Code dann mal irgendwie
so, wie mache ich das denn dann?
Dann kriegt man meistens den Code, meistens mit
einer länglichen Entschuldigung
für die Codequalität.
Und ganz oft
ist es dann halt auch so, wenn man das dann
tatsächlich versucht, nochmal selber zu implementieren.
Aber man merkt so, oh ne, das tut nicht so wirklich genau
das, was da in dem Paper drin steht.
Und also da muss
irgendwie, ich meine,
ich kann auch verstehen, wie das passiert. Das ist halt,
man kann halt Code nicht veröffentlichen
in der Zeitschrift, sondern da ist halt dann halt
ein gesetztes Paper
irgendwie das Entscheidende oder halt sogar
oft in der Informatik sind es halt irgendwie
Formeln, mathematische Formeln, die da drin stehen müssen,
weil das ist halt das, was man irgendwie da reinschreiben kann.
Code ist halt, kann man nicht so wirklich publizieren.
Aber das muss sich irgendwie ändern, weil das ist, ja, das ist eigentlich alles, ja, ja, relativ furchtbar.
Ja, also ich stimme dir voll zu.
Also weil es, also welches Paper kann heutzutage noch geschrieben werden, was nicht auf Code beruht?
Also das ist wahnsinnig, absolut fundamental, die Ergebnisse, und die Ergebnisse sind davon gestützt.
Also wenn da ein Bug drin ist, dann kriegst du ein falsches Ergebnis raus.
dass das bisher immer noch
nicht, also fairerweise
muss man sagen, das verstehen schon
immer mehr Leute und es gibt auch immer mehr Wissenschaftler, die
das auch anfangen zu machen und die ihre GitHub-Repositories
haben.
Der Danilo Bistock zum Beispiel, mit dem habe ich
letztens ein Paper gemacht, also
der stellt alles immer
online und ich kenne auch viele andere Kollegen,
die das machen und
das ist super, also gerade jüngere
Wissenschaftler, aber
das ist halt bisher noch größtenteils
freiwillig. Also ich glaube, das muss schon
einfach auch ein Zwang sein, dass die Methoden und der Code
alles online kommt. Und wenn das online ist,
dann ist natürlich auch automatisch oft der Anspruch an die Code-Qualität
höher. Also das heißt, man möchte dann vielleicht doch ein bisschen mehr Zeit darauf verbringen,
auch den Code zu kommentieren und ein paar Tests zu schreiben. Das sind ja alles
Peer-Pressure.
Ja, genau, so ein bisschen gesunde Peer-Pressure
da reinbringen.
Ja.
Genau.
Gab es irgendwas
sehr Interessantes oder was du nicht
erwartet hattest irgendwie beim
Bauen der
Modelle für dieses Problem
oder
ich weiß nicht genau, ob ich jetzt
irgendwas...
Ja, also das, was am schwierigsten daran ist, ist, dass man sich halt leider auf die Grunddaten nicht so richtig verlassen kann. Also angefangen habe ich zum Beispiel dann mit den Fallzahlen einfach. Aber die Fallzahlen sind natürlich wahnsinnig abhängig davon, wie viel überhaupt getestet wird. Und in Südkorea wurde wahnsinnig viel getestet, in Deutschland wird auch ziemlich viel getestet, in den USA wird kaum getestet bisher.
Ja, und das ändert sich natürlich auch über die Zeit. Das heißt, wenn ich mir teste, finde ich mir Fälle. Das heißt, das ist auch schon für einen Anstieg allein verantwortlich. Da gibt es aber auch nicht wirklich verlässliche Daten, so wie viel da genau jetzt getestet wurde. Und dann ist ein anderer Ansatz zum Beispiel, sich die Todesfallzahlen anzusehen, um da zu denken, okay, die sind wahrscheinlich verlässlicher. Die sind leider auch nicht so genau.
Also, ja, es ist ein sehr, sehr schwieriges Problem, weil die Datenqualität oft nicht wirklich gegeben ist, was natürlich dann die ganzen Vorhersagen da beeinflusst und auch, ja, also, und das allerdings ist natürlich auch eine Chance für diese Modelle, denn das sind alles Sachen, die man damit einbauen kann.
Also zum Beispiel kann ich hingehen und sagen, okay, und das ist das Modell, an dem ich gerade arbeite, ich fange jetzt an mit den Todeszahlen, weil ich denke, dass die am verlässlichsten sind. Und dann weiß ich, ah, okay, also es ist mittlerweile recht gut etabliert, das ist ungefähr ein Prozent, die es bekommen, sterben daran.
Das heißt, das kann ich dann hochrechnen und sagen, okay, also jetzt hatte ich 100 Tote, das heißt, das mal 100 und dann kriege ich die Anzahl der Infizierten, aber nicht die Anzahl der Infizierten an dem Tag, sondern vor zwei Wochen, weil oft dauert es von der Zeit der Infizierung bis zum Tod zwei Wochen.
Und das heißt, das kann ich dann alles in das Modell mit einbauen und sagen, okay, jetzt kann ich da zurückrechnen und dann habe ich also den Wert der Infizierten vor zwei Wochen von den Toten und dann kann ich den vergleichen mit dem, wie viele Fälle, positiv getestete Fälle gab es denn vor zwei Wochen.
Und das sind natürlich wenige, also wir haben ja nicht alle getestet und dann kann ich da so einen Faktor rausfinden zum Beispiel, wie viel Prozent der Fälle, die es denn scheinbar gab, wurden dann überhaupt getestet und das sind dann, ja, also mit diesen Modellen, die man halt da so ganz spezifisch bauen kann und das ist natürlich was, vorhin haben wir über Machine Learning gesprochen, das kann man natürlich absolut nicht damit machen, aber mit Probabilistic Programming kann man diese ganzen Annahmen da halt reinbauen
und das Expertenwissen, was man hat
über zum Beispiel die Growth Rate
oder halt die Sterblichkeit oder wie lange
es dauert, sind halt alles
Annahmen, die man da mit reinstecken kann.
Aber auch jetzt nicht
ganz fix und sagen, okay, es sind exakt zwei
Wochen, sondern sagen, okay, naja, könnte irgendwas
zwischen sieben und
18 Tagen sein. Also so eine Ungenauigkeit
kann man auch in dem
Bereich einsetzen und
das wirkt sich dann natürlich auch darauf aus, auf
die Ungenauigkeiten,
die man aus dem Modell rausbekommt.
Ja, ist ja interessant.
Hast du irgendein Land gefunden, wo du sagst,
dass die Fallzahlen, die du da so rausfindest,
relativ nah an der
Realität sind oder an der Wirklichkeit?
Kann ich noch nicht sagen.
Das ist
eine sehr gute Frage, ja.
Da habe ich noch gar nicht dran gedacht, aber werde ich mir
auf jeden Fall anschauen. Ich würde erwarten,
dass es Südkorea ist, weil die
am meisten getestet haben.
das wäre ein guter Test auf jeden Fall,
das Modell zu sehen, wer da
am genauesten dran ist und wer nicht.
Wenn ich jetzt hier nach
dem Podcast reinschaue,
sind die Modelle wahrscheinlich gerade fertig und dann
kann ich es dir schreiben.
Schicken wir die Shownotes.
Ja, genau. Wir packen das alles da an die Links.
Ja.
Ja, ja, ja, sehr interessant.
Ja, ich weiß nicht, wollen wir noch, haben wir noch
irgendwas, was wir mit diesem
Corona-Geschichte
besprechen wollten.
Ich überlege gerade.
Thomas hat so viele interessante Sachen,
auch über Quanz-Sachen gesagt, die mich noch viel mehr interessieren
als die Corona-Geschichte.
Ja.
Also genau,
ich glaube, zu Corona auf jeden Fall
haben wir, also ich glaube, zu allem haben wir eigentlich recht
gut was,
also alles, was ich, glaube ich, so sagen wollte,
habe ich da gesagt.
Ja.
Aber also wenn ihr noch Sachen habt, die ihr vertiefen wollt.
Das ist für uns der Virus ab jetzt auch offiziell beendet.
Ja, wir erklären das jetzt mal für beendet.
Halt mir die Augen zu und die Ohren zu.
Ja, ansonsten, ich weiß nicht genau.
Aber das ist vielleicht auch noch so ein Ding,
wo es Überschneidungen gibt.
Auch interessant, wie veröffentlicht man eigentlich solche Daten?
Und wie kann man die am besten so,
dass das halt alle lesen können, irgendwie übermitteln und so.
Ja, aber die Notebooks sind doch total super.
Man kann ja relativ einfach das plotten.
Ja, ja, aber die Daten, auf denen das basiert,
ist ja meistens dann irgendwie CSV oder so.
Google Spat Chat.
Ja, also genau, das ist auf jeden Fall echt so ein Ding.
Also Johns Hopkins hat da die Daten aus den WHO-Berichten,
die als PDF da geschickt werden, benutzt.
Und die waren die ersten, die das Dashboard da hatten.
Und dann haben andere Leute angefangen,
diese Daten dann auf GitHub zur Verfügung zu stellen,
als CSV-Dateien.
Und dann kann man sich da halt immer die aktuelle Datei runterladen.
Und das hat eigentlich auch so funktioniert, wie es hätte funktionieren sollen, nämlich die Daten natürlich, klar, hatten alle möglichen Probleme und dann haben Leute da GitHub Issues und Pull Requests gestartet, um dann die Datenprobleme, die es da gab, zu reparieren.
Leider haben die, die das
Report da laufen, dann sind nicht sehr
aktiv, sondern stellen halt die Daten rein
und oft enthalten
die echte Fehler. Und
die werden dann nur sehr schleppend bis gar nicht
da
gefixt. Und
die andere Webseite,
die ich jetzt angefangen habe zu nutzen, ist
European Center for Disease Control,
ECDC, und die
haben deutlich bessere Daten.
Also die Webseite, die ich jedem empfehlen würde,
ist nicht mein Dashboard, sondern
Our World in Data.
Die haben da, finde ich,
mit die besten
Datenquellen und von denen
habe ich das, dass die da umgestiegen
sind auf die Daten von der ECDC.
Die benutze ich jetzt auch und die
sind ein bisschen verlässlicher.
Ah ja, okay.
Ja, sehr cool.
Ja, das ist also, ich meine, auch da,
das ist natürlich wahrscheinlich eine der Geschichten, die man daraus
dann irgendwie lernen sollte, auch in
Europa ist halt so, das ist überhaupt nicht einheitlich,
genau wie diese Daten eigentlich erhoben werden oder
wer da was an wen meldet und so.
Und das ist halt alles überhaupt nicht miteinander vergleichbar.
Aber wenn man
jetzt auch, dass das halt irgendwie aus PDFs,
also ich meine, auch in Deutschland ist das ganz, ganz
krude Geschichten, hört man dann von irgendwie Faxen,
die notergeschickt werden oder
irgendwie werden Leute telefonisch
irgendwie informiert über bestimmte Sachen und dann tragen sie
das halt irgendwo ein oder halt auch nicht oder vergessen das halt auch mal.
Das wird dann ausgedruckt und dann per
Postgeschickten wieder eingescannt?
Ja, also irgendwie, da ist auf jeden Fall
eine Menge Verbesserungspotenzial, offenbar.
Aber...
Da haben ja einige Gruppen an dem Hackathon
dran gearbeitet.
Ja, das gab es ja jetzt.
Auch in Python.
Ich habe tatsächlich so ein bisschen versucht, da Projekte zu finden.
Ich habe jetzt tatsächlich nicht die allercoolsten entdeckt.
Ich habe ein bisschen gecodet, Telegram-Bot
zur Aufklärung und es ging um
Supermärkte. Aber ich habe ehrlich gesagt
eher Leute da getroffen und versucht, so ein bisschen was Sinnvolles
zu tun, aber wirklich viel
kam da, glaube ich, nicht bei raus. Es waren sehr viele Menschen.
Das hat mich ein bisschen gefreut, ein bisschen Hoffnung gegeben.
Ich glaube, über 42.000 Anmeldungen gab es und hinterher über 1.000 Devs, die dann tatsächlich irgendwas gecodet haben.
Das war ganz schön.
Gab es irgendein Projekt, was du besonders cool fandest, woraus du was gewonnen hast?
Ja, es gibt so ein paar Sachen, die tatsächlich sich um Menschen halt irgendwie versuchen zu kümmern und denen halt die Ängste abnehmen
oder vernünftiges Handlingen von den Fragen zu machen, dass die Telefone nicht mehr überlastet werden.
Aber dass da jetzt so richtig das Projekt rausgekommen ist, ich glaube, die brauchen alle noch ein bisschen.
Ja, es dauert halt noch einen Moment, ja, es waren viele Sachen, die vom Ministerium dazu kamen, was man halt als Datenanalyse machen kann, auch für die die Wirtschaft, für kleine Unternehmen irgendwie gute Ideen sind, aber am Wochenende, glaube ich, kann man da noch nicht ganz was Brauchbares bauen.
Aber ich glaube, da entsteht was draus und das war wirklich, glaube ich, ein guter Effekt, der mal wirkliche Digitalisierung in Deutschland gezeigt hat, dass gerade so der Anfang jetzt vielleicht gemacht worden ist, den man die ganze Zeit schon seit 20 Jahren erwartet hat.
Absolut, ja. Das finde ich auch wirklich so das möglicherweise Positive an dieser ganzen Sache ist, dass wir diese ganzen Trends, die da angefangen sind mit Heimarbeit, Homeoffice oder auch Telemedizin, sind alles Sachen, wo man schon Ewigkeiten drüber spricht, aber es ist nie so richtig in die Gänge gekommen. Jetzt ist da eine sehr starke Forcing Function dahinter, dass wir das halt alle machen müssen und dann bewegt sich auch was.
Breitbandausbau, vielleicht werden endlich mal
wieder ein paar Kliniken privatisiert, man weiß es nicht.
Und
ich meine, das sind alles Sachen, die
dann, wenn wir diese
ganze Corona-Geschichte überstanden haben,
hoffentlich auch bestehen bleiben.
Die ganzen Arbeitgeber
haben jetzt Erfahrung damit,
die Ärzte haben Erfahrung damit,
Konferenzen auch zum Beispiel,
viele wurden abgesagt, aber einige sind auch virtuell
geworden. Und das ist auch eine Sache,
die schon immer so gefordert wurde,
Weil es natürlich auch CO2 sehr schlecht für die Umwelt ist,
wenn da 100.000 Leute zu dieser Konferenz fliegen.
Und das kann man viel virtuell machen.
Und das wurde auch nur lange gefordert.
Jetzt wird es tatsächlich umgesetzt, weil es nicht anders geht.
Apropos virtuell, da muss ich einmal kurz einhaken.
Weiß ich nicht, wann wir die Folge veröffentlicht bekommen.
Aber jetzt am Wochenende ist der virtuelle Düsseldorfer Python Sprint,
der sonst immer bei Trivago stattfand, auch
auf virtuelle Ebene verschoben wurden.
Das Python-Camp
auch, also das
in
Deutschland stattfindet.
Ja, und das ist jetzt auch,
das ist noch nicht so richtig klar. Und sogar die EuroPython
auch, auch virtuell. Ach, ernsthaft?
Das habe ich im Blog gelesen, ja. Das habe ich noch gar nicht
mitbekommen, weil, ja, okay, das wäre nämlich,
weil da war, hatte ich ja auch, oder hatten
wir auch überlegt, da hinzugehen.
Ja, also ich hatte schon gebucht, ich habe
schon hinbekommen, aber ja.
Hm, interessant. Ja, aber ich bin auch gespannt, wie das dann jetzt am Wochenende wird. Die ganzen Geschichten müssen sich jetzt halt da erstmal so finden, aber ich bin auch überzeugt, dass das eigentlich im Prinzip kein Problem ist. Es sollte schon gehen.
Es hat halt schon ein paar Vorteile, wenn man die Leute tatsächlich persönlich sehen kann, als nur remote. Ja, das ist natürlich schon auch mal schön, lieber Thomas, aber wir hätten dich natürlich gerne alle begrüßt.
Genau, richtig.
Mit Handschlag und
ja, aber genau, also
ich glaube,
diese ganzen Nachteile gibt es auf jeden Fall,
aber ich würde mich wundern, wenn es da nicht auch
sehr viel Potenzial für innovative Ideen
gibt, wie man das
Nachteil
ausgleichen und Vorteile ausweichen kann.
Ja, und es gab
eine Kegel-Competition gab es noch jetzt
irgendwie neu. Ja, da gab es mehrere.
Ja,
Moment,
Genau, es gab einmal
eine Geschichte.
Genau, da geht es darum, haben sie
einen riesen Datensatz mit Research-Papern
zur Verfügung gestellt und da wird
NLP drauf gemacht.
Auch bei Quantopian sind wir auch
gerade dabei, eine neue Challenge zu starten.
Und
das haben wir immer gemacht mit gewissen
Datensätzen oder so. Jetzt
generiert man Algorithmen auf
den Insider-Daten oder so.
Das, wie wir es jetzt machen wollen, ist ein bisschen eine andere Idee.
Da geht es auch um Covid-19 und den Einfluss davon auf die Wirtschaft und auf die Finanzmärkte.
Und da geht es nicht darum, irgendwelche Algorithmen zu entwickeln,
sondern stattdessen interessante Analysen und Visualisierungen davon zu machen.
Also wer macht die coolste Analyse, wie der Einfluss von Covid-19 auf die Supply Chains ist oder auf die Aktienmärkte?
Das wird nicht so.
Ich zeichne mal mit, dass du so einen Aktienmarkt und dann kommt irgendwie so ein großer Hammer und dann macht es boom.
Ja, genau sowas.
Aber genau, also bis
der Podcast dann raus ist, ist es wahrscheinlich
schon unter Kontra mit Website. Also jeder, der da
Interesse hat, sollte sich das mal
ansehen. Gibt auch einen Preis.
Ah, cool. Ja.
Genau, da sehe ich gerade auch schon,
es gibt eine Forecasting-Competition
auf Karel auch, wo halt die Leute auch schon ihre
Notebooks, da sehe ich auch schon diese
SIR-Modelle und
Leute, die interessante Visualisierungen gemacht
haben. Ich fand das mit dem Preis auf Kantor-Penis aber
deutlich interessanter. Ja, das ist, ja,
genau, das packen wir auf jeden Fall auch mit rein, das
genau.
Ja, nee, sehr schön.
Ja, schreibt uns, wenn ihr irgendwie
ein tolles Projekt habt, wo ihr Unterstützung versucht,
das werden wir natürlich dann in der nächsten Zeit
versuchen zu berücksichtigen. Ja, ich weiß
nicht genau, vielleicht kann man nochmal so ein bisschen allgemein, also
was auch interessant ist, wenn man da auf dem Laufenden bleiben
will, was gerade so passiert, diese
Geschichte, es gibt vom CCC irgendwie
einen
Link-Liste und ein Wiki
und auch ein Bulletin, das sie halt
jeden Tag veröffentlichen mit allen
aus ihrer Sicht irgendwie
wichtigen Entwicklungen und das
ist auch interessant. Also ich meine,
die organisieren sich irgendwie um
so ein Streamer-Channel
oder Gruppe
und das sind irgendwie so 100,
etwas über 100 Leute oder so, die halt alle aus diesem
medizinischen oder Katastrophenschutz-Bereich kommen
und die da auch halt echt
Ahnung von haben und da stehen
auch immer sehr interessante Sachen
Sachen dabei. Also wenn da irgendwas
Neues erschienen
ist, was irgendwie
interessant ist, dann findet man das da eigentlich immer.
Und die machen das halt auch anders. Das ist auch
sowas, was mich irgendwie
in letzter Zeit, also ich hab da jetzt auch so ein bisschen,
naja, ich meine, man konnte dem eigentlich nicht entgehen.
Man hört ja die ganze Zeit von
allen möglichen Richtungen strömt das auf einen ein.
Wenn man so
sich anguckt, was so in Zeitungen
oder eben klassischen journalistischen
Publikationen irgendwie geschrieben wird, was mich
immer so ein bisschen stört, ist, dass oft nicht die Quellen
dabei stehen oder so. Und das machen die
zum Beispiel eben auch anders, dass sie halt immer die Quellen
alle mit verlinken und dass man halt gucken kann, wenn das steht,
wenn das steht halt nicht nur irgendwie, es gibt eine
Studie, die irgendwie das und das sagt, wenn man sich denkt,
okay, zeig mir doch mal die Studie, ich möchte mal gucken,
was haben die denn da wirklich gemacht, dann
ist das da halt auch alles verlinkt und
das ist schon mal sehr praktisch.
Ja, ähm,
hm.
Ja, es gibt leider auch wieder sehr viele
Alternativmedien, die irgendwelchen Schrott erzählen.
Ja, das ist, äh, das ist. Eva Herrmann
sagt, das wäre wie die Grippe.
Ja.
Wie wird man dem her?
Gute Frage. Ja, keine Ahnung.
Ja.
Genau, genau.
Was ich noch,
worauf ich noch hinaus wollte, mit dem,
wie man Daten austauschen kann, also was ich ja persönlich hoffe,
ich habe auch so keine Ahnung, ob das irgendwie jemals passieren wird,
aber das habe ich auch,
die Idee ist ja nicht von mir, sondern das ist halt,
habe ich auch irgendwann mal gehört
und dachte so, also zuerst dachte ich,
ist vielleicht keine tolle Idee, aber dann so
je länger man drüber nachdenkt, desto
irgendwie interessanter sieht das aus, irgendwie
halt als Standard-Datenaustauschformat
für solche Art von Daten halt SQLite
zu etablieren,
weil eben CSV
irgendwie diverse böse Nachteile
hat und man mit SQLite halt
auch sehr schöne Geschichten
bauen kann gerade.
Das Problem mit SQLite ist natürlich, du brauchst immer ein Interface,
mit dem man das beschreiben kann und du hast
halt bei CSV einfach eine offene
Tabelle, wo du einfach in irgendwelche Zellen irgendwas rein
pasten kannst. Und das
kenne ich so für Sikulite
so low-levelig, für
den Privatanwender nicht.
Ja, natürlich. Also wenn du
sozusagen tatsächlich da Daten verändern willst,
dann ist das natürlich
alles sowieso schwierig. Aber
wenn du es jetzt nur irgendwie lesen und auswerten willst,
dann ist vielleicht
Sikulite gar keine so schlechte Idee. Also ich finde die Idee super,
so aus technischer Perspektive. Ich frage mich halt nur, wie
Herr Meier
und Frau Kunze das umsetzen wollen, wenn sie
zu Hause sind. Und
dann ihre
Daten bereitstellen. Also vielleicht sind diese
Menschen, die da arbeiten, ja irgendwie
an der Quelle und haben halt dieses Fax in der Hand
zum Beispiel und müssen halt diese Daten aus dem Fax irgendwo
eintippen. Und man
hat halt vielleicht gar nicht diese Schnittstelle, dieses Interface,
dass das halt direkt in eine zentrale, gute
Datenbank kommt, sondern man
muss halt irgendwie sich so ein
Überträger-Datenformat überlegen, was
halt dann oft
so eine Tabelle ist einfach.
Ja, aber also was man tatsächlich
mit SQL, also mit Data Setter zum Beispiel,
Das ist halt das Projekt, was ich
in dem Zusammenhang, weil es gibt auch zum Beispiel für diese
Covid-Daten jetzt
eine Datasette
irgendwo auf.
Das hatten wir noch ein, zwei Mal schon mal erwähnt,
aber vielleicht erklärst du kurz, was ist das, eine Datasette?
Ja, also
da geht es darum, eben genau
Daten halt
öffentlich machen zu können.
Das ist ein Projekt von, war
jahrelang Side-Project, sozusagen das Haupt-Side-Project
von Simon Willism, ein der
Gründer von Django, von dem Django-Projekt.
Webgeschichte
und der hatte halt auch irgendwie
eine Zeit lang
beim Guardian gearbeitet
und
hatte da halt gesehen, dass es
irgendwie deren Haupt
Datensammlung von jemandem
betreut wurde, der halt irgendwie hunderte von
CSV-Files und Dingen irgendwie
auf seinem Desktop liegen hatte
und halt wusste, was da drin stand.
Aber das ist natürlich nicht so eine gute
Ausgangsbasis, um da irgendwie
Daten dann zu veröffentlichen, also das könnte
man gar nicht so richtig veröffentlichen, weil
wenn man halt nicht weiß, was da überall drinsteht, dann kann man mit
dieser Datensammlung gar nicht so viel anfangen
und hätte dann
überlegt, was man tun kann, um das
irgendwie, ja
auf so einer
Toolbasis irgendwie daran
aufzubereiten und das ist halt
das, was daraus entstanden ist, halt die Tassette
und das ist halt
besteht aus mehreren Teilen, ein Teil ist halt
man wirft irgendwie CSV-Dateien
da rein oder sagt halt auch nur zu
einem Verzeichnis, in dem viele CSV-Dateien
drin liegen, so
werdet mal zu einer SQLite-Datenbank
und
dann wird das mehr oder weniger automatisch
transformiert und wenn es dann eine SQLite-Datenbank
ist, dann
kann man da halt beliebiger
SQL-Anfragen drauf stellen,
weil man kann halt bei SQLite
sagen, das ist auch eine schöne Geschichte,
das ist in der Python-Standard-Bibliothek direkt mit drin.
Das heißt, man muss da nichts installieren
oder so, sobald man einen Python-Interpreter hat, hat man
das dabei und kann
das Read-Only sozusagen aufmachen.
Und er kriegt dann das Schema
dann daraus, was er in den Daten gegeben hat.
Ja, und was Setter-Setter macht, ist, es macht
halt automatisch eine API drumherum.
Sodass du halt auch direkt eine Web-API
hast auf deine
SQLite und sozusagen
du hast jetzt nicht irgendwie GraphQL
mit dem du als Abfragesprache
mit der du das abfragst, sondern du hast halt direkt
SQL und kriegst dann halt JSON oder
CSV zurück.
Und ja, das ist eigentlich
sehr, sehr schick.
Aber ja, es ist natürlich
ja klar, also ich meine...
Also das heißt, man könnte jetzt diese ganzen Repos
auf GitHub, wo die ganzen Datensätze als CSV
drin sind, einfach in irgendeine Datasette kippen
und hätte direkt als SQL die Abfrage.
Ja, nicht nur das, sondern man hat sogar
einmal ein Interface, wo man
SQL hin tun oder reinposten
kann sozusagen und dann kommt halt
irgendwie eine HTML-Tabelle im Browser
zurück oder halt eben CSV oder JSON,
wenn man es als API verwenden möchte und man hat
direkt eine API auf die Datenbank.
und es ist sogar so, dass man das nicht
mal selber husten muss, sondern es gibt dann diverse
Provider, die halt so
Dinge anbieten, wie du kannst dann
das habe ich jetzt gar nicht nochmal genau
nachgeguckt, aber es gibt glaube ich Glitch, mit Glitch geht das
irgendwie oder es gibt halt auch mit
es gibt auch diverse
die einfach so Docker-Container anbieten, die man
wo man halt so ein freies Kontingent
hat an Containern irgendwie
und dann damit kann man das halt auch
hochziehen und sodass man
halt ohne
irgendwie selber da irgendwie
Hosting bezahlen zu müssen,
die CSVs halt als
SQL-Datenbank mit
API irgendwie ins Netz stellen
kann. Und das ist auch mit diesen
John Hopkins-Daten passiert.
Und das fand ich auch schon
sehr interessant. Aber na gut, ich meine, das
fixt natürlich die grundlegenden Datenprobleme
darunter halt dann nicht.
Aber es ist auf jeden Fall
eine ganz
interessante Geschichte, finde ich. Wenn man jetzt zum Beispiel
irgendwie ein Notebook baut, was halt irgendwie
diese Daten verwendet,
dann kann man halt auch direkt, das könnte man direkt
die Datasette, diese
COVID-19-Datasette einfach
verwenden und dann halt die ganzen Daten
über eine API bekommen, ohne dass man da selber
CSVs parsen muss oder so.
Cool.
Ja.
Aber, genau.
Ja, also
Feedback und Anregungen und Fragen und
alle eure Sorgen an hallo.python-podcast.de
Ja.
Thomas, bist du noch da?
Ich bin noch da.
Ja, ich weiß nicht.
Sind wir dann schon durch?
Haben wir noch irgendwas Interessantes?
Haben wir noch irgendwelche Dinge, die ansonsten...
Naja, also News aus der Szene, die ganzen Konferenzen
abgesagt und...
Das ist die eine große Neuigkeit.
Ja, wenn ihr zum Peißenbuch kommen wollt,
der stattfindet, der ist jetzt auch virtuell.
Könnt ihr auf dem Chaosdorf mal gucken, welche Räume es da gibt.
Ja, dann vielen Dank,
dass du heute da warst.
Vielen Dank, weil du ganz viele Dinge erzählt hast.
Ja, vielen Dank
für die Einladung. Es war sehr cool
mit euch zu sprechen.
Wir freuen uns schon, wenn alle wieder gesund sind.
Dann müssen wir es hier mal live wieder vor Ort wiederholen.
Sehr gerne.
In der Nähe. Ist ja gar nicht so weit.
Ja, vielen Dank fürs Zuhören.
Bleibt uns gewogen. Hört wieder rein. Bleibt gesund.
Vor allen Dingen in diesen unruhigen Zeiten.
Hört mal wieder rein. Wir hören uns.
Bis zum nächsten Mal. Tschüss.