WEBVTT

00:00:00.960 --> 00:00:05.640
Ja, hallo liebe Hörerinnen und Hörer. Willkommen bei einem Python-Podcast, mittlerweile in der 19. Episode.

00:00:06.640 --> 00:00:15.160
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,

00:00:15.240 --> 00:00:21.320
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.

00:00:22.040 --> 00:00:29.140
Ja, wir sind tatsächlich alle remote dabei. Ich bin der Dominik, dabei ist natürlich wieder Jochen.

00:00:29.140 --> 00:00:31.260
und wir haben einen Gast, den Thomas.

00:00:32.780 --> 00:00:34.220
Hallo, ja, vielen Dank für die Einladung.

00:00:35.040 --> 00:00:35.820
Ja, schön, dass du da bist.

00:00:36.100 --> 00:00:38.100
Ja, vielleicht sollten wir diesmal auch tatsächlich dazu sagen,

00:00:38.180 --> 00:00:39.880
an welchem Datum, das wollten wir sowieso immer machen,

00:00:39.960 --> 00:00:41.360
aber heute ist es vielleicht besonders relevant,

00:00:41.500 --> 00:00:44.500
das 26. März 2020.

00:00:45.100 --> 00:00:50.040
Also, keine Ahnung, an welchem Punkt irgendwie

00:00:50.040 --> 00:00:52.580
der ganzen Corona-Krise wir uns befinden.

00:00:52.920 --> 00:00:54.480
Vielleicht am Anfang, vielleicht mittendrin, wer weiß.

00:00:55.320 --> 00:00:56.960
Ich hoffe, das ist alles direkt bald vorbei

00:00:56.960 --> 00:00:58.900
und ich mache die Augen zu und will nicht sehen und hören davon.

00:00:59.140 --> 00:01:01.800
naja, ich hoffe, ihr seid alle gesund.

00:01:03.080 --> 00:01:03.200
Ja,

00:01:03.600 --> 00:01:05.560
ich weiß nicht,

00:01:06.120 --> 00:01:07.640
möchtest du dich vielleicht kurz selbst

00:01:07.640 --> 00:01:08.400
vorstellen, Thomas?

00:01:09.360 --> 00:01:11.760
Klar, gerne. Also ich bin der Thomas

00:01:11.760 --> 00:01:12.680
Wiki, ich

00:01:12.680 --> 00:01:15.060
T-Wiki auf Twitter.

00:01:15.900 --> 00:01:17.600
Ich habe in

00:01:17.600 --> 00:01:19.780
Tübingen Bioinformatik studiert und dann da

00:01:19.780 --> 00:01:21.780
am Max-Panck-Institut nebenbei noch so ein paar

00:01:21.780 --> 00:01:23.260
Sachen gemacht und da

00:01:23.260 --> 00:01:25.300
habe ich mich auch angefangen für

00:01:25.300 --> 00:01:26.880
Machine Learning und Statistik zu interessieren.

00:01:28.180 --> 00:01:32.300
Dann bin ich in die USA gegangen und in der Brown University habe ich einen Doktor gemacht.

00:01:33.160 --> 00:01:36.300
Und das war im Bereich von Computational Psychiatry.

00:01:36.780 --> 00:01:39.500
Und da geht es darum, dass man Modelle vom Gehirn baut.

00:01:40.640 --> 00:01:45.240
Und dann an diesen Modellen von Teilen des Gehirns überlegt man sich,

00:01:45.240 --> 00:01:50.100
okay, jetzt weiß ich, wie das in der gesunden Person funktioniert.

00:01:50.560 --> 00:01:53.480
Und dann kann man gewisse Neurotransmitter hoch- oder runterregulieren

00:01:53.480 --> 00:01:55.260
und sehen, okay, wie verändert sich das Verhalten?

00:01:55.880 --> 00:02:01.500
Und stimmt das dann zum Beispiel mit dem, wie man es in Parkinson oder in anderen psychiatrischen Erkrankungen sieht, überein?

00:02:02.940 --> 00:02:04.840
Und darüber habe ich mal eine Zertifizierung geschrieben.

00:02:05.940 --> 00:02:09.480
Während des Doctors und auch schon davor, allerdings war mir immer klar,

00:02:09.480 --> 00:02:13.720
okay, die freie Wissenschaft ist zwar sehr cool, macht viel Spaß,

00:02:14.080 --> 00:02:20.220
aber ein sehr unstetiger und steiniger Karriereweg.

00:02:21.080 --> 00:02:25.120
Und das war dann, wo das aufkam zu dieser Zeit mit dem Griff Data Science.

00:02:25.880 --> 00:02:39.280
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.

00:02:40.500 --> 00:02:53.660
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.

00:02:55.560 --> 00:03:06.700
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.

00:03:07.020 --> 00:03:28.800
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.

00:03:30.340 --> 00:03:37.100
Kannst du das nochmal ganz kurz wiederholen? Ich glaube, wir hatten einen kleinen Knacks in der Verbindung. Deine letzte Station. Das klingt sehr spannend.

00:03:38.600 --> 00:03:53.120
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.

00:03:54.940 --> 00:03:55.440
Okay, cool.

00:03:55.440 --> 00:03:58.440
Ja, cool. Was macht Quantopien denn so?

00:03:59.560 --> 00:04:01.540
Das klingt irgendwie so ein bisschen nach Finanzbranche.

00:04:02.660 --> 00:04:03.480
Quants und so.

00:04:04.220 --> 00:04:05.920
Genau, richtig. Daher kommt auch der Name.

00:04:06.680 --> 00:04:09.460
Und also wir stellen eine Plattform bereit im Internet,

00:04:09.880 --> 00:04:14.820
wo jeder, der möchte und so ein paar rudimentäre Python-Skills hat,

00:04:16.700 --> 00:04:17.980
auf die Plattform kommen kann.

00:04:18.100 --> 00:04:19.880
Und da findet er zum Beispiel einen Jupyter-Notebook,

00:04:20.460 --> 00:04:23.060
wo er direkt, er oder sie,

00:04:25.180 --> 00:04:30.760
alle möglichen Finanzdaten hat und die ganzen Bibliotheken, die man haben möchte und dann kann man da direkt loslegen und

00:04:31.540 --> 00:04:36.160
Analysen machen, wie sich zum Beispiel jetzt die Corona-Krise auf den Aktienmarkt auswirkt.

00:04:37.000 --> 00:04:42.120
Und wenn man dann eine gute Idee hat, dann kann man daraus einen Rhythmus entwickeln, einen Trading-Algorithmus,

00:04:42.580 --> 00:04:44.580
der dann in den Markt

00:04:45.860 --> 00:04:52.060
investiert, was auf gewisse Ziele zurückgeht. Wenn das tatsächlich funktioniert, dann

00:04:53.620 --> 00:05:00.660
kann man die Algorithmus-Plattform zum Beispiel bei unseren Trading-Competitions einreichen

00:05:00.660 --> 00:05:05.240
und Cash-Prize gewinnen oder auch Allokationen.

00:05:05.240 --> 00:05:13.320
Also wir arbeiten mit Asset-Managern zusammen, um dann diese Algorithmen sozusagen zu vermitteln an andere

00:05:13.320 --> 00:05:15.440
und dann wird man da gewinnbeteiligt zum Beispiel.

00:05:16.860 --> 00:05:19.420
Und das andere, was wir auch noch machen, ist diese Finanzplattform,

00:05:19.620 --> 00:05:21.380
diese Research-Plattform, die wir da gebaut haben,

00:05:21.460 --> 00:05:23.640
dann auch noch an Kunden zu vermitteln.

00:05:23.800 --> 00:05:25.460
Also es gibt ja auch ein Enterprise-Business,

00:05:25.620 --> 00:05:27.820
aber die Community-Edition ist kostenlos.

00:05:28.400 --> 00:05:29.720
Und wenn man da rauf geht,

00:05:30.400 --> 00:05:35.600
dann, also die Ergebnisse und das Intellectual Property,

00:05:35.660 --> 00:05:37.780
was man da entwickelt, bleibt auch immer bei den Usern.

00:05:38.520 --> 00:05:43.580
Und da sind unsere Terms of Service sehr genau,

00:05:43.700 --> 00:05:44.780
weil das oft eine Frage ist.

00:05:47.080 --> 00:05:49.200
Ich meine, um da irgendwie Modelle bauen zu können,

00:05:49.260 --> 00:05:51.820
braucht man ja auch irgendwie Zugriff auf eine ganze Menge historische Daten.

00:05:52.240 --> 00:05:53.360
Werden die dann schon angeboten?

00:05:53.460 --> 00:05:56.820
Oder muss man da irgendwie gucken, wo man die herbekommt?

00:05:57.180 --> 00:05:59.040
Ich glaube, ganz lange war irgendwie Yahoo Finance

00:05:59.040 --> 00:06:01.240
irgendwie eine ganz gute Quelle, aber...

00:06:01.240 --> 00:06:02.560
Die Abis sind nicht mehr frei.

00:06:02.820 --> 00:06:03.740
Nee? Ah, okay.

00:06:04.480 --> 00:06:07.780
Ja, also die haben es schwieriger gemacht, die Daten zu kriegen.

00:06:07.780 --> 00:06:10.880
Also ja, das habe ich dann irgendwann aufgegeben.

00:06:11.400 --> 00:06:14.780
Also es gibt eigentlich kaum wirklich gute Datenquellen,

00:06:14.900 --> 00:06:15.700
die kostenlos sind.

00:06:15.980 --> 00:06:18.740
Aber bei uns auf jeden Fall auf der Plattform gibt es die alle.

00:06:19.120 --> 00:06:28.160
Also internationale Equities, Price Volume, alles Mögliche in Minutenauflösung über, ich glaube, die letzten 14 Jahre oder so.

00:06:29.020 --> 00:06:34.180
Und auch eine wichtige Sache ist, dass die Survivorship-Bytes frei sind.

00:06:34.180 --> 00:06:42.300
Also das heißt, wenn eine Firma untergeht, oft werden die dann zum Beispiel über EU Finance nicht mehr aufgelistet.

00:06:43.020 --> 00:06:44.040
Bei uns allerdings schon.

00:06:44.580 --> 00:06:47.700
Und wir haben da sehr viel Arbeit reingesteckt,

00:06:47.760 --> 00:06:49.200
dass die Daten auch wirklich sauber sind

00:06:49.200 --> 00:06:53.100
und dass da, wenn da Splits in dem Stock oder Dividend Payments sind,

00:06:53.720 --> 00:06:55.400
dass das akkurat reflektiert wird.

00:06:56.840 --> 00:06:59.820
Zusätzlich haben wir noch alle möglichen anderen Datenquellen

00:06:59.820 --> 00:07:03.700
wie Estimates, also was Leute glauben,

00:07:04.200 --> 00:07:06.520
wie sich die Earnings entwickeln

00:07:06.520 --> 00:07:10.560
oder Transactions von Leuten,

00:07:10.840 --> 00:07:19.280
gewisse Reglementierung haben. Wenn man bei einer Firma arbeitet, dann darf man nur in

00:07:19.280 --> 00:07:24.880
ganz gewisser Art und Weise diese Firma, für die man arbeitet, traden. Das ist ja klar,

00:07:24.960 --> 00:07:31.000
weil man natürlich Insider-Informationen hat. Und man muss es auch angeben. Und das

00:07:31.000 --> 00:07:35.260
sind auch zum Beispiel Daten, die zur Verfügung sind. Also wir sind die ganze Zeit dabei,

00:07:35.260 --> 00:07:40.660
alle möglichen neuen Datenquellen dazuzufügen. Und das ist auch immer wichtig, denn diese

00:07:40.660 --> 00:07:42.740
Daten ist eigentlich das, worum es geht.

00:07:44.740 --> 00:07:46.860
Wenn man nur Preisdaten hat,

00:07:46.960 --> 00:07:49.200
das gibt es seit 50 Jahren,

00:07:49.440 --> 00:07:50.500
also da ist nichts mehr,

00:07:50.640 --> 00:07:52.280
Alpha nennt sich das, wenn man

00:07:52.280 --> 00:07:54.600
ein Signal hat, was Vorhersagekraft hat,

00:07:55.000 --> 00:07:56.440
was der heilige Kral ist

00:07:56.440 --> 00:07:57.660
in Quant Finance,

00:07:58.960 --> 00:08:01.140
braucht man immer diese neuen Datenquellen

00:08:01.140 --> 00:08:02.560
und das ist immer so ein Wettrüsten zwischen

00:08:02.560 --> 00:08:04.360
den verschiedenen Hedgefonds.

00:08:04.800 --> 00:08:06.460
Wer kriegt die neuesten Daten,

00:08:06.460 --> 00:08:08.560
die noch das

00:08:08.560 --> 00:08:09.640
am besten vorhersagen?

00:08:10.660 --> 00:08:19.060
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?

00:08:21.240 --> 00:08:33.700
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.

00:08:33.700 --> 00:09:03.280
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.

00:09:03.700 --> 00:09:19.200
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.

00:09:19.320 --> 00:09:21.200
Gut, also läuft alles auf dem Jupyter-Notebook dann bei euch?

00:09:22.120 --> 00:09:46.280
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.

00:09:47.280 --> 00:10:13.680
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.

00:10:16.260 --> 00:10:18.400
Kannst du was dazu sagen, wie das genau funktioniert

00:10:18.400 --> 00:10:20.460
oder wo man da aufpassen muss, was man da macht?

00:10:21.200 --> 00:10:23.140
Ja, also aufpassen muss man auf jeden Fall.

00:10:24.040 --> 00:10:26.240
Das größte Risiko ist immer Overfitting

00:10:26.240 --> 00:10:29.820
und das ist sehr, sehr schwer, das nicht zu machen.

00:10:30.300 --> 00:10:33.060
Also dadurch, dass wir uns die Algorithmen anschauen,

00:10:33.140 --> 00:10:34.400
also wir schauen uns nicht mehr den Code an,

00:10:34.600 --> 00:10:36.160
aber wir schauen uns die Ergebnisse an,

00:10:36.260 --> 00:10:38.720
also wie viel Profit haben die deklariert

00:10:38.720 --> 00:10:42.360
und wie viele Positionen traden die

00:10:42.360 --> 00:10:45.880
und den Output von den Algorithmen schauen wir uns an.

00:10:46.260 --> 00:11:09.220
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.

00:11:10.800 --> 00:11:21.860
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.

00:11:21.860 --> 00:11:38.720
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.

00:11:39.680 --> 00:11:46.220
Und da gibt es verschiedene Ansätze, zum Beispiel eine Sache, die ich recht elegant finde,

00:11:46.220 --> 00:11:56.260
ist, dass man die geraden und die ungeraden Quarte, also Business Quarte, Vierteljahre immer austauscht.

00:11:56.500 --> 00:12:04.220
Also man trainiert nur auf den geraden Quartern, also 1. und 3. und dann 2. und 4. benutzt man zu testen.

00:12:05.140 --> 00:12:12.340
Denn das, was immer die riesige Schwierigkeit ist bei allem, was Quant Finance ist, ist es nicht stationär.

00:12:13.000 --> 00:12:19.020
Also das heißt, der Markt ändert sich permanent und irgendwas, was damals funktioniert hat, funktioniert dann vielleicht nicht mehr.

00:12:19.560 --> 00:12:21.580
Aber vielleicht fängt es auch wieder an zu funktionieren.

00:12:21.980 --> 00:12:24.060
Also man weiß nie so genau, was da Sache ist.

00:12:24.060 --> 00:12:26.220
Das klingt so ein bisschen schwierig, wenn man so Quartale rausnimmt.

00:12:26.480 --> 00:12:30.740
Ich stelle mir jetzt vor, es gibt Saisongeschäfte oder sowas und die würde man ja dann verlieren.

00:12:30.880 --> 00:12:33.940
Also dann würde ich fast lieber das ungerade Jahr rausnehmen oder so

00:12:33.940 --> 00:12:35.320
und dann alle zwei Jahre gucken.

00:12:36.460 --> 00:12:40.180
Ja, also es gibt da wenig, was wirklich perfekt ist.

00:12:40.600 --> 00:12:46.020
Bei Jahren zum Beispiel hat man 2009, was natürlich ein besonderes Jahr ist.

00:12:47.700 --> 00:12:52.120
Also ja, also das mit den Quartalen zum Beispiel, die kann man dann auch randomisieren,

00:12:52.280 --> 00:12:53.900
also dass man vielleicht nicht nur die geraden und ungeraden nimmt,

00:12:53.900 --> 00:12:55.240
sondern das randomisiert.

00:12:56.860 --> 00:13:21.380
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.

00:13:21.380 --> 00:13:32.100
Also, ja, gibt verschiedene Philosophien und leider keine, die so richtig zufriedenstellend ist, hat so alles seine Vor- und Nachteile.

00:13:36.100 --> 00:13:43.400
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.

00:13:46.180 --> 00:13:48.820
Ich glaube, der ist eher auf Covid-19 zurückzuführen.

00:13:48.980 --> 00:13:51.380
Ja, aber in der Kombination und in der Härte.

00:13:51.560 --> 00:13:53.160
Also da ist vielleicht auch was dran,

00:13:53.240 --> 00:13:54.520
weil die halt dann alle stumpf sagen,

00:13:54.640 --> 00:13:57.060
okay, jetzt raus, raus, raus, verkaufe.

00:13:58.560 --> 00:14:00.840
Also das ist auf jeden Fall so,

00:14:00.840 --> 00:14:04.520
dass Hedgefonds und Quantfonds da auf jeden Fall

00:14:04.520 --> 00:14:06.960
ihr Risiko minimiert haben und rausgegangen sind.

00:14:07.100 --> 00:14:09.540
Aber das haben die gemacht, so wie jeder andere auch.

00:14:10.380 --> 00:14:11.500
Gerade die großen Anleger,

00:14:11.580 --> 00:14:13.920
die gehen wahrscheinlich früher raus noch als vielleicht Private,

00:14:14.400 --> 00:14:15.740
weil die halt ihr Stop-Loss dann irgendwann haben

00:14:15.740 --> 00:14:17.180
und sagen, nee, jetzt muss weg.

00:14:18.380 --> 00:14:30.060
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.

00:14:30.060 --> 00:14:45.160
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.

00:14:45.560 --> 00:14:47.100
Das kann man nicht von heute auf morgen

00:14:47.100 --> 00:14:51.000
in einem absoluten panischen Markt direkt abstoßen.

00:14:51.760 --> 00:14:56.000
Das ist so ein bisschen, also die sind da sehr viel langsamer

00:14:56.000 --> 00:15:00.280
und natürlich auch, wir gehen jetzt auch nicht einfach so im Cash.

00:15:00.280 --> 00:15:03.180
Also die machen natürlich trotzdem weiter,

00:15:03.600 --> 00:15:07.220
aber es ist, ja, also das Risiko wird minimiert

00:15:07.220 --> 00:15:10.860
und das hat dann immer diese Feedback-Effekte.

00:15:11.000 --> 00:15:14.880
Also die Ersten fangen an und dann werden die Stop-Losses bei,

00:15:15.560 --> 00:15:17.660
den nächsten getribbt und die

00:15:17.660 --> 00:15:19.600
verkaufen dann sehr rapide und

00:15:19.600 --> 00:15:21.540
das triggert dann weitere Stop-Losses

00:15:21.540 --> 00:15:23.040
und ja, also

00:15:23.040 --> 00:15:25.540
das sind so Schneeball-Effekte, die da ganz leicht entstehen.

00:15:27.700 --> 00:15:29.420
Interessant, also da könnte man auch irgendwie

00:15:29.420 --> 00:15:31.460
einen Algorand ansetzen, der es vielleicht

00:15:31.460 --> 00:15:33.060
erkennt oder so, so ein Muster an diesen Losses.

00:15:34.220 --> 00:15:35.440
Ja, durchaus, also

00:15:35.440 --> 00:15:37.040
wird auch gemacht.

00:15:37.760 --> 00:15:39.480
Wir sind jetzt allerdings gerade aber

00:15:39.480 --> 00:15:40.580
natürlich echt in einem

00:15:40.580 --> 00:15:43.520
Marktregime oder einfach auch

00:15:43.520 --> 00:15:45.480
allgemein in einer Weltsituation, die wir

00:15:45.480 --> 00:15:46.360
so noch hatten.

00:15:46.740 --> 00:15:49.420
Das ist ja ein komplett irrationales Verhalten, das hast du herzulagen, glaube ich.

00:15:49.500 --> 00:15:51.160
Das ist sehr, sehr tough.

00:15:51.620 --> 00:15:52.820
Also ob das überhaupt geht, ist halt die Frage.

00:15:53.220 --> 00:15:55.380
Glasuhl, Reibeln und...

00:15:55.380 --> 00:15:57.440
Ja, also irrationales wird sich

00:15:57.440 --> 00:15:58.180
herausstellen,

00:15:58.640 --> 00:16:01.460
denn ich meine, die Effekte

00:16:01.460 --> 00:16:03.440
auf die Weltwirtschaft sind natürlich

00:16:03.440 --> 00:16:05.560
schon jetzt schon massiv und

00:16:05.560 --> 00:16:07.540
werden wahrscheinlich

00:16:07.540 --> 00:16:08.980
nur noch viel stärker werden.

00:16:09.200 --> 00:16:10.800
Also es ist echt eine sehr

00:16:10.800 --> 00:16:13.420
neue Art der Situation und diese ganzen

00:16:13.420 --> 00:16:14.920
Anlagestrategien

00:16:15.660 --> 00:16:16.780
wie wir schon gerade besprochen haben,

00:16:17.200 --> 00:16:19.380
haben natürlich schon immer so die Annahme mit eingebaut,

00:16:19.380 --> 00:16:22.520
dass sich die Geschichte zum gewissen Teil schon wiederholt.

00:16:22.940 --> 00:16:25.000
Aber das ist jetzt halt im Moment gerade nicht so.

00:16:25.200 --> 00:16:29.800
Und da sind die genauso von überrascht wie alle anderen auch.

00:16:29.920 --> 00:16:32.460
Also ich habe relativ interessante Artikel dazu gelesen,

00:16:32.520 --> 00:16:35.020
was dann die Zentralbanken machen könnten, um zu reagieren

00:16:35.020 --> 00:16:37.440
und wie man halt das dagegen wirken könnte.

00:16:37.560 --> 00:16:40.120
Und da kommen einige spannende Effekte bei raus.

00:16:40.300 --> 00:16:42.840
Von Deflation über mehrere Inflationen in Folge angefangen

00:16:42.840 --> 00:16:44.760
und die man dann halt mit Geld bewerfen kann.

00:16:44.920 --> 00:17:11.140
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.

00:17:11.140 --> 00:17:20.140
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.

00:17:20.360 --> 00:17:34.160
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.

00:17:34.440 --> 00:17:39.620
Also das ist schon eigentlich so mit der einzige Hebel, den die wirklich haben.

00:17:39.800 --> 00:17:41.900
Ich habe gehört, um minus 6% ist das neue Ziel.

00:17:43.540 --> 00:17:43.740
Ja,

00:17:43.940 --> 00:17:44.500
so ungefähr.

00:17:45.940 --> 00:17:48.060
Also in der EU zum Beispiel müssen wir

00:17:48.060 --> 00:17:49.980
das was machen, denn die EZB war ja schon

00:17:49.980 --> 00:17:50.500
immer bei null.

00:17:51.400 --> 00:17:54.120
Da ist kaum noch

00:17:54.120 --> 00:17:55.120
Spielraum überhaupt vorhanden,

00:17:55.280 --> 00:17:57.380
diesen Hebel zu benutzen.

00:17:58.820 --> 00:18:02.180
Und das, was ich auch denke,

00:18:02.420 --> 00:18:03.420
ist, dass es natürlich

00:18:03.420 --> 00:18:05.060
ein anderes Problem ist.

00:18:05.400 --> 00:18:07.700
Es ist halt jetzt nicht wie 2009, wo es

00:18:07.700 --> 00:18:09.780
ein Problem in der Finanzbranche

00:18:09.780 --> 00:18:11.780
war, was sich dann ausgebreitet

00:18:11.780 --> 00:18:12.420
hat und andere

00:18:12.420 --> 00:18:15.020
gemacht hat, aber wo die

00:18:15.020 --> 00:18:17.540
Weltwirtschaft trotzdem ja noch

00:18:17.540 --> 00:18:20.040
funktioniert hat, sondern es war halt einfach so ein

00:18:20.040 --> 00:18:21.640
ja auch so ein Schneeball-Effekt, der

00:18:21.640 --> 00:18:23.700
sich da dann ausgebreitet hat, aber im Moment

00:18:23.700 --> 00:18:25.020
steht die Weltwirtschaft dann einfach

00:18:25.020 --> 00:18:27.320
auf Angebot und Nachfrage-Seite,

00:18:27.420 --> 00:18:28.420
das gleichzeitig und

00:18:28.420 --> 00:18:31.620
egal wie viel Geld man druckt,

00:18:32.460 --> 00:18:33.120
das wird

00:18:33.120 --> 00:18:35.480
allein die Wirtschaft nicht wieder ankurbeln,

00:18:35.540 --> 00:18:37.000
wenn alle zu Hause bleiben müssen.

00:18:37.700 --> 00:18:52.400
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.

00:18:52.420 --> 00:18:58.280
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.

00:18:58.320 --> 00:19:19.880
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.

00:19:20.080 --> 00:19:26.760
Und das könnte ja politisch desaströse Konsequenzen haben, wenn diese Geschichte wirtschaftlich funktioniert.

00:19:26.900 --> 00:19:30.600
Aber ob die wirtschaftlich funktioniert oder nicht, hängt ja jetzt von ganz vielen komischen Dingen ab.

00:19:31.100 --> 00:19:35.280
Wie zum Beispiel könnte es sein, dass es in einer Pandemie eine gute Idee ist, wenn man auf einer Insel lebt.

00:19:35.340 --> 00:19:38.440
Das kann ja sein. Das hat jetzt gar nichts mit der Brexit-Geschichte zu tun.

00:19:38.760 --> 00:19:45.940
Aber wenn das jetzt irgendwie dazu führt, dass die wirtschaftliche Situation in Großbritannien irgendwie deutlich besser ist als anderswo in Europa,

00:19:46.600 --> 00:19:48.300
dann hat das halt politische Konsequenzen

00:19:48.300 --> 00:19:50.240
für alle anderen, die unter Umständen

00:19:50.240 --> 00:19:52.120
sehr unangenehm werden. Es kann aber auch andersrum

00:19:52.120 --> 00:19:53.120
ausgehen, das weiß einfach keiner.

00:19:55.240 --> 00:19:56.240
Es gab

00:19:56.240 --> 00:19:58.140
einen Artikel von Taiwanesen, die auch gesagt haben,

00:19:58.240 --> 00:20:00.060
ja, also Großbritannien ist ja eigentlich auf einer Insel, die müssen das

00:20:00.060 --> 00:20:02.240
ähnlich machen wie wir und dann wären die von dem Virus relativ geschützt

00:20:02.240 --> 00:20:03.720
und haben gesagt so, ähm, nee.

00:20:04.540 --> 00:20:05.980
Das hat nicht funktioniert und naja,

00:20:06.080 --> 00:20:07.700
von daher, wir werden sehen.

00:20:07.960 --> 00:20:09.880
Die hatten da durchaus ihre eigene Ernährungsweise, ja.

00:20:10.220 --> 00:20:11.920
Aber vielleicht gehen wir nochmal zu dem Ganzen zurück,

00:20:11.980 --> 00:20:14.220
das ist alles sehr spannend, aber wie macht man das denn in Python?

00:20:14.460 --> 00:20:16.000
Also diese ganzen Quant-Sachen,

00:20:16.600 --> 00:20:18.120
die du da eben beschrieben hast, die total spannend sind.

00:20:18.180 --> 00:20:19.200
Was würdest du dann da machen?

00:20:19.340 --> 00:20:20.720
Und vielleicht kannst du gerade den Hörern

00:20:20.720 --> 00:20:22.660
so ein bisschen detaillierter erklären,

00:20:22.840 --> 00:20:23.960
also wie man damit so anfangen würde

00:20:23.960 --> 00:20:25.840
und welche Bibliothek man vielleicht benutzt

00:20:25.840 --> 00:20:27.820
und wie das Schema wäre und die Struktur,

00:20:27.960 --> 00:20:29.460
um das so ein bisschen aufzubauen.

00:20:31.200 --> 00:20:35.900
Also oft fangen Leute so ganz simpel an,

00:20:36.040 --> 00:20:38.080
zum Beispiel, also der Klassiker,

00:20:38.240 --> 00:20:39.400
und das funktioniert schon längst nicht mehr,

00:20:39.520 --> 00:20:41.820
aber ist so ein Dual Moving Average.

00:20:42.500 --> 00:20:42.920
Und da ist...

00:20:42.920 --> 00:20:43.480
Entschuldigung, bitte was?

00:20:44.420 --> 00:20:45.940
Dual Moving Average.

00:20:46.140 --> 00:20:50.200
Also ein doppelter gleitender Durchschnitt?

00:20:51.100 --> 00:20:55.220
Ja, genau. Also ein Durchschnitt, den man berechnet über zum Beispiel jetzt den Preis.

00:20:55.360 --> 00:21:00.660
Also ich sage, okay, ich nehme immer den durchschnittlichen Preis der letzten zehn Tage

00:21:00.660 --> 00:21:03.740
und vergleiche das mit dem durchschnittlichen Preis in 100 Tagen.

00:21:04.540 --> 00:21:10.460
Also das heißt, das eine ist was, was sich sehr schnell anpasst an die aktuelle Preisentwicklung

00:21:10.460 --> 00:21:12.180
und das andere ist mehr so ein Langzeittrend.

00:21:12.840 --> 00:21:15.320
Und dann kann ich zum Beispiel sagen, okay, also wenn der Kurzzeittrend,

00:21:15.320 --> 00:21:20.560
also die 10 Tage, den Langzeittrend durchbrechen,

00:21:20.740 --> 00:21:22.460
also höher werden von unten,

00:21:22.620 --> 00:21:25.060
dann glaube ich, ah, okay, das ist Momentum,

00:21:25.240 --> 00:21:26.660
also der Stock geht wohl gerade nach oben.

00:21:27.800 --> 00:21:30.040
Und dann glaube ich, dass der auch noch weiter nach oben geht.

00:21:30.140 --> 00:21:31.640
Das heißt, das ist dann, wann ich einkaufen möchte.

00:21:32.280 --> 00:21:36.180
Und wenn dann diese Linie mit dem 10-Tage-Moving-Average

00:21:36.180 --> 00:21:38.460
wieder von der anderen Seite kommt,

00:21:38.520 --> 00:21:39.880
dann denke ich, ah, okay, jetzt ist der Trend,

00:21:40.300 --> 00:21:42.460
wo das Momentum von dem Stock nach unten geht

00:21:42.460 --> 00:21:44.780
und dann möchte ich das verkaufen.

00:21:45.320 --> 00:21:53.120
Das kann man auf Einzelhandel anwenden und so fangen viele Leute an, aber in Hedge-Funds

00:21:53.120 --> 00:21:58.940
ist es oft so, dass man dann ganz viele Stocks traden möchte, also wie im Casino, also wenn

00:21:58.940 --> 00:22:06.480
man jetzt 51% Winschancen hat oder auch nur deutlich weniger, möchte man einfach ganz

00:22:06.480 --> 00:22:07.840
Bets machen, um

00:22:07.840 --> 00:22:10.100
irgendwann halt über den Mittelwert,

00:22:10.380 --> 00:22:12.420
das Law of Large Numbers,

00:22:13.240 --> 00:22:13.620
die

00:22:13.620 --> 00:22:16.380
Edge da kriegen,

00:22:16.580 --> 00:22:18.740
aus dem ganz kleinen

00:22:18.740 --> 00:22:22.040
Vorhersagekraft, die man da hat.

00:22:23.320 --> 00:22:23.900
Und deswegen

00:22:23.900 --> 00:22:26.500
macht man dann Strategien, die halt

00:22:26.500 --> 00:22:28.600
nicht nur einen Stock, sondern tausend Stocks

00:22:28.600 --> 00:22:30.640
oder zweitausend Stocks

00:22:30.640 --> 00:22:32.320
traden. Und

00:22:32.320 --> 00:22:34.340
die gleiche Logik, die ich gerade beschrieben habe, kann man

00:22:34.340 --> 00:22:36.220
natürlich auch nicht nur auf einen Stock anwenden,

00:22:36.340 --> 00:22:37.920
sondern auf all diese gleichzeitig.

00:22:38.080 --> 00:22:44.820
Also da würde ich dann einfach sagen, okay, wenn jetzt diese 2000 Stocks,

00:22:44.820 --> 00:22:48.360
die ich mir da rausgesucht habe, davon gehen manche gerade nach oben,

00:22:48.480 --> 00:22:51.200
also haben Abwärtsmomentum und andere nach unten, die haben Downward-Momentum.

00:22:52.480 --> 00:22:55.400
Und dann kann ich zum Beispiel hingehen und sagen, okay, also die,

00:22:55.640 --> 00:22:59.240
die gerade nach oben gehen, die möchte ich gerne nach unten und die,

00:22:59.240 --> 00:23:01.800
die nach unten gehen, die möchte ich gerne verkaufen sozusagen.

00:23:01.800 --> 00:23:25.140
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.

00:23:26.360 --> 00:23:43.780
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.

00:23:43.780 --> 00:24:10.700
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.

00:24:10.700 --> 00:24:17.920
Das ist so eine sehr klassische, aber dennoch moderne Quant-Strategie.

00:24:19.280 --> 00:24:21.800
Also dieses Long-Short ist ganz klassisch

00:24:21.800 --> 00:24:24.220
und dass man das auf ganz vielen Aktien anwendet.

00:24:28.360 --> 00:24:31.380
Wenn ich jetzt versuchen, also im Grunde geht es darum,

00:24:31.600 --> 00:24:33.360
dass ich sagen können möchte,

00:24:33.520 --> 00:24:37.180
ob jetzt morgen irgendwie eine Aktie hoch oder runter geht,

00:24:37.300 --> 00:24:38.800
so mehr oder weniger, oder für einen bestimmten Zeitraum.

00:24:39.220 --> 00:24:48.140
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?

00:24:49.520 --> 00:25:17.000
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,

00:25:17.000 --> 00:25:19.380
sind dann auf der Long-Seite

00:25:19.380 --> 00:25:21.300
und 50% sind auf der Short-Seite

00:25:21.300 --> 00:25:22.420
und

00:25:22.420 --> 00:25:24.900
da geht es dann darum, wie

00:25:24.900 --> 00:25:27.120
in welcher Form,

00:25:27.240 --> 00:25:29.220
also wie sortiere ich die so,

00:25:29.680 --> 00:25:29.920
dass

00:25:29.920 --> 00:25:33.200
die, die ich natürlich

00:25:33.200 --> 00:25:34.940
Short habe, sollen abstürzen, denn dann

00:25:34.940 --> 00:25:36.980
verdiene ich Geld und die, die ich auf der Long-Seite habe,

00:25:37.220 --> 00:25:39.200
sollen nach oben gehen und dann verdiene ich Geld.

00:25:39.200 --> 00:25:41.180
Aber ich verdiene wirklich nur Geld

00:25:41.180 --> 00:25:43.200
immer auf den relativen Unterschied

00:25:43.200 --> 00:25:44.980
zwischen denen und nicht

00:25:44.980 --> 00:25:46.820
zu dem, was der Markt macht. Also man

00:25:46.820 --> 00:26:11.500
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.

00:26:12.360 --> 00:26:15.680
Allerdings sind auch die Hedgefonds davon sehr stark betroffen gewesen.

00:26:16.280 --> 00:26:18.320
Allerdings aber auch nicht so stark wie jetzt der Markt.

00:26:18.460 --> 00:26:20.540
Also das funktioniert schon, aber es ist auch nicht so,

00:26:20.580 --> 00:26:22.660
dass man dann sagt, okay, da ist man komplett immun

00:26:22.660 --> 00:26:25.280
gegen solch starke Events.

00:26:25.420 --> 00:26:27.300
Also das hat einen Einfluss auf jeden.

00:26:28.620 --> 00:26:30.300
Ja, da kann man natürlich auch nicht so viel gewinnen,

00:26:30.300 --> 00:26:32.900
als wenn jetzt Leute auf gute Einzelpositionen setzen würden,

00:26:33.060 --> 00:26:35.900
die sich damit ganz besonders toll auskennen oder so.

00:26:36.440 --> 00:26:38.680
Die können natürlich den Markt deutlich mehr outperformen

00:26:38.680 --> 00:26:40.760
als jemand, der so einen Mittelwert dann bildet.

00:26:42.140 --> 00:26:44.020
Also zumindest theoretisch, ihr könnt natürlich auch mehr verlieren.

00:26:45.820 --> 00:26:47.860
Ja, also es gibt da alle möglichen

00:26:47.860 --> 00:26:50.340
verschiedenen Ansätze, also der Quant-Ansatz ist auf jeden Fall

00:26:50.340 --> 00:26:52.380
diese statistischen Signale

00:26:52.380 --> 00:26:53.980
zu finden und die dann auf

00:26:53.980 --> 00:26:55.780
sehr großen Portfolios anzulegen,

00:26:56.400 --> 00:26:57.640
aber natürlich gibt es auch die

00:26:57.640 --> 00:26:59.680
Discretionary, also die, die

00:26:59.680 --> 00:27:01.960
wirklich einzelne Firmen dann

00:27:01.960 --> 00:27:04.300
sich sehr im Detail anschauen

00:27:04.300 --> 00:27:06.160
und da wirklich Analysen machen und dann

00:27:06.160 --> 00:27:07.520
sagen, okay, also ich weiß, dass jetzt

00:27:07.520 --> 00:27:09.940
Apple möglicherweise halt irgendwas

00:27:09.940 --> 00:27:11.580
in einem coolen neuen Produkt rauskommt

00:27:11.580 --> 00:27:14.520
Und deswegen werde ich so alles auf Rot setzen.

00:27:16.180 --> 00:27:18.460
Also das sind ganz unterschiedliche Anlagen.

00:27:18.640 --> 00:27:20.840
Also hier habe ich jetzt wirklich nur den Quant-Ansatz beschrieben.

00:27:22.440 --> 00:27:24.300
Aber ist das, ich meine, ich würde jetzt,

00:27:24.520 --> 00:27:28.140
wie gesagt, ich mache ja normalerweise so andere Data Science Machine Learning Modelle.

00:27:28.440 --> 00:27:34.080
Ich würde jetzt denken, wenn man irgendwie Kurs vorhersagen möchte,

00:27:34.400 --> 00:27:36.120
also das Allersimpelste, was mir jetzt einfallen würde,

00:27:36.220 --> 00:27:38.220
wäre, ich mache einfach lineare Regressionen oder so.

00:27:38.220 --> 00:27:41.100
Ich nehme einfach, weiß ich nicht, den Aktienkurs von gestern,

00:27:41.240 --> 00:27:42.820
von vor einer Woche, vor einem Monat oder sowas

00:27:42.820 --> 00:27:44.680
und habe halt irgendein Jahresmodell,

00:27:44.800 --> 00:27:46.980
was halt dann mir den für morgen halt vorhersagt.

00:27:48.840 --> 00:27:51.640
Also das ist auch ziemlich nah dran eigentlich,

00:27:51.720 --> 00:27:52.800
wie es oft gemacht wird.

00:27:53.680 --> 00:27:56.540
Und dann, so wie du jetzt angefangen hast,

00:27:56.600 --> 00:27:58.300
zu sagen, okay, also ich nehme jetzt den Aktienkurs

00:27:58.300 --> 00:28:00.880
von vor einer Woche und das ist dann das erste Feature.

00:28:01.180 --> 00:28:02.260
Und dann kann ich auch noch sagen, okay,

00:28:02.360 --> 00:28:04.960
vielleicht nehme ich auch das Volumen oder so vor einer Woche.

00:28:05.660 --> 00:28:08.260
Und dann nehme ich noch das Twitter Sentiment,

00:28:08.420 --> 00:28:11.240
Also was haben Leute auf Twitter über diesen Stock geschrieben?

00:28:12.240 --> 00:28:13.440
Und das ist dann mein drittes Feature.

00:28:14.020 --> 00:28:16.780
Und dann sozusagen so fange ich dann an, immer mehr und mehr.

00:28:16.960 --> 00:28:21.460
Und dann werden es Tausende von Signalen, die man hat,

00:28:21.460 --> 00:28:24.480
und dann oft lineare Aggressionen.

00:28:24.840 --> 00:28:26.480
Die funktionieren erstaunlich gut.

00:28:26.640 --> 00:28:28.720
Also jeder sagt immer, er macht da super fancy Machine Learning.

00:28:29.140 --> 00:28:34.360
Aber 80 bis 90 Prozent sind schon noch lineare Aggressionen,

00:28:34.420 --> 00:28:35.460
weil die einfach so robust sind.

00:28:35.680 --> 00:28:37.900
Also das ist immer das große Problem bei Quant Finance,

00:28:38.080 --> 00:28:42.780
das Rauschen in den Daten ist so massiv und das Signal ist so klein,

00:28:43.240 --> 00:28:47.740
dass wenn man da sehr fancy Methoden macht,

00:28:48.220 --> 00:28:52.140
dann ist das immer der Nachteil, dass die halt nicht so robust sind.

00:28:52.140 --> 00:28:58.200
Deswegen sind lineare Modelle da sehr mächtig.

00:29:03.620 --> 00:29:06.760
Welche Bibliotheken benutzt man denn da so?

00:29:07.260 --> 00:29:10.940
Ich glaube, ich habe einmal so ein bisschen was mit Zeit reingemacht.

00:29:11.020 --> 00:29:11.920
Das ist jetzt auch schon wieder ein bisschen was her.

00:29:12.220 --> 00:29:15.200
Da hatte mich auch so erstaunt, dass das Interface ganz anders ist.

00:29:15.240 --> 00:29:18.100
Weil normalerweise mache ich immer so Sachen mit Cycad Learn oder so.

00:29:18.160 --> 00:29:20.040
Oder Interfaces zumindest, die so ähnlich aussehen.

00:29:20.680 --> 00:29:23.700
Und das war dann Stats Models irgendwie.

00:29:24.040 --> 00:29:27.300
So Arima, Sarima Modelle.

00:29:27.960 --> 00:29:29.660
Und die sahen halt alle schon so ein bisschen anders aus.

00:29:29.660 --> 00:29:31.220
Ich weiß gar nicht, ist das das, was man dann auch...

00:29:31.220 --> 00:29:33.340
Jetzt musst du kurz erklären, was ist Arima, was ist Sarima?

00:29:33.760 --> 00:29:35.760
Oh je, genau, Thomas erklärt es besser.

00:29:37.260 --> 00:29:41.040
Ja, also das sind so klassische statistische Modelle.

00:29:42.020 --> 00:29:46.020
ARMA steht für Auto-Regressive, also AR, Auto-Regressive,

00:29:46.400 --> 00:29:47.560
AR für Moving Average.

00:29:48.120 --> 00:29:50.960
Und das heißt einfach, dass ich mir anschaue,

00:29:50.960 --> 00:29:55.120
okay, wie war denn der Wert vor zehn Tagen

00:29:55.120 --> 00:29:57.480
und wie ist der Moving Average?

00:29:57.700 --> 00:30:01.640
Also einfach so ein ganz klassisches statistisches Zeitreinmodell.

00:30:02.880 --> 00:30:07.080
Und die werden unter anderem von Stats Models der Python-Bibliothek unterstützt.

00:30:07.260 --> 00:30:34.160
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,

00:30:34.160 --> 00:30:38.460
wo man ja eben keine Zeit rein in der Regel hat.

00:30:39.020 --> 00:30:41.100
Also so wie man es oft macht,

00:30:41.180 --> 00:30:44.820
ist es einfach, dass man die Zeit eigentlich so ignoriert

00:30:44.820 --> 00:30:46.960
und sagt, okay, also ich habe halt einfach Features

00:30:46.960 --> 00:30:49.220
und so ein, also es nennt sich dann Walk Forward,

00:30:49.980 --> 00:30:53.840
dass man sagt, okay, jetzt habe ich irgendwie Daten von 2017,

00:30:54.520 --> 00:30:55.260
auf denen trainiere ich,

00:30:55.620 --> 00:30:59.440
dann habe ich Vorhersagen und teste dann das Modell

00:30:59.440 --> 00:31:02.180
und jeden Tag mache ich neue Vorhersagen für 2018

00:31:02.180 --> 00:31:04.640
und dann, wenn ich 2018

00:31:04.640 --> 00:31:06.060
getestet habe, dann

00:31:06.060 --> 00:31:08.880
die Training-Daten, die 2018

00:31:08.880 --> 00:31:10.520
und 2017 und sage

00:31:10.520 --> 00:31:12.580
für 2019 vorher. Und dann gehe ich halt

00:31:12.580 --> 00:31:14.540
immer so Schritt für Schritt in der Zeit

00:31:14.540 --> 00:31:15.840
nach vorne und

00:31:15.840 --> 00:31:18.800
retraine immer mein Scikit-Learn-Modell.

00:31:19.480 --> 00:31:20.820
Und Scikit-Learn ist auf jeden Fall

00:31:20.820 --> 00:31:21.640
das, was auch

00:31:21.640 --> 00:31:24.480
sehr häufig eingesetzt wird, einfach

00:31:24.480 --> 00:31:26.520
weil es wie bei dem anderen

00:31:26.520 --> 00:31:27.740
Pi-Data auch

00:31:27.740 --> 00:31:30.280
mit die klassische Bibliothek ist.

00:31:30.660 --> 00:31:32.560
Es gibt auch ein paar andere, die dann noch besser

00:31:32.560 --> 00:31:34.620
skalieren, aber das ist schon

00:31:34.620 --> 00:31:36.440
der gute Standard.

00:31:40.320 --> 00:31:40.840
Ja.

00:31:42.520 --> 00:31:43.280
Tja, ja.

00:31:43.880 --> 00:31:44.860
Genau, ich weiß,

00:31:46.260 --> 00:31:46.860
ich hatte mal,

00:31:47.800 --> 00:31:48.760
wie hieß das,

00:31:48.840 --> 00:31:50.720
Zip-Line, glaube ich, gab es noch irgendwie.

00:31:52.120 --> 00:31:52.740
Genau, ja.

00:31:53.340 --> 00:31:54.340
Also, wir haben

00:31:54.340 --> 00:31:55.040
selber

00:31:55.040 --> 00:31:58.560
fast alle unsere Software eigentlich

00:31:58.560 --> 00:31:59.140
als Open-Source.

00:32:00.260 --> 00:32:10.280
Also wenn man auf GitHub Quantopian schaut, dann findet man da mögliche Projekte, die wir auf unserer Web-basierten Plattform benutzen.

00:32:11.440 --> 00:32:12.100
Genau, richtig.

00:32:13.920 --> 00:32:16.980
Zipline ist unser Open-Source-Backtaster, den wir auch auf der Plattform benutzen.

00:32:17.840 --> 00:32:24.080
Und das war am Anfang echt so eine ziemlich schwierige Entscheidung eigentlich, wo wir lange überlegt haben.

00:32:24.180 --> 00:32:26.460
Also ich war immer der Meinung, dass es eine gute Idee ist, das Open-Source zu stellen.

00:32:26.460 --> 00:32:29.000
Aber unser CEO musste sich da noch von überzeugen.

00:32:29.540 --> 00:32:31.380
Aber das war sehr, sehr positiv

00:32:31.380 --> 00:32:33.160
für uns. Also das

00:32:33.160 --> 00:32:35.400
in vielerlei Hinsicht. Also eins ist

00:32:35.400 --> 00:32:37.200
natürlich, wir bekommen Pull-Requests, also dass

00:32:37.200 --> 00:32:39.160
andere Leute, die die Software verwenden,

00:32:39.360 --> 00:32:41.300
dann ihre eigenen Verbesserungen

00:32:41.300 --> 00:32:43.620
daran machen und dann uns diese Verbesserungsvorschläge

00:32:43.620 --> 00:32:45.220
auf GitHub zuschicken. Und

00:32:45.220 --> 00:32:47.020
dann kriegen wir da

00:32:47.020 --> 00:32:49.060
Pull-Requests, wie das heißt,

00:32:49.680 --> 00:32:51.320
über zum Beispiel jemand, der

00:32:51.320 --> 00:32:52.980
unsere Simulations-Engine

00:32:52.980 --> 00:32:54.140
um Faktor 4

00:32:54.140 --> 00:32:56.780
beschleunigt hat. Wow.

00:32:57.580 --> 00:32:58.500
Voll cool.

00:32:58.900 --> 00:32:59.400
Vielen Dank.

00:33:00.160 --> 00:33:02.680
Ja, genau. Vielen Dank. Und das haben wir dann natürlich

00:33:02.680 --> 00:33:04.520
gemerged und das kommt dann natürlich auch der Plattform

00:33:04.520 --> 00:33:06.520
zugute, weil das die gleiche Software ist, die wir da auch benutzen.

00:33:08.560 --> 00:33:08.880
Und

00:33:08.880 --> 00:33:10.940
das ist zusätzlich

00:33:10.940 --> 00:33:12.780
dann auch, und in dem Fall hat es auch sehr gut funktioniert,

00:33:13.380 --> 00:33:14.760
haben wir uns natürlich diese Person dann genau

00:33:14.760 --> 00:33:16.680
angeschaut und so, ja, okay, was

00:33:16.680 --> 00:33:18.760
machst du denn so? Und wir

00:33:18.760 --> 00:33:20.620
haben den dann eingestellt, einfach weil

00:33:20.620 --> 00:33:22.620
erst mal jemand, der das kann,

00:33:22.760 --> 00:33:24.520
ist so das beste Vorstellungsgespräch, was man sich

00:33:24.520 --> 00:33:26.200
vorstellen kann. Und

00:33:26.200 --> 00:33:28.340
er hat auch schon bewiesen,

00:33:28.660 --> 00:33:30.780
also er hat es bewiesen, dass er es kann und er ist natürlich auch schon

00:33:30.780 --> 00:33:32.660
direkt mit der Codebase vertraut.

00:33:33.260 --> 00:33:34.640
Also der hat

00:33:34.640 --> 00:33:36.600
dann keine lange Eingewöhnungszeit, sondern

00:33:36.600 --> 00:33:38.420
wir wissen, dass er es kann und er

00:33:38.420 --> 00:33:40.640
weiß, worum es geht und wie

00:33:40.640 --> 00:33:42.680
der ganze Code aussieht. Also das

00:33:42.680 --> 00:33:43.440
war eine sehr

00:33:43.440 --> 00:33:46.520
positive Erfahrung in vieler Hinsicht

00:33:46.520 --> 00:33:48.240
für uns und wir machen das auch schon seit

00:33:48.240 --> 00:33:49.100
vielen Jahren.

00:33:53.160 --> 00:33:54.320
Ja, also GitHub, das ist halt auch

00:33:54.320 --> 00:33:56.400
Open Source schon eine coole Sache. Ja, auf jeden Fall.

00:33:58.040 --> 00:34:00.240
Wenn ich jetzt nochmal da einen Angriff an

00:34:00.240 --> 00:34:02.080
so diese einfachen Linearenmodelle oder ich meine

00:34:02.080 --> 00:34:04.000
irgendwas, was man so bei Scikit-Learn oder so an

00:34:04.000 --> 00:34:05.840
Machine Learning-Geschichten üblicherweise so verwendet,

00:34:06.400 --> 00:34:08.020
das, was du machst, ist ja jetzt eher so,

00:34:08.400 --> 00:34:10.340
ich glaube, du hast ein Großteil von PyMC3

00:34:10.340 --> 00:34:11.900
geschrieben oder die

00:34:11.900 --> 00:34:14.160
probabilistischen Modelle. Warum

00:34:14.160 --> 00:34:16.140
würde ich denn eher sowas verwenden wollen? Oder was

00:34:16.140 --> 00:34:18.100
ist eigentlich der, ja, sozusagen

00:34:18.100 --> 00:34:20.180
der grundsätzliche Unterschied zu den

00:34:20.180 --> 00:34:22.140
Dingen, die man vielleicht eher so aus dem

00:34:22.140 --> 00:34:23.700
Scikit-Learn-Bereich kennt oder so?

00:34:24.700 --> 00:34:26.440
Ja, gute Frage.

00:34:26.620 --> 00:34:28.560
das ist auf jeden Fall mein Lieblingsthema

00:34:28.560 --> 00:34:29.020
angekommen.

00:34:31.760 --> 00:34:32.580
Was ist das denn

00:34:32.580 --> 00:34:34.560
überhaupt, PyMMC? Vielleicht fangen wir damit kurz an.

00:34:34.860 --> 00:34:36.180
Genau, also PyMMC3

00:34:36.180 --> 00:34:38.660
steht einfach nur für Python und

00:34:38.660 --> 00:34:40.460
MC, also Markov-Chain

00:34:40.460 --> 00:34:42.760
ist so der Algorithmus,

00:34:42.820 --> 00:34:43.480
der da verwendet wird.

00:34:44.380 --> 00:34:45.140
Und das

00:34:45.140 --> 00:34:47.200
in gewisser Hinsicht kann man es schon

00:34:47.200 --> 00:34:49.360
zum Beispiel jetzt mit Scikit-Learn vergleichen, aber es ist

00:34:49.360 --> 00:34:51.220
doch eigentlich eine andere Idee.

00:34:51.440 --> 00:34:53.560
Vielleicht einmal noch mal ganz kurz, was eine Markov-Chain

00:34:53.560 --> 00:34:54.940
ist, für alle Hörer, die es kennen.

00:34:54.960 --> 00:34:58.020
Ja, also das ist nicht so leicht zu erklären.

00:34:58.240 --> 00:35:00.460
Es ist leichter, so die Idee dahinter zu erklären,

00:35:00.540 --> 00:35:01.200
was das überhaupt kann.

00:35:01.640 --> 00:35:03.660
Und dann macht das mit der Markov-Chain

00:35:03.660 --> 00:35:04.720
vielleicht irgendwann auch ein bisschen mehr Sinn.

00:35:06.340 --> 00:35:09.280
Aber genau, also wenn man sich jetzt Cycle-Learn anschaut,

00:35:09.280 --> 00:35:14.600
dann ist es ja, dass man einfach gewisse Muster in Daten

00:35:14.600 --> 00:35:18.100
lernen möchte, um dann Vorhersagen machen zu können.

00:35:18.460 --> 00:35:21.540
Also ich habe Trainingsdaten und Labels

00:35:21.540 --> 00:35:23.880
und natürlich mit den Trainingsdaten die Labels Vorhersagen.

00:35:24.720 --> 00:35:31.760
Und das ist ein ganz klassisches Problem,

00:35:31.760 --> 00:35:34.660
aber die Daten, die man da reinfüttert,

00:35:34.680 --> 00:35:37.600
sind dann natürlich ziemlich rudimentär oft.

00:35:37.780 --> 00:35:40.220
Also zum Beispiel ist halt alles tabular.

00:35:40.740 --> 00:35:45.480
Also das heißt, jeder Datenpunkt ist unabhängig von anderen Datenpunkten.

00:35:46.180 --> 00:35:49.380
Zum Beispiel jetzt nehmen wir Handschrifterkennung oder sowas her

00:35:49.380 --> 00:35:52.620
mit dem ganz berühmten MNIST-Datensatz.

00:35:54.700 --> 00:36:10.320
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.

00:36:10.320 --> 00:36:17.500
Und das kann dann ein lineares Modell sein, was in dem Fall nicht gut funktioniert oder ein Random Forest oder ein neuronales Netzwerk.

00:36:19.000 --> 00:36:27.680
Und das ist oft allerdings natürlich schade, wenn man da viele Informationen hat über seine Daten.

00:36:27.680 --> 00:36:45.200
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.

00:36:45.620 --> 00:36:48.980
Aber der ganz naive Ansatz berücksichtigt es nicht.

00:36:49.100 --> 00:36:50.680
Also natürlich, klar, wenn man es mit normalen Netzen macht,

00:36:51.040 --> 00:36:51.800
die sind dafür gebaut.

00:36:52.480 --> 00:36:54.400
Aber hier geht es jetzt eher darum,

00:36:54.600 --> 00:36:56.420
dass wir Strukturen in unseren Daten haben,

00:36:56.840 --> 00:37:00.600
die wir wissen und die wir ausnutzen wollen.

00:37:00.800 --> 00:37:03.100
Und wir wollen nicht alles nur aus unseren Daten lernen.

00:37:03.920 --> 00:37:07.960
Ein anderes gutes Beispiel ist auch immer hierarchische Strukturen.

00:37:08.120 --> 00:37:12.820
Also sagen wir mal, ich habe jetzt einen Supermarkt

00:37:12.820 --> 00:37:22.200
Und ich möchte gerne voraussagen, wie sich gewisse Warengruppen absetzen, also einzelne Produkte.

00:37:22.820 --> 00:37:27.880
Wie viel verkaufe ich jetzt nächste Woche von Snickers und wie viel verkaufe ich nächste Woche von Hackfleisch?

00:37:28.840 --> 00:37:32.220
Und das kann man natürlich auch ganz normal als machine learning Problem betrachten.

00:37:32.340 --> 00:37:38.720
Allerdings weiß ich doch, dass zum Beispiel jetzt Snickers gehört ins Schokoladensortiment.

00:37:40.320 --> 00:38:02.020
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.

00:38:02.560 --> 00:38:24.020
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.

00:38:24.020 --> 00:38:29.280
Denn was die einem erlauben, ist, diese Modelle zu bauen,

00:38:29.720 --> 00:38:32.180
die ganz spezifisch sind für das Problem,

00:38:32.220 --> 00:38:33.260
was man auch wirklich lösen möchte.

00:38:33.460 --> 00:38:36.580
Machen die dann irgendwie lineare Abhängigkeiten mit dann?

00:38:36.860 --> 00:38:37.380
Oder anders?

00:38:37.960 --> 00:38:38.760
Zum Beispiel.

00:38:38.920 --> 00:38:42.140
Also das kann ich so komplett einbauen, wie ich gerne möchte.

00:38:42.480 --> 00:38:43.660
Also ich kann sagen, okay,

00:38:43.740 --> 00:38:46.780
der Zusammenhang zwischen diesen Sachen hier ist linear

00:38:46.780 --> 00:38:51.300
und hier ist es aber logarithmisch oder nicht linear.

00:38:53.660 --> 00:39:18.260
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.

00:39:18.260 --> 00:39:33.540
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.

00:39:33.860 --> 00:39:51.700
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.

00:39:51.700 --> 00:40:07.520
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.

00:40:07.520 --> 00:40:23.760
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.

00:40:24.620 --> 00:40:53.820
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.

00:40:54.100 --> 00:41:11.420
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.

00:41:11.420 --> 00:41:31.440
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.

00:41:32.360 --> 00:41:46.700
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.

00:41:47.700 --> 00:42:07.720
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.

00:42:07.860 --> 00:42:23.560
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.

00:42:24.440 --> 00:42:25.660
Ja, das stimmt.

00:42:28.380 --> 00:42:32.440
Ja, das heißt, Programming nennt man das oder Probability Programming?

00:42:32.440 --> 00:42:34.020
Also Probabilistic Programming, genau.

00:42:35.800 --> 00:42:37.940
Und die PIMC ist ja für die Bibliothek

00:42:37.940 --> 00:42:39.380
deiner Wahl und du hast da viel mitgearbeitet.

00:42:40.240 --> 00:42:41.160
Genau, also ich habe die auch

00:42:41.160 --> 00:42:43.800
mitentwickelt und benutze die

00:42:43.800 --> 00:42:45.480
auch sehr viel und

00:42:45.480 --> 00:42:47.920
die erlaubt einem

00:42:47.920 --> 00:42:49.920
dann, also das ist nicht so,

00:42:50.080 --> 00:42:51.860
dass man diese Modelle halt dann von der

00:42:51.860 --> 00:42:53.580
Stange hat, wie zum Beispiel jetzt bei Second Learn

00:42:53.580 --> 00:42:55.760
habe ich einfach eine

00:42:55.760 --> 00:42:57.860
Klasse, die macht lineare Aggressionen oder Random Forests

00:42:58.400 --> 00:42:59.800
und hier habe ich stattdessen

00:42:59.800 --> 00:43:01.100
von der Stange

00:43:01.100 --> 00:43:03.860
Wahrscheinlichkeitsfunktionen,

00:43:04.420 --> 00:43:06.400
die ich dann zusammenstöpseln kann,

00:43:06.780 --> 00:43:08.280
um mir mein statistisches Modell zu bauen.

00:43:08.500 --> 00:43:12.740
Also da kann ich aus diesen Wahrscheinlichkeitsverteilungen

00:43:12.740 --> 00:43:15.780
kann ich mir dann zum Beispiel auch eine Linear-Aggression zusammenbauen,

00:43:16.280 --> 00:43:17.800
aber das muss ich halt erst noch machen.

00:43:18.900 --> 00:43:23.240
Und das ist mit PyMC3 sehr leicht möglich.

00:43:23.800 --> 00:43:27.140
Und das heißt, erstmal geht es darum, das Modell zu bauen

00:43:27.140 --> 00:43:29.200
und dann im zweiten Schritt geht es darum,

00:43:29.340 --> 00:43:30.400
okay, jetzt habe ich das Modell gebaut,

00:43:30.860 --> 00:43:32.500
wie fitte ich das überhaupt zu meinen Daten?

00:43:33.180 --> 00:43:40.340
Und da kommen dann alle möglichen Algorithmen zum Tragen,

00:43:40.880 --> 00:43:43.800
die diese Probleme automatisch lösen.

00:43:43.800 --> 00:43:48.220
Also oft ist es so, irgendein Modell, was man sich ausmalt

00:43:48.220 --> 00:43:50.620
und was man dann in Code zusammenschreibt,

00:43:51.060 --> 00:43:52.080
mit PyMC3 zum Beispiel,

00:43:52.860 --> 00:43:55.660
das lässt sich dann nicht einfach so lösen.

00:43:55.940 --> 00:44:01.660
Also man braucht da ziemlich ausgefeilte Algorithmen

00:44:01.660 --> 00:44:27.220
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.

00:44:28.260 --> 00:44:54.620
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.

00:44:54.620 --> 00:44:56.500
und die beschreiben die Daten

00:44:56.500 --> 00:44:58.280
am besten. Aber

00:44:58.280 --> 00:45:00.380
ist natürlich trotzdem die Frage, wenn ich jetzt

00:45:00.380 --> 00:45:02.480
nicht so viele Daten habe, gibt es vielleicht noch andere

00:45:02.480 --> 00:45:04.400
Linien, die

00:45:04.400 --> 00:45:06.400
die Daten beschreiben können. Also wenn ich jetzt

00:45:06.400 --> 00:45:08.460
die Steigung

00:45:08.460 --> 00:45:10.260
um 0,01 verschiebe,

00:45:10.580 --> 00:45:12.080
dann passt das wahrscheinlich trotzdem noch ganz gut.

00:45:12.680 --> 00:45:14.480
Ich bin mir halt nie so richtig

00:45:14.480 --> 00:45:16.380
sicher, diese Antwort, die mir jetzt

00:45:16.380 --> 00:45:18.140
das Machine Learning Modell gegeben hat,

00:45:18.420 --> 00:45:19.720
ist das wirklich die

00:45:19.720 --> 00:45:21.960
allerbeste

00:45:21.960 --> 00:45:24.300
und wie gut funktionieren dann andere

00:45:24.300 --> 00:45:25.940
antworten. Und da

00:45:25.940 --> 00:45:27.740
geht es um Uncertainty oder halt

00:45:27.740 --> 00:45:29.880
um Gewissheit. Also wie

00:45:29.880 --> 00:45:31.900
sicher kann ich mir sein,

00:45:32.260 --> 00:45:34.120
dass die Antworten, die mir mein Modell geben, auch wirklich

00:45:34.120 --> 00:45:36.340
die richtigen sind? Also wie sicher sind die Datenpunkte

00:45:36.340 --> 00:45:38.100
irgendwie klassifiziert und wie gut sind

00:45:38.100 --> 00:45:39.940
die voneinander trennbar überhaupt von einem Modell?

00:45:40.640 --> 00:45:41.920
Genau, richtig. Und

00:45:41.920 --> 00:45:43.520
da ist

00:45:43.520 --> 00:45:45.480
auch ein gutes Beispiel zum Beispiel

00:45:45.480 --> 00:45:47.840
im Gesundheitssektor. Wenn ich da

00:45:47.840 --> 00:45:49.840
jetzt vorhersagen möchte, hat diese

00:45:49.840 --> 00:45:52.120
Person Diabetes

00:45:52.120 --> 00:45:53.760
oder nicht und ich habe irgendwelche

00:45:53.760 --> 00:46:03.560
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

00:46:03.560 --> 00:46:06.720
extrem wichtig. Und da sind diese

00:46:06.720 --> 00:46:11.040
Probabilistic Programming, das ist so eine der Kernstärken davon,

00:46:11.520 --> 00:46:15.340
dass man diese Ungewissheit, die Unsicherheit in den Antworten

00:46:15.340 --> 00:46:19.180
und aber auch in den Parametern von dem Modell immer direkt mit spezifiziert.

00:46:19.440 --> 00:46:23.300
Also man arbeitet ja nie mit einzelnen Werten, sondern

00:46:23.300 --> 00:46:26.560
immer nur mit Wahrscheinlichkeitsverteilungen, die einem angeben, okay, also

00:46:26.560 --> 00:46:31.160
die Steigung von meiner linearen Aggression kann 0,5 sein,

00:46:31.160 --> 00:46:33.380
Aber 0,6 kann es eigentlich auch sein.

00:46:33.540 --> 00:46:34.920
Also beschreibt beides das eigentlich sehr gut.

00:46:35.980 --> 00:46:38.580
Und genau, das ist...

00:46:38.580 --> 00:46:39.960
Ihr habt ja einen schönen Fehler-Schätzler mit drin,

00:46:40.060 --> 00:46:41.020
den ihr mitbestimmt dann.

00:46:41.320 --> 00:46:43.340
Oder wird der ausgerechnet von dem Modell

00:46:43.340 --> 00:46:44.700
oder könnt ihr den auch einschätzen?

00:46:46.040 --> 00:46:49.980
Also genau, man kann es so einstellen in Form der Pry.

00:46:50.240 --> 00:46:51.360
Also da kann ich zum Beispiel sagen,

00:46:52.000 --> 00:46:55.900
ich weiß eigentlich schon, dass der Wert sehr nah 0,5 ist,

00:46:56.000 --> 00:46:57.500
ohne überhaupt irgendwelche Daten gesehen zu haben.

00:46:57.500 --> 00:47:01.140
Und dann kann ich da schon mal dem Modell vorher sagen,

00:47:01.160 --> 00:47:21.760
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.

00:47:21.760 --> 00:47:39.200
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.

00:47:39.200 --> 00:47:51.220
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.

00:47:55.740 --> 00:48:06.620
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.

00:48:06.620 --> 00:48:08.340
und dann muss man das halt irgendwie kalibrieren

00:48:08.340 --> 00:48:09.420
auf eine Wahrscheinlichkeit.

00:48:09.600 --> 00:48:11.080
Und dann meistens nimmt man nur irgendwie

00:48:11.080 --> 00:48:12.620
die Signet-Funktion oder sowas.

00:48:15.400 --> 00:48:19.280
Und da ist natürlich jetzt COVID-19 auch ein super Beispiel,

00:48:19.660 --> 00:48:21.680
wenn ich da jetzt Vorhersagen treffen möchte

00:48:21.680 --> 00:48:24.560
mit gewissen statistischen Modellen.

00:48:24.680 --> 00:48:26.380
Und da gibt es aus der Epidemiologie

00:48:26.380 --> 00:48:28.540
alle möglichen Modelle, die man da finden kann.

00:48:29.240 --> 00:48:30.900
Und dann ist die Frage,

00:48:31.100 --> 00:48:33.460
also wenn ich jetzt das nicht in einem bayesianischen Ansatz mache,

00:48:33.800 --> 00:48:35.160
dann kriege ich halt eine Kurve raus,

00:48:35.340 --> 00:48:37.140
die vorhersagt, okay, so wird sich das jetzt

00:48:37.140 --> 00:48:38.180
über die nächste Woche entwickeln.

00:48:38.780 --> 00:48:42.140
Aber klar, wir haben noch nicht so viele Datenpunkte.

00:48:42.600 --> 00:48:46.200
Das kann sich, also so wie ich die historischen Daten,

00:48:46.480 --> 00:48:48.720
ich kann die historischen Daten halt nicht nur auf eine Weise beschreiben,

00:48:49.080 --> 00:48:51.640
sondern auf potenziell unendlich viele Weisen.

00:48:53.160 --> 00:48:56.680
Und jede unterschiedliche Weise,

00:48:56.680 --> 00:48:58.200
wie ich die historischen Daten beschreiben kann,

00:48:58.640 --> 00:49:00.120
führt zu unterschiedlichen Vorhersagen,

00:49:00.220 --> 00:49:01.320
wie sich die Zukunft verhalten wird.

00:49:01.900 --> 00:49:04.940
Und das heißt, ich möchte halt nicht nur die Linie sehen

00:49:04.940 --> 00:49:07.720
und die Vorhersage sehen, die die Daten am besten beschreiben,

00:49:08.120 --> 00:49:11.860
sondern halt alle, die das einigermaßen gut beschreiben.

00:49:12.220 --> 00:49:15.180
Denn das sind alles dann Ausgänge, die passieren können.

00:49:15.640 --> 00:49:18.000
Und das sieht man dann immer super gut bei diesen Modellen,

00:49:18.140 --> 00:49:21.760
dass es halt nicht nur eine Linie gibt, die dann in die Zukunft zeigt,

00:49:21.860 --> 00:49:24.560
sondern ganz viele Linien, die so auseinanderstreuen.

00:49:24.560 --> 00:49:27.300
Also je nachdem, je weiter ich in die Zukunft gehe,

00:49:27.380 --> 00:49:29.940
desto weniger kann ich mir sicher sein, wie sich das entwickelt.

00:49:30.100 --> 00:49:34.220
Also kann sein, dass es exponentiell weiter nach oben schießt

00:49:34.220 --> 00:49:37.420
und wir bald Millionen von Infizierten haben.

00:49:38.000 --> 00:49:40.040
Es kann auch sein, dass aber natürlich die Interventionen,

00:49:40.040 --> 00:49:42.900
die wir jetzt machen, effektiv sind und sich die Kurve abflacht.

00:49:43.460 --> 00:49:48.180
Und das sind alles Vorhersagen, die dann aus dem Modell rauskommen.

00:49:49.340 --> 00:49:50.800
Ja, das wäre natürlich genau interessant.

00:49:50.980 --> 00:49:53.000
Also ich meine, ich könnte mir jetzt vorstellen,

00:49:53.000 --> 00:49:55.940
dass wenn man zum Beispiel eben macht irgendeine Maßnahme

00:49:55.940 --> 00:49:59.000
oder überlegt sich halt, wenn ich jetzt, keine Ahnung,

00:49:59.200 --> 00:50:00.580
irgendetwas tue, also ich glaube,

00:50:00.840 --> 00:50:01.900
die Zahlen, die ich da schon mal gehört habe,

00:50:01.960 --> 00:50:04.080
sowas wie seit, zumindest in Deutschland,

00:50:04.640 --> 00:50:05.680
Beginn der

00:50:05.680 --> 00:50:08.200
etwas heftigeren Maßnahmen

00:50:08.200 --> 00:50:08.900
ist halt der,

00:50:09.820 --> 00:50:12.260
ich glaube in dem Modell vom Robert-Koch-Institut

00:50:12.260 --> 00:50:14.500
werden irgendwie Landkreise

00:50:14.500 --> 00:50:15.800
als kleinste Einheiten

00:50:15.800 --> 00:50:17.700
benutzt, sozusagen,

00:50:17.960 --> 00:50:19.940
wenn die Reisetätigkeit zwischen Landkreisen

00:50:19.940 --> 00:50:20.580
irgendwie sozusagen,

00:50:21.220 --> 00:50:24.160
ist irgendwie schon um 40% runtergegangen

00:50:24.160 --> 00:50:24.660
seitdem,

00:50:25.240 --> 00:50:27.860
dann ändern sich halt entsprechend Parameter

00:50:27.860 --> 00:50:29.580
in dem Modell und dann kann man halt gucken, okay,

00:50:29.580 --> 00:50:30.700
wie geht denn das jetzt aus?

00:50:31.400 --> 00:50:40.620
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?

00:50:40.800 --> 00:50:52.860
Also wie stark führt das dazu, dass jetzt der Anstieg der infizierten Zahlen halt hochgeht oder gleich bleibt oder so?

00:50:52.860 --> 00:50:57.000
Und dann wäre halt die ganz interessante Frage, mit welcher Wahrscheinlichkeit kann ich diese Vorhersage machen?

00:50:57.340 --> 00:50:59.160
es könnte ja auch sein, also wenn ich

00:50:59.160 --> 00:51:01.920
ein 30-prozentiges

00:51:01.920 --> 00:51:03.480
Risiko habe, dass sich das ganz anders

00:51:03.480 --> 00:51:04.680
verhält als das, was ich

00:51:04.680 --> 00:51:06.820
vorhersage, dann

00:51:06.820 --> 00:51:09.420
möchte ich mir das vielleicht nochmal überlegen, weil ich ja gar nicht

00:51:09.420 --> 00:51:11.440
so ein großes Risiko eingehen möchte vielleicht.

00:51:11.720 --> 00:51:13.420
Sondern ich möchte vielleicht eine Maßnahme machen, wo

00:51:13.420 --> 00:51:15.220
ich dann ziemlich sicher sein kann,

00:51:15.520 --> 00:51:16.800
dass das dann halt auch hilft.

00:51:17.560 --> 00:51:18.420
Und ja,

00:51:19.020 --> 00:51:21.140
das wäre dann sozusagen etwas, was ich direkt aus so einem

00:51:21.140 --> 00:51:23.180
probabilistischen Modell rauskriegen würde, wie dann

00:51:23.180 --> 00:51:25.140
die Erfolgswahrscheinlichkeit

00:51:25.140 --> 00:51:27.320
oder wie wahrscheinlich es ist, dass es dann

00:51:27.320 --> 00:51:29.500
halt auch in dem Bereich bleibt, sozusagen.

00:51:30.420 --> 00:51:31.360
Genau, also das ist

00:51:31.360 --> 00:51:32.920
sehr wichtig. Also

00:51:32.920 --> 00:51:35.120
nicht jeder Ausgang ist ja auch gleich. Also

00:51:35.120 --> 00:51:37.080
jetzt habe ich vielleicht, wenn ich jetzt

00:51:37.080 --> 00:51:39.160
das so fitte,

00:51:39.240 --> 00:51:41.200
dass ich wirklich nur eine Linie bekomme, dann sieht

00:51:41.200 --> 00:51:42.940
die vielleicht okay aus. Und dann sage ich, ah ja, okay,

00:51:43.120 --> 00:51:44.780
muss ich ja gar nicht mehr wirklich

00:51:44.780 --> 00:51:47.140
Gedanken machen. Und möglicherweise ist es

00:51:47.140 --> 00:51:48.860
auch der wahrscheinlichste Ausgang. Aber

00:51:48.860 --> 00:51:50.840
was ist, wenn mit einer

00:51:50.840 --> 00:51:52.280
fünfprozentigen Wahrscheinlichkeit

00:51:52.280 --> 00:51:54.940
das exponentiell

00:51:54.940 --> 00:51:57.060
weitergeht und diese Maßnahmen

00:51:57.060 --> 00:51:59.080
halt nicht greifen. Naja, das möchte ich ja unbedingt

00:51:59.080 --> 00:52:00.960
wissen. Was ist der Worst-Case-Szenario?

00:52:01.160 --> 00:52:03.240
Das ist vielleicht unwahrscheinlich, aber nicht so unwahrscheinlich,

00:52:03.380 --> 00:52:04.660
dass wir es außer Acht lassen dürfen.

00:52:05.520 --> 00:52:07.260
Und da kann man

00:52:07.260 --> 00:52:09.040
dann auch, je nachdem,

00:52:09.260 --> 00:52:11.140
das Modell verändern, also

00:52:11.140 --> 00:52:13.200
in verschiedenen

00:52:13.200 --> 00:52:14.700
Hinsichten. Und das ist auch so ein bisschen das, was

00:52:14.700 --> 00:52:17.020
ich so mächtig an diesem Ansatz

00:52:17.020 --> 00:52:19.120
finde, ist, dass es so oft

00:52:19.120 --> 00:52:21.240
ein sehr iteratives Arbeiten

00:52:21.240 --> 00:52:22.940
ist mit diesem Modell. Also ich fange an mit

00:52:22.940 --> 00:52:25.020
einem ganz einfachen Modell, und das habe ich auch

00:52:25.020 --> 00:52:26.880
gemacht, also ich habe einfach ein exponentielles Modell genommen,

00:52:27.060 --> 00:52:29.820
und das funktioniert dann am Anfang

00:52:29.820 --> 00:52:31.680
zum Beispiel ziemlich gut und

00:52:31.680 --> 00:52:33.720
dann aber sehe ich auch, ah ja, okay, ich habe ja nicht

00:52:33.720 --> 00:52:35.020
nur ein Land, sondern ich habe mehrere Länder

00:52:35.020 --> 00:52:37.840
und diese Kurven verhalten sich bei allen

00:52:37.840 --> 00:52:39.160
Ländern eigentlich ziemlich ähnlich.

00:52:39.860 --> 00:52:41.800
Nicht immer gleich, aber ähnlich und da

00:52:41.800 --> 00:52:43.860
kommt es dann wieder rein mit der hierarchischen Struktur,

00:52:44.560 --> 00:52:45.660
die ich vorhin erwähnt habe,

00:52:45.740 --> 00:52:47.900
wo ich genau das auch in mein Modell einbauen

00:52:47.900 --> 00:52:50.040
kann und sage, okay, also da gibt es Ähnlichkeiten

00:52:50.040 --> 00:52:51.520
in diesen

00:52:51.520 --> 00:52:53.920
Growth Rates, in diesen

00:52:53.920 --> 00:52:55.980
Steigerungszahlen und das heißt,

00:52:56.100 --> 00:52:57.240
dann habe ich ein hierarchisches Modell,

00:52:57.320 --> 00:53:00.100
was für jedes einzelne Land einzelne Parameter hat.

00:53:00.240 --> 00:53:02.800
Aber diese Parameter sind dann auch auf einem höheren Level

00:53:02.800 --> 00:53:04.060
noch miteinander verbunden.

00:53:04.400 --> 00:53:05.980
Und ich lerne also beides zugleich.

00:53:07.340 --> 00:53:09.420
Und dann zum Beispiel könnte ich hingehen und sagen,

00:53:09.540 --> 00:53:12.120
na gut, exponentiell ist ja vielleicht gar nicht mal so ein gutes Modell,

00:53:12.120 --> 00:53:16.040
denn das nimmt ja an, dass das einfach immer weiter nach oben geht

00:53:16.040 --> 00:53:17.080
und immer und immer schneller wird.

00:53:17.500 --> 00:53:21.640
Irgendwo ist ja da schon spätestens bei der Anzahl der Menschen,

00:53:21.760 --> 00:53:22.460
die in einem Land leben,

00:53:23.080 --> 00:53:25.820
ein ganz natürliches physikalisches Limit gesetzt.

00:53:26.100 --> 00:53:28.680
und dann kann ich das Modell

00:53:28.680 --> 00:53:30.740
verbessern und sage, okay, dann nehme ich stattdessen eine logistische

00:53:30.740 --> 00:53:32.520
Funktion, die am Anfang auch

00:53:32.520 --> 00:53:34.420
steil nach oben geht, aber dann sich wieder abflacht.

00:53:35.540 --> 00:53:35.840
Und

00:53:35.840 --> 00:53:38.780
dann kann ich

00:53:38.780 --> 00:53:40.540
aber auch hingehen und sagen, okay,

00:53:40.800 --> 00:53:41.020
das

00:53:41.020 --> 00:53:45.160
modelliert schon die Steigungssache

00:53:45.160 --> 00:53:46.680
vielleicht ganz gut, aber

00:53:46.680 --> 00:53:48.460
ich weiß, dass es da,

00:53:48.900 --> 00:53:50.560
zum Beispiel habe ich jetzt vielleicht

00:53:50.560 --> 00:53:52.220
gerade ein Buch von Nassim Taleb gelesen,

00:53:52.380 --> 00:53:54.600
den Black Swan, und ich weiß, dass es

00:53:54.600 --> 00:53:56.400
sehr wichtig ist, da nicht auch nur

00:53:56.400 --> 00:53:58.060
anzunehmen, dass sich alles in der Welt

00:53:58.060 --> 00:54:00.520
nach einer Normalverteilung verhält, sondern

00:54:00.520 --> 00:54:02.740
es gibt halt auch das Tail-Risk und

00:54:02.740 --> 00:54:04.480
dann nehme ich halt nicht eine Normalverteilung,

00:54:04.820 --> 00:54:06.480
sondern eine zum Beispiel

00:54:06.480 --> 00:54:09.020
Student-T-Verteilung, also eine T-Verteilung

00:54:09.020 --> 00:54:10.640
und die hat sehr viel mehr

00:54:10.640 --> 00:54:12.440
Wahrscheinlichkeiten, dass da auch

00:54:12.440 --> 00:54:14.260
extreme Ausreißer passieren können.

00:54:14.800 --> 00:54:16.620
Und dann habe ich das in mein Modell

00:54:16.620 --> 00:54:18.840
integriert und arbeite dann halt

00:54:18.840 --> 00:54:20.780
mich immer weiter vor und verbessere das

00:54:20.780 --> 00:54:22.800
Modell immer weiter und kriege dann auch immer besser

00:54:22.800 --> 00:54:24.520
Vorhersagen, die natürlich

00:54:24.520 --> 00:54:26.020
dann ja auch die

00:54:26.020 --> 00:54:28.340
möglichen Handlungen,

00:54:28.540 --> 00:54:29.360
die man machen möchte,

00:54:29.980 --> 00:54:32.600
hoffentlich da bessere

00:54:32.600 --> 00:54:33.380
Antworten zu liefern.

00:54:34.460 --> 00:54:36.140
Ja, ja, das ist für mich,

00:54:36.600 --> 00:54:38.020
das ist auch

00:54:38.020 --> 00:54:39.700
irgendwie ein Twitter-Account,

00:54:39.960 --> 00:54:42.340
der hat einen Twitter-Account, dem ich auch folge und da

00:54:42.340 --> 00:54:43.900
sind manchmal sehr lustige Sachen dabei.

00:54:44.340 --> 00:54:46.020
Er hat jetzt auch was über diese

00:54:46.020 --> 00:54:48.180
statistischen Modelle, die irgendwelche Dinge vorhersagen,

00:54:48.340 --> 00:54:50.340
gesagt. Das fand ich

00:54:50.340 --> 00:54:52.280
auch ganz bemerkenswert, weil

00:54:52.280 --> 00:54:53.920
es halt, ich weiß,

00:54:54.060 --> 00:55:11.580
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.

00:55:11.580 --> 00:55:14.060
wenn man irgendwann am Berg steht und sieht, da kommt eine Lawine

00:55:14.060 --> 00:55:16.300
runter, dann fange ich jetzt nicht an, mir auszurechnen,

00:55:16.380 --> 00:55:17.680
ob die mich jetzt treffen kann oder nicht.

00:55:18.540 --> 00:55:19.960
Und bei so einer Pandemie ist halt auch

00:55:19.960 --> 00:55:22.040
so ein bisschen, und der hat ja einen schönen Vergleich benutzt,

00:55:22.140 --> 00:55:23.780
der meinte dann, also wenn ich jetzt anfange, da

00:55:23.780 --> 00:55:25.880
statistisch ganz genau zu werden, dann

00:55:25.880 --> 00:55:27.740
ist das so ein bisschen wie Löffelzellen auf der

00:55:27.740 --> 00:55:29.260
Titanic, ja, das ist halt so.

00:55:31.060 --> 00:55:32.020
Sondern da muss man halt

00:55:32.020 --> 00:55:33.840
dann irgendwie das Extremste machen, was man irgendwie

00:55:33.840 --> 00:55:35.680
hinkriegt, um halt zu verhindern, dass diese ganz

00:55:35.680 --> 00:55:36.660
schlimmen Sachen halt passieren.

00:55:38.700 --> 00:55:40.100
Ja, also der ist auf jeden Fall

00:55:40.100 --> 00:55:42.500
sehr extrem in seinen Ansichten,

00:55:42.820 --> 00:55:44.040
dass man eigentlich, also der sagt

00:55:44.040 --> 00:55:46.300
eigentlich, so extrem

00:55:46.300 --> 00:55:47.240
sagt er es nicht, aber dennoch,

00:55:47.400 --> 00:55:50.060
dass 90, 95 Prozent aller

00:55:50.060 --> 00:55:52.080
Statistiken komplett in die Tonne gekloppt

00:55:52.080 --> 00:55:54.000
werden können, weil das

00:55:54.000 --> 00:55:56.000
alles Phänomene sind, die halt

00:55:56.000 --> 00:55:57.940
diese Ausreise-Events haben, die

00:55:57.940 --> 00:55:58.700
das alles bestimmen.

00:56:00.400 --> 00:56:01.600
Ich finde das

00:56:01.600 --> 00:56:03.920
ein bisschen oft sehr extrem, denn

00:56:03.920 --> 00:56:06.040
die Modelle funktionieren doch schon

00:56:06.040 --> 00:56:07.940
oft auch ganz gut, aber klar muss man sich immer

00:56:07.940 --> 00:56:09.960
bewusst sein, dass das Modelle sind und dass es diese

00:56:09.960 --> 00:56:11.820
Terrors gibt und die auch

00:56:11.820 --> 00:56:14.120
idealerweise natürlich ins Modell

00:56:14.120 --> 00:56:15.960
integrieren, dass man das

00:56:15.960 --> 00:56:17.460
mit berücksichtigt.

00:56:17.580 --> 00:56:18.980
Das kann man ja machen.

00:56:19.080 --> 00:56:22.440
Genau diese unvorhergesehenen Ereignisse.

00:56:22.580 --> 00:56:24.120
Da kannst du halt so viel modulieren

00:56:24.120 --> 00:56:25.900
und Statistik machen, wie du willst, wenn halt Ereignisse

00:56:25.900 --> 00:56:27.980
auftreten, deren Dimensionen man

00:56:27.980 --> 00:56:30.160
nicht abschätzen kann oder deren Auswirkungen

00:56:30.160 --> 00:56:31.900
auf die einzelnen Achsen in dieser Verteilung.

00:56:32.360 --> 00:56:33.560
Das wird natürlich dann

00:56:33.560 --> 00:56:35.420
schwer zu pronostizieren.

00:56:35.840 --> 00:56:37.760
Woher soll man das wissen, dass solche Events kommen?

00:56:38.720 --> 00:56:39.580
Ja und nein.

00:56:39.960 --> 00:56:55.860
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.

00:56:55.860 --> 00:57:20.780
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.

00:57:20.780 --> 00:57:39.260
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.

00:57:40.220 --> 00:57:43.780
Und dann hierzulande wurde es gesagt, naja, aber es sind nur 10 Fälle, das muss uns ja nicht interessieren.

00:57:44.300 --> 00:57:48.900
Aber gut, also beziehungsweise sagen wir mal 10 Fälle und in drei Tagen sind es halt 100 Fälle.

00:57:49.320 --> 00:57:51.200
Und da sagt man, na gut, 100 Fälle ist ja trotzdem noch nicht viel.

00:57:51.740 --> 00:57:56.680
Aber vollkommen egal, es geht darum, was für eine Steigerung haben wir da und das ist exponentiell.

00:57:56.920 --> 00:57:59.280
Und das heißt, in drei Tagen sind es dann von 100 auf 1000.

00:58:00.380 --> 00:58:03.480
Du hast da auch ein Notebook zu, online, wo man da so ein bisschen angucken kann.

00:58:03.480 --> 00:58:07.640
Genau, das hatten wir noch gar nicht erwähnt, aber ja, das war auch einer der Gründe,

00:58:07.760 --> 00:58:09.300
warum das jetzt halt ein guter Zeitpunkt ist,

00:58:09.400 --> 00:58:11.920
vielleicht dieses Gespräch zu führen.

00:58:12.680 --> 00:58:15.780
Ich hatte da irgendwie diese Notebooks gesehen.

00:58:16.320 --> 00:58:17.920
Ich weiß nicht, es gibt mehrere.

00:58:18.160 --> 00:58:20.900
Das Erste ist, glaube ich, das Daily.

00:58:21.400 --> 00:58:23.000
Wir packen den Link in die Show Notes.

00:58:23.080 --> 00:58:25.380
Das ist ein Repository, in dem mehrere Notebooks sind.

00:58:26.800 --> 00:58:30.460
COVID-19 Growth ist, glaube ich, das Erste.

00:58:31.860 --> 00:58:34.460
Und das ist sozusagen das exponentielle Modell.

00:58:34.900 --> 00:58:39.600
Und da gibt es halt so einen Graph mit einer Lockscale sozusagen,

00:58:39.740 --> 00:58:41.500
was die Anzahl der Infizierten angeht.

00:58:41.660 --> 00:58:43.120
Und dass man das halt so ein bisschen linearer sieht.

00:58:44.420 --> 00:58:48.800
Und auf der X-Achse die Zeit, auf der Y-Achse die Infizierten.

00:58:48.800 --> 00:58:56.440
Und dann halt sozusagen Tage nach den ersten bestätigten 100 Fällen.

00:58:56.720 --> 00:59:00.200
Und die Kurven sehen alle relativ ähnlich aus, am Anfang zumindest.

00:59:00.640 --> 00:59:01.800
Ist auch China mitgeplottet.

00:59:01.920 --> 00:59:03.460
Weil ich hatte nämlich von einem Freund von mir gehört,

00:59:03.520 --> 00:59:04.720
der aus Shanghai geflohen ist.

00:59:04.900 --> 00:59:07.640
Schon Ende Januar, weil die Flüge alle gestrichen wurden,

00:59:07.760 --> 00:59:09.740
dass das die Situation wohl sehr dramatisch sein soll

00:59:09.740 --> 00:59:11.920
und dass wir uns auf was gefasst machen müssen.

00:59:12.980 --> 00:59:15.200
Ja, also genau.

00:59:15.260 --> 00:59:19.180
China ist nicht mit dabei, weil das Modell das nicht abbilden kann.

00:59:19.180 --> 00:59:22.220
Also dieses nicht, das Modell, was ich jetzt gerade gebaut habe.

00:59:23.080 --> 00:59:26.180
Das logistische Modell des Kantons, denn da gibt es diesen Effekt,

00:59:26.960 --> 00:59:32.060
dass die auch wieder stehen bleiben, die Neuinfektionen.

00:59:32.160 --> 00:59:34.680
Und das scheint China nach den offiziellen Zahlen, die wir haben,

00:59:34.900 --> 00:59:56.480
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.

00:59:57.180 --> 01:00:12.180
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.

01:00:12.180 --> 01:00:32.360
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.

01:00:33.420 --> 01:00:47.820
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.

01:00:47.820 --> 01:01:10.780
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.

01:01:10.780 --> 01:01:24.760
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.

01:01:25.680 --> 01:01:32.900
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.

01:01:34.880 --> 01:01:53.580
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.

01:01:53.580 --> 01:01:55.280
Die haben aber alle unterschiedliche Methoden gemacht.

01:01:55.440 --> 01:01:57.780
Japan hat zum Beispiel einfach die Anzahl an Tests

01:01:57.780 --> 01:01:59.820
unheimlich hoch gefahren, indem sie einfach jeden Menschen

01:01:59.820 --> 01:02:01.740
getestet haben und dann diese Kette auch

01:02:01.740 --> 01:02:02.920
versucht haben, damit zu unterbrechen.

01:02:03.580 --> 01:02:05.620
Weil die halt relativ genau wussten, wer jetzt da vielleicht dann

01:02:05.620 --> 01:02:07.880
Kontaktperson war. Das mag auch

01:02:07.880 --> 01:02:09.840
ein Vorteil sein. Aber von China glaube ich übrigens

01:02:09.840 --> 01:02:11.640
keine einzige Zahl. Also ich habe Dunkelziffern

01:02:11.640 --> 01:02:13.940
gelesen, die man jetzt alle mit Vorsicht genießen

01:02:13.940 --> 01:02:15.640
möchte, aber dass irgendwie 700.000 Fälle

01:02:15.640 --> 01:02:17.880
alleine in Wuhan noch irgendwie offen waren,

01:02:17.960 --> 01:02:19.580
die nicht registriert waren und

01:02:19.580 --> 01:02:21.620
naja, was man da glauben kann,

01:02:21.660 --> 01:02:22.180
ich weiß ja nicht.

01:02:23.580 --> 01:02:35.840
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.

01:02:35.840 --> 01:02:50.740
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.

01:02:51.480 --> 01:02:58.940
Und ich kann das verstehen, allerdings sind im Moment diese exponentiellen Modelle erschreckend akkurat.

01:02:59.300 --> 01:03:02.760
Also die letzten Wochen war es ein sehr guter Fit.

01:03:03.060 --> 01:03:07.900
Klar, dass das nicht sehr weit in die Zukunft projizieren kann, ist klar.

01:03:08.720 --> 01:03:13.900
Und das andere, was aber auch sehr interessant ist, was passiert ist, ist, dadurch, dass man dann diese Sachen shared,

01:03:13.900 --> 01:03:20.260
also das ist halt dieses Open-Source-Prinzip, dann kam der Hamel und hat dann,

01:03:21.320 --> 01:03:23.120
ein Dashboard daraus gebaut, dass das halt täglich

01:03:23.120 --> 01:03:25.120
updatet. Und das heißt,

01:03:25.240 --> 01:03:27.040
das ist jetzt eine coole Webseite, wo das

01:03:27.040 --> 01:03:28.960
Notebook dann automatisch geladen wird

01:03:28.960 --> 01:03:30.520
und ist auch interaktiv.

01:03:31.660 --> 01:03:32.700
Andere Leute haben es benutzt,

01:03:33.140 --> 01:03:34.860
um dann das Modell zu verbessern oder

01:03:34.860 --> 01:03:36.900
einfach nur sich selber dann

01:03:36.900 --> 01:03:39.040
das Modell auf andere Daten anzuwenden.

01:03:39.660 --> 01:03:41.020
Ich habe selber viel Feedback bekommen,

01:03:41.180 --> 01:03:43.120
was ich dann einpflege und das Modell verbessere.

01:03:43.520 --> 01:03:45.100
Also dieser iterative

01:03:45.100 --> 01:03:46.880
Ansatz, der

01:03:46.880 --> 01:03:49.140
in der Öffentlichkeit stattfindet und auch den Code zu posten,

01:03:49.140 --> 01:03:51.120
wo halt dann auch andere Leute Bugfixes schicken

01:03:51.120 --> 01:03:51.520
oder so,

01:03:53.340 --> 01:03:55.120
ist also meiner Meinung nach überwiegender

01:03:55.120 --> 01:03:57.100
die Vorteile einfach viel mehr

01:03:57.100 --> 01:03:58.960
als die Nachteile, dass

01:03:58.960 --> 01:04:00.500
ich halt erst mal

01:04:00.500 --> 01:04:02.800
sechs Monate

01:04:02.800 --> 01:04:04.980
mit Epidemiologen zusammenarbeite,

01:04:05.080 --> 01:04:06.940
um das absolut wasserdichte Modell zu

01:04:06.940 --> 01:04:08.440
bauen, was dann aber

01:04:08.440 --> 01:04:11.160
vielleicht nicht richtig funktioniert, weil ich halt nicht das Feedback

01:04:11.160 --> 01:04:13.460
von der Community habe und auch nicht diese ganzen Netzwerkeffekte,

01:04:13.940 --> 01:04:15.080
die Open Source da

01:04:15.080 --> 01:04:15.400
bringen.

01:04:16.500 --> 01:04:17.980
Ja, das würde ich auch sagen.

01:04:19.640 --> 01:04:46.160
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.

01:04:48.820 --> 01:04:53.840
Da habe ich letztens den ersten Tweet gesehen von einem Epidemiologie-Professor,

01:04:53.840 --> 01:04:59.080
der da einen super akkuraten Simulator geschrieben hat,

01:04:59.140 --> 01:05:04.020
der halt da verschiedene Agenten simuliert, die sich treffen und die infizieren sich.

01:05:04.180 --> 01:05:07.220
Und das ist ja also das absolute Nonplusultra-Modell.

01:05:08.180 --> 01:05:15.460
Und das hat er aber schon vor langer Zeit gemacht, also als Epidemiologe.

01:05:15.820 --> 01:05:18.420
Und da aber natürlich bisher nur Paper drüber geschrieben.

01:05:18.420 --> 01:05:41.840
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.

01:05:41.840 --> 01:05:57.800
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.

01:05:58.220 --> 01:06:19.820
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.

01:06:19.820 --> 01:06:21.840
und zum Beispiel oft sind die halt auch nicht

01:06:21.840 --> 01:06:23.800
bäsianisch, also gibt es wirklich den

01:06:23.800 --> 01:06:25.960
Epidemiologen, der ein Top-Coder ist

01:06:25.960 --> 01:06:27.800
und gleichzeitig halt

01:06:27.800 --> 01:06:29.740
natürlich epidemiologisch

01:06:29.740 --> 01:06:31.680
total fit ist und dann zusätzlich auch noch

01:06:31.680 --> 01:06:33.540
weiß, wie man Pianti 3 benutzt,

01:06:34.160 --> 01:06:35.400
wahrscheinlich gibt es den nicht,

01:06:35.820 --> 01:06:37.680
deswegen, wenn wir da alle unseren Teil

01:06:37.680 --> 01:06:39.580
dazu beitragen, glaube ich,

01:06:39.800 --> 01:06:41.100
wird es am besten funktionieren.

01:06:42.240 --> 01:06:44.040
Ja, ja, ich bin

01:06:44.040 --> 01:06:45.740
auch, gut, das ist jetzt auch wieder ein bisschen her,

01:06:45.800 --> 01:06:47.400
ich habe auch eine Zeit lang irgendwie viel

01:06:47.400 --> 01:06:49.740
Pepper gelesen und versucht Dinge

01:06:49.740 --> 01:06:51.480
zu reproduzieren und so und das hat

01:06:51.480 --> 01:06:53.420
also das

01:06:53.420 --> 01:06:55.760
war schon, also oft

01:06:55.760 --> 01:06:57.520
bekommt man dann ja Code, wenn man

01:06:57.520 --> 01:06:59.700
irgendwie ein Paper hat und dann sich überlegt, okay

01:06:59.700 --> 01:07:01.660
das sieht sehr interessant aus für das Problem, was ich

01:07:01.660 --> 01:07:03.700
habe und wenn man dann die Autoren anschreibt

01:07:03.700 --> 01:07:05.800
und sagt so, ich würde das mal gerne reproduzieren

01:07:05.800 --> 01:07:07.760
könnt ihr mir den Code dann mal irgendwie

01:07:07.760 --> 01:07:09.540
so, wie mache ich das denn dann?

01:07:09.800 --> 01:07:11.580
Dann kriegt man meistens den Code, meistens mit

01:07:11.580 --> 01:07:12.900
einer länglichen Entschuldigung

01:07:12.900 --> 01:07:14.980
für die Codequalität.

01:07:16.360 --> 01:07:17.620
Und ganz oft

01:07:17.620 --> 01:07:19.460
ist es dann halt auch so, wenn man das dann

01:07:19.460 --> 01:07:21.160
tatsächlich versucht, nochmal selber zu implementieren.

01:07:21.340 --> 01:07:23.640
Aber man merkt so, oh ne, das tut nicht so wirklich genau

01:07:23.640 --> 01:07:25.620
das, was da in dem Paper drin steht.

01:07:26.000 --> 01:07:27.660
Und also da muss

01:07:27.660 --> 01:07:29.060
irgendwie, ich meine,

01:07:29.460 --> 01:07:31.180
ich kann auch verstehen, wie das passiert. Das ist halt,

01:07:31.460 --> 01:07:33.360
man kann halt Code nicht veröffentlichen

01:07:33.360 --> 01:07:35.500
in der Zeitschrift, sondern da ist halt dann halt

01:07:35.500 --> 01:07:37.580
ein gesetztes Paper

01:07:37.580 --> 01:07:39.320
irgendwie das Entscheidende oder halt sogar

01:07:39.320 --> 01:07:41.220
oft in der Informatik sind es halt irgendwie

01:07:41.220 --> 01:07:43.360
Formeln, mathematische Formeln, die da drin stehen müssen,

01:07:43.480 --> 01:07:45.240
weil das ist halt das, was man irgendwie da reinschreiben kann.

01:07:45.760 --> 01:07:47.600
Code ist halt, kann man nicht so wirklich publizieren.

01:07:48.300 --> 01:07:55.600
Aber das muss sich irgendwie ändern, weil das ist, ja, das ist eigentlich alles, ja, ja, relativ furchtbar.

01:07:56.520 --> 01:07:58.680
Ja, also ich stimme dir voll zu.

01:07:58.940 --> 01:08:05.460
Also weil es, also welches Paper kann heutzutage noch geschrieben werden, was nicht auf Code beruht?

01:08:05.460 --> 01:08:13.220
Also das ist wahnsinnig, absolut fundamental, die Ergebnisse, und die Ergebnisse sind davon gestützt.

01:08:13.360 --> 01:08:15.520
Also wenn da ein Bug drin ist, dann kriegst du ein falsches Ergebnis raus.

01:08:16.160 --> 01:08:18.060
dass das bisher immer noch

01:08:18.060 --> 01:08:20.040
nicht, also fairerweise

01:08:20.040 --> 01:08:22.000
muss man sagen, das verstehen schon

01:08:22.000 --> 01:08:23.860
immer mehr Leute und es gibt auch immer mehr Wissenschaftler, die

01:08:23.860 --> 01:08:26.360
das auch anfangen zu machen und die ihre GitHub-Repositories

01:08:26.360 --> 01:08:26.660
haben.

01:08:28.020 --> 01:08:29.900
Der Danilo Bistock zum Beispiel, mit dem habe ich

01:08:29.900 --> 01:08:31.340
letztens ein Paper gemacht, also

01:08:31.340 --> 01:08:33.920
der stellt alles immer

01:08:33.920 --> 01:08:35.760
online und ich kenne auch viele andere Kollegen,

01:08:36.000 --> 01:08:37.640
die das machen und

01:08:37.640 --> 01:08:39.180
das ist super, also gerade jüngere

01:08:39.180 --> 01:08:40.980
Wissenschaftler, aber

01:08:40.980 --> 01:08:43.220
das ist halt bisher noch größtenteils

01:08:43.220 --> 01:08:45.320
freiwillig. Also ich glaube, das muss schon

01:08:45.320 --> 01:08:49.180
einfach auch ein Zwang sein, dass die Methoden und der Code

01:08:49.180 --> 01:08:53.220
alles online kommt. Und wenn das online ist,

01:08:53.340 --> 01:08:57.380
dann ist natürlich auch automatisch oft der Anspruch an die Code-Qualität

01:08:57.380 --> 01:09:01.160
höher. Also das heißt, man möchte dann vielleicht doch ein bisschen mehr Zeit darauf verbringen,

01:09:01.160 --> 01:09:05.060
auch den Code zu kommentieren und ein paar Tests zu schreiben. Das sind ja alles

01:09:05.350 --> 01:09:07.330
Peer-Pressure.

01:09:08.090 --> 01:09:09.890
Ja, genau, so ein bisschen gesunde Peer-Pressure

01:09:09.890 --> 01:09:10.630
da reinbringen.

01:09:12.510 --> 01:09:12.730
Ja.

01:09:15.070 --> 01:09:15.630
Ja.

01:09:17.510 --> 01:09:18.070
Genau.

01:09:18.490 --> 01:09:19.110
Gab es irgendwas

01:09:19.110 --> 01:09:21.930
sehr Interessantes oder was du nicht

01:09:21.930 --> 01:09:23.710
erwartet hattest irgendwie beim

01:09:23.710 --> 01:09:25.350
Bauen der

01:09:25.350 --> 01:09:27.970
Modelle für dieses Problem

01:09:27.970 --> 01:09:28.350
oder

01:09:28.350 --> 01:09:31.870
ich weiß nicht genau, ob ich jetzt

01:09:31.870 --> 01:09:32.850
irgendwas...

01:09:32.850 --> 01:10:02.270
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.

01:10:02.850 --> 01:10:26.610
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.

01:10:26.950 --> 01:10:50.210
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.

01:10:50.210 --> 01:11:10.710
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.

01:11:11.010 --> 01:11:31.070
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.

01:11:31.890 --> 01:11:49.170
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.

01:11:51.070 --> 01:12:18.430
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

01:12:18.430 --> 01:12:20.310
und das Expertenwissen, was man hat

01:12:20.310 --> 01:12:22.210
über zum Beispiel die Growth Rate

01:12:22.210 --> 01:12:24.230
oder halt die Sterblichkeit oder wie lange

01:12:24.230 --> 01:12:26.110
es dauert, sind halt alles

01:12:26.110 --> 01:12:27.990
Annahmen, die man da mit reinstecken kann.

01:12:28.670 --> 01:12:29.710
Aber auch jetzt nicht

01:12:29.710 --> 01:12:32.070
ganz fix und sagen, okay, es sind exakt zwei

01:12:32.070 --> 01:12:34.190
Wochen, sondern sagen, okay, naja, könnte irgendwas

01:12:34.190 --> 01:12:36.190
zwischen sieben und

01:12:36.190 --> 01:12:38.510
18 Tagen sein. Also so eine Ungenauigkeit

01:12:38.510 --> 01:12:40.070
kann man auch in dem

01:12:40.070 --> 01:12:42.110
Bereich einsetzen und

01:12:42.110 --> 01:12:44.010
das wirkt sich dann natürlich auch darauf aus, auf

01:12:44.010 --> 01:12:46.110
die Ungenauigkeiten,

01:12:46.830 --> 01:12:47.930
die man aus dem Modell rausbekommt.

01:12:48.430 --> 01:12:53.030
Ja, ist ja interessant.

01:12:53.590 --> 01:12:54.950
Hast du irgendein Land gefunden, wo du sagst,

01:12:55.090 --> 01:12:57.170
dass die Fallzahlen, die du da so rausfindest,

01:12:57.290 --> 01:12:58.890
relativ nah an der

01:12:58.890 --> 01:13:00.210
Realität sind oder an der Wirklichkeit?

01:13:03.710 --> 01:13:05.190
Kann ich noch nicht sagen.

01:13:06.550 --> 01:13:07.050
Das ist

01:13:07.050 --> 01:13:07.970
eine sehr gute Frage, ja.

01:13:08.650 --> 01:13:10.930
Da habe ich noch gar nicht dran gedacht, aber werde ich mir

01:13:10.930 --> 01:13:12.870
auf jeden Fall anschauen. Ich würde erwarten,

01:13:13.350 --> 01:13:14.930
dass es Südkorea ist, weil die

01:13:14.930 --> 01:13:16.250
am meisten getestet haben.

01:13:17.190 --> 01:13:18.670
das wäre ein guter Test auf jeden Fall,

01:13:18.810 --> 01:13:20.750
das Modell zu sehen, wer da

01:13:20.750 --> 01:13:22.510
am genauesten dran ist und wer nicht.

01:13:23.610 --> 01:13:24.870
Wenn ich jetzt hier nach

01:13:24.870 --> 01:13:26.670
dem Podcast reinschaue,

01:13:26.790 --> 01:13:28.550
sind die Modelle wahrscheinlich gerade fertig und dann

01:13:28.550 --> 01:13:29.770
kann ich es dir schreiben.

01:13:31.770 --> 01:13:32.710
Schicken wir die Shownotes.

01:13:33.070 --> 01:13:35.010
Ja, genau. Wir packen das alles da an die Links.

01:13:35.730 --> 01:13:35.930
Ja.

01:13:37.370 --> 01:13:38.870
Ja, ja, ja, sehr interessant.

01:13:40.910 --> 01:13:42.710
Ja, ich weiß nicht, wollen wir noch, haben wir noch

01:13:42.710 --> 01:13:43.730
irgendwas, was wir mit diesem

01:13:43.730 --> 01:13:47.530
Corona-Geschichte

01:13:47.530 --> 01:13:48.610
besprechen wollten.

01:13:49.730 --> 01:13:50.390
Ich überlege gerade.

01:13:51.610 --> 01:13:52.910
Thomas hat so viele interessante Sachen,

01:13:52.950 --> 01:13:55.050
auch über Quanz-Sachen gesagt, die mich noch viel mehr interessieren

01:13:55.050 --> 01:13:55.870
als die Corona-Geschichte.

01:13:56.970 --> 01:13:57.130
Ja.

01:14:00.210 --> 01:14:00.970
Also genau,

01:14:01.130 --> 01:14:02.570
ich glaube, zu Corona auf jeden Fall

01:14:02.570 --> 01:14:04.690
haben wir, also ich glaube, zu allem haben wir eigentlich recht

01:14:04.690 --> 01:14:06.190
gut was,

01:14:07.110 --> 01:14:08.630
also alles, was ich, glaube ich, so sagen wollte,

01:14:08.630 --> 01:14:10.610
habe ich da gesagt.

01:14:12.470 --> 01:14:12.870
Ja.

01:14:13.730 --> 01:14:17.110
Aber also wenn ihr noch Sachen habt, die ihr vertiefen wollt.

01:14:17.330 --> 01:14:20.110
Das ist für uns der Virus ab jetzt auch offiziell beendet.

01:14:21.410 --> 01:14:23.950
Ja, wir erklären das jetzt mal für beendet.

01:14:25.030 --> 01:14:26.730
Halt mir die Augen zu und die Ohren zu.

01:14:28.530 --> 01:14:33.490
Ja, ansonsten, ich weiß nicht genau.

01:14:34.910 --> 01:14:38.050
Aber das ist vielleicht auch noch so ein Ding,

01:14:38.050 --> 01:14:43.290
wo es Überschneidungen gibt.

01:14:44.190 --> 01:14:46.990
Auch interessant, wie veröffentlicht man eigentlich solche Daten?

01:14:49.810 --> 01:14:55.290
Und wie kann man die am besten so,

01:14:55.350 --> 01:15:00.410
dass das halt alle lesen können, irgendwie übermitteln und so.

01:15:00.970 --> 01:15:03.650
Ja, aber die Notebooks sind doch total super.

01:15:03.830 --> 01:15:05.850
Man kann ja relativ einfach das plotten.

01:15:06.130 --> 01:15:08.910
Ja, ja, aber die Daten, auf denen das basiert,

01:15:08.970 --> 01:15:10.970
ist ja meistens dann irgendwie CSV oder so.

01:15:11.930 --> 01:15:12.690
Google Spat Chat.

01:15:12.750 --> 01:15:15.370
Ja, also genau, das ist auf jeden Fall echt so ein Ding.

01:15:16.290 --> 01:15:22.150
Also Johns Hopkins hat da die Daten aus den WHO-Berichten,

01:15:22.210 --> 01:15:24.870
die als PDF da geschickt werden, benutzt.

01:15:25.010 --> 01:15:26.450
Und die waren die ersten, die das Dashboard da hatten.

01:15:27.270 --> 01:15:28.930
Und dann haben andere Leute angefangen,

01:15:29.430 --> 01:15:31.890
diese Daten dann auf GitHub zur Verfügung zu stellen,

01:15:31.990 --> 01:15:32.890
als CSV-Dateien.

01:15:32.890 --> 01:15:35.550
Und dann kann man sich da halt immer die aktuelle Datei runterladen.

01:15:36.130 --> 01:15:52.430
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.

01:15:53.830 --> 01:15:55.410
Leider haben die, die das

01:15:55.410 --> 01:15:57.390
Report da laufen, dann sind nicht sehr

01:15:57.390 --> 01:15:59.390
aktiv, sondern stellen halt die Daten rein

01:15:59.390 --> 01:16:01.510
und oft enthalten

01:16:01.510 --> 01:16:03.310
die echte Fehler. Und

01:16:03.310 --> 01:16:05.450
die werden dann nur sehr schleppend bis gar nicht

01:16:05.450 --> 01:16:07.190
da

01:16:07.190 --> 01:16:09.430
gefixt. Und

01:16:09.430 --> 01:16:11.530
die andere Webseite,

01:16:11.610 --> 01:16:13.070
die ich jetzt angefangen habe zu nutzen, ist

01:16:13.070 --> 01:16:14.870
European Center for Disease Control,

01:16:15.490 --> 01:16:17.250
ECDC, und die

01:16:17.250 --> 01:16:18.670
haben deutlich bessere Daten.

01:16:19.450 --> 01:16:21.250
Also die Webseite, die ich jedem empfehlen würde,

01:16:21.330 --> 01:16:23.390
ist nicht mein Dashboard, sondern

01:16:23.390 --> 01:16:24.530
Our World in Data.

01:16:26.030 --> 01:16:27.550
Die haben da, finde ich,

01:16:27.590 --> 01:16:28.290
mit die besten

01:16:28.290 --> 01:16:31.410
Datenquellen und von denen

01:16:31.410 --> 01:16:33.550
habe ich das, dass die da umgestiegen

01:16:33.550 --> 01:16:35.630
sind auf die Daten von der ECDC.

01:16:36.190 --> 01:16:37.330
Die benutze ich jetzt auch und die

01:16:37.330 --> 01:16:39.150
sind ein bisschen verlässlicher.

01:16:40.150 --> 01:16:40.890
Ah ja, okay.

01:16:41.550 --> 01:16:42.550
Ja, sehr cool.

01:16:43.490 --> 01:16:45.330
Ja, das ist also, ich meine, auch da,

01:16:45.390 --> 01:16:47.210
das ist natürlich wahrscheinlich eine der Geschichten, die man daraus

01:16:47.210 --> 01:16:49.510
dann irgendwie lernen sollte, auch in

01:16:49.510 --> 01:16:51.350
Europa ist halt so, das ist überhaupt nicht einheitlich,

01:16:51.830 --> 01:16:53.690
genau wie diese Daten eigentlich erhoben werden oder

01:16:53.690 --> 01:16:55.730
wer da was an wen meldet und so.

01:16:55.830 --> 01:16:57.450
Und das ist halt alles überhaupt nicht miteinander vergleichbar.

01:16:59.070 --> 01:16:59.990
Aber wenn man

01:16:59.990 --> 01:17:02.110
jetzt auch, dass das halt irgendwie aus PDFs,

01:17:02.170 --> 01:17:03.910
also ich meine, auch in Deutschland ist das ganz, ganz

01:17:03.910 --> 01:17:05.890
krude Geschichten, hört man dann von irgendwie Faxen,

01:17:05.910 --> 01:17:07.290
die notergeschickt werden oder

01:17:07.290 --> 01:17:09.830
irgendwie werden Leute telefonisch

01:17:09.830 --> 01:17:11.810
irgendwie informiert über bestimmte Sachen und dann tragen sie

01:17:11.810 --> 01:17:14.030
das halt irgendwo ein oder halt auch nicht oder vergessen das halt auch mal.

01:17:14.270 --> 01:17:15.850
Das wird dann ausgedruckt und dann per

01:17:15.850 --> 01:17:17.030
Postgeschickten wieder eingescannt?

01:17:17.670 --> 01:17:20.050
Ja, also irgendwie, da ist auf jeden Fall

01:17:20.050 --> 01:17:21.930
eine Menge Verbesserungspotenzial, offenbar.

01:17:24.030 --> 01:17:24.430
Aber...

01:17:24.430 --> 01:17:26.070
Da haben ja einige Gruppen an dem Hackathon

01:17:26.070 --> 01:17:26.710
dran gearbeitet.

01:17:26.870 --> 01:17:27.930
Ja, das gab es ja jetzt.

01:17:28.690 --> 01:17:30.610
Auch in Python.

01:17:31.470 --> 01:17:33.850
Ich habe tatsächlich so ein bisschen versucht, da Projekte zu finden.

01:17:33.950 --> 01:17:35.550
Ich habe jetzt tatsächlich nicht die allercoolsten entdeckt.

01:17:35.670 --> 01:17:37.670
Ich habe ein bisschen gecodet, Telegram-Bot

01:17:37.670 --> 01:17:39.970
zur Aufklärung und es ging um

01:17:39.970 --> 01:17:41.830
Supermärkte. Aber ich habe ehrlich gesagt

01:17:41.830 --> 01:17:43.990
eher Leute da getroffen und versucht, so ein bisschen was Sinnvolles

01:17:43.990 --> 01:17:45.910
zu tun, aber wirklich viel

01:17:45.910 --> 01:17:47.590
kam da, glaube ich, nicht bei raus. Es waren sehr viele Menschen.

01:17:47.690 --> 01:17:49.330
Das hat mich ein bisschen gefreut, ein bisschen Hoffnung gegeben.

01:17:49.730 --> 01:17:54.830
Ich glaube, über 42.000 Anmeldungen gab es und hinterher über 1.000 Devs, die dann tatsächlich irgendwas gecodet haben.

01:17:55.770 --> 01:17:56.270
Das war ganz schön.

01:17:56.870 --> 01:18:00.650
Gab es irgendein Projekt, was du besonders cool fandest, woraus du was gewonnen hast?

01:18:01.470 --> 01:18:06.310
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

01:18:06.310 --> 01:18:11.730
oder vernünftiges Handlingen von den Fragen zu machen, dass die Telefone nicht mehr überlastet werden.

01:18:12.590 --> 01:18:16.450
Aber dass da jetzt so richtig das Projekt rausgekommen ist, ich glaube, die brauchen alle noch ein bisschen.

01:18:17.130 --> 01:18:28.510
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.

01:18:28.510 --> 01:18:39.730
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.

01:18:40.310 --> 01:19:04.610
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.

01:19:04.610 --> 01:19:06.770
Breitbandausbau, vielleicht werden endlich mal

01:19:06.770 --> 01:19:08.410
wieder ein paar Kliniken privatisiert, man weiß es nicht.

01:19:10.230 --> 01:19:10.630
Und

01:19:10.630 --> 01:19:12.610
ich meine, das sind alles Sachen, die

01:19:12.610 --> 01:19:14.710
dann, wenn wir diese

01:19:14.710 --> 01:19:16.690
ganze Corona-Geschichte überstanden haben,

01:19:16.810 --> 01:19:18.250
hoffentlich auch bestehen bleiben.

01:19:18.490 --> 01:19:19.510
Die ganzen Arbeitgeber

01:19:19.510 --> 01:19:21.990
haben jetzt Erfahrung damit,

01:19:22.670 --> 01:19:24.050
die Ärzte haben Erfahrung damit,

01:19:24.710 --> 01:19:26.230
Konferenzen auch zum Beispiel,

01:19:26.430 --> 01:19:28.690
viele wurden abgesagt, aber einige sind auch virtuell

01:19:28.690 --> 01:19:30.750
geworden. Und das ist auch eine Sache,

01:19:30.910 --> 01:19:32.750
die schon immer so gefordert wurde,

01:19:32.830 --> 01:19:40.590
Weil es natürlich auch CO2 sehr schlecht für die Umwelt ist,

01:19:40.590 --> 01:19:44.190
wenn da 100.000 Leute zu dieser Konferenz fliegen.

01:19:45.590 --> 01:19:48.590
Und das kann man viel virtuell machen.

01:19:48.870 --> 01:19:50.430
Und das wurde auch nur lange gefordert.

01:19:50.570 --> 01:19:53.330
Jetzt wird es tatsächlich umgesetzt, weil es nicht anders geht.

01:19:53.690 --> 01:19:55.730
Apropos virtuell, da muss ich einmal kurz einhaken.

01:19:55.870 --> 01:19:57.470
Weiß ich nicht, wann wir die Folge veröffentlicht bekommen.

01:19:57.570 --> 01:20:02.210
Aber jetzt am Wochenende ist der virtuelle Düsseldorfer Python Sprint,

01:20:02.690 --> 01:20:04.190
der sonst immer bei Trivago stattfand, auch

01:20:04.190 --> 01:20:05.630
auf virtuelle Ebene verschoben wurden.

01:20:07.250 --> 01:20:08.570
Das Python-Camp

01:20:08.570 --> 01:20:09.690
auch, also das

01:20:09.690 --> 01:20:11.270
in

01:20:11.270 --> 01:20:13.610
Deutschland stattfindet.

01:20:14.850 --> 01:20:16.250
Ja, und das ist jetzt auch,

01:20:16.350 --> 01:20:18.330
das ist noch nicht so richtig klar. Und sogar die EuroPython

01:20:18.330 --> 01:20:20.110
auch, auch virtuell. Ach, ernsthaft?

01:20:20.130 --> 01:20:22.210
Das habe ich im Blog gelesen, ja. Das habe ich noch gar nicht

01:20:22.210 --> 01:20:24.150
mitbekommen, weil, ja, okay, das wäre nämlich,

01:20:24.470 --> 01:20:26.270
weil da war, hatte ich ja auch, oder hatten

01:20:26.270 --> 01:20:27.410
wir auch überlegt, da hinzugehen.

01:20:27.870 --> 01:20:29.830
Ja, also ich hatte schon gebucht, ich habe

01:20:29.830 --> 01:20:31.410
schon hinbekommen, aber ja.

01:20:32.690 --> 01:20:46.010
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.

01:20:46.010 --> 01:20:56.310
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.

01:20:56.310 --> 01:20:57.030
Genau, richtig.

01:20:58.150 --> 01:20:59.670
Mit Handschlag und

01:20:59.670 --> 01:21:02.210
ja, aber genau, also

01:21:02.210 --> 01:21:03.590
ich glaube,

01:21:04.050 --> 01:21:05.890
diese ganzen Nachteile gibt es auf jeden Fall,

01:21:06.230 --> 01:21:07.690
aber ich würde mich wundern, wenn es da nicht auch

01:21:07.690 --> 01:21:10.210
sehr viel Potenzial für innovative Ideen

01:21:10.210 --> 01:21:12.050
gibt, wie man das

01:21:12.050 --> 01:21:14.170
Nachteil

01:21:14.170 --> 01:21:16.010
ausgleichen und Vorteile ausweichen kann.

01:21:17.050 --> 01:21:17.870
Ja, und es gab

01:21:17.870 --> 01:21:19.910
eine Kegel-Competition gab es noch jetzt

01:21:19.910 --> 01:21:21.810
irgendwie neu. Ja, da gab es mehrere.

01:21:22.650 --> 01:21:22.810
Ja,

01:21:24.570 --> 01:21:25.290
Moment,

01:21:25.650 --> 01:21:27.610
Genau, es gab einmal

01:21:27.610 --> 01:21:29.030
eine Geschichte.

01:21:32.450 --> 01:21:33.950
Genau, da geht es darum, haben sie

01:21:33.950 --> 01:21:36.270
einen riesen Datensatz mit Research-Papern

01:21:36.270 --> 01:21:37.770
zur Verfügung gestellt und da wird

01:21:37.770 --> 01:21:38.930
NLP drauf gemacht.

01:21:39.870 --> 01:21:41.790
Auch bei Quantopian sind wir auch

01:21:41.790 --> 01:21:43.910
gerade dabei, eine neue Challenge zu starten.

01:21:45.490 --> 01:21:45.490
Und

01:21:45.490 --> 01:21:47.690
das haben wir immer gemacht mit gewissen

01:21:47.690 --> 01:21:48.850
Datensätzen oder so. Jetzt

01:21:48.850 --> 01:21:51.810
generiert man Algorithmen auf

01:21:51.810 --> 01:21:53.870
den Insider-Daten oder so.

01:21:54.590 --> 01:21:57.150
Das, wie wir es jetzt machen wollen, ist ein bisschen eine andere Idee.

01:21:57.710 --> 01:22:03.510
Da geht es auch um Covid-19 und den Einfluss davon auf die Wirtschaft und auf die Finanzmärkte.

01:22:04.170 --> 01:22:06.790
Und da geht es nicht darum, irgendwelche Algorithmen zu entwickeln,

01:22:06.870 --> 01:22:10.410
sondern stattdessen interessante Analysen und Visualisierungen davon zu machen.

01:22:10.410 --> 01:22:19.630
Also wer macht die coolste Analyse, wie der Einfluss von Covid-19 auf die Supply Chains ist oder auf die Aktienmärkte?

01:22:19.970 --> 01:22:20.670
Das wird nicht so.

01:22:20.670 --> 01:22:24.230
Ich zeichne mal mit, dass du so einen Aktienmarkt und dann kommt irgendwie so ein großer Hammer und dann macht es boom.

01:22:24.590 --> 01:22:26.770
Ja, genau sowas.

01:22:28.150 --> 01:22:29.170
Aber genau, also bis

01:22:29.170 --> 01:22:31.190
der Podcast dann raus ist, ist es wahrscheinlich

01:22:31.190 --> 01:22:33.030
schon unter Kontra mit Website. Also jeder, der da

01:22:33.030 --> 01:22:35.230
Interesse hat, sollte sich das mal

01:22:35.230 --> 01:22:36.290
ansehen. Gibt auch einen Preis.

01:22:37.410 --> 01:22:38.330
Ah, cool. Ja.

01:22:41.530 --> 01:22:43.250
Genau, da sehe ich gerade auch schon,

01:22:43.310 --> 01:22:45.070
es gibt eine Forecasting-Competition

01:22:45.070 --> 01:22:47.010
auf Karel auch, wo halt die Leute auch schon ihre

01:22:47.010 --> 01:22:48.390
Notebooks, da sehe ich auch schon diese

01:22:48.390 --> 01:22:51.030
SIR-Modelle und

01:22:51.030 --> 01:22:53.130
Leute, die interessante Visualisierungen gemacht

01:22:53.130 --> 01:22:55.010
haben. Ich fand das mit dem Preis auf Kantor-Penis aber

01:22:55.010 --> 01:22:57.090
deutlich interessanter. Ja, das ist, ja,

01:22:57.190 --> 01:22:58.890
genau, das packen wir auf jeden Fall auch mit rein, das

01:22:58.890 --> 01:22:59.890
genau.

01:23:01.550 --> 01:23:03.070
Ja, nee, sehr schön.

01:23:03.790 --> 01:23:04.910
Ja, schreibt uns, wenn ihr irgendwie

01:23:04.910 --> 01:23:07.030
ein tolles Projekt habt, wo ihr Unterstützung versucht,

01:23:07.170 --> 01:23:09.130
das werden wir natürlich dann in der nächsten Zeit

01:23:09.130 --> 01:23:11.170
versuchen zu berücksichtigen. Ja, ich weiß

01:23:11.170 --> 01:23:13.030
nicht genau, vielleicht kann man nochmal so ein bisschen allgemein, also

01:23:13.030 --> 01:23:15.010
was auch interessant ist, wenn man da auf dem Laufenden bleiben

01:23:15.010 --> 01:23:16.730
will, was gerade so passiert, diese

01:23:16.730 --> 01:23:18.570
Geschichte, es gibt vom CCC irgendwie

01:23:18.570 --> 01:23:19.070
einen

01:23:19.070 --> 01:23:22.670
Link-Liste und ein Wiki

01:23:22.670 --> 01:23:24.830
und auch ein Bulletin, das sie halt

01:23:24.830 --> 01:23:26.690
jeden Tag veröffentlichen mit allen

01:23:26.690 --> 01:23:28.110
aus ihrer Sicht irgendwie

01:23:28.110 --> 01:23:30.810
wichtigen Entwicklungen und das

01:23:30.810 --> 01:23:31.970
ist auch interessant. Also ich meine,

01:23:32.630 --> 01:23:34.790
die organisieren sich irgendwie um

01:23:34.790 --> 01:23:36.070
so ein Streamer-Channel

01:23:36.070 --> 01:23:37.610
oder Gruppe

01:23:37.610 --> 01:23:39.730
und das sind irgendwie so 100,

01:23:40.510 --> 01:23:42.630
etwas über 100 Leute oder so, die halt alle aus diesem

01:23:42.630 --> 01:23:44.830
medizinischen oder Katastrophenschutz-Bereich kommen

01:23:44.830 --> 01:23:46.750
und die da auch halt echt

01:23:46.750 --> 01:23:48.730
Ahnung von haben und da stehen

01:23:48.730 --> 01:23:49.850
auch immer sehr interessante Sachen

01:23:49.850 --> 01:23:52.410
Sachen dabei. Also wenn da irgendwas

01:23:52.410 --> 01:23:54.510
Neues erschienen

01:23:54.510 --> 01:23:56.410
ist, was irgendwie

01:23:56.410 --> 01:23:58.550
interessant ist, dann findet man das da eigentlich immer.

01:23:58.950 --> 01:24:00.430
Und die machen das halt auch anders. Das ist auch

01:24:00.430 --> 01:24:01.450
sowas, was mich irgendwie

01:24:01.450 --> 01:24:04.030
in letzter Zeit, also ich hab da jetzt auch so ein bisschen,

01:24:04.550 --> 01:24:06.090
naja, ich meine, man konnte dem eigentlich nicht entgehen.

01:24:07.090 --> 01:24:08.350
Man hört ja die ganze Zeit von

01:24:08.350 --> 01:24:10.410
allen möglichen Richtungen strömt das auf einen ein.

01:24:11.370 --> 01:24:11.790
Wenn man so

01:24:11.790 --> 01:24:14.430
sich anguckt, was so in Zeitungen

01:24:14.430 --> 01:24:16.310
oder eben klassischen journalistischen

01:24:16.310 --> 01:24:18.330
Publikationen irgendwie geschrieben wird, was mich

01:24:18.330 --> 01:24:20.370
immer so ein bisschen stört, ist, dass oft nicht die Quellen

01:24:20.370 --> 01:24:22.350
dabei stehen oder so. Und das machen die

01:24:22.350 --> 01:24:24.430
zum Beispiel eben auch anders, dass sie halt immer die Quellen

01:24:24.430 --> 01:24:26.350
alle mit verlinken und dass man halt gucken kann, wenn das steht,

01:24:26.610 --> 01:24:28.330
wenn das steht halt nicht nur irgendwie, es gibt eine

01:24:28.330 --> 01:24:30.150
Studie, die irgendwie das und das sagt, wenn man sich denkt,

01:24:30.210 --> 01:24:32.410
okay, zeig mir doch mal die Studie, ich möchte mal gucken,

01:24:32.490 --> 01:24:34.270
was haben die denn da wirklich gemacht, dann

01:24:34.270 --> 01:24:36.130
ist das da halt auch alles verlinkt und

01:24:36.130 --> 01:24:37.390
das ist schon mal sehr praktisch.

01:24:38.870 --> 01:24:40.130
Ja, ähm,

01:24:41.350 --> 01:24:41.770
hm.

01:24:43.030 --> 01:24:44.330
Ja, es gibt leider auch wieder sehr viele

01:24:44.330 --> 01:24:46.310
Alternativmedien, die irgendwelchen Schrott erzählen.

01:24:46.330 --> 01:24:48.210
Ja, das ist, äh, das ist. Eva Herrmann

01:24:48.210 --> 01:24:49.090
sagt, das wäre wie die Grippe.

01:24:50.310 --> 01:24:50.530
Ja.

01:24:52.670 --> 01:24:52.990
Ja.

01:24:54.990 --> 01:24:55.950
Wie wird man dem her?

01:24:56.350 --> 01:24:58.190
Gute Frage. Ja, keine Ahnung.

01:24:59.630 --> 01:24:59.810
Ja.

01:25:01.950 --> 01:25:02.510
Genau, genau.

01:25:02.770 --> 01:25:03.210
Was ich noch,

01:25:03.950 --> 01:25:05.370
worauf ich noch hinaus wollte, mit dem,

01:25:05.830 --> 01:25:08.270
wie man Daten austauschen kann, also was ich ja persönlich hoffe,

01:25:08.390 --> 01:25:10.270
ich habe auch so keine Ahnung, ob das irgendwie jemals passieren wird,

01:25:10.370 --> 01:25:11.890
aber das habe ich auch,

01:25:12.010 --> 01:25:13.730
die Idee ist ja nicht von mir, sondern das ist halt,

01:25:14.570 --> 01:25:15.750
habe ich auch irgendwann mal gehört

01:25:15.750 --> 01:25:17.130
und dachte so, also zuerst dachte ich,

01:25:17.310 --> 01:25:19.030
ist vielleicht keine tolle Idee, aber dann so

01:25:19.030 --> 01:25:21.050
je länger man drüber nachdenkt, desto

01:25:21.050 --> 01:25:23.030
irgendwie interessanter sieht das aus, irgendwie

01:25:23.030 --> 01:25:25.210
halt als Standard-Datenaustauschformat

01:25:25.210 --> 01:25:27.370
für solche Art von Daten halt SQLite

01:25:27.370 --> 01:25:28.870
zu etablieren,

01:25:28.890 --> 01:25:31.290
weil eben CSV

01:25:31.290 --> 01:25:33.410
irgendwie diverse böse Nachteile

01:25:33.410 --> 01:25:35.330
hat und man mit SQLite halt

01:25:35.330 --> 01:25:37.330
auch sehr schöne Geschichten

01:25:37.330 --> 01:25:38.590
bauen kann gerade.

01:25:38.890 --> 01:25:41.190
Das Problem mit SQLite ist natürlich, du brauchst immer ein Interface,

01:25:41.290 --> 01:25:43.330
mit dem man das beschreiben kann und du hast

01:25:43.330 --> 01:25:45.450
halt bei CSV einfach eine offene

01:25:45.450 --> 01:25:47.270
Tabelle, wo du einfach in irgendwelche Zellen irgendwas rein

01:25:47.270 --> 01:25:48.190
pasten kannst. Und das

01:25:48.190 --> 01:25:51.230
kenne ich so für Sikulite

01:25:51.230 --> 01:25:53.110
so low-levelig, für

01:25:53.110 --> 01:25:54.570
den Privatanwender nicht.

01:25:55.570 --> 01:25:57.230
Ja, natürlich. Also wenn du

01:25:57.230 --> 01:25:59.030
sozusagen tatsächlich da Daten verändern willst,

01:25:59.190 --> 01:26:00.670
dann ist das natürlich

01:26:00.670 --> 01:26:02.290
alles sowieso schwierig. Aber

01:26:02.290 --> 01:26:05.090
wenn du es jetzt nur irgendwie lesen und auswerten willst,

01:26:05.210 --> 01:26:05.970
dann ist vielleicht

01:26:05.970 --> 01:26:08.950
Sikulite gar keine so schlechte Idee. Also ich finde die Idee super,

01:26:09.030 --> 01:26:10.930
so aus technischer Perspektive. Ich frage mich halt nur, wie

01:26:10.930 --> 01:26:12.870
Herr Meier

01:26:12.870 --> 01:26:14.830
und Frau Kunze das umsetzen wollen, wenn sie

01:26:14.830 --> 01:26:16.850
zu Hause sind. Und

01:26:16.850 --> 01:26:19.290
dann ihre

01:26:19.290 --> 01:26:20.830
Daten bereitstellen. Also vielleicht sind diese

01:26:20.830 --> 01:26:22.390
Menschen, die da arbeiten, ja irgendwie

01:26:22.390 --> 01:26:24.650
an der Quelle und haben halt dieses Fax in der Hand

01:26:24.650 --> 01:26:26.690
zum Beispiel und müssen halt diese Daten aus dem Fax irgendwo

01:26:26.690 --> 01:26:28.770
eintippen. Und man

01:26:28.770 --> 01:26:30.610
hat halt vielleicht gar nicht diese Schnittstelle, dieses Interface,

01:26:30.690 --> 01:26:32.670
dass das halt direkt in eine zentrale, gute

01:26:32.670 --> 01:26:34.730
Datenbank kommt, sondern man

01:26:34.730 --> 01:26:36.730
muss halt irgendwie sich so ein

01:26:36.730 --> 01:26:38.710
Überträger-Datenformat überlegen, was

01:26:38.710 --> 01:26:40.770
halt dann oft

01:26:40.770 --> 01:26:42.010
so eine Tabelle ist einfach.

01:26:42.950 --> 01:26:44.850
Ja, aber also was man tatsächlich

01:26:44.850 --> 01:26:46.690
mit SQL, also mit Data Setter zum Beispiel,

01:26:46.770 --> 01:26:48.350
Das ist halt das Projekt, was ich

01:26:48.350 --> 01:26:50.410
in dem Zusammenhang, weil es gibt auch zum Beispiel für diese

01:26:50.410 --> 01:26:52.690
Covid-Daten jetzt

01:26:52.690 --> 01:26:54.630
eine Datasette

01:26:54.630 --> 01:26:56.010
irgendwo auf.

01:26:57.090 --> 01:26:58.530
Das hatten wir noch ein, zwei Mal schon mal erwähnt,

01:26:58.590 --> 01:27:00.290
aber vielleicht erklärst du kurz, was ist das, eine Datasette?

01:27:00.970 --> 01:27:02.730
Ja, also

01:27:02.730 --> 01:27:05.030
da geht es darum, eben genau

01:27:05.030 --> 01:27:06.790
Daten halt

01:27:06.790 --> 01:27:07.730
öffentlich machen zu können.

01:27:08.570 --> 01:27:10.530
Das ist ein Projekt von, war

01:27:10.530 --> 01:27:13.010
jahrelang Side-Project, sozusagen das Haupt-Side-Project

01:27:13.010 --> 01:27:14.390
von Simon Willism, ein der

01:27:14.390 --> 01:27:16.650
Gründer von Django, von dem Django-Projekt.

01:27:16.770 --> 01:27:17.670
Webgeschichte

01:27:17.670 --> 01:27:20.410
und der hatte halt auch irgendwie

01:27:20.410 --> 01:27:23.350
eine Zeit lang

01:27:23.350 --> 01:27:25.310
beim Guardian gearbeitet

01:27:25.310 --> 01:27:26.730
und

01:27:26.730 --> 01:27:29.210
hatte da halt gesehen, dass es

01:27:29.210 --> 01:27:30.630
irgendwie deren Haupt

01:27:30.630 --> 01:27:33.230
Datensammlung von jemandem

01:27:33.230 --> 01:27:35.190
betreut wurde, der halt irgendwie hunderte von

01:27:35.190 --> 01:27:37.170
CSV-Files und Dingen irgendwie

01:27:37.170 --> 01:27:38.510
auf seinem Desktop liegen hatte

01:27:38.510 --> 01:27:40.450
und halt wusste, was da drin stand.

01:27:40.830 --> 01:27:42.630
Aber das ist natürlich nicht so eine gute

01:27:42.630 --> 01:27:44.830
Ausgangsbasis, um da irgendwie

01:27:44.830 --> 01:27:47.970
Daten dann zu veröffentlichen, also das könnte

01:27:47.970 --> 01:27:49.630
man gar nicht so richtig veröffentlichen, weil

01:27:49.630 --> 01:27:51.830
wenn man halt nicht weiß, was da überall drinsteht, dann kann man mit

01:27:51.830 --> 01:27:53.210
dieser Datensammlung gar nicht so viel anfangen

01:27:53.210 --> 01:27:55.770
und hätte dann

01:27:55.770 --> 01:27:57.650
überlegt, was man tun kann, um das

01:27:57.650 --> 01:27:59.330
irgendwie, ja

01:27:59.330 --> 01:28:01.610
auf so einer

01:28:01.610 --> 01:28:02.890
Toolbasis irgendwie daran

01:28:02.890 --> 01:28:05.510
aufzubereiten und das ist halt

01:28:05.510 --> 01:28:07.650
das, was daraus entstanden ist, halt die Tassette

01:28:07.650 --> 01:28:08.710
und das ist halt

01:28:08.710 --> 01:28:11.310
besteht aus mehreren Teilen, ein Teil ist halt

01:28:11.310 --> 01:28:13.510
man wirft irgendwie CSV-Dateien

01:28:13.510 --> 01:28:15.150
da rein oder sagt halt auch nur zu

01:28:15.150 --> 01:28:17.210
einem Verzeichnis, in dem viele CSV-Dateien

01:28:17.210 --> 01:28:18.470
drin liegen, so

01:28:18.470 --> 01:28:21.450
werdet mal zu einer SQLite-Datenbank

01:28:21.450 --> 01:28:22.370
und

01:28:22.370 --> 01:28:25.310
dann wird das mehr oder weniger automatisch

01:28:25.310 --> 01:28:27.550
transformiert und wenn es dann eine SQLite-Datenbank

01:28:27.550 --> 01:28:28.730
ist, dann

01:28:28.730 --> 01:28:31.650
kann man da halt beliebiger

01:28:31.650 --> 01:28:33.350
SQL-Anfragen drauf stellen,

01:28:33.510 --> 01:28:35.270
weil man kann halt bei SQLite

01:28:35.270 --> 01:28:37.090
sagen, das ist auch eine schöne Geschichte,

01:28:37.210 --> 01:28:38.770
das ist in der Python-Standard-Bibliothek direkt mit drin.

01:28:39.730 --> 01:28:41.430
Das heißt, man muss da nichts installieren

01:28:41.430 --> 01:28:43.190
oder so, sobald man einen Python-Interpreter hat, hat man

01:28:43.190 --> 01:28:45.210
das dabei und kann

01:28:45.210 --> 01:28:47.110
das Read-Only sozusagen aufmachen.

01:28:48.250 --> 01:28:49.110
Und er kriegt dann das Schema

01:28:49.110 --> 01:28:51.050
dann daraus, was er in den Daten gegeben hat.

01:28:51.110 --> 01:28:53.110
Ja, und was Setter-Setter macht, ist, es macht

01:28:53.110 --> 01:28:54.870
halt automatisch eine API drumherum.

01:28:54.870 --> 01:28:57.170
Sodass du halt auch direkt eine Web-API

01:28:57.170 --> 01:28:58.750
hast auf deine

01:28:58.750 --> 01:29:00.890
SQLite und sozusagen

01:29:00.890 --> 01:29:02.870
du hast jetzt nicht irgendwie GraphQL

01:29:02.870 --> 01:29:04.950
mit dem du als Abfragesprache

01:29:04.950 --> 01:29:06.630
mit der du das abfragst, sondern du hast halt direkt

01:29:06.630 --> 01:29:08.690
SQL und kriegst dann halt JSON oder

01:29:08.690 --> 01:29:09.430
CSV zurück.

01:29:10.790 --> 01:29:12.970
Und ja, das ist eigentlich

01:29:12.970 --> 01:29:14.610
sehr, sehr schick.

01:29:15.970 --> 01:29:17.330
Aber ja, es ist natürlich

01:29:17.330 --> 01:29:19.350
ja klar, also ich meine...

01:29:19.350 --> 01:29:21.110
Also das heißt, man könnte jetzt diese ganzen Repos

01:29:21.110 --> 01:29:23.110
auf GitHub, wo die ganzen Datensätze als CSV

01:29:23.110 --> 01:29:24.950
drin sind, einfach in irgendeine Datasette kippen

01:29:24.950 --> 01:29:27.230
und hätte direkt als SQL die Abfrage.

01:29:27.610 --> 01:29:29.110
Ja, nicht nur das, sondern man hat sogar

01:29:29.110 --> 01:29:30.970
einmal ein Interface, wo man

01:29:30.970 --> 01:29:33.310
SQL hin tun oder reinposten

01:29:33.310 --> 01:29:34.530
kann sozusagen und dann kommt halt

01:29:34.530 --> 01:29:37.170
irgendwie eine HTML-Tabelle im Browser

01:29:37.170 --> 01:29:39.270
zurück oder halt eben CSV oder JSON,

01:29:39.810 --> 01:29:41.190
wenn man es als API verwenden möchte und man hat

01:29:41.190 --> 01:29:42.610
direkt eine API auf die Datenbank.

01:29:42.970 --> 01:29:45.510
und es ist sogar so, dass man das nicht

01:29:45.510 --> 01:29:47.210
mal selber husten muss, sondern es gibt dann diverse

01:29:47.210 --> 01:29:49.230
Provider, die halt so

01:29:49.230 --> 01:29:50.850
Dinge anbieten, wie du kannst dann

01:29:50.850 --> 01:29:53.390
das habe ich jetzt gar nicht nochmal genau

01:29:53.390 --> 01:29:55.510
nachgeguckt, aber es gibt glaube ich Glitch, mit Glitch geht das

01:29:55.510 --> 01:29:56.750
irgendwie oder es gibt halt auch mit

01:29:56.750 --> 01:29:59.690
es gibt auch diverse

01:29:59.690 --> 01:30:01.370
die einfach so Docker-Container anbieten, die man

01:30:01.370 --> 01:30:03.470
wo man halt so ein freies Kontingent

01:30:03.470 --> 01:30:05.370
hat an Containern irgendwie

01:30:05.370 --> 01:30:07.330
und dann damit kann man das halt auch

01:30:07.330 --> 01:30:09.430
hochziehen und sodass man

01:30:09.430 --> 01:30:11.030
halt ohne

01:30:11.030 --> 01:30:12.610
irgendwie selber da irgendwie

01:30:12.610 --> 01:30:14.470
Hosting bezahlen zu müssen,

01:30:15.270 --> 01:30:16.890
die CSVs halt als

01:30:16.890 --> 01:30:18.830
SQL-Datenbank mit

01:30:18.830 --> 01:30:20.970
API irgendwie ins Netz stellen

01:30:20.970 --> 01:30:22.810
kann. Und das ist auch mit diesen

01:30:22.810 --> 01:30:24.330
John Hopkins-Daten passiert.

01:30:25.050 --> 01:30:26.430
Und das fand ich auch schon

01:30:26.430 --> 01:30:28.550
sehr interessant. Aber na gut, ich meine, das

01:30:28.550 --> 01:30:30.750
fixt natürlich die grundlegenden Datenprobleme

01:30:30.750 --> 01:30:31.610
darunter halt dann nicht.

01:30:33.670 --> 01:30:35.010
Aber es ist auf jeden Fall

01:30:35.010 --> 01:30:36.930
eine ganz

01:30:36.930 --> 01:30:38.910
interessante Geschichte, finde ich. Wenn man jetzt zum Beispiel

01:30:38.910 --> 01:30:41.050
irgendwie ein Notebook baut, was halt irgendwie

01:30:41.050 --> 01:30:43.310
diese Daten verwendet,

01:30:43.370 --> 01:30:45.370
dann kann man halt auch direkt, das könnte man direkt

01:30:45.370 --> 01:30:46.850
die Datasette, diese

01:30:46.850 --> 01:30:49.130
COVID-19-Datasette einfach

01:30:49.130 --> 01:30:51.010
verwenden und dann halt die ganzen Daten

01:30:51.010 --> 01:30:52.610
über eine API bekommen, ohne dass man da selber

01:30:52.610 --> 01:30:53.770
CSVs parsen muss oder so.

01:30:54.310 --> 01:30:54.830
Cool.

01:30:57.090 --> 01:30:57.410
Ja.

01:30:59.410 --> 01:31:00.630
Aber, genau.

01:31:02.450 --> 01:31:02.890
Ja, also

01:31:02.890 --> 01:31:04.870
Feedback und Anregungen und Fragen und

01:31:04.870 --> 01:31:07.730
alle eure Sorgen an hallo.python-podcast.de

01:31:07.730 --> 01:31:09.570
Ja.

01:31:10.610 --> 01:31:11.590
Thomas, bist du noch da?

01:31:12.370 --> 01:31:13.090
Ich bin noch da.

01:31:14.510 --> 01:31:15.410
Ja, ich weiß nicht.

01:31:16.830 --> 01:31:17.850
Sind wir dann schon durch?

01:31:17.930 --> 01:31:19.190
Haben wir noch irgendwas Interessantes?

01:31:19.710 --> 01:31:22.450
Haben wir noch irgendwelche Dinge, die ansonsten...

01:31:22.450 --> 01:31:24.390
Naja, also News aus der Szene, die ganzen Konferenzen

01:31:24.390 --> 01:31:25.850
abgesagt und...

01:31:25.850 --> 01:31:28.450
Das ist die eine große Neuigkeit.

01:31:28.930 --> 01:31:30.530
Ja, wenn ihr zum Peißenbuch kommen wollt,

01:31:30.530 --> 01:31:32.270
der stattfindet, der ist jetzt auch virtuell.

01:31:32.530 --> 01:31:34.790
Könnt ihr auf dem Chaosdorf mal gucken, welche Räume es da gibt.

01:31:37.230 --> 01:31:38.490
Ja, dann vielen Dank,

01:31:38.590 --> 01:31:39.290
dass du heute da warst.

01:31:39.390 --> 01:31:42.050
Vielen Dank, weil du ganz viele Dinge erzählt hast.

01:31:43.310 --> 01:31:44.390
Ja, vielen Dank

01:31:44.390 --> 01:31:46.250
für die Einladung. Es war sehr cool

01:31:46.250 --> 01:31:46.750
mit euch zu sprechen.

01:31:47.730 --> 01:31:49.210
Wir freuen uns schon, wenn alle wieder gesund sind.

01:31:49.270 --> 01:31:52.490
Dann müssen wir es hier mal live wieder vor Ort wiederholen.

01:31:52.970 --> 01:31:53.490
Sehr gerne.

01:31:53.990 --> 01:31:55.470
In der Nähe. Ist ja gar nicht so weit.

01:31:56.550 --> 01:31:57.510
Ja, vielen Dank fürs Zuhören.

01:31:57.870 --> 01:31:59.450
Bleibt uns gewogen. Hört wieder rein. Bleibt gesund.

01:31:59.570 --> 01:32:01.470
Vor allen Dingen in diesen unruhigen Zeiten.

01:32:02.310 --> 01:32:03.570
Hört mal wieder rein. Wir hören uns.

01:32:03.650 --> 01:32:05.050
Bis zum nächsten Mal. Tschüss.
