WEBVTT

00:00:00.960 --> 00:00:05.640
Ja, hallo liebe Hörerinnen und Hörer. Willkommen beim 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:29.640
Jo.

00:00:29.920 --> 00:00:31.260
Und wir haben einen Gast, den Thomas.

00:00:32.740 --> 00:00:34.240
Hallo, 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:44.480
Ja, vielleicht sollten wir diesmal auch tatsächlich dazu sagen, an welchem Datum. Das wollten wir sowieso immer machen, aber heute ist es vielleicht besonders relevant, das 26. März 2020.

00:00:45.080 --> 00:00:54.480
Also, keine Ahnung, an welchem Punkt irgendwie der ganzen Corona-Krise wir uns befinden. Vielleicht am Anfang, vielleicht mittendrin, wer weiß.

00:00:55.320 --> 00:00:58.920
Ich hoffe, das ist alles direkt bald vorbei 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:08.400
Ja, ich weiß nicht, möchtest du dich vielleicht kurz selbst vorstellen, Thomas?

00:01:09.360 --> 00:01:15.080
Klar, gerne. Also, ich bin der Thomas Wicki, ich T. Wicki auf Twitter.

00:01:15.900 --> 00:01:26.860
Ich habe in Tübingen Bioinformatik studiert und dann da am Max-Planck-Institut nebenbei noch so ein paar Sachen gemacht und da habe ich mich auch angefangen für Machine Learning und Statistik zu interessieren.

00:01:26.860 --> 00:01:56.840
Dann bin ich in die USA gekommen und in der Brown University habe ich einen Doktor gemacht und das war im Bereich von Computational Psychiatry und da geht es darum, dass man Modelle vom Gehirn baut und dann an diesen Modellen von Teilen des Gehirns überlegt man sich, okay, jetzt weiß ich, wie das mit einer gesunden Person funktioniert und dann kann man gewisse Neurotransmitter hoch oder runter regulieren und sehen, okay, wie verändert sich das Verhalten und stimmt das dann zum Beispiel.

00:01:56.840 --> 00:02:01.520
Mit dem, wie man es in Parkinson oder in anderen psychiatrischen Erkrankungen sieht, überein.

00:02:03.060 --> 00:02:04.840
Und darüber habe ich meine Zertifizierung geschrieben.

00:02:05.880 --> 00:02:20.220
Während des Doktors und auch schon davor allerdings war mir immer klar, okay, die freie Wissenschaft ist zwar sehr cool, macht viel Spaß, aber ein sehr unstetiger und steiniger Karriereweg.

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

00:02:25.140 --> 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 zu wissen, dass es jetzt auf einmal Data Science heißt.

00:02:40.200 --> 00:02:48.200
Und dann habe ich mir überlegt, okay, Wissenschaft ist ja schön und gut, aber wer weiß überhaupt, wie die Industrie ist.

00:02:48.200 --> 00:02:53.660
Also ich habe das nie wirklich kennengelernt und deswegen habe ich dann angefangen, da so ein paar Fühler auszustrecken.

00:02:55.140 --> 00:03:06.660
Und bin dann auch auf diese Pi Data Konferenzen gegangen und über den Wes McKinney, der Pandas geschrieben hat, bin ich dann mit dem Forth in Kontakt gekommen und der CEO von Kotopio.

00:03:07.400 --> 00:03:13.740
Und dann habe ich da angefangen, einmal in der Woche zu arbeiten, also während des Studiums.

00:03:14.060 --> 00:03:24.960
Und dann danach bin ich zurück nach Deutschland gezogen und seitdem bin ich da remote als Beispiel auf Data Science.

00:03:25.140 --> 00:03:28.780
Und leite da das Research Team bei Kotopio.

00:03:30.020 --> 00:03:33.340
Dann kannst du das nochmal ganz kurz wiederholen. Ich glaube, wir hatten einen kleinen Knacks an der Verbindung.

00:03:34.380 --> 00:03:37.100
Deine letzte Station. Das klingt sehr spannend.

00:03:38.480 --> 00:03:47.160
Genau, nach meinem Dokument bin ich dann nach Deutschland gegangen und die bei Kotopio haben gesagt, ja, willst du nicht trotzdem weiter für uns arbeiten?

00:03:48.300 --> 00:03:53.120
Und da bin ich VP of Data Science und leite das Research Team.

00:03:53.280 --> 00:03:53.840
Okay.

00:03:55.140 --> 00:03:58.440
Ja, cool. Was macht Kotopio denn so?

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

00:04:02.680 --> 00:04:05.940
Ja, genau richtig. Daher kommt auch der Name.

00:04:06.680 --> 00:04:17.980
Und also wir stellen eine Plattform bereit im Internet, wo jeder, der möchte und so ein paar rudimentäre Patentskills hat, auf die Plattform kommen kann.

00:04:17.980 --> 00:04:23.040
Und da findet er zum Beispiel einen Jupyter Notebook, wo er direkt, er oder sie,

00:04:25.140 --> 00:04:28.140
alle möglichen Finanzdaten hat und die ganzen Bibliotheken, die man machen möchte.

00:04:28.660 --> 00:04:36.160
Und dann kann man da direkt loslegen und Analysen machen, wie sich zum Beispiel jetzt die Corona-Krise auf den Aktienmarkt auswirkt.

00:04:36.900 --> 00:04:46.340
Und wenn man dann eine gute Idee hat, dann kann man daraus einen Nutzungs-Erinfizierer, einen Trading-Algorithmus, der dann in den Markt investiert.

00:04:46.340 --> 00:04:49.460
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:04:49.720 --> 00:04:55.120
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:04:55.140 --> 00:05:25.120
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:05:25.120 --> 00:05:55.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:05:55.120 --> 00:06:25.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:06:25.120 --> 00:06:55.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:06:55.120 --> 00:07:25.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:07:25.120 --> 00:07:55.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:07:55.120 --> 00:08:25.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:08:25.120 --> 00:08:55.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:08:55.120 --> 00:09:25.100
Und wenn das tatsächlich funktioniert, dann kann man den Algorithmus, den man in den Markt investiert, auf eine gewisse Zahl zurückgeben.

00:09:25.120 --> 00:09:29.840
Und dann gibt es aber auch noch einen separaten Backtester, wo man dann wirklich den Algorithmus schreiben kann.

00:09:30.400 --> 00:09:38.120
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.

00:09:38.840 --> 00:09:46.120
Und dann wird das dadurch simuliert und dann schaut man sich Ergebnisse an und möglicherweise...

00:09:47.020 --> 00:09:52.100
Das ist auch interessant, genau. Backtesting ist vielleicht auch nicht jedem Begriff direkt.

00:09:52.840 --> 00:09:55.120
Ich meine, wenn man jetzt irgendwie evaluieren will, ob irgendwie ein Modell...

00:09:55.120 --> 00:10:04.380
So im Machine Learning-Bereich zum Beispiel irgendwie das tut, was man haben möchte oder so, dann macht man da irgendwie Cross-Validation oder sowas.

00:10:04.980 --> 00:10:11.120
Und bei solchen Zeitreihen-Geschichten muss man ja irgendwie ein bisschen was anderes machen, weil man ja gar nicht quasi sozusagen...

00:10:11.640 --> 00:10:13.680
Man muss ja die Zeitrichtung irgendwie berücksichtigen.

00:10:16.260 --> 00:10:20.460
Kannst du was dazu sagen, wie das genau funktioniert oder wo man da aufpassen muss, was man da macht?

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

00:10:24.000 --> 00:10:24.460
Das größte Risiko...

00:10:25.120 --> 00:10:29.820
Das größte Risiko ist immer Overfitting und das ist sehr, sehr schwer, das nicht zu machen.

00:10:30.140 --> 00:10:36.160
Also dadurch, dass wir uns die Algorithmen anschauen, also wir schauen uns nicht mehr den Code an, aber wir schauen uns die Ergebnisse an.

00:10:36.380 --> 00:10:43.120
Also wie viel Profit haben die deklariert und wie viele Positionen traden die und solche...

00:10:44.200 --> 00:10:45.880
Also den Output von den Algorithmen schauen wir uns an.

00:10:46.280 --> 00:10:54.800
Da können wir auch immer sehen, okay, also hier ist die Zeitperiode, wo der Quant, der User, Zugriff darauf hatte.

00:10:55.120 --> 00:10:57.180
Und hier ist die Zeitperiode, wo der kein Zugriff darauf hatte.

00:10:57.680 --> 00:11:09.220
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.740 --> 00:11:18.160
Und um das zu umgehen, muss man auf jeden Fall da sehr diszipliniert dran gehen und genau auch da Cross-Validation machen.

00:11:18.640 --> 00:11:21.820
Die funktioniert ein kleines bisschen anders, aber die Idee ist trotzdem die gleiche.

00:11:22.120 --> 00:11:23.220
Also es geht immer darum...

00:11:25.120 --> 00:11:38.720
Traininggarten 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:41.380
Und da gibt es verschiedene Ansätze.

00:11:42.780 --> 00:11:54.380
Zum Beispiel eine Sache, die ich recht elegant finde, ist, dass man die geraden und die ungeraden Quarter, also Business Quarter, Vierteljahre...

00:11:55.120 --> 00:11:56.260
immer austauscht.

00:11:56.500 --> 00:12:04.460
Also man trainiert nur auf den geraden Quartern, also das erste und dritte und dann zweite und vierte Benutzer zu testen.

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

00:12:12.980 --> 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.520 --> 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:25.020
Das klingt so ein bisschen schwierig.

00:12:25.120 --> 00:12:30.740
Also wenn man so Quartale rausnimmt, weil ich stelle mir jetzt vor, es gibt Besongeschäfte oder sowas und die würde man ja dann verlieren.

00:12:30.860 --> 00:12:35.320
Also dann würde ich fast lieber das ungerade Jahr rausnehmen oder so und dann alle zwei Jahre gucken.

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

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

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

00:12:52.320 --> 00:12:55.020
Also dass man vielleicht nicht nur die geraden und ungeraden nimmt, sondern das randomisiert.

00:12:55.120 --> 00:13:02.220
Und genau, das Klasse ist natürlich auch einfach und das ist eigentlich auch eine solide Methode,

00:13:02.320 --> 00:13:06.480
ist einfach dann zu sagen, okay, die letzten zwei Jahre schaue ich mir nicht an.

00:13:06.980 --> 00:13:14.720
Denn die Annahme ist so ein bisschen, was jetzt funktioniert, was noch nicht so lange her ist,

00:13:15.260 --> 00:13:21.360
das, was hoffentlich auch dann funktioniert, wenn man es wirklich live schaltet.

00:13:22.160 --> 00:13:24.360
Also es gibt verschiedene Philosophien.

00:13:25.120 --> 00:13:32.120
Und leider keine, die so richtig zufriedenstellend ist, hat so alles seine Vor- und Nachteile.

00:13:36.020 --> 00:13:36.460
Spannend.

00:13:36.580 --> 00:13:37.400
Also es ist sehr, sehr interessant.

00:13:37.660 --> 00:13:43.400
Es gibt ja auch das Gerücht, dass dieser große Absturz jetzt gefolgt ist, der hauptsächlich auf so Quant zurückzuführen wäre.

00:13:45.360 --> 00:13:48.800
Ich glaube, der ist eher auf Covid-19 zurückgeschrieben.

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

00:13:51.380 --> 00:13:54.520
Also da ist vielleicht auch was dran, weil die halt dann alle stumpf sagen,

00:13:54.520 --> 00:13:57.080
okay, jetzt raus, raus, raus, verkaufe.

00:13:58.480 --> 00:14:06.960
Also das ist auf jeden Fall so, dass Hedgefonds und Quantfonds da auf jeden Fall ihr Risiko minimiert haben und rausgegangen sind.

00:14:07.080 --> 00:14:09.560
Aber das haben die gemacht so wie jeder andere auch.

00:14:10.400 --> 00:14:13.920
Gerade die großen Anleger, die gehen wahrscheinlich früher raus noch als vielleicht Private,

00:14:14.400 --> 00:14:17.180
weil die halt ihr Stop-Loss dann irgendwann haben und sagen, jetzt muss weg.

00:14:18.260 --> 00:14:20.120
Ja, ja und nein.

00:14:20.360 --> 00:14:23.560
Also die sind natürlich sehr hinterher.

00:14:23.780 --> 00:14:24.180
Aber auf der...

00:14:24.520 --> 00:14:30.040
Aber gleichzeitig haben die natürlich auch Investments, die in einer anderen Größenordnung stattfinden.

00:14:30.040 --> 00:14:40.660
Also wenn das halt nicht die Rentenanlage von irgendeiner Privatperson ist, der damit 100.000 oder sowas ETFs hat,

00:14:40.940 --> 00:14:45.160
sondern ein Rentenfonds mit Gott weiß wie vielen Milliarden.

00:14:45.560 --> 00:14:51.000
Das kann man nicht von heute auf morgen in einem absoluten panischen Markt direkt abstoßen.

00:14:51.780 --> 00:14:53.040
Das ist so ein bisschen...

00:14:53.040 --> 00:14:54.400
Also die sind da sehr viel...

00:14:54.520 --> 00:14:57.520
Langsamer und natürlich auch...

00:14:58.320 --> 00:15:00.280
Wir gehen jetzt auch nicht einfach so in den Cash.

00:15:00.620 --> 00:15:03.160
Also die machen natürlich trotzdem weiter.

00:15:03.740 --> 00:15:04.520
Aber es ist...

00:15:05.320 --> 00:15:10.880
Ja, also das Risiko wird minimiert und das hat dann immer diese Feedback-Effekte.

00:15:11.000 --> 00:15:16.520
Also die ersten fangen an und dann werden die Stop-Losses bei den nächsten getriggert.

00:15:17.300 --> 00:15:21.280
Und die verkaufen dann sehr rapide und das triggert dann weitere Stop-Losses.

00:15:21.280 --> 00:15:24.480
Und ja, also das sind so Schnellwerteffekte.

00:15:24.520 --> 00:15:25.520
Die da ganz leicht entstehen.

00:15:27.760 --> 00:15:28.200
Interessant.

00:15:28.300 --> 00:15:32.040
Also da könnte man auch irgendwie einen Algorithm ansetzen, der das vielleicht erkennt oder so.

00:15:32.080 --> 00:15:33.060
So ein Muster an diesen Losses.

00:15:34.260 --> 00:15:35.040
Ja, durchaus.

00:15:35.420 --> 00:15:37.020
Also wird auch gemacht.

00:15:37.760 --> 00:15:46.360
Wir sind jetzt allerdings gerade aber natürlich echt im Marktregime oder einfach auch allgemein in der Weltsituation, die wir so noch hatten.

00:15:46.740 --> 00:15:48.220
Das ist ein komplett irrationales Verhalten.

00:15:48.320 --> 00:15:49.420
Das hast du herzusagen, glaube ich.

00:15:49.480 --> 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.200 --> 00:15:53.640
Also...

00:15:53.640 --> 00:15:53.640


00:15:53.640 --> 00:15:53.640


00:15:53.640 --> 00:15:53.640


00:15:53.640 --> 00:15:53.640


00:15:53.640 --> 00:15:53.760
Also...

00:15:53.760 --> 00:15:53.860
Also...

00:15:53.860 --> 00:15:53.860


00:15:53.860 --> 00:15:53.960
Also...

00:15:53.960 --> 00:15:53.980
Also...

00:15:53.980 --> 00:15:54.060
Also...

00:15:54.060 --> 00:15:54.360
Also...

00:15:54.360 --> 00:15:54.360


00:15:54.360 --> 00:15:54.360


00:15:54.360 --> 00:15:54.360


00:15:54.360 --> 00:15:54.460
Also...

00:15:54.520 --> 00:15:55.060
Also...

00:15:55.060 --> 00:15:55.100
Also...

00:15:55.100 --> 00:15:55.120
Also...

00:15:55.120 --> 00:15:55.160
Also...

00:15:55.160 --> 00:15:55.220
Also...

00:15:55.220 --> 00:15:55.260
Also...

00:15:55.260 --> 00:15:55.280
Also...

00:15:55.280 --> 00:15:55.300
Also...

00:15:55.300 --> 00:15:58.160
Ja, also irrational wird sich herausstellen.

00:15:59.460 --> 00:16:09.000
Denn ich meine, die Effekte auf die Weltwirtschaft sind natürlich jetzt schon massiv und werden wahrscheinlich nur noch viel stärker werden.

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

00:16:11.560 --> 00:16:19.100
Und diese ganzen Anlagestrategien, wie wir schon gerade besprochen haben, 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.960 --> 00:16:24.360
Aber das ist jetzt halt im Moment gerade...

00:16:24.360 --> 00:16:25.000
Das ist jetzt halt im Moment gerade nicht so.

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

00:16:29.920 --> 00:16:34.040
Also ich habe relativ interessante Artikel dazu gelesen, was dann die Zentralbanken machen könnten,

00:16:34.100 --> 00:16:37.440
um zu reagieren und wie man halt das dagegen wirken könnte.

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

00:16:40.300 --> 00:16:44.200
Von Deflation über mehrere Inflationen in Folge angefangen und die man dann halt mit Geld

00:16:44.200 --> 00:16:44.760
bewerfen kann.

00:16:45.180 --> 00:16:49.120
Wenn man es schafft, diesen Wirtschaftskreislauf mit Geld wieder anzukurbeln, ja, dass halt

00:16:49.120 --> 00:16:54.120
die Umschlagsgeschwindigkeit wieder hochgeht und so, das würde dann bedeuten, dass es sich

00:16:54.120 --> 00:16:57.820
auf einem ähnlichen Niveau wie jetzt vor kurzem einpendeln könnte.

00:16:58.460 --> 00:17:02.480
Ja, aber das ist sehr, sehr schwierig vorauszusagen, ob das überhaupt klappt und ob das alles

00:17:02.480 --> 00:17:03.000
wieder anläuft.

00:17:03.120 --> 00:17:07.020
Und man muss halt erstmal alles mögliche mit Geld beschmeißen und dann machen die

00:17:07.020 --> 00:17:09.360
Staaten vielleicht noch den Adler oder so.

00:17:09.420 --> 00:17:11.140
Das ist alles sehr kompliziert.

00:17:11.140 --> 00:17:17.840
Ja, also ist auf jeden Fall eine sehr schwierige Situation und die Noten sind jetzt auch nicht

00:17:17.840 --> 00:17:20.140
in einer Situation, wo sie noch so viel mehr Spielraum hatten.

00:17:20.960 --> 00:17:23.140
Also die FED zum Beispiel hat ja den Leitzins...

00:17:24.120 --> 00:17:26.920
Bevor das überhaupt passiert ist, ziemlich angestiegen dann.

00:17:27.560 --> 00:17:31.400
Und ihn dann aber sehr frühzeitig schon direkt runtergesetzt.

00:17:31.980 --> 00:17:34.140
Und die Märkte haben nicht wirklich reagiert.

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

00:17:39.600 --> 00:17:41.900
Ich habe nur noch minus sechs Prozent, das ist das neue Ziel.

00:17:43.520 --> 00:17:44.440
Ja, das ist ungefähr.

00:17:45.940 --> 00:17:50.140
Also in der EU zum Beispiel müssen wir das was machen, denn die EZB war ja schon immer

00:17:50.140 --> 00:17:50.500
bei null.

00:17:50.960 --> 00:17:52.500
Das ist schon seit einer langen Zeit.

00:17:52.660 --> 00:17:53.600
Also da ist kaum...

00:17:54.120 --> 00:17:57.360
Spielraum überhaupt vorhanden, diesen Hebel zu benutzen.

00:17:58.460 --> 00:18:05.060
Und das, was ich auch denke, ist, dass es natürlich ein anderes Problem ist.

00:18:05.060 --> 00:18:10.680
Also es ist halt jetzt nicht wie 2009, wo es ein Problem in der Finanzbranche war, was

00:18:10.680 --> 00:18:17.340
sich dann ausgebreitet hat und andere gemacht hat, aber wo die Weltwirtschaft trotzdem

00:18:17.340 --> 00:18:18.100
auch funktioniert hat.

00:18:18.280 --> 00:18:23.240
Sondern es war halt einfach so ein Schneeball-Effekt, der sich da dann ausgebreitet hat.

00:18:23.340 --> 00:18:24.060
Aber im Moment steht die Weltwirtschaft...

00:18:24.120 --> 00:18:27.300
Wir haben mehrere Fokker am Angebot und an der Abfahrgeseite.

00:18:27.460 --> 00:18:28.040
Das gleichzeitig.

00:18:28.820 --> 00:18:29.060
Ja.

00:18:29.900 --> 00:18:35.480
Und egal, wie viel Geld man druckt, das wird allein die Wirtschaft nicht wieder ankurbeln,

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

00:18:37.720 --> 00:18:42.280
Ja, bestimmte Sachen kann man auch gar nicht wieder so schnell anfahren, wenn man bestimmte

00:18:42.280 --> 00:18:46.480
Fabriken oder bestimmte Kraftwerke erstmal stillgelegt hat oder so, weil da halt auch

00:18:46.480 --> 00:18:47.980
keine Abnehmer für den Strom sind.

00:18:48.100 --> 00:18:50.460
Dann kann man die auch nicht wieder gut anfahren und so weiter und so.

00:18:50.520 --> 00:18:52.240
Das ist halt alles jede Menge...

00:18:52.240 --> 00:18:53.100
Das ist eben das Nebenan.

00:18:53.320 --> 00:18:54.080
Wenn der dann erstmal...

00:18:54.080 --> 00:18:54.100
Ja.

00:18:54.120 --> 00:18:56.340
...breite ist, ob die dann direkt den neuen aufmacht, weiß man nicht.

00:18:56.380 --> 00:18:58.260
Da muss sich jemand wieder finden, der dasselbe nochmal macht.

00:18:58.620 --> 00:18:58.840
Ja.

00:18:59.300 --> 00:19:03.860
Was ich dann auch noch echt interessant fand, ist, dass halt auch die politischen Konsequenzen

00:19:03.860 --> 00:19:06.460
von solchen Sachen, wenn sich so viel ändert, sind ja auch immer so völlig unklar.

00:19:06.860 --> 00:19:11.380
Das hatte letztens irgendwie auch mit jemandem drüber gesprochen, der meinte dann so, ja,

00:19:11.900 --> 00:19:18.060
also gerade zum Beispiel in der EU ist ja gar nicht so klar, wie das irgendwie mit dieser

00:19:18.060 --> 00:19:19.880
ganzen Brexit-Geschichte zum Beispiel ausgeht.

00:19:20.500 --> 00:19:23.580
Und das könnte ja politisch desaströse Konsequenzen haben.

00:19:23.580 --> 00:19:26.760
Wenn diese Geschichte wirtschaftlich funktioniert.

00:19:27.120 --> 00:19:30.100
Aber ob die wirtschaftlich funktioniert oder nicht, hängt ja jetzt von ganz vielen komischen

00:19:30.100 --> 00:19:30.600
Dingen ab.

00:19:31.060 --> 00:19:34.580
Wie zum Beispiel könnte es sein, dass es in einer Pandemie eine gute Idee ist, wenn man

00:19:34.580 --> 00:19:35.280
auf einer Insel lebt.

00:19:35.340 --> 00:19:35.860
Das kann ja sein.

00:19:36.180 --> 00:19:38.440
Das hat jetzt gar nichts mit der Brexit-Geschichte zu tun.

00:19:38.760 --> 00:19:44.080
Aber wenn das jetzt irgendwie dazu führt, dass die wirtschaftliche Situation in Großbritannien

00:19:44.080 --> 00:19:48.260
irgendwie deutlich besser ist als anderswo in Europa, dann hat das halt politische Konsequenzen

00:19:48.260 --> 00:19:51.100
für alle anderen, die unter Umständen sehr unangenehm werden.

00:19:51.380 --> 00:19:52.380
Es kann aber auch andersrum ausgehen.

00:19:52.380 --> 00:19:53.120
Das weiß einfach keiner.

00:19:53.260 --> 00:19:53.380
Also es ist echt...

00:19:53.580 --> 00:19:59.040
Es gab einen Artikel von Taiwanesen, die auch gesagt haben, ja, also Großbritannien

00:19:59.040 --> 00:20:01.020
ist ja eigentlich auf einer Insel, die müssen das ähnlich machen wie wir und dann wären

00:20:01.020 --> 00:20:02.220
die von dem Virus relativ geschützt.

00:20:02.600 --> 00:20:03.720
Und die haben gesagt, ähm, nee.

00:20:04.480 --> 00:20:05.560
Das hat nicht funktioniert.

00:20:05.760 --> 00:20:06.400
Und naja, von daher.

00:20:06.700 --> 00:20:06.920
Ja.

00:20:07.260 --> 00:20:07.700
Wir werden sehen.

00:20:07.980 --> 00:20:09.860
Wir 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:12.700
Das ist alles sehr spannend.

00:20:12.780 --> 00:20:14.200
Aber wie macht man das denn in Python?

00:20:14.440 --> 00:20:17.960
Also diese ganzen Quant-Sachen, die du da eben beschrieben hast, die total spannend

00:20:17.960 --> 00:20:18.100
sind.

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

00:20:19.200 --> 00:20:22.960
Und vielleicht kannst du gerade den Hörern so ein bisschen detaillierter erklären, also

00:20:22.960 --> 00:20:23.560
wie man damit so anfängt.

00:20:23.580 --> 00:20:26.580
Wie man damit anfangen würde und welche Bibliotheken man vielleicht benutzt und wie

00:20:26.580 --> 00:20:29.480
das Schema wäre und die Struktur, um das so ein bisschen aufzubauen.

00:20:31.200 --> 00:20:38.740
Also oft fangen Leute so ganz simpel an, zum Beispiel, also der Klassiker, und das funktioniert

00:20:38.740 --> 00:20:41.820
schon längst nicht mehr, aber er ist so ein Dual Moving Average.

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

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

00:20:43.480 --> 00:20:45.960
Da ist ein Dual Moving Average.

00:20:46.340 --> 00:20:46.960
Also ein...

00:20:46.960 --> 00:20:47.980
Ja.

00:20:48.620 --> 00:20:50.360
Ein doppelter gleitender Durchschnitt, oder?

00:20:51.180 --> 00:20:51.820
Ja, genau.

00:20:51.820 --> 00:20:53.460
Also ein Durchschnitt, den man berechnet.

00:20:53.580 --> 00:20:55.220
Ein Durchschnitt über, zum Beispiel, jetzt den Preis.

00:20:55.340 --> 00:21:01.720
Also ich sage, okay, ich nehme immer den durchschnittlichen Preis der letzten zehn Tage und vergleiche

00:21:01.720 --> 00:21:03.760
das mit dem durchschnittlichen Preis in 100 Tagen.

00:21:04.460 --> 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.920 --> 00:21:15.940
Und dann kann ich zum Beispiel sagen, okay, also wenn der Kurzzeittrend, also die zehn

00:21:15.940 --> 00:21:23.380
Tage, den Langzeittrend durchbrechen, also höher werden von unten, dann glaube ich,

00:21:23.380 --> 00:21:26.680
ah, okay, das ist Momentum, also der Stock geht wohl gerade nach oben.

00:21:27.720 --> 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.260 --> 00:21:38.240
Und wenn dann diese Linie mit dem zehn Tage Moving Average wieder von der anderen Seite

00:21:38.240 --> 00:21:42.020
kommt, dann denke ich, ah, okay, jetzt ist der Trend, wo das Momentum von dem Stock nach

00:21:42.020 --> 00:21:44.780
unten geht und dann möchte ich das verkaufen.

00:21:46.460 --> 00:21:53.100
Und das kann man auf einzelne Seiten anwenden und so fangen viele Leute an, aber in Hedgefonds

00:21:53.100 --> 00:21:53.220
ist es so, dass man sich nicht so sehr auf die Hedgefonds kümmert.

00:21:53.220 --> 00:21:53.220


00:21:53.220 --> 00:21:53.240
das ein bisschen schwierig.

00:21:53.240 --> 00:21:53.360
Und das ist dann, wenn man sich nicht so sehr auf die Hedgefonds kümmert, dann ist das ein bisschen

00:21:53.380 --> 00:21:53.400
schwierig.

00:21:53.400 --> 00:21:56.740
Und das ist oft so, dass man dann ganz viele Stocks traden möchte.

00:21:57.200 --> 00:22:03.720
Also es ist wie im Casino, also wenn man jetzt 51% Winchmaus hat oder auch nur deutlich

00:22:03.720 --> 00:22:09.560
weniger, dann möchte man einfach ganz viele Bets machen, um irgendwann halt über den

00:22:09.560 --> 00:22:18.740
Mittelwert, das ist die Law of Large Numbers, die Edge da zu kriegen aus dem ganz kleinen

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

00:22:22.040 --> 00:22:31.220
Und deswegen macht man dann Strategien, die halt nicht nur einen Stock, sondern 1000 Stocks oder 2000 Stocks traden.

00:22:31.960 --> 00:22:37.920
Und aber die gleiche Logik, die ich gerade beschrieben habe, kann man natürlich auch nicht nur auf einen Stock anwenden, sondern auf all diese gleichzeitig.

00:22:38.080 --> 00:22:51.200
Also da würde ich dann einfach sagen, okay, wenn jetzt diese 2000 Stocks, die ich mir da rausgesucht habe, davon gehen manche gerade nach oben, also haben Abwärtsmomentum und andere nach unten, die haben Downloadmomentum.

00:22:51.200 --> 00:22:51.900
Okay.

00:22:51.900 --> 00:23:01.920
Und dann kann ich zum Beispiel hingehen und sagen, okay, also die, die gerade nach oben gehen, die möchte ich gerne nach unten und die, die nach unten gehen, die möchte ich gerne verkaufen sozusagen.

00:23:02.100 --> 00:23:04.200
Also Long Selling und Short Selling.

00:23:04.660 --> 00:23:10.740
Also Short Selling heißt, dass ich Geld verdiene, wenn die Aktie nach unten geht.

00:23:11.600 --> 00:23:19.780
Und das ist so ein ganz klassischer Trick, dass man sagt, okay, also 50% meiner Anlage möchte ich gerne Long anlegen.

00:23:19.780 --> 00:23:21.860
Also Geld verdienen, wenn der Stock nach oben geht.

00:23:21.900 --> 00:23:25.140
Und die anderen 50%, da möchte ich gerne Geld verdienen, wenn der Stock nach unten geht.

00:23:25.940 --> 00:23:32.120
Und die Idee hinter dieser Long Short Strategie ist, das ist dann alles, was der Markt macht.

00:23:32.260 --> 00:23:43.780
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.900 --> 00:23:49.860
Und genauso, wenn der Markt nach unten geht, dann gewinne ich mit meinen Shorts und verliere mit meinen Longs.

00:23:49.860 --> 00:23:51.720
Das heißt, ich isoliere.

00:23:51.900 --> 00:23:58.320
Das ist wirklich nur das Signal, was ich auch wirklich glaube, wo ich eine Vorhersagekraft habe in dem Moment.

00:23:58.660 --> 00:24:10.700
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.220 --> 00:24:21.780
Also dieses Long Short ist ganz klassisch.

00:24:21.900 --> 00:24:24.200
Und dass man das auf ganz vielen Aktien anwendet.

00:24:28.660 --> 00:24:38.820
Im Grunde geht es darum, dass ich sagen können möchte, ob jetzt morgen irgendwie eine Aktie hoch oder runter geht, so mehr oder weniger, oder für einen bestimmten Zeitraum.

00:24:39.580 --> 00:24:42.140
Also ich glaube eher das Portfolio vielleicht, das spielt eine große Rolle.

00:24:42.400 --> 00:24:48.020
Also wenn ich das jetzt höre, dass sie sich ausgleichen sollen, dann ist vielleicht das Portfolio wichtiger als die einzelnen Positionen?

00:24:49.660 --> 00:24:50.540
Genau, richtig, ja.

00:24:51.900 --> 00:24:58.520
Also es ist natürlich wichtig, auf welcher Seite von meinem Portfolio ist dann die Aktie, die ich da trade.

00:24:59.080 --> 00:25:15.340
Aber also 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.

00:25:15.340 --> 00:25:21.300
Und das heißt 500 davon sind dann auf der Long Seite und 50% sind auf der Short Seite.

00:25:21.900 --> 00:25:35.700
Und da geht es dann darum, wie sortiere ich die so, dass die, die ich natürlich Short habe, sollen abstürzen, denn dann verdiene ich Geld.

00:25:35.820 --> 00:25:39.220
Und die, die ich auf der Long Seite habe, sollen nach oben gehen und dann verdiene ich Geld.

00:25:39.320 --> 00:25:46.460
Aber ich verdiene wirklich nur Geld immer auf den relativen Unterschied zwischen denen und nicht zu dem, was der Markt macht.

00:25:46.460 --> 00:25:48.120
Und deswegen heißt es Hedge Fund.

00:25:48.280 --> 00:25:51.660
Also Hedge heißt, dass man sich absichert.

00:25:51.900 --> 00:25:53.540
Von diesen anderen Risikofaktoren.

00:25:55.520 --> 00:26:03.020
Was zum Beispiel sehr hilfreich ist, zum Beispiel, wenn so eine Pandemie zu 20% Losses täglich führt.

00:26:04.180 --> 00:26:11.500
Also das ist genau dann, wenn man sowas haben möchte, denn ja, da ist man so gewissermaßen abgesichert.

00:26:12.240 --> 00:26:15.680
Allerdings sind auch die Hedge Funds davon sehr stark betroffen gewesen.

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

00:26:18.340 --> 00:26:19.500
Also das funktioniert schon.

00:26:19.880 --> 00:26:21.380
Aber es ist auch nicht so, dass man dann sagt, okay.

00:26:21.900 --> 00:26:25.300
Wir sind komplett immun gegen solch starke Events.

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

00:26:28.600 --> 00:26:30.300
Ja, dafür kann man natürlich auch nicht so viel gewinnen.

00:26:30.480 --> 00:26:35.900
Als wenn jetzt Leute auf gute Einzelpositionen setzen würden, die sich damit ganz besonders toll auskennen oder so.

00:26:36.440 --> 00:26:40.760
Die können natürlich den Markt deutlich mehr outperformen als jemand, der so einen Mittelwert dann bildet.

00:26:42.140 --> 00:26:42.920
Also zumindest theoretisch.

00:26:43.000 --> 00:26:43.820
Die können natürlich auch mehr verlieren.

00:26:45.780 --> 00:26:48.700
Ja, also es gibt da alle möglichen verschiedenen Ansätze.

00:26:48.860 --> 00:26:51.820
Also der Quant-Ansatz ist auf jeden Fall diese Statistik.

00:26:51.900 --> 00:26:55.780
Zwischensignale zu finden und die dann auf sehr großen Portfolios anzulegen.

00:26:56.440 --> 00:26:58.940
Aber natürlich gibt es auch die Discretionary.

00:26:59.120 --> 00:27:06.360
Also die, die wirklich einzelne Firmen dann sich sehr im Detail anschauen und da wirklich Analysen machen und dann sagen,

00:27:06.440 --> 00:27:11.580
okay, also ich weiß, dass jetzt Apple möglicherweise halt irgendwas in einem neuen Produkt rauskommt.

00:27:11.980 --> 00:27:14.500
Und deswegen werde ich so alles auf Rot setzen.

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

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

00:27:20.820 --> 00:27:21.620
Mhm.

00:27:21.900 --> 00:27:22.060
Mhm.

00:27:22.700 --> 00:27:28.140
Aber ist das, ich meine, ich würde jetzt, wie gesagt, ich mache ja normalerweise so andere Data Science-Modelle.

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

00:27:34.260 --> 00:27:38.220
also das Allersimpelste, was mir jetzt einfallen würde, wäre, ich mache einfach lineare Regression oder so.

00:27:38.280 --> 00:27:42.820
Ich nehme einfach, weiß ich nicht, den Aktienkurs von gestern, von vor einer Woche, von einem Monat oder sowas

00:27:42.820 --> 00:27:46.980
und habe halt irgendein lineares Modell, was halt dann mir den für morgen halt vorhersagt.

00:27:49.940 --> 00:27:51.660
Also das ist auch ziemlich nah dran eigentlich.

00:27:51.900 --> 00:27:52.260
Ja, genau.

00:27:52.260 --> 00:27:52.780
Was oft gemacht wird.

00:27:53.680 --> 00:27:58.960
Und dann, so wie du jetzt angefangen hast, zu sagen, okay, also ich nehme jetzt den Aktienkurs von vor einer Woche

00:27:58.960 --> 00:28:00.880
und das ist dann das erste Feature.

00:28:01.140 --> 00:28:03.980
Und dann kann ich auch noch sagen, okay, vielleicht nehme ich auch das Volumen oder so.

00:28:03.980 --> 00:28:04.400
Ja, genau.

00:28:04.500 --> 00:28:04.960
Vor einer Woche.

00:28:05.520 --> 00:28:11.240
Und dann nehme ich noch das Twitter Sentiment, also was haben Leute auf Twitter über diesen Stock geschrieben.

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

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

00:28:17.760 --> 00:28:21.460
Und dann werden es tausende von Signalen, die man hat.

00:28:21.460 --> 00:28:26.480
Und dann oft lineare Aggressionen, denn die funktionieren erstaunlich gut.

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

00:28:29.120 --> 00:28:35.460
Aber 80 bis 90 Prozent sind schon noch lineare Aggressionen, weil die einfach so robust sind.

00:28:35.700 --> 00:28:41.640
Also das ist immer das große Problem bei Quant Finance, das Rauschen in den Daten ist so massiv

00:28:41.640 --> 00:28:47.740
und das Signalen ist so klein, dass wenn man da eher fancy Methoden macht,

00:28:49.080 --> 00:28:51.440
dann ist es immer der Nachteil, dass die halt nicht so gut sind.

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

00:29:03.840 --> 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.040 --> 00:29:15.220
Da hatte mich auch so erstaunt, dass das Interface ganz anders ist.

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

00:29:18.180 --> 00:29:20.060
Oder Interfaces zumindest, die so ähnlich aussehen.

00:29:20.320 --> 00:29:21.060
Und das war dann...

00:29:21.440 --> 00:29:23.700
Dann Stats Models irgendwie.

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

00:29:27.480 --> 00:29:27.660
Genau.

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

00:29:29.720 --> 00:29:31.200
Ich weiß gar nicht, ist das das, was man dann...

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

00:29:33.840 --> 00:29:34.260
Oh je.

00:29:34.420 --> 00:29:34.840
Ja, genau.

00:29:35.000 --> 00:29:35.420
Du musst erklären.

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

00:29:42.000 --> 00:29:43.980
Arma steht für Auto Regressive.

00:29:44.380 --> 00:29:46.020
Also AR, Auto Regressive.

00:29:46.460 --> 00:29:47.560
A für Moving Average.

00:29:48.140 --> 00:29:51.200
Und das heißt einfach, dass ich mir anschaue, okay,

00:29:51.200 --> 00:29:55.140
wie war denn der Wert vor 10 Tagen?

00:29:55.900 --> 00:29:57.500
Und wie ist der Moving Average?

00:29:57.860 --> 00:30:01.660
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.940 --> 00:30:11.100
Allerdings kommen die gar nicht so sehr zum Einsatz in Quant Finance.

00:30:11.340 --> 00:30:13.100
Also das wurde viel gemacht.

00:30:13.220 --> 00:30:17.000
Aber es ist eigentlich tatsächlich oft der klassische,

00:30:17.000 --> 00:30:20.000
klassische Ansatz, der...

00:30:20.000 --> 00:30:22.520
Und das funktioniert nicht mehr ganz so gut.

00:30:22.600 --> 00:30:24.860
Oder man muss dann immer ziemlich viel extra Arbeit reinstecken,

00:30:25.360 --> 00:30:28.960
um das Problem, was ja ein Zeitreinproblem ist,

00:30:29.340 --> 00:30:30.380
das so zu übersetzen,

00:30:30.800 --> 00:30:34.160
dass es dann trotzdem in das klassische Cyclic Learn Framework passt,

00:30:34.160 --> 00:30:38.480
wo man ja eben keine Zeitreihen in der Regel hat.

00:30:39.020 --> 00:30:40.260
Also man...

00:30:40.260 --> 00:30:41.100
So wie man es oft macht,

00:30:41.160 --> 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:48.040
und so ein...

00:30:48.040 --> 00:30:49.220
Also es nennt sich dann Walk Forward.

00:30:50.000 --> 00:30:53.840
Dass man sagt, okay, jetzt habe ich irgendwie Daten von 2017.

00:30:54.420 --> 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.740 --> 00:31:02.160
Und jeden Tag mache ich neue Vorhersagen für 2018.

00:31:03.000 --> 00:31:05.300
Und dann, wenn ich 2018 getestet habe,

00:31:05.760 --> 00:31:09.640
dann die Trainingdaten, die 2018 und 2017

00:31:09.640 --> 00:31:11.500
und sage für 2019 vorher.

00:31:11.880 --> 00:31:13.780
Und dann gehe ich halt immer so Schritt für Schritt

00:31:13.780 --> 00:31:14.980
in der Zeit nach vorne

00:31:14.980 --> 00:31:18.800
und retraine immer mein Cyclic Learn Modell.

00:31:19.460 --> 00:31:19.880
Und...

00:31:19.880 --> 00:31:21.020
Cyclic Learn ist auf jeden Fall das,

00:31:21.100 --> 00:31:24.240
was auch sehr häufig eingesetzt wird.

00:31:24.360 --> 00:31:27.740
Einfach weil es, ja, wie bei dem anderen Pydata auch

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

00:31:30.620 --> 00:31:33.060
Es gibt auch ein paar andere, die dann noch besser skalieren.

00:31:33.440 --> 00:31:36.460
Aber das ist schon der gute Standard.

00:31:40.460 --> 00:31:40.860
Ja.

00:31:42.600 --> 00:31:43.300
Tja, ja.

00:31:43.980 --> 00:31:45.060
Genau, ich weiß...

00:31:46.260 --> 00:31:48.760
Wie hieß das?

00:31:48.880 --> 00:31:49.700
Zipline, glaube ich.

00:31:49.880 --> 00:31:51.720
Gibt es noch irgendwie...

00:31:51.720 --> 00:31:52.200
Aber...

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

00:31:53.320 --> 00:31:55.820
Also, wir haben selber...

00:31:55.820 --> 00:31:59.160
Fast alle unsere Software eigentlich ist Open Source.

00:32:00.600 --> 00:32:03.320
Also, wenn man auf GitHub Quantopian schaut,

00:32:03.660 --> 00:32:05.840
dann findet man da mögliche Projekte,

00:32:06.120 --> 00:32:10.280
die wir auf unserer webbasierten Plattform benutzen.

00:32:11.380 --> 00:32:12.400
Genau, richtig, ja.

00:32:12.720 --> 00:32:14.000
Also, genau.

00:32:14.080 --> 00:32:15.780
Zipline ist unser Open Source Backtaster,

00:32:15.900 --> 00:32:16.980
den wir auch auf der Plattform benutzen.

00:32:17.820 --> 00:32:19.160
Und der...

00:32:19.160 --> 00:32:19.840
Und das...

00:32:19.880 --> 00:32:22.640
War am Anfang echt so eine ziemlich schwierige Entscheidung eigentlich,

00:32:22.980 --> 00:32:23.280
die...

00:32:23.280 --> 00:32:24.100
Wo wir lange überlegt haben.

00:32:24.180 --> 00:32:24.880
Also, ich war immer der Meinung,

00:32:24.980 --> 00:32:26.460
dass es eine gute Idee ist, das Open Source zu stellen.

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

00:32:29.540 --> 00:32:31.800
Aber das war sehr, sehr positiv für uns.

00:32:31.920 --> 00:32:33.560
Also, das...

00:32:33.560 --> 00:32:34.820
In vielerlei Hinsicht.

00:32:34.940 --> 00:32:36.740
Also, eins ist natürlich, wir bekommen Pull Requests.

00:32:36.880 --> 00:32:39.160
Also, dass andere Leute, die die Software verwenden,

00:32:39.340 --> 00:32:41.860
dann ihre eigenen Verbesserungen daran machen

00:32:41.860 --> 00:32:44.420
und dann uns diese Verbesserungsvorschläge auf GitHub zuschicken.

00:32:44.900 --> 00:32:48.300
Und dann kriegen wir da Pull Requests,

00:32:48.300 --> 00:32:49.100
wie das heißt.

00:32:49.880 --> 00:32:51.040
Über zum Beispiel jemand,

00:32:51.220 --> 00:32:56.240
der unsere Simulationsengine um Faktor 4 beschleunigt hat.

00:32:56.440 --> 00:32:56.800
Wow.

00:32:57.000 --> 00:32:58.500
Und voll cool.

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

00:33:00.120 --> 00:33:00.800
Ja, genau.

00:33:01.040 --> 00:33:01.700
Vielen Dank.

00:33:01.820 --> 00:33:03.060
Und das haben wir dann natürlich gemerged.

00:33:03.180 --> 00:33:04.900
Und das kommt dann natürlich auch der Plattform zugute,

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

00:33:08.520 --> 00:33:11.320
Und das ist zusätzlich dann auch,

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

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

00:33:15.160 --> 00:33:17.220
und so, ja, okay, was machst du denn so?

00:33:18.000 --> 00:33:19.760
Und wir haben die dann eingestellt.

00:33:19.880 --> 00:33:22.620
Einfach, weil erstmal jemand, der das kann,

00:33:22.760 --> 00:33:24.260
ist so das beste Vorstellungsgespräch,

00:33:24.320 --> 00:33:25.060
was man sich vorstellen kann.

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

00:33:28.620 --> 00:33:29.980
also er hat bewiesen, dass er das kann.

00:33:30.060 --> 00:33:32.660
Und er ist natürlich auch schon direkt mit der Codebase vertraut.

00:33:33.180 --> 00:33:36.260
Also, der hat dann keine lange Eingewöhnungszeit,

00:33:36.440 --> 00:33:37.480
sondern wir wissen, dass er es kann.

00:33:37.840 --> 00:33:40.180
Und er weiß, worum es geht

00:33:40.180 --> 00:33:41.480
und wie der ganze Code aussieht.

00:33:42.100 --> 00:33:45.760
Also, das war eine sehr positive Erfahrung

00:33:45.760 --> 00:33:46.900
in vielerlei Hinsicht für uns.

00:33:46.900 --> 00:33:49.100
Und wir machen das auch schon seit vielen Jahren.

00:33:49.880 --> 00:33:50.920
Ja.

00:33:53.220 --> 00:33:55.480
Ja, also, Open Source ist schon eine coole Sache.

00:33:55.740 --> 00:33:56.400
Ja, auf jeden Fall.

00:33:58.060 --> 00:34:00.740
Wenn ich jetzt nochmal da einen Angriff an so diese

00:34:00.740 --> 00:34:02.060
einfachen Nenian-Modelle oder, ich meine,

00:34:02.400 --> 00:34:04.760
was man so bei Cycle-Learn oder so an Machine-Learning-Geschichten

00:34:04.760 --> 00:34:05.840
üblicherweise so verwendet,

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

00:34:08.420 --> 00:34:10.720
ich glaube, du hast ein Großteil von PyMC3 geschrieben

00:34:10.720 --> 00:34:13.100
oder die probabilistischen Modelle.

00:34:13.800 --> 00:34:15.820
Warum würde ich denn eher so etwas verwenden wollen?

00:34:15.820 --> 00:34:19.640
Oder was ist eigentlich der, ja, sozusagen der grundsätzliche Unterschied,

00:34:19.640 --> 00:34:21.780
wie zu den Dingen, die man vielleicht eher so

00:34:21.780 --> 00:34:23.720
aus dem Cycle-Learn-Bereich kennt oder so?

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

00:34:26.620 --> 00:34:29.020
Da sind wir auf jeden Fall beim Milvings-Thema angekommen.

00:34:31.460 --> 00:34:31.860
Also...

00:34:31.860 --> 00:34:33.440
Was ist das denn überhaupt, PyMMC?

00:34:33.560 --> 00:34:34.540
Vielleicht fangen wir damit kurz an.

00:34:34.840 --> 00:34:39.160
Genau, also PyMC3 steht einfach nur für Python und MC,

00:34:39.360 --> 00:34:42.760
also Markov-Chain ist so der Algorithmus,

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

00:34:44.280 --> 00:34:47.180
Und das, in gewisser Weise kann man es schon,

00:34:47.360 --> 00:34:48.980
zum Beispiel jetzt mit Cycle-Learn vergleichen,

00:34:48.980 --> 00:34:49.580
aber es ist doch,

00:34:49.640 --> 00:34:51.220
eigentlich eine andere Idee.

00:34:51.440 --> 00:34:52.560
Vielleicht einmal noch mal ganz kurz,

00:34:52.680 --> 00:34:54.620
was eine Markov-Chain ist, für alle Hörer.

00:34:54.760 --> 00:34:58.040
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.580 --> 00:35:03.660
Und dann macht das mit der Markov-Chain

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

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

00:35:09.600 --> 00:35:16.100
dann ist es ja, dass man einfach gewisse Muster in Daten lernen möchte,

00:35:16.660 --> 00:35:18.100
um dann Vorhersagen machen zu können.

00:35:18.100 --> 00:35:19.580
Also ich habe Trainingsdaten,

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

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

00:35:32.060 --> 00:35:34.640
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.760 --> 00:35:39.640
Also zum Beispiel, also es ist halt alles tabular.

00:35:40.740 --> 00:35:41.620
Also das heißt, ich habe,

00:35:42.280 --> 00:35:45.460
jeder Datenpunkt ist unabhängig von anderen Datenpunkten.

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

00:35:49.360 --> 00:35:52.640
mit dem ganz prünten MNIST-Datensatz.

00:35:54.920 --> 00:35:56.780
Da ignoriert man einfach zum Beispiel,

00:35:56.920 --> 00:35:59.480
dass die einzelnen Pixel eigentlich ja was miteinander zu tun haben.

00:35:59.560 --> 00:36:00.320
Und man sagt einfach, okay,

00:36:00.700 --> 00:36:02.360
jedes Bild ist einfach ein ganz langer Vektor.

00:36:02.980 --> 00:36:06.280
Und dann lerne ich halt, was für eine Zahl da drauf ist.

00:36:06.420 --> 00:36:08.400
Und das gebe ich dann einfach ganz viele Daten

00:36:08.400 --> 00:36:10.320
und hoffe, dass der das dann herauslernt.

00:36:10.380 --> 00:36:12.580
Und das kann dann ein lineares Modell sein,

00:36:12.620 --> 00:36:13.700
was in dem Fall nicht gut funktioniert,

00:36:13.820 --> 00:36:17.500
oder ein Random Forest oder ein neuronales Netzwerk.

00:36:17.500 --> 00:36:24.520
Und das ist oft allerdings natürlich schade,

00:36:24.660 --> 00:36:27.680
wenn man da viele Informationen hat über seine Daten.

00:36:27.960 --> 00:36:30.340
Also zum Beispiel jetzt weiß ich,

00:36:30.500 --> 00:36:36.020
dass die einzelnen Pixel da einen Zusammenhang haben.

00:36:36.120 --> 00:36:37.720
Also zwei Pixel, die direkt nebeneinander sind,

00:36:38.940 --> 00:36:39.640
ist die Wahrscheinlichkeit,

00:36:39.760 --> 00:36:41.960
dass die den gleichen Wert haben,

00:36:42.000 --> 00:36:43.180
sehr viel höher als jetzt irgendwas,

00:36:43.380 --> 00:36:45.200
was ganz rechts oben oder ganz links unten ist.

00:36:45.540 --> 00:36:47.200
Aber wer also der ganz naive Ansatz ist,

00:36:47.200 --> 00:36:47.340
der weiß, dass das nicht so einfach ist.

00:36:47.340 --> 00:36:47.480
Und das ist natürlich auch ein sehr guter Punkt,

00:36:47.500 --> 00:36:49.000
aber das berücksichtigt es nicht.

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

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

00:36:52.500 --> 00:36:54.420
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.740 --> 00:37:00.600
die wir wissen und die wir ausnutzen wollen.

00:37:00.800 --> 00:37:03.120
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.840
Also sagen wir mal, ich habe jetzt einen Supermarkt

00:37:12.840 --> 00:37:15.900
und ich möchte gerne voraussagen,

00:37:15.900 --> 00:37:17.180
wie sich,

00:37:17.180 --> 00:37:21.220
wie sich gewisse Warengruppen absetzen.

00:37:21.360 --> 00:37:22.200
Also einzelne Produkte.

00:37:22.820 --> 00:37:25.980
Wie viel verkaufe ich jetzt nächste Woche von Snickers

00:37:25.980 --> 00:37:27.880
und wie viel verkaufe ich nächste Woche von Hackfleisch.

00:37:28.840 --> 00:37:31.160
Und das kann man natürlich auch ganz normal

00:37:31.160 --> 00:37:32.220
als Maschinenproblem betrachten.

00:37:32.340 --> 00:37:33.940
Allerdings weiß ich doch,

00:37:34.360 --> 00:37:36.680
dass zum Beispiel jetzt Schokolade gehört,

00:37:36.800 --> 00:37:38.720
also Snickers gehört ins Schokoladensortiment.

00:37:39.340 --> 00:37:40.120
Und wenn,

00:37:40.940 --> 00:37:42.700
und das wird sich wahrscheinlich schon auch ähnlich verhalten,

00:37:42.940 --> 00:37:44.100
also Schokoladen,

00:37:44.500 --> 00:37:46.180
Sachen, Süßigkeiten allgemein,

00:37:46.180 --> 00:37:48.040
werden sich ähnlich verhalten.

00:37:48.540 --> 00:37:50.040
Und Hackfleisch oder so,

00:37:50.560 --> 00:37:52.440
gehören zu einer anderen Warengruppe.

00:37:52.940 --> 00:37:54.940
Da gibt es auch gewisse Ähnlichkeiten zu denen.

00:37:55.700 --> 00:38:00.060
Und diese Ähnlichkeiten möchte ich gerne auch in meinem statistischen Modell

00:38:00.060 --> 00:38:02.040
oder in meinem Vorhersagen abbilden.

00:38:02.680 --> 00:38:06.840
Und wenn man diese Modelle spezifischer bauen möchte,

00:38:06.940 --> 00:38:08.680
die diese Strukturen auch wirklich abbilden,

00:38:09.080 --> 00:38:12.040
da ist dann PIMC oder jedes andere

00:38:12.040 --> 00:38:14.640
Propagandistik-Programming,

00:38:14.680 --> 00:38:15.380
wie es oft genannt wird,

00:38:15.460 --> 00:38:15.800
oder Basis-Statistik,

00:38:16.180 --> 00:38:16.940
oder Basis-Statistische Modelle,

00:38:17.300 --> 00:38:19.200
beides so das Gleiche,

00:38:19.260 --> 00:38:24.020
die sind dann da sehr viel geeigneter.

00:38:24.240 --> 00:38:25.380
Denn was die einem erlauben,

00:38:25.760 --> 00:38:29.300
ist diese Modelle zu bauen,

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

00:38:32.260 --> 00:38:33.280
das man auch wirklich lösen möchte.

00:38:33.460 --> 00:38:34.520
Weil man kann es nicht so gut...

00:38:34.520 --> 00:38:36.580
Kriegen die dann irgendwie lineare Abhängigkeiten mit dann?

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

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

00:38:38.920 --> 00:38:41.340
Also das kann ich so komplett einbauen,

00:38:41.480 --> 00:38:42.140
wie ich gerne möchte.

00:38:42.420 --> 00:38:43.420
Also ich kann sagen,

00:38:43.420 --> 00:38:45.420
okay, der Zusammenhang zwischen diesen Sachen,

00:38:46.180 --> 00:38:49.180
hier ist linear und hier ist es aber logarithmisch

00:38:49.180 --> 00:38:51.340
oder nicht linear.

00:38:54.860 --> 00:38:57.980
Oder hier sind gewisse hierarchische Strukturen

00:38:57.980 --> 00:38:58.760
in meinen Daten drin

00:38:58.760 --> 00:39:00.400
und über die weiß ich Bescheid.

00:39:00.560 --> 00:39:03.620
Und ich weiß, dass sich jetzt die Süßigkeiten-Sachen

00:39:03.620 --> 00:39:04.380
ähnlich verhalten

00:39:04.380 --> 00:39:07.660
und Fleischprodukte verhalten sich auch ähnlich zueinander.

00:39:07.780 --> 00:39:09.200
Aber dennoch erlaube ich auch,

00:39:09.500 --> 00:39:10.960
dass zum Beispiel Snickers und Mars,

00:39:11.460 --> 00:39:13.220
was bei den Süßigkeiten-Kategorien ist,

00:39:13.520 --> 00:39:14.160
Unterschiede hat.

00:39:14.160 --> 00:39:15.160
Aber auch,

00:39:16.180 --> 00:39:18.180
gleichzeitig lerne ich die Ähnlichkeiten davon.

00:39:18.180 --> 00:39:21.180
Also ich lerne die Unterschiede,

00:39:21.180 --> 00:39:22.180
aber auch die Ähnlichkeiten.

00:39:22.180 --> 00:39:24.680
Und dadurch kann ich dann natürlich deutlich besser Vorhersagen machen.

00:39:27.180 --> 00:39:28.880
Das ist aber nicht nur auf Vorhersagen beschränkt.

00:39:28.880 --> 00:39:31.880
Also diese Statistischen Modelle können alles machen.

00:39:31.880 --> 00:39:33.680
Also wir können auch einfach nur Daten erklären.

00:39:34.180 --> 00:39:36.180
In der Wissenschaft zum Beispiel geht es dann oft darum,

00:39:36.180 --> 00:39:36.680
okay,

00:39:37.880 --> 00:39:39.880
ich habe zwei Versuchsgruppen.

00:39:39.880 --> 00:39:41.680
Gibt es da einen Unterschied zwischen denen und nicht?

00:39:41.680 --> 00:39:44.180
Die einen bekommen das Medikament, die anderen das Placebo.

00:39:44.680 --> 00:39:46.060
Ist das eine statistische...

00:39:46.060 --> 00:39:49.360
signifikanter Unterschied, den es da gibt?

00:39:49.360 --> 00:39:51.760
Und da kann natürlich auch ein Statistisches Modell bauen.

00:39:51.760 --> 00:39:55.260
Also man kann es immer ganz gut so vergleichen,

00:39:55.260 --> 00:39:55.860
dass...

00:39:57.560 --> 00:40:00.060
vielleicht Machine Learning ist so ein bisschen Playmobil.

00:40:00.060 --> 00:40:01.060
Es ist schon alles vorgebaut.

00:40:01.060 --> 00:40:03.260
Man kauft es einfach und so wie es ist,

00:40:03.260 --> 00:40:04.560
dann kann man nichts daran ändern.

00:40:05.060 --> 00:40:07.560
Und Propagandistik Programming ist so Lego.

00:40:07.560 --> 00:40:09.360
Also da hast du deine eigenen Bausteine,

00:40:09.360 --> 00:40:10.660
die du zusammensetzen kannst

00:40:10.660 --> 00:40:12.860
und baust dir ganz spezifisch das Statistische Modell,

00:40:12.860 --> 00:40:13.760
was du genau haben möchtest.

00:40:14.260 --> 00:40:15.260
Und wenn...

00:40:15.260 --> 00:40:16.060
für das nächste Programm,

00:40:16.060 --> 00:40:17.560
baust du dir dann ein anderes Modell.

00:40:17.560 --> 00:40:21.060
Also ja, es ist ein sehr viel manuellerer,

00:40:21.060 --> 00:40:23.860
aber auch dadurch natürlich sehr viel flexiblerer Ansatz.

00:40:24.760 --> 00:40:26.060
Ja, ja, ich glaube, ich habe...

00:40:26.060 --> 00:40:28.560
also so ein ähnliches Problem hatte ich auch schon mal.

00:40:28.560 --> 00:40:29.860
Das stimmt, das hätte ich dann vielleicht irgendwie

00:40:29.860 --> 00:40:32.560
mit hierarchischen Modellen irgendwie besser in den Griff kriegen können,

00:40:32.560 --> 00:40:35.060
dass man halt zum Beispiel eben das, was man vorhersagen möchte,

00:40:35.060 --> 00:40:37.060
dass das sehr sparsam ist irgendwie,

00:40:37.060 --> 00:40:38.860
um bei dem Supermarkt Beispiel zu bleiben.

00:40:38.860 --> 00:40:40.560
Man hat einen sehr, sehr großen Supermarkt

00:40:40.560 --> 00:40:42.260
mit ganz, ganz vielen unterschiedlichen Sachen

00:40:42.260 --> 00:40:44.260
und man beobachtet nur ganz selten Käufe,

00:40:44.260 --> 00:40:45.860
möchte aber trotzdem vorhersagen irgendwie.

00:40:46.060 --> 00:40:47.360
Was wird denn jetzt irgendwie...

00:40:48.260 --> 00:40:50.160
oder was ist denn der durchschnittliche...

00:40:50.160 --> 00:40:51.560
wie viel wird denn da ungefähr verkauft

00:40:51.560 --> 00:40:52.760
von irgendeiner speziellen Geschichte,

00:40:52.760 --> 00:40:53.860
wo man nie irgendwas beobachtet hat?

00:40:54.360 --> 00:40:57.360
Und dann war halt so der Ansatz in dem Machine Learning Teil,

00:40:57.360 --> 00:40:58.860
den wir dann benutzt haben,

00:40:58.860 --> 00:40:59.860
eher sowas wie...

00:40:59.860 --> 00:41:02.060
eben, man clustert das in sowas wie Süßwaren oder so

00:41:02.060 --> 00:41:04.460
und sammelt dann dafür halt irgendwie Daten,

00:41:04.460 --> 00:41:05.860
die man dann wieder als Features verwendet.

00:41:06.660 --> 00:41:07.660
Das ging auch irgendwie,

00:41:07.660 --> 00:41:08.560
aber das, wenn man vielleicht...

00:41:08.560 --> 00:41:10.660
wenn man es explizit in ein Modell reinpacken kann,

00:41:10.660 --> 00:41:12.060
ist natürlich... ja, ja.

00:41:12.660 --> 00:41:13.060
Ja, genau.

00:41:13.060 --> 00:41:15.260
Also das ist ein gutes Beispiel.

00:41:15.260 --> 00:41:15.860
Also zum Beispiel,

00:41:15.860 --> 00:41:18.960
jetzt kommt eine neue Süßigkeiten-Kategorie dazu,

00:41:19.660 --> 00:41:20.960
wo ich noch keine Daten habe

00:41:20.960 --> 00:41:22.160
und ein Machine Learning Modell wird einfach sagen,

00:41:22.160 --> 00:41:23.360
naja, habe ich vorher nicht gesehen,

00:41:23.360 --> 00:41:24.360
kann ich nichts zu sagen.

00:41:24.760 --> 00:41:27.860
Aber wenn ich diese hierarchischen Strukturen abbilde,

00:41:27.860 --> 00:41:28.660
kann ich natürlich das,

00:41:28.660 --> 00:41:30.160
was ich von den anderen Produkten gelernt habe,

00:41:30.160 --> 00:41:31.560
auch darauf dann anwenden.

00:41:32.560 --> 00:41:33.360
Oder aber auch,

00:41:33.360 --> 00:41:35.760
und das ist ein anderer wichtiger Punkt,

00:41:35.760 --> 00:41:39.560
der ein großer Vorteil ist von Basin Statistics generell,

00:41:39.760 --> 00:41:41.760
ist, dass man sogenannte Prior setzen kann.

00:41:42.060 --> 00:41:43.560
Und das ist Wissen,

00:41:43.960 --> 00:41:45.060
was ich schon habe,

00:41:45.060 --> 00:41:46.860
bevor ich überhaupt irgendwelche Daten gesehen habe.

00:41:47.860 --> 00:41:49.060
Und um da auch zum Beispiel

00:41:49.060 --> 00:41:50.660
bei dem Supermarktbeispiel zu bleiben,

00:41:52.360 --> 00:41:53.860
wenn ich jetzt in den Supermarkt gehen würde

00:41:53.860 --> 00:41:56.660
und den Manager da fragen,

00:41:56.660 --> 00:41:58.960
dann wird er mir alle möglichen Sachen erzählen können,

00:41:58.960 --> 00:41:59.960
darüber, wie sich das verhält.

00:41:59.960 --> 00:42:01.560
Also er sagt zum Beispiel,

00:42:01.560 --> 00:42:03.660
Schokolade vor Weihnachten wird halt immer...

00:42:03.660 --> 00:42:04.560
geht halt immer nach oben.

00:42:05.060 --> 00:42:06.460
Das muss ich nicht auf den Daten lernen.

00:42:06.860 --> 00:42:07.860
Das wissen wir schon.

00:42:08.160 --> 00:42:13.460
Und das kann ich mein Modell dann auch schon einprogrammieren

00:42:13.460 --> 00:42:15.260
in Form von diesen Prior.

00:42:15.260 --> 00:42:19.660
Also da kann ich Expertenwissen direkt schon initiieren in das Modell,

00:42:19.660 --> 00:42:21.660
was bei Machine Learning auch oft sehr schwer ist,

00:42:21.660 --> 00:42:23.660
weil ich wirklich alles von den Daten lernen muss.

00:42:24.260 --> 00:42:25.860
Ja, na ja, stimmt.

00:42:28.260 --> 00:42:29.460
Ja, das heißt, ich...

00:42:30.160 --> 00:42:32.460
Programming nennt man das oder Probability?

00:42:32.460 --> 00:42:34.060
Also Probabilistic Programming, genau.

00:42:34.060 --> 00:42:34.860
Mhm.

00:42:36.060 --> 00:42:38.260
Und die PIMC ist dafür die Bibliothek deiner Wahl.

00:42:38.260 --> 00:42:39.460
Und du hast da viel mitgearbeitet.

00:42:40.160 --> 00:42:40.660
Genau.

00:42:40.660 --> 00:42:41.260
Also ich habe die auch...

00:42:41.260 --> 00:42:42.560
Ich habe die mitentwickelt.

00:42:42.560 --> 00:42:43.260
Und...

00:42:43.460 --> 00:42:44.660
benutze die auch sehr viel.

00:42:44.660 --> 00:42:45.660
Und...

00:42:46.060 --> 00:42:46.660
die...

00:42:46.660 --> 00:42:48.860
genau, erlaubt einem dann...

00:42:48.860 --> 00:42:52.160
Also das ist nicht so, dass man diese Modelle halt dann von der Stange hat,

00:42:52.160 --> 00:42:53.860
wie zum Beispiel jetzt bei Scikit-Learn

00:42:53.860 --> 00:42:57.060
habe ich halt einfach eine Klasse, die macht die Linear Aggressionen

00:42:57.060 --> 00:42:58.260
oder Random Forests.

00:42:58.260 --> 00:43:01.260
Und hier habe ich stattdessen von der Stange

00:43:02.160 --> 00:43:06.560
Wahrscheinlichkeitsfunktionen, die ich dann zusammenstöpseln kann,

00:43:06.560 --> 00:43:08.260
um mir mein statistisches Modell zu bauen.

00:43:08.260 --> 00:43:09.060
Also das ist...

00:43:09.060 --> 00:43:11.060
Also da kann ich mit diesen...

00:43:11.060 --> 00:43:13.260
aus diesen Wahrscheinlichkeitsverteilungen kann ich mir dann zum Beispiel

00:43:13.460 --> 00:43:15.860
auch eine Linear Aggression zusammenbauen.

00:43:15.860 --> 00:43:17.860
Aber das muss ich halt erst noch machen.

00:43:17.860 --> 00:43:23.360
Und das ist mit PIMC 3 sehr leicht möglich.

00:43:23.360 --> 00:43:27.260
Und das heißt, erstmal geht es darum, das Modell zu bauen.

00:43:27.260 --> 00:43:30.460
Und dann im zweiten Schritt geht es darum, okay, jetzt habe ich das Modell gebaut.

00:43:30.460 --> 00:43:32.660
Wie fitte ich das überhaupt zu meinen Daten?

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

00:43:40.460 --> 00:43:43.060
die diese Probleme automatisch lösen.

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

00:43:47.860 --> 00:43:50.460
und was man dann in Code zusammenschreibt,

00:43:50.460 --> 00:43:52.460
mit PIMC 3 zum Beispiel,

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

00:43:55.460 --> 00:44:01.460
Also man braucht da ziemlich ausgefeilte Algorithmen.

00:44:01.460 --> 00:44:03.460
Und da ist es dann, wo das mit dem Markov Chain Monte Carlo,

00:44:03.460 --> 00:44:05.460
MCMC hinzukommt.

00:44:05.460 --> 00:44:07.460
Das ist so eine Klasse von Algorithmen,

00:44:07.460 --> 00:44:11.460
die auf so fast allen Modellen, die man sich vorstellen kann,

00:44:11.460 --> 00:44:12.460
automatisch lösen.

00:44:12.460 --> 00:44:13.260
Also das ist dann so ein Modell, das man sich ausmalt.

00:44:13.260 --> 00:44:17.260
Und das ist so, was echt cool an dem Approach ist,

00:44:17.260 --> 00:44:21.260
dass man sagt, okay, ich baue jetzt irgendein total verrücktes Modell

00:44:21.260 --> 00:44:24.260
und dann drücke ich einfach den Inference Button, wie ich das nenne,

00:44:24.260 --> 00:44:27.260
und der fittet dann das Modell zu den Daten.

00:44:27.260 --> 00:44:30.260
Und das andere, was auch noch sehr wichtig ist,

00:44:30.260 --> 00:44:33.260
ist, dass ich nicht nur eine Antwort bekomme.

00:44:33.260 --> 00:44:36.260
Und das ist auch ein Unterschied zum Beispiel zum Machine Learning.

00:44:36.260 --> 00:44:39.260
Also wenn ich da jetzt eine lineare Aggression laufen lasse,

00:44:39.260 --> 00:44:40.260
dann bekomme ich eine Antwort.

00:44:40.260 --> 00:44:42.260
Und das ist die Antwort, also in dem Fall jetzt halt,

00:44:42.260 --> 00:44:47.260
die Steigung und die Intercept,

00:44:47.260 --> 00:44:54.260
ist zwei Parameter, skalare Parameterwerte, die ich bekomme,

00:44:54.260 --> 00:44:57.260
und die beschreiben die Daten am besten.

00:44:57.260 --> 00:45:00.260
Aber ist natürlich trotzdem die Frage,

00:45:00.260 --> 00:45:01.260
wenn ich jetzt nicht so viele Daten habe,

00:45:01.260 --> 00:45:03.260
gibt es vielleicht noch andere Linien,

00:45:03.260 --> 00:45:05.260
die die Daten beschreiben können.

00:45:05.260 --> 00:45:10.260
Also wenn ich jetzt die Steigung um 0,01 verschiebe,

00:45:10.260 --> 00:45:11.260
dann passt das wahrscheinlich trotzdem noch ganz gut.

00:45:11.260 --> 00:45:14.260
Also ich bin mir halt nie so richtig sicher,

00:45:14.260 --> 00:45:17.260
diese Antwort, die mir jetzt das Machine Learning Modell gegeben hat,

00:45:17.260 --> 00:45:22.260
ist das wirklich die allerbeste?

00:45:22.260 --> 00:45:24.260
Und wie gut funktionieren dann andere Antworten?

00:45:24.260 --> 00:45:29.260
Und da geht es um Uncertainty oder halt um Gewissheit.

00:45:29.260 --> 00:45:31.260
Also wie sicher kann ich mir sein,

00:45:31.260 --> 00:45:33.260
dass die Antworten, die mir mein Modell geben,

00:45:33.260 --> 00:45:34.260
auch wirklich die richtigen sind?

00:45:34.260 --> 00:45:36.260
Also wie sicher sind die Datenpunkte irgendwie klassifiziert

00:45:36.260 --> 00:45:39.260
und wie gut sind sie voneinander trennbar überhaupt von dem Modell?

00:45:39.260 --> 00:45:40.260
Ja, genau.

00:45:40.260 --> 00:45:41.260
Genau, richtig.

00:45:41.260 --> 00:45:47.260
Und da ist auch ein gutes Beispiel zum Beispiel im Gesundheitssektor.

00:45:47.260 --> 00:45:49.260
Wenn ich da jetzt vorhersagen möchte,

00:45:49.260 --> 00:45:52.260
hat diese Person Diabetes oder nicht?

00:45:52.260 --> 00:45:55.260
Und ich habe irgendwelche Tests, die ich gemacht habe,

00:45:55.260 --> 00:45:56.260
und die sind meine Inputs.

00:45:56.260 --> 00:45:59.260
Und dann ist die Frage,

00:45:59.260 --> 00:46:01.260
wie sicher bin ich mir denn überhaupt in diese Antwort?

00:46:01.260 --> 00:46:04.260
Und das ist natürlich in dem Fall extrem wichtig.

00:46:04.260 --> 00:46:08.260
Und da sind diese probabilistic programming,

00:46:08.260 --> 00:46:09.260
das ist so eine der Kernpunkte,

00:46:09.260 --> 00:46:11.260
das ist so eine der Kernstärken davon,

00:46:11.260 --> 00:46:13.260
dass man diese Ungewissheit,

00:46:13.260 --> 00:46:15.260
die Unsicherheit in den Antworten

00:46:15.260 --> 00:46:17.260
und aber auch in den Parametern von dem Modell

00:46:17.260 --> 00:46:19.260
immer direkt mitspezifiziert.

00:46:19.260 --> 00:46:22.260
Also man arbeitet ja nie mit einzelnen Werten,

00:46:22.260 --> 00:46:25.260
sondern immer nur mit Wahrscheinlichkeitsverteilungen,

00:46:25.260 --> 00:46:27.260
die einem angeben, okay,

00:46:27.260 --> 00:46:31.260
also die Steigung von meiner linearen Aggression kann 0,5 sein,

00:46:31.260 --> 00:46:33.260
aber 0,6 kann es eigentlich auch sein.

00:46:33.260 --> 00:46:35.260
Also beschreibt beides das eigentlich sehr gut.

00:46:35.260 --> 00:46:37.260
Und genau, das ist...

00:46:37.260 --> 00:46:40.260
Da hat ihr einen schönen Fehler-Test da mit drin,

00:46:40.260 --> 00:46:41.260
den ihr mitbestimmt dann.

00:46:41.260 --> 00:46:43.260
Oder wird der ausgerechnet von dem Modell

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

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

00:46:50.260 --> 00:46:52.260
Also da kann ich zum Beispiel sagen,

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

00:46:56.260 --> 00:46:58.260
ohne überhaupt irgendwelche Daten gesehen zu haben.

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

00:47:01.260 --> 00:47:04.260
okay, das hier ist die Richtung, in die du da schauen solltest.

00:47:04.260 --> 00:47:05.260
Und wenn ich das...

00:47:05.260 --> 00:47:06.260
Und dann...

00:47:06.260 --> 00:47:09.260
Und dann schätze ich das Modell

00:47:09.260 --> 00:47:11.260
und kriege eine neue Wahrscheinlichkeitsverteilung,

00:47:11.260 --> 00:47:13.260
die mir sagt, okay, das ist jetzt,

00:47:13.260 --> 00:47:16.260
nachdem ich die Daten gesehen habe,

00:47:16.260 --> 00:47:20.260
wie, in welchem Bereich spielen sich denn die Parameterwerte ab,

00:47:20.260 --> 00:47:22.260
die das dann am besten erklären.

00:47:22.260 --> 00:47:24.260
Also ich kann beides machen.

00:47:24.260 --> 00:47:27.260
Also ich kann im Vorfeld schon mal das spezifizieren,

00:47:27.260 --> 00:47:29.260
je nachdem, wie genau ich das möchte.

00:47:29.260 --> 00:47:31.260
Und dann wird das mit...

00:47:31.260 --> 00:47:33.260
Nachdem ich die Datenpunkte gesehen habe,

00:47:33.260 --> 00:47:35.260
werden diese Algorithmen es abschätzen,

00:47:35.260 --> 00:47:37.260
und dann gibt es eine neue Wahrscheinlichkeitsverteilung,

00:47:37.260 --> 00:47:39.260
die einfach nur beschreibt, wie viel habe ich gelernt.

00:47:39.260 --> 00:47:41.260
Also man kann sich so vorstellen eigentlich,

00:47:41.260 --> 00:47:43.260
ich fange an mit einem gewissen Wissen,

00:47:43.260 --> 00:47:46.260
und dann sehe ich Daten,

00:47:46.260 --> 00:47:48.260
und dann update ich dieses Wissen,

00:47:48.260 --> 00:47:51.260
und habe dann einfach eine neue Wahrscheinlichkeitsverteilung.

00:47:51.260 --> 00:47:53.260
Mhm.

00:47:53.260 --> 00:47:57.260
Ja, nee, das klingt schon sehr gut.

00:47:57.260 --> 00:48:00.260
Das ist immer so ein Problem, auch bei diversen Modellen.

00:48:00.260 --> 00:48:03.260
Bei manchen fällt ja eventuell auch eine Wahrscheinlichkeit direkt raus,

00:48:03.260 --> 00:48:06.260
aber manchmal einfach nur eine Distanz zu irgendwas oder so,

00:48:06.260 --> 00:48:09.260
und dann muss man das halt irgendwie kalibrieren auf eine Wahrscheinlichkeit,

00:48:09.260 --> 00:48:12.260
und dann meistens nimmt man nur irgendwie die Signetfunktion oder so.

00:48:12.260 --> 00:48:13.260
Ja.

00:48:13.260 --> 00:48:15.260
Aber...

00:48:15.260 --> 00:48:19.260
Und da ist natürlich jetzt Covid-19 auch ein super Beispiel,

00:48:19.260 --> 00:48:21.260
wenn ich da jetzt Vorhersagen treffen möchte,

00:48:21.260 --> 00:48:24.260
mit gewissen statistischen Modellen,

00:48:24.260 --> 00:48:27.260
und da gibt es aus der Epidemiologie alle möglichen Modelle,

00:48:27.260 --> 00:48:29.260
die man da finden kann.

00:48:29.260 --> 00:48:31.260
Und dann ist die Frage,

00:48:31.260 --> 00:48:33.260
wenn ich jetzt das nicht in einem bayesianischen Ansatz mache,

00:48:33.260 --> 00:48:35.260
dann kriege ich halt eine Kurve raus,

00:48:35.260 --> 00:48:38.260
die vorhersagt, okay, so wird sich das jetzt über die nächste Woche entwickeln.

00:48:38.260 --> 00:48:42.260
Aber klar, wir haben noch nicht so viele Datenpunkte,

00:48:42.260 --> 00:48:46.260
das kann sich, also so wie ich die historischen Daten beschreibe,

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

00:48:49.260 --> 00:48:52.260
sondern auf potenziell unendlich viele Weisen.

00:48:52.260 --> 00:48:58.260
Und jede unterschiedliche Weise, wie ich die historischen Daten beschreiben kann,

00:48:58.260 --> 00:48:59.260
führt zu unterschiedlichen Vorhersagen,

00:48:59.260 --> 00:49:00.260
wie sich die Zukunft verhalten wird.

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

00:49:04.260 --> 00:49:07.260
und die Vorhersage sehen, die die Daten am besten beschreiben,

00:49:07.260 --> 00:49:11.260
sondern halt alle, die das einigermaßen gut beschreiben,

00:49:11.260 --> 00:49:15.260
denn das sind alles dann Ausgänge, die passieren können.

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

00:49:17.260 --> 00:49:21.260
dass es halt ja nicht nur eine Linie gibt, die dann in die Zukunft zeigt,

00:49:21.260 --> 00:49:24.260
sondern ganz viele Linien, die so auseinanderstreuen.

00:49:24.260 --> 00:49:27.260
Also je nachdem, je weiter ich in die Zukunft gehe,

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

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

00:49:33.260 --> 00:49:37.260
und wir bald Millionen von Infizierten haben.

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

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

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

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

00:49:50.260 --> 00:49:52.260
Also ich meine, ich könnte mir jetzt vorstellen,

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

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

00:49:58.260 --> 00:50:01.260
irgendetwas tue, also ich glaube, Teilen, die ich da schon mal gehört habe,

00:50:01.260 --> 00:50:04.260
sind sowas wie seit, zumindest in Deutschland, Beginn

00:50:04.260 --> 00:50:08.260
der etwas heftigeren Maßnahmen ist halt der,

00:50:08.260 --> 00:50:12.260
ich glaube, in dem Modell vom Robert-Koch-Institut werden irgendwie

00:50:12.260 --> 00:50:17.260
Landkreise als kleinste Einheiten irgendwie benutzt sozusagen.

00:50:17.260 --> 00:50:20.260
Wenn die Reisetätigkeit zwischen Landkreisen irgendwie sozusagen

00:50:20.260 --> 00:50:24.260
ist irgendwie schon um 40 Prozent runtergegangen seitdem,

00:50:24.260 --> 00:50:26.260
dann ändern sich halt entsprechend Parameter in dem Modell.

00:50:26.260 --> 00:50:27.260
Ja.

00:50:27.260 --> 00:50:30.260
Und dann kann man halt gucken, okay, wie geht denn das jetzt aus?

00:50:30.260 --> 00:50:35.260
Die Frage wäre jetzt sozusagen, okay, wenn ich jetzt irgendeinen dieser Parameter ändere,

00:50:35.260 --> 00:50:40.260
wie wirkt sich das dann zum Beispiel auf diese Basisreproduktionszahl aus?

00:50:40.260 --> 00:50:45.260
Also wie stark führt das dazu, dass jetzt etwas,

00:50:45.260 --> 00:50:52.260
also der Anstieg der infizierten Zahlen halt hochgeht oder gleich bleibt oder so?

00:50:52.260 --> 00:50:54.260
Und dann wäre halt die ganz interessante Frage,

00:50:54.260 --> 00:50:56.260
mit welcher Wahrscheinlichkeit kann ich diese Vorhersage machen?

00:50:56.260 --> 00:51:02.260
Weil es könnte ja auch sein, also wenn ich ein 30-prozentiges Risiko habe,

00:51:02.260 --> 00:51:06.260
dass sich das ganz anders verhält als das, was ich vorhersage,

00:51:06.260 --> 00:51:08.260
dann möchte ich mir das vielleicht nochmal überlegen,

00:51:08.260 --> 00:51:11.260
weil ich ja gar nicht so ein großes Risiko eingehen möchte vielleicht,

00:51:11.260 --> 00:51:13.260
sondern ich möchte vielleicht eine Maßnahme machen,

00:51:13.260 --> 00:51:16.260
wo ich dann ziemlich sicher sein kann, dass das dann halt auch hilft.

00:51:16.260 --> 00:51:20.260
Und ja, das wäre dann sozusagen etwas,

00:51:20.260 --> 00:51:22.260
was ich direkt aus einem probabilistischen Modell rauskriegen würde,

00:51:22.260 --> 00:51:24.260
wie dann die Erfolgswahrscheinlichkeit oder wie weit ich da rauskriege.

00:51:24.260 --> 00:51:25.260
Ja.

00:51:25.260 --> 00:51:30.260
Oder wie wahrscheinlich es ist, dass das dann halt auch in dem Bereich bleibt sozusagen.

00:51:30.260 --> 00:51:32.260
Genau, also das ist sehr wichtig.

00:51:32.260 --> 00:51:35.260
Also nicht jeder Ausgang ist ja auch gleich.

00:51:35.260 --> 00:51:39.260
Also jetzt habe ich vielleicht, wenn ich jetzt das so fitte,

00:51:39.260 --> 00:51:42.260
dass ich wirklich nur eine Linie bekomme, dann sieht die vielleicht okay aus.

00:51:42.260 --> 00:51:46.260
Und dann sage ich, okay, muss ich ja gar nicht mehr wirklich Gedanken machen.

00:51:46.260 --> 00:51:48.260
Und möglicherweise ist es auch der wahrscheinlichste Ausgang.

00:51:48.260 --> 00:51:53.260
Aber was ist, wenn mit einer 5-prozentigen Wahrscheinlichkeit

00:51:53.260 --> 00:51:57.260
das exponentiell weitergeht und diese Maßnahmen halt nicht greifen?

00:51:57.260 --> 00:51:59.260
Naja, das möchte ich ja unbedingt wissen.

00:51:59.260 --> 00:52:01.260
Was ist der Worst-Case-Szenario?

00:52:01.260 --> 00:52:03.260
Das ist vielleicht unwahrscheinlich, aber nicht so unwahrscheinlich,

00:52:03.260 --> 00:52:05.260
dass wir es außer Acht lassen dürfen.

00:52:05.260 --> 00:52:10.260
Und da kann man dann auch je nachdem das Modell verändern,

00:52:10.260 --> 00:52:13.260
also in verschiedenen Hinsichten.

00:52:13.260 --> 00:52:17.260
Und das ist auch so ein bisschen das, was ich so mächtig an diesem Ansatz finde,

00:52:17.260 --> 00:52:21.260
ist, dass es so oft ein sehr iteratives Arbeiten ist mit diesem Modell.

00:52:21.260 --> 00:52:24.260
Also ich fange an mit einem ganz einfachen Modell.

00:52:24.260 --> 00:52:25.260
Und das habe ich auch gemacht.

00:52:25.260 --> 00:52:27.260
Also ich habe einfach ein exponentielles Modell genommen.

00:52:27.260 --> 00:52:31.260
Und das funktioniert dann am Anfang zum Beispiel ziemlich gut.

00:52:31.260 --> 00:52:34.260
Und dann aber sehe ich auch, ah ja, okay, ich habe ja nicht nur ein Land,

00:52:34.260 --> 00:52:36.260
sondern ich habe mehrere Länder.

00:52:36.260 --> 00:52:39.260
Und diese Kurven verhalten sich bei allen Ländern eigentlich ziemlich ähnlich.

00:52:39.260 --> 00:52:41.260
Nicht immer gleich, aber ähnlich.

00:52:41.260 --> 00:52:44.260
Und da kommt es dann wieder rein mit der hierarchischen Struktur,

00:52:44.260 --> 00:52:48.260
die ich vorhin erwähnt habe, wo ich genau das auch in mein Modell einbauen kann

00:52:48.260 --> 00:52:49.260
und sage, okay, also da gibt es Ähnlichkeiten in diesen,

00:52:49.260 --> 00:52:50.260
in diesen Modellen.

00:52:50.260 --> 00:52:55.260
In diesen Growth Rates, in diesen Steigerungszahlen.

00:52:55.260 --> 00:52:57.260
Und das heißt, dann habe ich ein hierarchisches Modell,

00:52:57.260 --> 00:53:00.260
was für jedes einzelne Land einzelne Parameter hat.

00:53:00.260 --> 00:53:04.260
Aber diese Parameter sind dann auch auf einem höheren Level noch miteinander verbunden.

00:53:04.260 --> 00:53:07.260
Und ich lerne also beides zugleich.

00:53:07.260 --> 00:53:10.260
Und dann zum Beispiel könnte ich hingehen und sagen, na gut,

00:53:10.260 --> 00:53:12.260
exponentiell ist ja vielleicht gar nicht mal so ein gutes Modell,

00:53:12.260 --> 00:53:16.260
denn das nimmt ja an, dass das einfach immer weiter nach oben geht

00:53:16.260 --> 00:53:18.260
und immer und immer schneller wird.

00:53:18.260 --> 00:53:20.260
Irgendwo ist ja da schon, spätestens bei,

00:53:20.260 --> 00:53:23.260
bei der Anzahl der Menschen, die in einem Land leben,

00:53:23.260 --> 00:53:26.260
ein ganz natürliches physikalisches Limit gesetzt.

00:53:26.260 --> 00:53:29.260
Und dann kann ich das Modell verbessern und sage, okay,

00:53:29.260 --> 00:53:31.260
dann nehme ich stattdessen eine logistische Funktion,

00:53:31.260 --> 00:53:33.260
die am Anfang auch schnell nach oben geht,

00:53:33.260 --> 00:53:35.260
aber dann sich wieder abflacht.

00:53:35.260 --> 00:53:40.260
Und dann kann ich aber auch hingehen und sagen, okay,

00:53:40.260 --> 00:53:46.260
das modelliert schon die Steigungssache vielleicht ganz gut,

00:53:46.260 --> 00:53:49.260
aber ich weiß, dass es da, zum Beispiel habe ich jetzt,

00:53:49.260 --> 00:53:53.260
vielleicht gerade ein Buch von Nassim Taleb gelesen, den Black Swan,

00:53:53.260 --> 00:53:56.260
und ich weiß, dass es sehr wichtig ist, da nicht auch nur anzunehmen,

00:53:56.260 --> 00:54:00.260
dass sich alles in der Welt nach einer Normalverteilung verhält,

00:54:00.260 --> 00:54:02.260
sondern es gibt halt auch das Tail Risk.

00:54:02.260 --> 00:54:04.260
Und dann nehme ich halt nicht eine Normalverteilung,

00:54:04.260 --> 00:54:07.260
sondern eine zum Beispiel Student T-Verteilung,

00:54:07.260 --> 00:54:09.260
also eine T-Verteilung.

00:54:09.260 --> 00:54:11.260
Und die hat sehr viel mehr Wahrscheinlichkeiten,

00:54:11.260 --> 00:54:14.260
dass da auch extreme Ausreißer passieren können.

00:54:14.260 --> 00:54:18.260
Und dann habe ich das in mein Modell integriert und arbeite dann halt,

00:54:18.260 --> 00:54:21.260
mich immer weiter vor und verbessere das Modell immer weiter

00:54:21.260 --> 00:54:23.260
und kriege dann auch immer bessere Vorhersagen,

00:54:23.260 --> 00:54:28.260
die natürlich dann auch die möglichen Handlungen,

00:54:28.260 --> 00:54:33.260
die man machen möchte, hoffentlich da bessere Antworten zu liefern.

00:54:33.260 --> 00:54:39.260
Ja, ja, das ist für Nassim Taleb auch irgendwie ein Twitter-Account,

00:54:39.260 --> 00:54:41.260
der hat einen Twitter-Account, dem ich auch folge,

00:54:41.260 --> 00:54:43.260
und da sind manchmal sehr lustige Sachen dabei.

00:54:43.260 --> 00:54:46.260
Er hat jetzt auch was über statistische Modelle,

00:54:46.260 --> 00:54:47.260
die irgendwie Dinge vorhersagen.

00:54:47.260 --> 00:54:52.260
Gesagt, das fand ich auch ganz bemerkenswert,

00:54:52.260 --> 00:54:57.260
weil es halt, ich weiß nicht, er hat ja schon so einen gewissen Punkt,

00:54:57.260 --> 00:55:02.260
er sagt halt im Grunde, naja, also da einige wenige Ereignisse,

00:55:02.260 --> 00:55:05.260
was so Pandemien angeht, halt sehr, sehr böse Auswirkungen haben können,

00:55:05.260 --> 00:55:09.260
ist es halt eigentlich, sobald man sieht, dass das irgendwie in die Richtung geht,

00:55:09.260 --> 00:55:11.260
dann ist das eher so wie eine Lawine.

00:55:11.260 --> 00:55:13.260
Wenn man sieht, wenn man irgendwann am Berg steht und sieht,

00:55:13.260 --> 00:55:15.260
da kommt eine Lawine runter, dann fange ich jetzt nicht an,

00:55:15.260 --> 00:55:17.260
mir auszurechnen, ob die mich jetzt treffen kann,

00:55:17.260 --> 00:55:18.260
oder nicht.

00:55:18.260 --> 00:55:20.260
Und bei so einer Pandemie ist halt auch so ein bisschen,

00:55:20.260 --> 00:55:22.260
und der hat einen schönen Vergleich benutzt, der meinte dann,

00:55:22.260 --> 00:55:25.260
also wenn ich jetzt anfange, da statistisch ganz genau zu werden,

00:55:25.260 --> 00:55:28.260
dann ist das so ein bisschen wie Löffelzellen auf der Titanic,

00:55:28.260 --> 00:55:30.260
ja, das ist halt so.

00:55:30.260 --> 00:55:33.260
Sondern da muss man halt dann irgendwie das Extremste machen,

00:55:33.260 --> 00:55:35.260
was man irgendwie hinkriegt, um halt zu verhindern,

00:55:35.260 --> 00:55:37.260
dass diese ganz schlimmen Sachen halt passieren.

00:55:37.260 --> 00:55:42.260
Ja, also der ist auf jeden Fall sehr extrem in seinen Ansichten,

00:55:42.260 --> 00:55:46.260
dass man eigentlich, also der sagt eigentlich, so extrem sagt er es nicht,

00:55:46.260 --> 00:55:52.260
aber dennoch, dass 90, 95 Prozent aller Statistiken komplett in die Tonne gekloppt werden können,

00:55:52.260 --> 00:55:57.260
weil das alles Phänomene sind, die halt diese Ausreißer-Events haben,

00:55:57.260 --> 00:55:59.260
die das alles bestimmen.

00:55:59.260 --> 00:56:03.260
Ich finde das ein bisschen oft sehr extrem,

00:56:03.260 --> 00:56:06.260
denn die Modelle funktionieren doch schon oft auch ganz gut,

00:56:06.260 --> 00:56:09.260
aber klar muss man sich immer bewusst sein, dass das Modelle sind

00:56:09.260 --> 00:56:11.260
und dass es diese Terrorists gibt,

00:56:11.260 --> 00:56:15.260
und die auch idealerweise natürlich ins Modell integrieren,

00:56:15.260 --> 00:56:17.260
dass man das mit berücksichtigt.

00:56:17.260 --> 00:56:19.260
Das kann man ja machen.

00:56:19.260 --> 00:56:21.260
Das Problem sind halt diese unvorhergesehenen Ereignisse,

00:56:21.260 --> 00:56:23.260
das ist halt nämlich genau diese unvorhergesehenen Ereignisse.

00:56:23.260 --> 00:56:25.260
Da kannst du halt so viel modellieren und Statistik machen, wie du willst,

00:56:25.260 --> 00:56:28.260
wenn halt Ereignisse auftreten, deren Dimensionen man nicht abschätzen kann,

00:56:28.260 --> 00:56:32.260
oder deren Auswirkungen auf die einzelnen Achsen in dieser Verteilung.

00:56:32.260 --> 00:56:35.260
Das wird natürlich dann, ja, also schwer zu pronostizieren,

00:56:35.260 --> 00:56:38.260
weil woher soll man das wissen, dass solche Events kommen?

00:56:38.260 --> 00:56:43.260
Ja und nein, also genau, diese Ausreißer sind fast unmöglich zu modellieren,

00:56:43.260 --> 00:56:44.260
aber jetzt zum Beispiel die Modellierer,

00:56:44.260 --> 00:56:52.260
die ich da gebaut habe, um vorherzusagen, wie sich das Wachstum weiterverhält,

00:56:52.260 --> 00:56:55.260
sind bisher erschreckend akkurat gewesen.

00:56:55.260 --> 00:56:58.260
Jetzt hören sie auf, also zu funktionieren, und das ist gut.

00:56:58.260 --> 00:57:02.260
Also das erste Modell, wie ich schon gesagt habe, war so ein exponentielles Modell,

00:57:02.260 --> 00:57:07.260
und das, ja, also am Anfang hatten wir exponentielles Wachstum,

00:57:07.260 --> 00:57:12.260
jetzt scheint es sich ein bisschen abzuschwächen, was ja sehr gut ist,

00:57:12.260 --> 00:57:14.260
aber, ja, das ist ja auch so.

00:57:14.260 --> 00:57:18.260
Genau, also diese Modelle, das haben schon vorher seine Kraft,

00:57:18.260 --> 00:57:21.260
und das ist ja auch genau das, was man wissen möchte.

00:57:21.260 --> 00:57:25.260
Und das ist auch das, was ich so erschreckend fand,

00:57:25.260 --> 00:57:28.260
dass es eigentlich, wenn man sich das angeschaut hat,

00:57:28.260 --> 00:57:32.260
also zum Beispiel vor drei Wochen noch gab es in Deutschland, weiß ich nicht,

00:57:32.260 --> 00:57:39.260
zehn Fälle oder so, und in Italien aber war es schon sehr dramatisch.

00:57:39.260 --> 00:57:42.260
Und dann hierzulande wurde gesagt, naja, aber es sind ja nur zehn Fälle,

00:57:42.260 --> 00:57:43.260
das muss uns ja nicht interessieren.

00:57:43.260 --> 00:57:40.260
Ja.

00:57:40.260 --> 00:57:41.260
Aber das ist ja auch so.

00:57:41.260 --> 00:57:42.260
Ja.

00:57:42.260 --> 00:57:42.260


00:57:42.260 --> 00:57:43.260
Ja.

00:57:43.260 --> 00:57:45.260
Da muss man sich nicht interessieren.

00:57:45.260 --> 00:57:49.260
Aber guыt, also, beziehungsweise sagen wir mal zehn Fälle und in drei Tagen sind es halt 100 Fälle

00:57:49.260 --> 00:57:52.260
und da sagt man immer guыt 100 Fälle ist ja trotzdem nicht viel,

00:57:52.260 --> 00:57:55.260
aber vollkommen egal, es geht darum was für eine Steigerung haben wir da

00:57:55.260 --> 00:58:00.260
und das ist exponentiell und das heißt in drei Tagen sind es dann von 100 auf 1000 und

00:58:00.260 --> 00:58:02.260
Da hast du auch einen Notebook zu, online, wo man anschlafen kann.

00:58:02.260 --> 00:58:05.260
Ja genau, das hatten wir noch gar nicht erwähnt, aber ja,

00:58:05.260 --> 00:58:12.260
das war auch einer der Gründe warum das jetzt halt ein guter Zeitpunkt ist vielleicht genau dieses Gespräch zu führen.

00:58:12.260 --> 00:58:30.420
Ich hatte da irgendwie diese Notebooks gesehen. Es gibt mehrere. Das erste ist, glaube ich, das Daily. Wir packen den Link in die Show Notes. Das ist ein Repository, in dem mehrere Notebooks sind. COVID-19 Growth ist, glaube ich, das erste.

00:58:30.420 --> 00:58:43.140
Und das ist sozusagen das exponentielle Modell. Und da gibt es halt so einen Graph mit einer Logscale, was die Anzahl der Infizierten angeht und dass man das halt so ein bisschen linearer sieht.

00:58:43.920 --> 00:59:00.200
Und auf der x-Achse die Zeit, auf der y-Achse die Infizierten und dann halt sozusagen Tage nach den ersten bestätigten 100 Fällen. Und die Kurven sehen alle relativ ähnlich aus, am Anfang zumindest.

00:59:00.420 --> 00:59:11.940
Ist auch China mit geplottet? Ich hatte nämlich vom Freund von mir gehört, der aus Shanghai geflohen ist, schon Ende Januar, weil die Flüge alle gestrichen wurden, dass das die Situation wohl sehr dramatisch sein soll und dass wir uns auf etwas gefasst machen müssen.

00:59:12.680 --> 00:59:24.620
Ja, also genau. China ist nicht mit dabei, weil das Modell das nicht abbilden kann. Also dieses nicht. Das Modell, was ich jetzt gerade gebaut habe, das logistische Modell des Kantons.

00:59:24.740 --> 00:59:28.940
Denn da gibt es diesen Effekt, dass die auch wieder sich...

00:59:30.420 --> 00:59:36.940
Dass die auch wieder stehen bleiben, die Neuinfektionen. Und das scheint China nach den offiziellen Zahlen, die wir haben, ist die Frage, wie man die glauben möchte.

00:59:39.180 --> 00:59:48.800
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.

00:59:49.700 --> 01:00:00.260
Und zumindest auch in Korea. Also diese Länder haben es geschafft, dieses Wachstum zu stoppen, eigentlich effektiv. Und das sieht man, dass das Modell das nicht kann.

01:00:00.260 --> 01:00:07.740
Also die sind auf jeden Fall ausgebrochen aus dem Exponentiellen und dafür braucht man das logistische Modell, was genau diesen Effekt modellieren kann.

01:00:07.920 --> 01:00:12.180
Und das sieht man jetzt auch bei anderen. Also das ist ganz interessant bei dem logistischen Modell.

01:00:12.360 --> 01:00:23.240
Also das interpretiert dann schon, dass wenn man aus dem Exponentiellen rauskommt und sieht, ah ok, es fängt sich an abzuschwächen und man nimmt an, dass dieser logistische Funktion folgt,

01:00:23.440 --> 01:00:30.240
dann kann man auch vorher sagen, ok, also jetzt dauert es vielleicht noch zwei Wochen, bis sich die Neuinfektionen dann...

01:00:30.260 --> 01:00:32.360
zurückgegangen sind und es keine neuen gibt.

01:00:33.640 --> 01:00:37.120
Ja, ich glaube auch, dass das in China...

01:00:37.120 --> 01:00:46.220
Klar, man kann da nur 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.

01:00:46.660 --> 01:00:47.820
Und das ist es irgendwie nicht.

01:00:48.040 --> 01:00:59.440
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,

01:00:59.440 --> 01:01:08.240
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.

01:01:08.820 --> 01:01:10.780
Aber das geht halt anderswo nicht so gut.

01:01:11.120 --> 01:01:20.680
Also das ging halt in dem Fall super und naja, ist halt immer auch die Frage, inwiefern irgendwelche Geschichten vergleichbar und übertragbar sind.

01:01:20.800 --> 01:01:24.760
Wenn jetzt irgendwie alle Leute sagen, man muss das nur so machen wie in Südkorea, dann ist das kein Problem.

01:01:25.760 --> 01:01:29.060
Naja, irgendjemand meinte dann so satirischerweise irgendwie, ja, so...

01:01:29.060 --> 01:01:30.960
Ich habe gehört, in Südkorea wird ganz viel Kimchi gegessen.

01:01:31.060 --> 01:01:32.880
Lass uns alle einfach Kimchi essen, dann ist es okay.

01:01:34.940 --> 01:01:49.060
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,

01:01:49.180 --> 01:01:53.580
dass die auch irgendwie von dieser exponentiellen Entwicklung relativ gut verschont wurden.

01:01:53.800 --> 01:01:55.300
Aber alle unterschiedliche Methoden gemacht.

01:01:55.300 --> 01:01:58.640
Also Japan hat zum Beispiel einfach die Anzahl an Tests unheimlich hoch gefahren.

01:01:59.060 --> 01:02:02.940
Nämlich sie einfach jeden Menschen getestet haben und dann diese Kette auch versucht haben, damit zu unterbrechen.

01:02:03.580 --> 01:02:06.420
Weil die halt relativ genau wussten, wer jetzt da vielleicht dann Kontaktperson war.

01:02:07.220 --> 01:02:08.400
Das mag auch ein Vorteil sein.

01:02:08.620 --> 01:02:10.540
Aber von China glaube ich übrigens keine einzige Zahl.

01:02:10.640 --> 01:02:14.260
Also ich habe Dunkelziffern gelesen, die man jetzt alle mit Vorsicht genießen möchte,

01:02:14.380 --> 01:02:19.280
aber dass irgendwie 700.000 Fälle alleine in Wuhan noch irgendwie offen waren, die nicht registriert waren.

01:02:19.580 --> 01:02:22.180
Und naja, was man da glauben kann, ich weiß ja nicht.

01:02:24.940 --> 01:02:27.080
Und also eine Sache auf jeden Fall noch zu den Notebooks.

01:02:27.280 --> 01:02:28.180
Also die...

01:02:28.180 --> 01:02:28.180


01:02:29.060 --> 01:02:35.840
Modelle habe ich dann online gestellt und die haben auf jeden Fall da sehr viel Interesse bekommen.

01:02:36.200 --> 01:02:38.880
Ich wurde auf jeden Fall auch dafür kritisiert, dass es...

01:02:38.880 --> 01:02:43.540
Also ich bin kein Epidemiologe und habe mir das angeschaut und diese Modelle gebaut,

01:02:44.120 --> 01:02:50.740
dass das ja nur jeden verwirren würde und dass exponentielle Modelle ja sowieso komplett falsch sind.

01:02:51.460 --> 01:02:53.780
Und ich kann das verstehen.

01:02:54.260 --> 01:02:58.940
Allerdings sind im Moment diese exponentiellen Modelle erschreckend akkurat.

01:02:59.060 --> 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.660 --> 01:03:11.400
Und das andere, was aber auch sehr interessant ist, was passiert ist, ist,

01:03:12.200 --> 01:03:15.740
dadurch, dass man dann diese Sachen shared, also das ist halt dieses Open-Source-Prinzip,

01:03:16.240 --> 01:03:23.580
dann kam der Hamel und hat dann ein Dashboard daraus gebaut, das ist halt täglich updated.

01:03:24.080 --> 01:03:28.980
Und das heißt, das ist jetzt eine coole Webseite, wo das Notebook dann automatisch geladen wird.

01:03:29.060 --> 01:03:30.520
Und es ist auch interaktiv.

01:03:31.640 --> 01:03:34.660
Andere Leute haben es benutzt, um dann das Modell zu verbessern

01:03:34.660 --> 01:03:39.040
oder einfach nur sich selber dann das Modell auf andere Daten anzuwenden.

01:03:39.660 --> 01:03:43.120
Ich habe selber viel Feedback bekommen, was ich dann einpflege und das Modell verbessere.

01:03:43.520 --> 01:03:49.160
Also dieser iterative Ansatz, der in der Öffentlichkeit stattfindet und auch den Code zu posten,

01:03:49.300 --> 01:03:51.520
wo halt andere Leute Bugfixes schicken oder so,

01:03:53.360 --> 01:03:58.100
ist also meiner Meinung nach überwiegender die Vorteile einfach viel mehr als die Nachteile,

01:03:59.060 --> 01:04:05.000
dass ich halt erstmal sechs Monate mit Epidemiologen zusammenarbeite,

01:04:05.100 --> 01:04:10.120
um das absolut wasserdichte Modell zu bauen, was dann aber vielleicht nicht richtig funktioniert,

01:04:10.220 --> 01:04:13.460
weil ich halt nicht das Feedback von der Community habe und auch nicht diese ganzen Netzwerkeffekte,

01:04:13.940 --> 01:04:15.400
die Open-Source da bringen.

01:04:16.540 --> 01:04:17.980
Ja, ja, das würde ich auch sagen.

01:04:18.120 --> 01:04:22.720
Also ich meine, wenn da irgendwie, das ist auch etwas, wenn das halt in der Öffentlichkeit passiert,

01:04:23.060 --> 01:04:26.180
also ich meine, im Grunde kann man ja nur durch Feedback irgendwie Dinge lernen.

01:04:26.180 --> 01:04:27.980
Das ist auch etwas, was ich immer sehe.

01:04:28.140 --> 01:04:28.780
Das ist halt dann.

01:04:29.060 --> 01:04:32.540
Ich meine, das ist halt auch unter Umständen ein schmerzhafter Prozess,

01:04:33.000 --> 01:04:34.640
irgendwie öffentlich Feedback einzusammeln.

01:04:34.760 --> 01:04:38.900
Aber es hilft auch tatsächlich, während ich da große Bedenken habe,

01:04:38.980 --> 01:04:42.640
wenn da Leute irgendwie jahrelang an irgendwas arbeiten oder so

01:04:42.640 --> 01:04:44.240
und da gab es nie wirkliches Feedback.

01:04:44.760 --> 01:04:46.160
Ob das dann so wirklich stimmt?

01:04:47.040 --> 01:04:48.260
Naja, also es ist...

01:04:48.980 --> 01:04:53.260
Da habe ich letztens erst einen Tweet gesehen von einem Epidemiologie-Professor,

01:04:53.620 --> 01:04:59.040
der da einen super akkuraten Simulator geschrieben hat,

01:04:59.060 --> 01:05:04.040
der halt da verschiedene Agenten simuliert, die sich treffen und die infizieren sich.

01:05:04.200 --> 01:05:07.220
Und das ist ja also das absolute Nonplusultra-Modell.

01:05:08.180 --> 01:05:15.480
Und das hat er aber schon vor langer Zeit gemacht, also als Epidemiologe.

01:05:15.900 --> 01:05:18.440
Und da aber natürlich bisher nur Paper drüber geschrieben.

01:05:18.740 --> 01:05:23.320
Und dann ist natürlich sofort die Frage, okay, du hast ja vor zehn Jahren dieses super coole Modell gebaut.

01:05:23.540 --> 01:05:24.720
Was sagt es denn jetzt voraus?

01:05:24.820 --> 01:05:26.560
Und kann man das denn nicht benutzen, um das halt up-to-date?

01:05:27.040 --> 01:05:27.560
Naja, und dann...

01:05:29.060 --> 01:05:31.800
War halt die Frage, ja, was ist denn mit dem Code?

01:05:32.260 --> 01:05:33.220
Und dann so, oh, okay.

01:05:33.380 --> 01:05:37.840
Naja, die Codes sind irgendwie 50.000 Zeilen C++-Code,

01:05:38.020 --> 01:05:41.840
den eine Person versteht, der unkommentiert ist, ungetestet ist.

01:05:42.240 --> 01:05:47.120
Also ich war selbst in der Forschung, ich weiß ganz genau, was die Code-Qualität da ist.

01:05:47.400 --> 01:05:49.200
Und die ist oft sehr niedrig.

01:05:49.540 --> 01:05:51.980
Und in dem Fall jetzt, weil der Code einfach so wahnsinnig wichtig ist,

01:05:52.160 --> 01:05:56.300
arbeitet er mit Microsoft zusammen, um den Code dann da tatsächlich zu testen

01:05:56.300 --> 01:05:57.800
und zu wissen, dass der funktioniert.

01:05:57.800 --> 01:06:00.320
Da werden bestimmt einige Bugs gefunden.

01:06:01.860 --> 01:06:04.140
Und das ist natürlich auch sehr gefährlich.

01:06:04.360 --> 01:06:10.100
Also diese ganz klassische, so wie die Wissenschaft da bisher immer arbeitet

01:06:10.100 --> 01:06:15.800
und wie wenig die sich wirklich für Code-Qualität da einsetzen,

01:06:16.880 --> 01:06:19.840
glaube ich, dass wir da viel voneinander lernen können.

01:06:20.340 --> 01:06:22.420
Und zum Beispiel oft sind die halt auch nicht bäsianisch.

01:06:22.640 --> 01:06:25.960
Also gibt es wirklich den Epidemiologen, der ein Top-Coder ist

01:06:25.960 --> 01:06:26.800
und gleichzeitig halt...

01:06:27.800 --> 01:06:30.440
Und natürlich epidemiologisch total fit ist

01:06:30.440 --> 01:06:33.540
und dann zusätzlich auch noch weiß, wie man Pianti 3 benutzt.

01:06:34.500 --> 01:06:35.400
Wahrscheinlich gibt es den nicht.

01:06:35.860 --> 01:06:38.440
Deswegen, wenn wir da alle unseren Teil dazu beitragen,

01:06:38.720 --> 01:06:41.100
glaube ich, wird es am besten funktionieren.

01:06:42.240 --> 01:06:42.380
Ja.

01:06:43.020 --> 01:06:44.300
Ja, ja, ich bin auch...

01:06:44.300 --> 01:06:45.740
Gut, das ist jetzt auch wieder ein bisschen her.

01:06:45.800 --> 01:06:48.600
Ich habe auch eine Zeit lang irgendwie viel Pepper gelesen

01:06:48.600 --> 01:06:50.860
und versucht, Dinge zu reproduzieren und so.

01:06:51.100 --> 01:06:52.560
Und das hat...

01:06:52.560 --> 01:06:55.260
Also das war schon...

01:06:55.260 --> 01:06:57.060
Also oft bekommt man dann ja Code.

01:06:57.800 --> 01:06:59.480
Wenn man dann irgendwie ein Paper hat und dann sich überlegt,

01:06:59.540 --> 01:07:01.840
okay, das sieht sehr interessant aus für das Problem, was ich habe.

01:07:02.380 --> 01:07:04.200
Und wenn man dann die Autoren anschreibt und sagt so,

01:07:04.280 --> 01:07:05.800
ich würde das mal gerne reproduzieren,

01:07:06.500 --> 01:07:08.360
könnt ihr mir den Code dann mal irgendwie so...

01:07:08.360 --> 01:07:09.520
Wie mache ich das denn dann?

01:07:09.800 --> 01:07:10.960
Dann kriegt man meistens den Code.

01:07:11.060 --> 01:07:14.980
Meistens mit einer länglichen Entschuldigung für die Code-Qualität.

01:07:15.460 --> 01:07:16.220
Das ist...

01:07:16.220 --> 01:07:18.580
Und ganz oft ist es dann halt auch so,

01:07:18.780 --> 01:07:21.160
wenn man das dann tatsächlich versucht, nochmal selber zu implementieren,

01:07:21.300 --> 01:07:23.860
dass man merkt so, oh nee, das tut nicht so wirklich genau das,

01:07:23.940 --> 01:07:25.620
was da in dem Pfeffer drin steht.

01:07:25.620 --> 01:07:27.620
Und also da muss...

01:07:27.800 --> 01:07:28.820
Da muss irgendwie...

01:07:28.820 --> 01:07:30.680
Ich meine, ich kann auch verstehen, wie das passiert.

01:07:30.780 --> 01:07:31.460
Das ist halt...

01:07:31.460 --> 01:07:34.180
Man kann halt Code nicht veröffentlichen in der Zeitschrift,

01:07:34.240 --> 01:07:38.640
sondern da ist halt dann halt ein gesetztes Paper irgendwie das Entscheidende

01:07:38.640 --> 01:07:41.760
oder halt sogar oft in der Informatik sind es halt irgendwie Formeln,

01:07:41.940 --> 01:07:43.380
mathematische Formeln, die da drin stehen müssen,

01:07:43.480 --> 01:07:45.260
weil das ist halt das, was man irgendwie da reinschreiben kann.

01:07:45.760 --> 01:07:46.520
Code ist halt...

01:07:46.520 --> 01:07:47.600
Kann man nicht so wirklich publizieren.

01:07:48.300 --> 01:07:51.100
Aber das muss sich irgendwie ändern, weil das ist...

01:07:51.100 --> 01:07:52.800
Ja, das ist eigentlich alles...

01:07:54.100 --> 01:07:55.580
Ja, ja, relativ furchtbar.

01:07:56.300 --> 01:07:57.580
Ja, also ich...

01:07:57.800 --> 01:07:58.680
Stimme dir voll zu.

01:07:58.920 --> 01:08:00.360
Also weil es...

01:08:00.360 --> 01:08:02.940
Also welches Paper kann sozusagen noch geschrieben werden,

01:08:03.100 --> 01:08:05.480
was nicht auf Code beruht?

01:08:05.840 --> 01:08:07.620
Also das ist wahnsinnig...

01:08:07.620 --> 01:08:09.220
Absolut fundamental.

01:08:10.240 --> 01:08:11.920
Die Ergebnisse...

01:08:11.920 --> 01:08:13.220
Und die Ergebnisse sind davon gestützt.

01:08:13.340 --> 01:08:15.520
Also wenn da ein Bug drin ist, dann kriegst du halt falsche Ergebnisse raus.

01:08:15.780 --> 01:08:18.380
Also dass das bisher immer noch nicht...

01:08:18.380 --> 01:08:20.520
Also fairerweise muss man sagen,

01:08:20.620 --> 01:08:22.560
das verstehen schon immer mehr Leute

01:08:22.560 --> 01:08:23.740
und es gibt auch immer mehr Wissenschaftler,

01:08:23.740 --> 01:08:24.960
die das auch anfangen zu machen

01:08:24.960 --> 01:08:26.660
und die ihre GitHub-Repositories haben.

01:08:27.800 --> 01:08:29.200
Der Danilo Bistock zum Beispiel,

01:08:29.400 --> 01:08:31.140
mit dem habe ich letztens ein Paper gemacht.

01:08:31.340 --> 01:08:34.320
Also der stellt alles immer online

01:08:34.320 --> 01:08:35.780
und ich kenne auch viele andere Kollegen,

01:08:36.000 --> 01:08:37.080
die das machen.

01:08:37.660 --> 01:08:40.140
Und das ist super, also gerade jüngere Wissenschaftler.

01:08:40.720 --> 01:08:44.140
Aber das ist halt bisher noch größtenteils freiwillig.

01:08:44.300 --> 01:08:47.120
Also ich glaube, das muss schon einfach auch ein Zwang sein,

01:08:47.240 --> 01:08:51.440
dass die Methoden und der Code alles online kommt.

01:08:51.540 --> 01:08:53.220
Und wenn das online ist,

01:08:53.320 --> 01:08:55.760
dann ist natürlich auch automatisch oft

01:08:55.760 --> 01:08:57.680
der Anspruch an die Codequalität höher.

01:08:57.800 --> 01:08:59.240
Also das heißt, man möchte dann

01:08:59.240 --> 01:09:01.180
vielleicht doch ein bisschen mehr Zeit darauf verbringen,

01:09:01.480 --> 01:09:04.000
auch den Code zu kommentieren und ein paar Tests zu schreiben.

01:09:04.500 --> 01:09:05.800
Das sind ja alles...

01:09:06.380 --> 01:09:07.340
Peer-Pressure.

01:09:08.060 --> 01:09:08.620
Ja, genau.

01:09:08.700 --> 01:09:10.620
So ein bisschen gesunde Peer-Pressure da reinbringen.

01:09:12.520 --> 01:09:12.720
Ja.

01:09:15.200 --> 01:09:15.640
Ja.

01:09:17.620 --> 01:09:18.060
Genau.

01:09:18.500 --> 01:09:19.120
Gab es irgendwas

01:09:19.120 --> 01:09:22.700
sehr Interessantes oder was du nicht erwartet hattest

01:09:22.700 --> 01:09:23.700
irgendwie beim

01:09:23.700 --> 01:09:25.340
Bauen der

01:09:26.160 --> 01:09:27.540
Modelle für dieses Problem?

01:09:27.800 --> 01:09:28.320
Oder

01:09:28.320 --> 01:09:32.860
ich weiß nicht genau, ob ich jetzt irgendwas...

01:09:32.860 --> 01:09:34.440
Ja, also

01:09:34.440 --> 01:09:36.700
das,

01:09:37.420 --> 01:09:38.020
was

01:09:38.020 --> 01:09:41.960
am schwierigsten

01:09:41.960 --> 01:09:43.780
daran ist, ist, dass man sich halt leider

01:09:43.780 --> 01:09:45.660
auf die Grunddaten

01:09:45.660 --> 01:09:47.360
nicht so richtig verlassen kann.

01:09:47.580 --> 01:09:49.720
Also angefangen habe ich zum Beispiel dann

01:09:49.720 --> 01:09:51.020
mit den Fallzahlen einfach.

01:09:51.600 --> 01:09:53.820
Aber die Fallzahlen sind natürlich wahnsinnig

01:09:53.820 --> 01:09:55.540
abhängig davon, wie viel überhaupt getestet wird.

01:09:55.840 --> 01:09:57.740
Und in Südkorea wurde wahnsinnig

01:09:57.740 --> 01:09:57.540
viel...

01:09:57.800 --> 01:09:59.560
In Deutschland wird auch ziemlich viel getestet.

01:10:00.020 --> 01:10:01.780
In den USA wird kaum getestet.

01:10:02.100 --> 01:10:02.260
Bisher.

01:10:03.840 --> 01:10:05.860
Und das ändert sich natürlich auch über die Zeit.

01:10:05.980 --> 01:10:07.540
Das heißt, wenn ich mehr teste,

01:10:07.680 --> 01:10:09.340
finde ich mehr Fälle. Das heißt, das ist auch

01:10:09.340 --> 01:10:11.680
schon für einen Anstieg allein verantwortlich.

01:10:12.380 --> 01:10:13.880
Da gibt es aber auch nicht wirklich verlässliche Daten,

01:10:13.960 --> 01:10:15.600
so wie viel da genau jetzt getestet wurde.

01:10:16.400 --> 01:10:17.760
Und dann

01:10:17.760 --> 01:10:19.900
ist ein

01:10:19.900 --> 01:10:21.360
anderer Ansatz zum Beispiel, sich die

01:10:21.360 --> 01:10:23.820
Todesfallzahlen anzusehen, um da zu

01:10:23.820 --> 01:10:25.280
denken, okay, die sind wahrscheinlich verlässlicher.

01:10:25.700 --> 01:10:26.600
Die sind leider auch nicht so genau.

01:10:27.320 --> 01:10:27.480
Also,

01:10:27.800 --> 01:10:29.920
ja, es ist ein sehr, sehr

01:10:29.920 --> 01:10:31.900
schwieriges Problem, weil

01:10:31.900 --> 01:10:33.720
die Datenqualität oft nicht

01:10:33.720 --> 01:10:35.880
wirklich gegeben ist, was natürlich dann

01:10:35.880 --> 01:10:37.180
die ganzen Vorhersagen da

01:10:37.180 --> 01:10:39.880
beeinflusst.

01:10:40.680 --> 01:10:41.760
Und auch

01:10:41.760 --> 01:10:43.660
ja, also, und das

01:10:43.660 --> 01:10:45.600
allerdings ist natürlich auch

01:10:45.600 --> 01:10:47.840
eine Chance für diese Modelle, denn das sind

01:10:47.840 --> 01:10:49.960
alles Sachen, die man damit einbauen

01:10:49.960 --> 01:10:51.920
kann. Also zum Beispiel kann ich

01:10:51.920 --> 01:10:53.000
hingehen und sagen, okay,

01:10:53.840 --> 01:10:55.560
und das ist das Modell, an dem ich gerade arbeite,

01:10:56.080 --> 01:10:57.680
ich fange jetzt an mit den Todeszahlen.

01:10:57.800 --> 01:11:00.040
Weil ich denke, dass die am verlässlichsten

01:11:00.040 --> 01:11:01.640
sind. Und dann

01:11:01.640 --> 01:11:02.860
weiß ich, ah, okay, also

01:11:02.860 --> 01:11:05.800
es ist mittlerweile

01:11:05.800 --> 01:11:07.880
recht gut etabliert, dass es ungefähr ein Prozent,

01:11:07.960 --> 01:11:08.500
die es bekommen,

01:11:09.080 --> 01:11:11.660
sterben daran. Das heißt,

01:11:11.700 --> 01:11:13.680
das kann ich dann hochrechnen und sagen,

01:11:13.780 --> 01:11:15.180
okay, also jetzt hatte ich

01:11:15.180 --> 01:11:17.160
100 Tote, das heißt,

01:11:17.400 --> 01:11:19.620
das mal 100, und

01:11:19.620 --> 01:11:21.920
dann kriege ich die Anzahl

01:11:21.920 --> 01:11:23.960
der Infizierten. Aber nicht die Anzahl der Infizierten

01:11:23.960 --> 01:11:25.740
an dem Tag, sondern vor zwei

01:11:25.740 --> 01:11:27.640
Wochen. Weil oft dauert es

01:11:27.640 --> 01:11:29.460
von der Zeit der Infizierung bis

01:11:29.460 --> 01:11:31.080
zum Tod zwei Wochen.

01:11:32.120 --> 01:11:33.640
Und das heißt, das kann ich

01:11:33.640 --> 01:11:35.400
dann alles in das Modell mit einbauen und sagen,

01:11:35.520 --> 01:11:36.920
okay, jetzt kann ich da zurückrechnen.

01:11:37.400 --> 01:11:39.380
Und dann habe ich also den Wert der Infizierten

01:11:39.380 --> 01:11:41.100
vor zwei Wochen von den Toten.

01:11:41.640 --> 01:11:43.500
Und dann kann ich den vergleichen

01:11:43.500 --> 01:11:45.760
mit dem, wie viel

01:11:45.760 --> 01:11:46.760
Fälle,

01:11:47.460 --> 01:11:49.180
positiv getestete Fälle gab es denn vor zwei Wochen.

01:11:50.360 --> 01:11:50.720
Und

01:11:50.720 --> 01:11:52.660
das sind natürlich weniger.

01:11:54.160 --> 01:11:55.540
Wir haben ja nicht alle getestet.

01:11:55.540 --> 01:11:57.160
Und dann kann ich da so einen Faktor rausfinden,

01:11:57.640 --> 01:11:59.720
wie viel

01:11:59.720 --> 01:12:02.060
Prozent der Fälle, die es scheinbar gab,

01:12:02.640 --> 01:12:04.180
wurden dann überhaupt getestet.

01:12:04.760 --> 01:12:05.840
Und das sind dann, ja,

01:12:06.060 --> 01:12:08.080
also mit diesen Modellen,

01:12:08.140 --> 01:12:09.660
die man halt da so ganz spezifisch bauen kann,

01:12:09.740 --> 01:12:11.840
und das ist natürlich was, vorhin haben wir

01:12:11.840 --> 01:12:13.780
über Machine Learning gesprochen, das kann man natürlich

01:12:13.780 --> 01:12:16.180
absolut nicht damit machen. Aber mit Probabilistic Programming

01:12:16.180 --> 01:12:17.960
kann man diese ganzen Annahmen da halt

01:12:17.960 --> 01:12:19.800
reinbauen. Und das Expertenwissen,

01:12:19.800 --> 01:12:21.700
was man hat über zum Beispiel die

01:12:21.700 --> 01:12:23.600
Growth Rate oder die Sterblichkeit

01:12:23.600 --> 01:12:24.740
oder wie lange es dauert,

01:12:25.480 --> 01:12:27.600
sind halt alles Annahmen, die man da mit reinsteckt.

01:12:27.640 --> 01:12:29.160
Und das ist natürlich auch ein

01:12:29.160 --> 01:12:29.640
sehr interessantes Thema, das man da auch

01:12:29.640 --> 01:12:31.320
ganz fix und sagen kann, okay, es sind

01:12:31.320 --> 01:12:33.400
exakt zwei Wochen, sondern sagen, okay, naja,

01:12:33.460 --> 01:12:34.600
könnte irgendwas zwischen

01:12:34.600 --> 01:12:36.960
sieben und achtzehn Tagen sein.

01:12:37.340 --> 01:12:39.520
Also so eine Ungenauigkeit kann man auch

01:12:39.520 --> 01:12:40.940
in dem Bereich

01:12:40.940 --> 01:12:43.220
einsetzen. Und das wirkt sich dann natürlich auch

01:12:43.220 --> 01:12:44.620
darauf aus, auf die

01:12:44.620 --> 01:12:47.440
Ungenauigkeiten, die man aus dem Modell

01:12:47.440 --> 01:12:47.940
rausbekommt.

01:12:51.460 --> 01:12:53.020
Ja, sehr interessant.

01:12:53.580 --> 01:12:55.120
Hast du irgendein Land gefunden, wo du sagst, dass

01:12:55.120 --> 01:12:57.160
die Fallzahlen, die du da so rausfindest,

01:12:57.160 --> 01:12:57.520
sind?

01:12:57.640 --> 01:12:59.220
Relativ nah an der Realität

01:12:59.220 --> 01:13:00.220
sind oder an der Wirklichkeit?

01:13:03.700 --> 01:13:05.180
Kann ich noch nicht sagen.

01:13:06.540 --> 01:13:07.300
Das ist eine sehr

01:13:07.300 --> 01:13:07.980
gute Frage, ja.

01:13:08.640 --> 01:13:11.220
Da habe ich noch gar nicht dran gedacht, aber werde ich mir auf jeden Fall

01:13:11.220 --> 01:13:12.860
anschauen. Ich würde erwarten,

01:13:13.340 --> 01:13:14.940
dass es Südkorea ist, weil die

01:13:14.940 --> 01:13:16.240
am meisten getestet haben.

01:13:17.180 --> 01:13:18.680
Das wäre ein guter Test auf jeden Fall,

01:13:18.800 --> 01:13:20.760
das Modell zu sehen, wer da

01:13:20.760 --> 01:13:22.520
am genauesten dran ist. Und wenn ich

01:13:22.520 --> 01:13:25.100
jetzt hier nach dem

01:13:25.100 --> 01:13:27.140
Podcast reinschaue, sind die

01:13:27.140 --> 01:13:28.560
Modelle wahrscheinlich gerade fertig und dann

01:13:28.560 --> 01:13:29.760
kann ich sie schreiben.

01:13:31.800 --> 01:13:32.700
Schicken wir die Shownotes.

01:13:33.060 --> 01:13:34.980
Ja, genau. Wir packen das alles da links.

01:13:35.760 --> 01:13:35.920
Ja.

01:13:35.920 --> 01:13:35.960
Ja,

01:13:37.840 --> 01:13:38.880
sehr interessant.

01:13:40.920 --> 01:13:41.720
Ja, ich weiß nicht,

01:13:41.800 --> 01:13:43.920
haben wir doch irgendwas, was wir mit diesem

01:13:45.300 --> 01:13:47.520
Corona-Geschichte

01:13:47.520 --> 01:13:48.580
besprechen wollten?

01:13:49.600 --> 01:13:50.380
Ich überlege gerade.

01:13:51.640 --> 01:13:53.300
Thomas hat so viele interessante Sachen, auch über

01:13:53.300 --> 01:13:55.840
Quanz-Sachen gesagt, die mich noch viel mehr interessieren als die Corona-Krise.

01:13:56.940 --> 01:13:57.120
Ja,

01:13:57.140 --> 01:13:57.240
ja.

01:14:00.240 --> 01:14:00.980
Also genau,

01:14:01.140 --> 01:14:03.120
ich glaube, zu Corona auf jeden Fall haben wir,

01:14:03.260 --> 01:14:04.680
also ich glaube, zu allem haben wir eigentlich recht

01:14:04.680 --> 01:14:06.180
gut was,

01:14:07.120 --> 01:14:09.080
also alles, was ich, glaube ich, so sagen wollte, habe ich da

01:14:09.080 --> 01:14:10.600
gesagt.

01:14:12.520 --> 01:14:12.880
Ja.

01:14:14.060 --> 01:14:14.960
Aber also, wenn

01:14:14.960 --> 01:14:17.100
ihr noch Sachen habt, die ihr vertiefen wollt,

01:14:17.280 --> 01:14:18.920
das ist für uns der Virus ab jetzt auch

01:14:18.920 --> 01:14:20.080
offiziell beendet.

01:14:21.480 --> 01:14:22.920
Ja, wir erklären das jetzt mal

01:14:22.920 --> 01:14:24.880
früher, wenn es genau

01:14:24.880 --> 01:14:25.800
nicht mehr geht.

01:14:25.800 --> 01:14:26.880
Das ist jetzt auch mal,

01:14:27.140 --> 01:14:28.820
ja,

01:14:29.260 --> 01:14:31.060
ja,

01:14:31.320 --> 01:14:33.500
ansonsten, ich weiß nicht genau,

01:14:34.820 --> 01:14:36.020
aber das ist

01:14:36.020 --> 01:14:37.280
vielleicht auch noch so ein

01:14:37.280 --> 01:14:38.580
Ding, wo es

01:14:38.580 --> 01:14:41.700
Überschneidungen

01:14:41.700 --> 01:14:43.300
gibt,

01:14:43.960 --> 01:14:45.920
also auch interessant, wie veröffentlicht

01:14:45.920 --> 01:14:46.980
man eigentlich solche Daten

01:14:46.980 --> 01:14:50.020
und

01:14:50.020 --> 01:14:51.500
wie kann man die,

01:14:51.660 --> 01:14:53.320
ja, wie kann man die am besten

01:14:53.320 --> 01:14:55.460
so, dass

01:14:55.460 --> 01:14:56.860
das halt alle lesen können,

01:14:57.140 --> 01:14:57.400
irgendwie

01:14:57.400 --> 01:15:01.160
übermitteln und so und, ja,

01:15:01.220 --> 01:15:01.920
gut, das hatten wir eben.

01:15:02.120 --> 01:15:03.640
Ja, aber die Notebooks sind doch total super,

01:15:03.800 --> 01:15:05.860
da kann ja relativ einfach das plotten.

01:15:06.380 --> 01:15:08.900
Ja, ja, aber die Daten, auf denen das basiert,

01:15:08.960 --> 01:15:10.980
ist ja meistens dann irgendwie CSV oder so.

01:15:11.900 --> 01:15:12.700
Google Spreadsheet.

01:15:12.740 --> 01:15:14.880
Ja, also genau, das ist auf jeden Fall echt so ein

01:15:14.880 --> 01:15:17.420
Ding, die, also Johns Hopkins

01:15:17.420 --> 01:15:18.280
hat da

01:15:18.280 --> 01:15:21.020
die Daten aus den

01:15:21.020 --> 01:15:23.100
WHO-Berichten, die als PDF-Datei geschickt

01:15:23.100 --> 01:15:25.060
werden, benutzt und

01:15:25.060 --> 01:15:26.460
die waren die ersten, die das Dashboard da hatten.

01:15:27.140 --> 01:15:28.920
Und dann haben andere Leute angefangen,

01:15:29.420 --> 01:15:30.660
diese Daten dann auf GitHub

01:15:30.660 --> 01:15:32.900
zur Verfügung zu stellen, als CSV-Dateien

01:15:32.900 --> 01:15:34.960
und dann kann man sich da halt immer die aktuelle Datei

01:15:34.960 --> 01:15:35.540
runterladen.

01:15:36.840 --> 01:15:38.400
Und das hat eigentlich auch

01:15:38.400 --> 01:15:41.160
so funktioniert, wie es hätte

01:15:41.160 --> 01:15:43.120
funktionieren sollen, nämlich die Daten

01:15:43.120 --> 01:15:44.920
natürlich, klar, hatten alle möglichen Probleme

01:15:44.920 --> 01:15:47.200
und dann haben Leute da GitHub-Issues

01:15:47.200 --> 01:15:48.200
und Pull-Requests

01:15:48.200 --> 01:15:50.740
gestartet, um dann die Daten,

01:15:51.040 --> 01:15:52.440
Probleme, die es da gab, zu reparieren.

01:15:53.760 --> 01:15:55.000
Leider haben die,

01:15:55.120 --> 01:15:57.100
die das Report da laufen, dann sind

01:15:57.100 --> 01:15:59.100
nicht sehr aktiv, sondern stellen halt die Daten

01:15:59.100 --> 01:16:00.420
rein und oft sind die,

01:16:01.200 --> 01:16:02.120
enthalten die echte Fehler.

01:16:02.900 --> 01:16:04.960
Und die werden dann nur sehr schleppend bis

01:16:04.960 --> 01:16:05.460
gar nicht

01:16:05.460 --> 01:16:07.920
da gefixt.

01:16:08.940 --> 01:16:10.480
Und die

01:16:10.480 --> 01:16:13.060
andere Webseite, die ich jetzt angefangen habe zu nutzen, ist

01:16:13.060 --> 01:16:14.860
European Center for Disease Control,

01:16:15.480 --> 01:16:16.900
ECDC, und

01:16:16.900 --> 01:16:18.680
die haben deutlich bessere Daten.

01:16:19.160 --> 01:16:21.060
Also die Webseite, die ich jedem empfehlen

01:16:21.060 --> 01:16:23.080
würde, ist nicht mein Dashboard,

01:16:23.180 --> 01:16:24.520
sondern Our World in Data.

01:16:25.780 --> 01:16:26.820
Die haben

01:16:26.820 --> 01:16:28.280
da, finde ich, mit die besten

01:16:28.280 --> 01:16:30.880
Datenquellen

01:16:30.880 --> 01:16:32.340
und von denen habe ich das, dass die

01:16:32.340 --> 01:16:34.800
da umgestiegen sind auf die Daten

01:16:34.800 --> 01:16:37.000
von der ECDC. Die benutze ich jetzt auch

01:16:37.000 --> 01:16:38.640
und die sind ein bisschen

01:16:38.640 --> 01:16:39.140
verlässlicher.

01:16:40.140 --> 01:16:42.560
Ah ja, okay. Ja, sehr cool.

01:16:43.500 --> 01:16:44.860
Ja, ja, das ist also, ich meine,

01:16:45.040 --> 01:16:46.760
auch das ist natürlich wahrscheinlich eine der Geschichten,

01:16:46.860 --> 01:16:48.840
die man daraus dann irgendwie lernen sollte,

01:16:48.900 --> 01:16:50.820
auch in Europa ist halt so, das ist überhaupt nicht

01:16:50.820 --> 01:16:52.960
einheitlich, genau wie diese Daten eigentlich

01:16:52.960 --> 01:16:54.900
erhoben werden oder wer da was an wen

01:16:54.900 --> 01:16:56.780
meldet und so, und das ist halt alles überhaupt nicht mehr

01:16:56.780 --> 01:16:57.440
miteinander vergleichbar.

01:16:59.120 --> 01:17:00.640
Aber wenn man jetzt auch,

01:17:00.900 --> 01:17:02.420
das ist halt irgendwie aus PDFs, also ich meine,

01:17:02.600 --> 01:17:04.640
auch in Deutschland, das ist eine ganz, ganz krude Geschichte,

01:17:04.760 --> 01:17:06.680
hört man dann von irgendwie Faxen, die notär geschickt werden,

01:17:07.280 --> 01:17:08.840
oder irgendwie werden

01:17:08.840 --> 01:17:10.820
Leute telefonisch irgendwie informiert

01:17:10.820 --> 01:17:12.820
über bestimmte Sachen, dann tragen sie das halt irgendwo ein oder halt auch

01:17:12.820 --> 01:17:14.040
nicht, oder vergessen das halt auch mal.

01:17:14.260 --> 01:17:16.260
Das wird dann ausgedruckt und dann per Postgeschick

01:17:16.260 --> 01:17:18.560
eingescannt. Ja, also irgendwie

01:17:18.560 --> 01:17:20.560
da ist auf jeden Fall eine Menge

01:17:20.560 --> 01:17:21.920
Verbesserungspotenzial offenbar.

01:17:24.040 --> 01:17:24.440
Aber...

01:17:24.440 --> 01:17:26.700
Da haben ja einige Gruppen an dem Hackathon dran gearbeitet,

01:17:26.780 --> 01:17:27.940
Ach, das gab es ja jetzt.

01:17:28.040 --> 01:17:30.660
Ja, da war jede Menge los, auch in Python.

01:17:31.180 --> 01:17:32.560
Ah, okay. Ich habe tatsächlich so ein bisschen

01:17:32.560 --> 01:17:34.540
versucht, da Projekte zu finden. Ich habe jetzt tatsächlich

01:17:34.540 --> 01:17:35.980
nicht die allercoolsten entdeckt, habe ein bisschen

01:17:35.980 --> 01:17:38.640
gecodet, Telegram-Bot zur Aufklärung

01:17:38.640 --> 01:17:40.660
und es ging um Supermärkte.

01:17:41.120 --> 01:17:42.780
Aber ich habe ehrlich gesagt eher Leute da getroffen

01:17:42.780 --> 01:17:44.640
und versucht, so ein bisschen was Sinnvolles zu tun, aber

01:17:44.640 --> 01:17:46.840
wirklich, ich kam da wohl, glaube ich, nicht bei raus.

01:17:46.900 --> 01:17:48.520
Es waren sehr viele Menschen, das hat mich ein bisschen gefreut,

01:17:48.600 --> 01:17:50.980
ein bisschen Hoffnung gegeben. Ich glaube, über 42.000

01:17:50.980 --> 01:17:52.740
Anmeldungen gab es. Ja. Und hinterher

01:17:52.740 --> 01:17:54.800
über 1.000 Devs, die dann tatsächlich irgendwas gecodet haben.

01:17:55.480 --> 01:17:56.260
Das war ganz schön.

01:17:56.780 --> 01:17:59.320
Gibt es irgendein Projekt, was du besonders cool fandest,

01:17:59.680 --> 01:18:00.780
woraus was geworden ist, oder?

01:18:01.680 --> 01:18:03.280
Ja, es gibt so ein paar Sachen, die tatsächlich

01:18:03.280 --> 01:18:05.040
sich um Menschen halt irgendwie versuchen zu kümmern

01:18:05.040 --> 01:18:06.680
und denen halt die Ängste abnehmen oder

01:18:06.680 --> 01:18:09.240
vernünftiges Handling

01:18:09.240 --> 01:18:11.120
von den Fragen zu machen, dass die Telefone nicht mehr

01:18:11.120 --> 01:18:13.260
überlastet werden. Aber dass da

01:18:13.260 --> 01:18:15.340
jetzt so richtig das Projekt rausgekommen ist,

01:18:15.360 --> 01:18:16.460
ich glaube, die brauchen alle noch ein bisschen.

01:18:17.120 --> 01:18:18.960
Ja, es dauert halt noch einen Moment. Ja, es waren viele Sachen,

01:18:19.040 --> 01:18:20.920
die vom Ministerium dazu kamen,

01:18:21.360 --> 01:18:22.920
was man halt als Datenanalyse machen kann,

01:18:23.020 --> 01:18:25.160
auch die die Wirtschaft für kleine Unternehmen irgendwie gute Ideen

01:18:25.160 --> 01:18:26.700
sind, aber am Wochenende

01:18:26.700 --> 01:18:28.520
kann man da noch nicht ganz was Brauchbares bauen.

01:18:28.760 --> 01:18:31.160
Aber ich glaube, da entsteht was draus. Und das war wirklich, glaube ich,

01:18:31.620 --> 01:18:33.220
ein guter Effekt, der mal wirkliche

01:18:33.220 --> 01:18:35.080
Digitalisierung in Deutschland gezeigt hat, dass gerade

01:18:35.080 --> 01:18:37.160
so der Anfang jetzt vielleicht gemacht worden

01:18:37.160 --> 01:18:39.180
ist, den man die ganze Zeit schon seit 20 Jahren

01:18:39.180 --> 01:18:41.020
erwartet hat. Absolut, ja.

01:18:41.320 --> 01:18:43.080
Das finde ich auch wirklich so, dass

01:18:43.080 --> 01:18:45.260
möglicherweise positiv an dieser ganzen

01:18:45.260 --> 01:18:47.000
Sache ist, dass wir

01:18:47.000 --> 01:18:48.900
diese ganzen Trends, die da angefangen sind,

01:18:49.040 --> 01:18:50.680
mit Heimarbeit, Homeoffice

01:18:50.680 --> 01:18:52.780
oder auch Telemedizin,

01:18:53.040 --> 01:18:54.620
sind alles Sachen, wo man schon

01:18:54.620 --> 01:18:56.680
Ewigkeiten drüber spricht, aber

01:18:56.700 --> 01:18:58.180
es ist nie so richtig in die Gänge gekommen.

01:18:58.760 --> 01:19:01.140
Jetzt ist da eine sehr starke Forcing-Funktion

01:19:01.140 --> 01:19:02.980
dahinter, dass wir das halt alle machen müssen

01:19:02.980 --> 01:19:04.600
und dann bewegt sich auch was.

01:19:05.080 --> 01:19:06.880
Breitbandausbau, vielleicht werden endlich mal wieder

01:19:06.880 --> 01:19:08.400
ein paar Kliniken privatisiert, man weiß es nicht.

01:19:10.220 --> 01:19:11.120
Und ich meine,

01:19:11.160 --> 01:19:12.620
das sind alles Sachen, die

01:19:12.620 --> 01:19:15.000
dann, wenn wir diese ganze

01:19:15.000 --> 01:19:16.680
Corona-Geschichte überstanden haben,

01:19:16.800 --> 01:19:18.940
hoffentlich auch bestehen bleiben. Also die ganzen

01:19:18.940 --> 01:19:20.320
Arbeitgeber sind jetzt damit,

01:19:20.940 --> 01:19:22.000
haben jetzt Erfahrung damit,

01:19:22.340 --> 01:19:24.060
die Ärzte haben Erfahrung damit,

01:19:24.700 --> 01:19:26.220
Konferenzen auch zum Beispiel,

01:19:26.220 --> 01:19:28.300
viele wurden abgesagt, aber einige sind auch

01:19:28.300 --> 01:19:30.340
virtuell geworden. Und das ist auch

01:19:30.340 --> 01:19:32.180
eine Sache, die schon immer so

01:19:32.180 --> 01:19:33.460
gefordert wurde, weil es natürlich auch

01:19:33.460 --> 01:19:34.700
CO2

01:19:34.700 --> 01:19:37.880
schlecht, sehr

01:19:37.880 --> 01:19:40.120
schlecht für die

01:19:40.120 --> 01:19:41.100
Umwelt ist, wenn da

01:19:41.100 --> 01:19:44.180
100.000 Leute zu dieser Konferenz fliegen.

01:19:45.680 --> 01:19:46.080
Und

01:19:46.080 --> 01:19:48.320
das kann man viel virtuell

01:19:48.320 --> 01:19:50.000
machen und das wurde auch nur lange

01:19:50.000 --> 01:19:52.140
gefordert, jetzt wird es tatsächlich umgesetzt,

01:19:52.280 --> 01:19:53.320
weil es nicht anders geht.

01:19:53.740 --> 01:19:55.360
Apropos virtuell, jetzt muss ich einmal kurz

01:19:55.360 --> 01:19:55.740
einhaken.

01:19:56.220 --> 01:19:58.340
Ich weiß nicht, wann wir die Folge veröffentlicht bekommen, aber jetzt am Wochenende

01:19:58.340 --> 01:19:59.700
ist der virtuelle

01:19:59.700 --> 01:20:02.180
Düsseldorfer Python-Sprint,

01:20:02.640 --> 01:20:04.200
der sonst immer bei Trivago stattfand, auch

01:20:04.200 --> 01:20:05.620
auf virtuelle Ebene verschoben worden.

01:20:05.780 --> 01:20:06.100
Cool.

01:20:07.520 --> 01:20:09.700
Das Python-Camp auch, also das

01:20:09.700 --> 01:20:11.460
in

01:20:11.460 --> 01:20:13.620
Deutschland stattfindet.

01:20:14.840 --> 01:20:16.240
Ja, und das ist jetzt auch,

01:20:16.340 --> 01:20:17.400
das ist noch nicht so richtig klar.

01:20:17.420 --> 01:20:19.480
Und sogar die Euro-Python, auch virtuell.

01:20:19.620 --> 01:20:20.100
Ach, ernsthaft?

01:20:20.140 --> 01:20:22.980
Das habe ich noch gar nicht mitbekommen, weil

01:20:22.980 --> 01:20:24.960
ja, okay, das wäre nämlich, weil da war,

01:20:25.300 --> 01:20:25.780
hatte ich ja auch,

01:20:26.220 --> 01:20:27.420
hatten wir auch überlegt, da hinzugehen.

01:20:27.920 --> 01:20:29.500
Ja, also ich hatte schon gebucht,

01:20:29.620 --> 01:20:31.400
ich habe schon hierhin, aber ja.

01:20:33.080 --> 01:20:34.160
Hm, interessant, ja,

01:20:34.220 --> 01:20:36.040
aber das wird auch, ich bin auch gespannt, wie das dann

01:20:36.040 --> 01:20:37.420
jetzt am Wochenende wird.

01:20:38.660 --> 01:20:40.060
Die ganzen Geschichten müssen sich

01:20:40.060 --> 01:20:42.000
jetzt halt da erstmal so finden, aber ich bin

01:20:42.000 --> 01:20:44.020
auch überzeugt, dass das eigentlich im Prinzip kein

01:20:44.020 --> 01:20:46.000
Problem ist. Sollte schon gehen.

01:20:46.100 --> 01:20:47.940
Es hat halt schon ein paar Vorteile, wenn man die Leute tatsächlich

01:20:47.940 --> 01:20:49.280
persönlich sehen kann, als nur remote.

01:20:49.940 --> 01:20:51.960
Es ist natürlich schon auch mal schön, lieber Thomas,

01:20:51.960 --> 01:20:53.960
aber wir hätten

01:20:53.960 --> 01:20:55.960
natürlich gerne alle begrüßt.

01:20:56.220 --> 01:20:57.060
Genau, richtig.

01:20:58.200 --> 01:20:59.680
Mit Handschlag und

01:20:59.680 --> 01:21:02.220
ja, aber genau, also

01:21:02.220 --> 01:21:03.600
das, ich glaube,

01:21:04.040 --> 01:21:05.900
also diese ganzen Nachteile gibt es auf jeden Fall,

01:21:06.220 --> 01:21:07.680
aber ich würde mich wundern, wenn es da nicht auch

01:21:07.680 --> 01:21:10.200
sehr viel Potenzial für innovative Ideen

01:21:10.200 --> 01:21:12.060
gibt, wie man das

01:21:12.060 --> 01:21:14.180
Nachteil

01:21:14.180 --> 01:21:16.000
ausgleichen und Vorteile ausweichen kann.

01:21:17.060 --> 01:21:17.860
Ja, und es gab

01:21:17.860 --> 01:21:19.920
eine Kegel-Competition gab es noch jetzt

01:21:19.920 --> 01:21:21.820
irgendwie neu. Ja, da gab es mehrere.

01:21:22.660 --> 01:21:22.820
Ja,

01:21:24.820 --> 01:21:25.300
Moment,

01:21:25.300 --> 01:21:27.620
wo hatte ich denn genau, es gab einmal

01:21:27.620 --> 01:21:29.040
eine Geschichte.

01:21:32.260 --> 01:21:33.500
Genau, da geht es darum,

01:21:33.680 --> 01:21:35.160
haben sie so einen riesen Datensatz mit

01:21:35.160 --> 01:21:37.580
Research-Papern zur Verfügung gestellt und da

01:21:37.580 --> 01:21:38.920
wird NLP drauf gemacht.

01:21:39.940 --> 01:21:41.700
Auch bei Quantopian sind wir

01:21:41.700 --> 01:21:43.900
auch gerade dabei, eine neue Challenge zu starten

01:21:43.900 --> 01:21:45.500
und

01:21:45.500 --> 01:21:47.300
das haben wir immer gemacht mit

01:21:47.300 --> 01:21:48.860
gewissen Datensätzen oder so, jetzt

01:21:48.860 --> 01:21:51.180
generiert mal Algorithmen

01:21:51.180 --> 01:21:53.560
auf den Insider-Daten

01:21:53.560 --> 01:21:55.100
oder so. Das, was wir

01:21:55.100 --> 01:21:57.140
wie wir es jetzt machen wollen, ist ein bisschen eine andere Idee.

01:21:57.700 --> 01:21:59.260
Da geht es auch um COVID-19

01:21:59.260 --> 01:22:01.220
und den Einfluss davon

01:22:01.220 --> 01:22:03.500
auf die Wirtschaft und auf die Finanzmärkte

01:22:03.500 --> 01:22:05.480
und da geht es nicht darum,

01:22:05.820 --> 01:22:07.380
irgendwelche Algorithmen zu entwickeln, sondern stattdessen

01:22:07.380 --> 01:22:09.700
interessante Analysen und Visualisierungen

01:22:09.700 --> 01:22:10.740
davon zu machen. Also,

01:22:11.340 --> 01:22:13.140
wer macht die coolste

01:22:13.140 --> 01:22:15.360
Analyse, wie der Einfluss von

01:22:15.360 --> 01:22:17.280
COVID-19 auf die Supply-Chains ist

01:22:17.280 --> 01:22:19.640
oder auf die Aktienmärkte?

01:22:20.640 --> 01:22:22.080
Zeichnet man im Mittag so einen Aktienmarkt

01:22:22.080 --> 01:22:23.380
und dann kommt irgendwie so ein großer Hammer

01:22:23.380 --> 01:22:24.260
und dann macht es Bumm.

01:22:25.100 --> 01:22:26.780
Ja, genau sowas.

01:22:28.200 --> 01:22:29.780
Aber genau, also bis der Podcast

01:22:29.780 --> 01:22:31.340
dann raus ist, ist es wahrscheinlich schon

01:22:31.340 --> 01:22:33.020
auf der Contribute-Website, also jeder, der da

01:22:33.020 --> 01:22:35.460
Interesse hat, soll sich das mal ansehen.

01:22:35.560 --> 01:22:36.300
Es gibt auch einen Preis.

01:22:37.400 --> 01:22:37.920
Ah, cool.

01:22:41.500 --> 01:22:43.260
Genau, da sehe ich gerade auch schon,

01:22:43.300 --> 01:22:45.200
es gibt eine Forecasting-Competition auf

01:22:45.200 --> 01:22:47.380
Carrival auch, wo halt die Leute auch schon ihre Notebooks

01:22:47.380 --> 01:22:48.380
und da sehe ich auch schon diese

01:22:48.380 --> 01:22:51.040
SIR-Modelle und

01:22:51.040 --> 01:22:53.320
Leute, die interessante Visualisierungen gemacht haben.

01:22:53.320 --> 01:22:54.740
Ich meine, das ist der Preis auf kein Toolpin,

01:22:55.100 --> 01:22:55.900
deutlich interessanter.

01:22:56.120 --> 01:22:58.480
Ja, genau, das packen wir auf jeden Fall auch mit rein.

01:22:59.500 --> 01:22:59.820
Genau.

01:23:01.560 --> 01:23:03.060
Ja, nee, sehr schön.

01:23:03.780 --> 01:23:05.400
Ja, schreibt uns, wenn ihr irgendwie ein tolles

01:23:05.400 --> 01:23:07.040
Projekt habt, wo ihr Unterstützung versucht,

01:23:07.180 --> 01:23:09.140
das werden wir natürlich dann in der nächsten Zeit

01:23:09.140 --> 01:23:10.120
versuchen zu berücksichtigen.

01:23:10.520 --> 01:23:12.680
Ja, ich weiß nicht genau, vielleicht kann man nochmal so ein bisschen allgemein,

01:23:12.860 --> 01:23:15.180
also was auch interessant ist, wenn man da auf dem Laufenden bleiben will,

01:23:15.280 --> 01:23:16.960
was gerade so passiert, diese Geschichte,

01:23:17.080 --> 01:23:18.560
es gibt vom CCC irgendwie

01:23:18.560 --> 01:23:19.120
einen

01:23:19.120 --> 01:23:23.260
Link-List und ein Wiki und auch

01:23:23.260 --> 01:23:25.080
ein Bonneton, das sie halt jeden Tag,

01:23:25.100 --> 01:23:26.680
jeden Tag veröffentlichen mit allen

01:23:26.680 --> 01:23:28.080
aus ihrer Sicht irgendwie

01:23:28.080 --> 01:23:30.960
wichtigen Entwicklungen und das ist

01:23:30.960 --> 01:23:33.040
auch interessant. Also ich meine, das sind irgendwie

01:23:33.040 --> 01:23:34.960
so, die organisieren sich irgendwie um so

01:23:34.960 --> 01:23:36.860
ein Streamer-Channel und

01:23:36.860 --> 01:23:39.060
oder Gruppe und das sind

01:23:39.060 --> 01:23:41.080
irgendwie so 100, etwas über

01:23:41.080 --> 01:23:42.640
100 Leute oder so, die halt alle aus diesem

01:23:42.640 --> 01:23:44.840
medizinischen oder Katastrophenschutz-Bereich kommen

01:23:44.840 --> 01:23:46.940
und die da auch halt echt Ahnung

01:23:46.940 --> 01:23:48.980
von haben und da stehen auch immer

01:23:48.980 --> 01:23:49.840
sehr interessante Sachen

01:23:49.840 --> 01:23:52.860
dabei. Also wenn da irgendwas Neues

01:23:54.040 --> 01:23:54.840
erschienen ist,

01:23:55.100 --> 01:23:56.980
was irgendwie interessant ist,

01:23:57.060 --> 01:23:58.540
dann findet man das da eigentlich immer

01:23:58.540 --> 01:24:00.820
und die machen das halt auch anders. Das ist auch sowas, was

01:24:00.820 --> 01:24:02.960
mich irgendwie in letzter Zeit,

01:24:03.020 --> 01:24:04.720
also ich habe da jetzt auch so ein bisschen, naja,

01:24:04.780 --> 01:24:06.080
ich meine, man konnte dem eigentlich nicht entgehen,

01:24:06.320 --> 01:24:08.960
man hört die ganze Zeit von allen möglichen

01:24:08.960 --> 01:24:10.420
Richtungen, strömt das auf einen ein.

01:24:11.380 --> 01:24:12.800
Wenn man so sich anguckt,

01:24:12.860 --> 01:24:14.740
was so in Zeitungen oder

01:24:14.740 --> 01:24:16.920
eben klassischen journalistischen Publikationen

01:24:16.920 --> 01:24:18.840
irgendwie geschrieben wird, was mich immer so ein bisschen

01:24:18.840 --> 01:24:20.920
stört, ist, dass oft nicht die Quellen dabei stehen

01:24:20.920 --> 01:24:22.820
oder so und das machen die zum Beispiel eben

01:24:22.820 --> 01:24:24.800
auch anders, dass sie halt immer die Quellen alle mit

01:24:24.800 --> 01:24:26.340
verlinken und dass man halt gucken kann, wenn das steht,

01:24:26.600 --> 01:24:28.680
wenn das steht halt nicht nur irgendwie, es gibt eine Studie,

01:24:28.820 --> 01:24:30.480
die irgendwie das und das sagt und man sich denkt, okay,

01:24:31.080 --> 01:24:32.780
zeig mir doch mal die Studie, ich möchte mal gucken, was haben die

01:24:32.780 --> 01:24:34.260
denn da wirklich gemacht, dann

01:24:34.260 --> 01:24:36.760
ist das da halt auch alles verlinkt und das ist schon

01:24:36.760 --> 01:24:37.400
mal sehr praktisch.

01:24:38.880 --> 01:24:40.140
Ja, ähm,

01:24:41.340 --> 01:24:41.760
hm.

01:24:43.040 --> 01:24:44.320
Ja, es gibt leider auch wieder sehr viele

01:24:44.320 --> 01:24:46.320
Alternativmedien, die irgendwelchen Schrott erzählen.

01:24:46.340 --> 01:24:47.340
Ja, das ist, äh,

01:24:47.560 --> 01:24:49.080
Eva Herrmann sagt, das wäre wie die Grippe.

01:24:50.280 --> 01:24:50.560
Ja,

01:24:50.880 --> 01:24:52.960
ja,

01:24:52.960 --> 01:24:53.200
ja,

01:24:53.200 --> 01:24:53.280
ja,

01:24:54.800 --> 01:24:55.960
wie wird man dem her?

01:24:56.360 --> 01:24:56.960
Gute Frage.

01:24:57.480 --> 01:24:58.200
Ja, keine Ahnung.

01:24:59.640 --> 01:25:01.620
Ja, äh,

01:25:01.920 --> 01:25:03.880
genau, genau, was ich noch, ähm,

01:25:04.040 --> 01:25:05.360
worauf ich noch hinaus wollte mit dem,

01:25:05.820 --> 01:25:07.700
äh, wie man Daten austauschen kann, also was ich ja

01:25:07.700 --> 01:25:09.380
persönlich hoffe, ich habe absolut keine Ahnung, ob das

01:25:09.380 --> 01:25:11.340
irgendwie jemals passieren wird, aber, äh,

01:25:11.440 --> 01:25:13.680
das habe ich auch, die Idee ist ja nicht von mir, sondern das ist halt,

01:25:14.120 --> 01:25:15.740
äh, habe ich auch irgendwann mal gehört

01:25:15.740 --> 01:25:17.300
und dachte so, also zuerst dachte ich, äh,

01:25:17.320 --> 01:25:19.040
ist vielleicht keine tolle Idee, aber dann so,

01:25:19.580 --> 01:25:21.400
je länger man drüber nachdenkt, desto, äh,

01:25:21.400 --> 01:25:23.440
irgendwie interessanter sieht das aus, irgendwie halt

01:25:23.440 --> 01:25:24.400
als Standarddaten,

01:25:24.800 --> 01:25:25.600
Austauschformat für solche

01:25:25.600 --> 01:25:27.540
Art von Daten, halt SQLite zu

01:25:27.540 --> 01:25:28.880
etablieren,

01:25:28.880 --> 01:25:31.260
weil, äh, eben CSV

01:25:31.260 --> 01:25:33.600
irgendwie diverse böse Nachteile hat

01:25:33.600 --> 01:25:35.680
und man mit, äh, SQLite halt, äh,

01:25:36.200 --> 01:25:37.340
auch sehr schöne Geschichten

01:25:37.340 --> 01:25:39.520
bauen kann gerade. Ja, also das Problem

01:25:39.520 --> 01:25:41.480
mit SQLite ist natürlich, du brauchst immer ein Interface, mit dem

01:25:41.480 --> 01:25:43.580
man das beschreiben kann und, ähm, du hast halt

01:25:43.580 --> 01:25:45.440
bei CSV einfach eine offene

01:25:45.440 --> 01:25:47.660
Tabelle, wo du einfach in irgendwelche Zellen irgendwas reinpacen

01:25:47.660 --> 01:25:49.240
kannst und das, ähm,

01:25:50.260 --> 01:25:51.560
kenne ich so für SQLite so

01:25:51.560 --> 01:25:53.560
low-levelig, ne, für, für den

01:25:53.560 --> 01:25:54.600
Privatanwender nicht.

01:25:54.800 --> 01:25:57.560
Ja, natürlich, also wenn du, wenn du sozusagen

01:25:57.560 --> 01:25:59.840
tatsächlich da Daten verändern willst, dann, äh,

01:25:59.920 --> 01:26:01.500
ist das natürlich, äh, alles sowieso

01:26:01.500 --> 01:26:03.500
schwierig, aber wenn du es jetzt

01:26:03.500 --> 01:26:05.400
nur irgendwie lesen und auswerten willst, dann ist

01:26:05.400 --> 01:26:07.620
vielleicht, äh, SQLite

01:26:07.620 --> 01:26:09.520
gar keine so schlechte Idee. Also ich finde die Idee super, so aus technischer

01:26:09.520 --> 01:26:11.720
Perspektive, ich frag mich halt nur, wie, ähm,

01:26:11.860 --> 01:26:13.700
äh, Herr Mayer und, und Frau Kunze

01:26:13.700 --> 01:26:15.380
das umsetzen wollen, wenn sie zu Hause sind,

01:26:16.380 --> 01:26:17.140
ähm, und dann,

01:26:17.560 --> 01:26:19.600
ja, ihre Daten

01:26:19.600 --> 01:26:21.580
bereitstellen, also vielleicht sind diese Menschen, die ja da

01:26:21.580 --> 01:26:23.680
arbeiten, ja irgendwie an der Quelle und, ähm,

01:26:23.680 --> 01:26:24.640
haben halt dieses Fax in der Hand,

01:26:24.640 --> 01:26:24.780
ähm,

01:26:24.800 --> 01:26:26.700
zum Beispiel müssen halt diese Daten aus diesem Fax irgendwo

01:26:26.700 --> 01:26:28.900
eintippen und, ähm, man hat

01:26:28.900 --> 01:26:30.620
tatsächlich gar nicht diese Schnittstelle, dieses Interface,

01:26:30.700 --> 01:26:32.660
dass es halt direkt in eine zentrale, gute

01:26:32.660 --> 01:26:34.740
Datenbank kommt, sondern man

01:26:34.740 --> 01:26:36.660
muss halt irgendwie sich so ein

01:26:36.660 --> 01:26:38.700
Überträger-Datenformat überlegen, was

01:26:38.700 --> 01:26:40.760
halt dann oft

01:26:40.760 --> 01:26:42.280
so eine Tabelle ist einfach, ne?

01:26:43.180 --> 01:26:44.840
Ja, aber, also eben, was man tatsächlich

01:26:44.840 --> 01:26:46.680
mit SQL, äh, also mit, mit Data Setter zum Beispiel,

01:26:46.760 --> 01:26:48.700
das ist halt das Projekt, äh, was ich, ähm,

01:26:48.940 --> 01:26:50.400
in dem Zusammenhang, weil es gibt auch zum Beispiel für diese

01:26:50.400 --> 01:26:52.700
Covid, äh, Daten jetzt

01:26:52.700 --> 01:26:54.640
eine, äh, äh, Data Setter

01:26:54.640 --> 01:26:57.080
äh, irgendwo auf...

01:26:57.080 --> 01:26:58.540
Das hatten wir noch mal ein, ein, zwei Mal schon mal erwähnt,

01:26:58.560 --> 01:27:00.300
aber vielleicht erklärst du kurz, was ist das, eine Data Setter?

01:27:00.920 --> 01:27:02.740
Ja, äh, also

01:27:02.740 --> 01:27:05.020
da geht's darum, eben genau,

01:27:05.260 --> 01:27:06.780
äh, Daten halt

01:27:06.780 --> 01:27:08.540
öffentlich machen zu können, ähm,

01:27:08.580 --> 01:27:10.540
das ist ein Projekt von, äh, war

01:27:10.540 --> 01:27:13.020
jahrelang Side-Project, sozusagen das Haupt-Side-Project

01:27:13.020 --> 01:27:14.380
von Simon Risen, ein der

01:27:14.380 --> 01:27:16.640
Gründer von, von Django, von dem Django-Projekt,

01:27:16.740 --> 01:27:18.260
da, die Web-Geschichte, ähm,

01:27:19.080 --> 01:27:20.660
und der hatte halt auch irgendwie im,

01:27:20.960 --> 01:27:22.340
äh,

01:27:22.340 --> 01:27:24.480
halt zeitlang beim Guardian, äh,

01:27:24.640 --> 01:27:27.320
gearbeitet und, ähm,

01:27:27.940 --> 01:27:28.740
hatte da halt gesehen,

01:27:28.840 --> 01:27:30.580
dass es, äh, irgendwie deren Haupt,

01:27:30.840 --> 01:27:32.520
äh, Datensammlung

01:27:32.520 --> 01:27:34.660
von jemandem betreut wurde, der halt irgendwie

01:27:34.660 --> 01:27:36.740
hunderte von CSV-Files und Dingen

01:27:36.740 --> 01:27:38.500
irgendwie, äh, auf seinem Desktop liegen hatte

01:27:38.500 --> 01:27:41.080
und halt wusste, was da drin stand und, äh,

01:27:41.140 --> 01:27:42.600
aber das ist natürlich nicht so eine gute

01:27:42.600 --> 01:27:44.820
Ausgangsbasis, um da irgendwie,

01:27:45.160 --> 01:27:46.300
äh, die Daten

01:27:46.300 --> 01:27:48.680
dann zu veröffentlichten, also das könnte man gar nicht so

01:27:48.680 --> 01:27:50.580
richtig veröffentlichen, weil, wenn man halt nicht weiß,

01:27:50.580 --> 01:27:52.540
was da überall drinsteht, dann kann man mit dieser Datensammlung

01:27:52.540 --> 01:27:54.380
gar nicht so viel anfangen, äh,

01:27:54.380 --> 01:27:56.120
und, ähm, hatte dann überlegt,

01:27:56.220 --> 01:27:58.080
was man tun kann, um das irgendwie,

01:27:59.100 --> 01:27:59.840
ja, äh,

01:28:00.040 --> 01:28:02.580
auf so einer Tool-Basis irgendwie

01:28:02.580 --> 01:28:04.420
daran aufzubereiten.

01:28:04.720 --> 01:28:06.380
Ja, und das ist halt, das, was daraus

01:28:06.380 --> 01:28:08.420
entstanden ist, halt die Tassette und das ist halt,

01:28:09.520 --> 01:28:10.640
ähm, besteht aus mehreren Teilen.

01:28:10.680 --> 01:28:12.480
Ein Teil ist halt, man wirft irgendwie

01:28:12.480 --> 01:28:14.500
CSV-Dateien da rein oder sagt halt

01:28:14.500 --> 01:28:16.420
auch nur zu einem Verzeichnis, in dem viele

01:28:16.420 --> 01:28:18.460
CSV-Dateien drin liegen, so,

01:28:18.460 --> 01:28:19.880
äh, werdet mal

01:28:19.880 --> 01:28:22.360
zu einer SQLite-Datenbank und,

01:28:22.520 --> 01:28:24.320
ähm, dann wird das,

01:28:24.380 --> 01:28:26.280
mehr oder weniger automatisch transformiert und

01:28:26.280 --> 01:28:27.800
wenn es dann eine SQLite-Datenbank ist,

01:28:28.500 --> 01:28:30.200
dann, äh,

01:28:30.240 --> 01:28:32.520
kann man da halt beliebige SQL-Anfragen

01:28:32.520 --> 01:28:34.300
drauf stellen, weil man kann halt

01:28:34.300 --> 01:28:36.120
bei SQLite sagen, das ist auch eine,

01:28:36.220 --> 01:28:38.280
auch eine schöne Geschichte, das ist in der Python-Standard-Bibliothek

01:28:38.280 --> 01:28:40.400
direkt mit drin. Das heißt, äh,

01:28:40.400 --> 01:28:42.160
man muss da nichts installieren oder so, sobald man

01:28:42.160 --> 01:28:43.740
einen Python-Interpreter hat, hat man das dabei

01:28:43.740 --> 01:28:45.900
und, äh, kann das Read-Only

01:28:45.900 --> 01:28:47.120
sozusagen aufmachen.

01:28:48.080 --> 01:28:50.340
Und der gibt dann das Schema dann daraus, was er in den

01:28:50.340 --> 01:28:52.020
Daten gegeben hat. Ja, und also, was

01:28:52.020 --> 01:28:54.360
Tassette macht, ist, es macht halt automatisch eine API drumrum.

01:28:54.380 --> 01:28:56.160
Ähm, sodass du halt auch

01:28:56.160 --> 01:28:57.420
direkt ein Web-API hast

01:28:57.420 --> 01:28:59.880
auf deine SQLite und

01:28:59.880 --> 01:29:02.040
sozusagen, du hast jetzt nicht irgendwie

01:29:02.040 --> 01:29:03.820
GraphQL, mit dem du, mit dem du

01:29:03.820 --> 01:29:06.320
als Abfragesprache, mit dem du das abfragst, sondern du hast

01:29:06.320 --> 01:29:08.060
halt direkt SQL und kriegst dann halt

01:29:08.060 --> 01:29:09.420
JSON oder CSV zurück.

01:29:10.560 --> 01:29:11.940
Und, ähm, ja,

01:29:12.140 --> 01:29:14.340
das ist eigentlich, äh, sehr, sehr

01:29:14.340 --> 01:29:16.080
schick. Ähm,

01:29:16.240 --> 01:29:18.280
aber ja, es ist natürlich, äh, ja, klar,

01:29:18.440 --> 01:29:20.200
also, ich meine... Also, das heißt, man könnte erst

01:29:20.200 --> 01:29:22.180
diese ganzen Repos auf GitHub, wo die ganzen

01:29:22.180 --> 01:29:24.240
Datensätze als CSV drin sind, einfach in irgendeine

01:29:24.380 --> 01:29:26.380
Tassette kippen. Ja. Und hätte direkt als SQL

01:29:26.380 --> 01:29:28.360
die Abfrage. Ja, nicht nur das, sondern

01:29:28.360 --> 01:29:30.400
man hat sogar einmal ein Interface,

01:29:30.560 --> 01:29:32.180
wo man SQL hin tun,

01:29:32.340 --> 01:29:34.480
oder reinposten kann, sozusagen, und dann kommt halt

01:29:34.480 --> 01:29:36.820
äh, irgendwie eine HTML-Tabelle

01:29:36.820 --> 01:29:38.520
im Browser zurück oder halt eben CSV

01:29:38.520 --> 01:29:40.380
oder JSON, wenn man es als API

01:29:40.380 --> 01:29:42.600
verwenden möchte, und man hat direkt eine API auf die Datenbank.

01:29:43.740 --> 01:29:44.420
Und, äh,

01:29:44.460 --> 01:29:46.340
es ist sogar so, dass man das nicht mal selber husten muss,

01:29:46.400 --> 01:29:48.500
sondern es gibt dann diverse, äh, Provider,

01:29:48.660 --> 01:29:50.320
die halt so, äh, Dinge anbieten, wie

01:29:50.320 --> 01:29:52.120
du kannst dann...

01:29:52.120 --> 01:29:54.360
Das habe ich jetzt gar nicht nochmal genau nachgeguckt, aber es gibt, glaube ich,

01:29:54.380 --> 01:29:56.340
Glitch, mit Glitch geht das irgendwie, oder es gibt halt

01:29:56.340 --> 01:29:57.280
auch mit, ähm,

01:29:58.220 --> 01:30:00.180
es gibt auch diverse, die einfach so

01:30:00.180 --> 01:30:02.260
Docker-Container anbieten, die man, wo man halt so ein

01:30:02.260 --> 01:30:03.900
freies Kontingent hat an

01:30:03.900 --> 01:30:05.800
Containern irgendwie, und dann

01:30:05.800 --> 01:30:07.720
damit kann man das halt auch hochziehen.

01:30:08.380 --> 01:30:10.720
Und, äh, sodass man halt, äh,

01:30:10.740 --> 01:30:12.180
ohne irgendwie selber da

01:30:12.180 --> 01:30:14.480
irgendwie Hosting bezahlen zu müssen,

01:30:15.420 --> 01:30:16.420
die CSVs halt

01:30:16.420 --> 01:30:18.220
als SQL-Datenbank

01:30:18.220 --> 01:30:20.320
mit API irgendwie

01:30:20.320 --> 01:30:22.100
ins Netz stellen kann. Und das ist auch mit den,

01:30:22.100 --> 01:30:23.960
äh, mit diesen John-Hopkins-Daten

01:30:23.960 --> 01:30:24.340
passiert.

01:30:24.380 --> 01:30:26.440
Und das fand ich auch schon

01:30:26.440 --> 01:30:28.380
sehr interessant, aber, na gut, ich meine,

01:30:28.440 --> 01:30:30.760
das fixt natürlich die grundlegenden Datenprobleme

01:30:30.760 --> 01:30:31.600
darunter halt dann nicht.

01:30:32.900 --> 01:30:34.100
Ähm, aber

01:30:34.100 --> 01:30:35.760
ist auf jeden Fall eine, äh,

01:30:36.600 --> 01:30:38.200
ganz, ganz interessante Geschichte, finde ich.

01:30:38.300 --> 01:30:40.280
Wenn man jetzt zum Beispiel irgendwie ein Notebook baut, was halt

01:30:40.280 --> 01:30:41.060
irgendwie

01:30:41.060 --> 01:30:44.360
diese Daten verwendet, dann kann man halt auch direkt,

01:30:44.460 --> 01:30:46.280
das könnte man direkt die Datasette

01:30:46.280 --> 01:30:48.600
oder diese COVID-19-Datasette

01:30:48.600 --> 01:30:50.360
einfach verwenden und dann halt

01:30:50.360 --> 01:30:52.220
die ganzen Daten über eine API bekommen, ohne dass

01:30:52.220 --> 01:30:53.760
man da selber CSVs parsen muss oder so.

01:30:54.380 --> 01:30:54.880
Ja, cool.

01:30:57.060 --> 01:30:58.000
Ja, ja.

01:30:59.620 --> 01:31:00.640
Aber, genau.

01:31:01.960 --> 01:31:02.320
Ähm.

01:31:02.500 --> 01:31:04.540
Ja, also Feedback und Anregungen und Fragen

01:31:04.540 --> 01:31:06.180
und alle eure Sorgen an hallo

01:31:06.180 --> 01:31:07.740
at python-podcast.de

01:31:07.740 --> 01:31:09.580
Ja.

01:31:10.740 --> 01:31:11.600
Thomas, bist du noch da?

01:31:12.340 --> 01:31:13.240
Ich bin auch da, ja.

01:31:14.640 --> 01:31:15.840
Ja, ich weiß nicht, ähm,

01:31:16.860 --> 01:31:18.460
sind wir dann schon durch? Ich weiß nicht, haben wir noch

01:31:18.460 --> 01:31:20.420
irgendwas Interessantes, was wir irgendwie, haben wir noch

01:31:20.420 --> 01:31:22.440
irgendwelche Dinge, die sonst...

01:31:22.440 --> 01:31:24.360
Naja, also News of the City, die ganzen Konferenzen,

01:31:24.380 --> 01:31:25.340
die sind abgesagt und...

01:31:25.340 --> 01:31:28.460
Ja, das ist die eine große Neuigkeit.

01:31:29.000 --> 01:31:30.520
Ja, wenn ihr zu Python zukommen wollt,

01:31:30.840 --> 01:31:32.260
der stattfindet, der ist jetzt auch virtuell.

01:31:32.500 --> 01:31:34.420
Guckt ihr auf dem Chaosdorf, mal gucken, welche Räume

01:31:34.420 --> 01:31:35.520
es da gibt. Ja.

01:31:35.920 --> 01:31:38.500
Ja, dann vielen Dank,

01:31:38.580 --> 01:31:40.180
dass du heute da warst. Ja, vielen, vielen Dank.

01:31:40.460 --> 01:31:41.000
Super interessant.

01:31:42.700 --> 01:31:44.380
Ja, vielen Dank

01:31:44.380 --> 01:31:46.240
für die Einladung. Es war sehr cool,

01:31:46.300 --> 01:31:46.740
mit euch zu sprechen.

01:31:47.700 --> 01:31:50.320
Wir freuen uns schon, wenn alle wieder gesund sind, dann müssen wir das hier mal

01:31:50.320 --> 01:31:52.720
live wieder vor Ort wiederholen.

01:31:52.720 --> 01:31:53.500
Sehr gerne.

01:31:54.380 --> 01:31:55.480
Ja, ist ja gar nicht so weit.

01:31:56.540 --> 01:31:58.440
Ja, vielen Dank fürs Zuhören. Bleibt uns gewogen,

01:31:58.560 --> 01:32:00.260
haut wieder rein, bleibt gesund, vor allen Dingen in diesen

01:32:00.260 --> 01:32:01.840
unruhigen Zeiten und

01:32:01.840 --> 01:32:04.120
haut mal wieder rein. Wir hören uns. Bis zum nächsten Mal.

01:32:04.180 --> 01:32:05.380
Bis zum nächsten Mal. Tschüss. Tschüss.
