Die Trocknung eines Produkts in einem Wirbelschichtverfahren mit nicht konditionierter Luft ist komplex und unvorhersehbar, was unter anderem auf die Variabilität der eingehenden Produkte zurückzuführen ist. Daher wurden zu häufig nicht optimale Einstellungen verwendet, was Nacharbeiten und zahlreiche Begleitprobleme zur Folge hatte, darunter Mehrkosten, zusätzlicher Arbeitsaufwand und erhöhter Druck, die Produktionspläne einzuhalten. Versuche, die Trocknungszeit in Abhängigkeit von den Luft- und Temperaturbedingungen zu modellieren, um die Trocknungsparameter zu optimieren, waren nur teilweise erfolgreich.
Der Durchbruch gelang jedoch mit dem Einsatz des Functional Data Explorer (FDE) in JMP Pro, um das Trocknungsprofil des jeweiligen Produkts innerhalb der ersten 15 Minuten des Prozesses in das Modell zu integrieren. Die Bediener konnten die Ergebnisse anschließend nutzen, um die minimale Trocknungszeit vorherzusagen und die Maschineneinstellungen entsprechend anzupassen. Die Verwendung des FDE zur Gewinnung von Erkenntnissen darüber, wie sich verschiedene Parameter während des Prozesses auf die Ergebnisse auswirken, hat sich als äußerst wertvoll erwiesen. Dieser Vortrag ist für alle, die Prozessinformationen messen, von Nutzen, da er zeigt, wie diese Informationen den Bedienern zur Verfügung gestellt werden können, damit diese die Maschineneinstellungen während des Prozesses anpassen und so optimale Ergebnisse erzielen können.
Hallo und herzlich willkommen zu dieser Präsentation. Mein Name ist Jacob von Olympic, und neben mir steht mein Kollege [unverständlich]. Wir präsentieren Ihnen die prozessbegleitende Optimierung eines Trocknungsverfahrens mithilfe des Functional Data Explorers.
Zuerst erläutern wir den Hintergrund des Projekts. Anschließend [unverständlich] werden wir Ihnen die statistischen Details unserer Arbeit genauer vorstellen. Wir hoffen, Sie finden es interessant.
Zunächst ein paar Worte zu Lundbeck. Lundbeck ist ein Unternehmen, das seit 1915 besteht und sich der Hirngesundheit verschrieben hat. Daher interessiert uns jede Art von Medizin, die die Hirnfunktion wiederherstellt.
Weltweit sind rund 5400 Mitarbeiter in über 50 Ländern vertreten. Lundbeck blickt auf eine lange Geschichte zurück. Die gesamte Lieferkette deckt den gesamten Prozess ab – von der Wirkstoffproduktion bis hin zum Großhandel. Dazu gehören auch Auftragshersteller (CMOs) und zahlreiche Rohstofflieferanten. Unsere Produkte sind in über 100 Märkten weltweit erhältlich. Die Lieferkette ist daher recht komplex.
Heute konzentrieren wir uns auf ein Projekt aus unserer Massenproduktion, in der wir jährlich rund 2,5 Milliarden Tabletten herstellen. Konkret geht es um ein Granulierverfahren. Ich werde gleich genauer darauf eingehen. Dabei verwenden wir ein sogenanntes Wirbelschichtverfahren zur Granulierung.
Es strömt viel Luft von außen herein. Die Luft wird lediglich gefiltert. Und wir wissen von unserer kleinen lokalen Wetterstation, dass sich die Wetter- und Luftbedingungen innerhalb von 24 Stunden stark verändern.
Unsere Mitarbeiter hatten Schwierigkeiten, herauszufinden, wie lange sie ihren Prozess oder ihr Produkt heute testen sollten, um unsere internen Spezifikationen einzuhalten. Hier oben in der Ecke sind einige JMP-Kennzahlen zu sehen. Aktuell liegen 26 % der Chargen unterhalb unserer internen Grenzwerte.
Das ist etwas hoch angesetzt. Wir haben zunächst versucht, dieses Problem zu beheben und unseren sehr netten Mitarbeitern zu helfen, den Prozess reibungsloser abzuwickeln.
Was ist Granulation bzw. Wirbelschichttrocknung? Wir haben ein feuchtes Pulver in einem Bett, durch das viel Luft geleitet wird. Diese Luft wird auf eine bestimmte Temperatur erhitzt und strömt dann durch, um das Wasser zu verdampfen. Anschließend wird sie durch Filter geleitet, damit die Energie nicht vollständig in einer Flüssigkeit verloren geht. Alternativ kann man auch granulieren. Das ist zwar nicht der Anwendungsfall, wäre aber auch denkbar.
Neuere Wirbelschichtsysteme verfügen über eine Klimaanlage, die die Feuchtigkeit der Zuluft auf einen bestimmten Sollwert einstellt. Bei unserer aktuellen Anlage ist dies jedoch nicht möglich, und aufgrund physikalischer Gegebenheiten lässt sich eine solche Anlage auch nicht nachrüsten.
Da die Anlage etwas veraltet ist, mussten wir selbst Sensoren installieren, um genügend Daten von den Maschinen zu erhalten. Andernfalls würden die Ergebnisse nur auf Papier ausgedruckt, was für unsere Zwecke nicht optimal ist.
Darüber hinaus haben wir alle notwendigen Daten zusammengetragen. Wir verfügen über die Daten zum Wirbelschichtverfahren, die Wetterdaten (hier links) und die Daten zur Prozesssteuerung. Unser Ziel ist es, all diese Daten in einem zentralen Datenspeicher zu sammeln.
Darüber hinaus haben wir eine kleine Anwendung entwickelt, mit der wir den Bedienern beliebige Aktionen zur Anzeige von Informationen bereitstellen können. Dies ist lediglich der Ablauf all dieser Daten.
Wir haben mit einem einfachen Modell begonnen, bei dem wir anhand der Wetterdaten draußen lediglich die Dauer vorhergesagt haben. Dieses Modell erwies sich jedoch als ungeeignet. Deshalb übernimmt nun [unverständlich] und erklärt, wie sie den Functional Data Explorer eingesetzt hat, um uns einem zielführenden Ansatz näherzubringen.
Ja, danke, Jacob. Wir möchten einen Schaltplan, um das gesamte System zu sehen. Wie Jacob bereits erwähnte, hatten wir eine Wetterstation, die uns täglich Informationen über das Wetter und die Luftqualität im Wirbelschichtreaktor liefern konnte.
Darauf basierend könnten wir beispielsweise den Personalaufwand abschätzen. Wie lange benötigen die Bediener, um die Maschine einzurichten und das Granulat so einzustellen, dass das Ziel erreicht wird? Allerdings gibt es viele Probleme im Zusammenhang mit den saisonalen Wetterbedingungen und auch mit einigen unserer Anlagen, die wir beispielsweise im Sommer oder Winter aufgrund der Kälte abschalten müssen.
Die Luftzufuhr zum Wirbelschichtbett variierte stark. Es war ziemlich schwierig, die Trocknungszeit allein anhand der Daten bzw. Informationen der Wetterstation hier unten vorherzusagen.
Als ersten Untersuchungsschritt haben wir IoT-Sensoren direkt vor dem Wirbelschichtbett an der Zuluftleitung installiert. Weitere Sensoren messen die Produkttemperatur im Wirbelschichtbett, und auch Sensoren an der Abluftleitung wurden angebracht.
Damit könnten wir die Lufteigenschaften, die in den Tank strömen und aus dem Wirbelschichtreaktor austreten, direkt messen. Das bedeutet aber, dass wir eine große Datenmenge haben. Wir verfügen über Zeitreihendaten. Jeder dieser Sensoren – insgesamt acht – sendet jede Sekunde Informationen an unseren Datenspeicher.
Damit sollten Sie zunächst verstehen können, was während des Trocknungsprozesses passiert. Worin unterscheiden sich die einzelnen Chargen? Außerdem sollten Sie weitere Informationen sammeln. Das übergeordnete Ziel war, wie wir diese Daten nutzen können, um die Trocknung in dieser Anlage besser vorherzusagen.
Die Idee war einfach. Wir hatten eine Menge historischer Daten in unserem Data Lake gesammelt und wollten nun alle Daten, einschließlich der IoT-Daten und der Wetterdaten, extrahieren.
Damit wollten wir unser Modell trainieren und es dann in unserer Plattform – die wir „Prod Intel“ nennen – einsetzen. Im ersten Modell sammelten wir alle Informationen kurz vor Beginn des Trocknungsprozesses, übergaben sie an das Modell, und der Bediener startete den Prozess dann basierend auf der von uns bereitgestellten Schätzung.
Bevor wir fortfahren, werfen wir einen Blick auf die uns vorliegenden IoT-Daten. Wie bereits erwähnt, verfügen wir über historische Daten, die wir im letzten Jahr erfasst haben. Darüber hinaus besitzen wir IoT-Informationen von all diesen Sensoren, die sekündlich aktualisiert werden.
Betrachten wir beispielhaft eine Charge. Während dieses Trocknungsprozesses wird Luft in das Wirbelschichtbett geblasen, wobei der Luftstrom synchron auf und ab geht und im Durchschnitt den eingestellten Zielwert beibehält.
Dann regeln wir auch die Trocknungslufttemperatur. Das heißt, man kann während des Prozesses beobachten, wie die Produkttemperatur im Laufe der Prozesszeit ansteigt. Dies basiert auf der seit Beginn der Trocknung verstrichenen Zeit.
Dann sieht man auch, wie die Ablufttemperatur während des Trocknungsprozesses ansteigt. Das ist perfekt. Aber vergleichen wir diese Charge zum Beispiel mit einer anderen. Ich gehe einfach zu einer anderen Charge über.
Dies ist eine weitere Charge, wie Sie in Rot sehen können. Es zeigt sich deutlich, dass der Trocknungsprozess trotz unserer Bemühungen, das System zu kontrollieren, von Charge zu Charge variieren kann.
Die Temperatur der Trocknerluft kann stark variieren. Auch das Trocknungsprofil selbst kann schwanken und ist sowohl an der Produkttemperatur als auch an der Ablufttemperatur erkennbar. Dies zeigt deutlich, dass man – natürlich kann man die historischen Daten und die unmittelbar vor Trocknungsbeginn erfassten Daten nutzen – die benötigte Trocknungszeit nur annähernd abschätzen kann.
Abweichungen im Prozess fallen erst auf, wenn man den Prozess startet. Darauf basierend sagt man dann: „Okay, mein Trocknungsverhalten folgt einem anderen Trend, also brauche ich ein anderes Profil.“
Deshalb haben wir uns gerade die zweite Idee ausgedacht, wie wir die Daten während des Trocknungsprozesses nutzen können, um abzuschätzen, wie hoch die Zielwerte für die Erreichung unserer Spezifikation hinsichtlich der endgültigen relativen Luftfeuchtigkeit des Produkts sein sollten.
Die Idee war einfach. Wir wollten den Prozess starten und während des Trocknens Daten von allen acht Sensoren erfassen. Wir warten etwa 15 Minuten, bis wir Daten gesammelt haben. Anschließend analysieren wir diese Daten oder speisen sie direkt in unser Modell ein. Nach 15 Minuten können wir dem Bediener eine Prognose geben. Diese Prognose kann beispielsweise die Zieltemperatur sein oder die Anweisung, den Vorgang nach zehn Minuten zu stoppen.
Diese Vorhersage basiert nun direkt auf der Leistung des Trocknungsprozesses und bezieht sich auf die jeweilige Charge, nicht auf irgendwelche vorher angenommenen Bedingungen.
Wie das geht… Ich würde darauf zurückkommen. Das Gute an JMP ist, dass es ein sehr leistungsstarkes Werkzeug zur Analyse von Zeitreihendaten bietet, nämlich den Functional Data Explorer.
Diese Funktionalität ist meines Wissens derzeit leider nur in der Entwicklung verfügbar. Es handelt sich dabei um ein sehr leistungsstarkes Werkzeug zur Analyse von Zeitreihendaten.
Nehmen wir zum Beispiel die Unterschiede zwischen den einzelnen Chargen in diesem Trocknungsprofil. Ich nutze dafür den Funktionsdaten-Explorer. Dort sehe ich mir beispielsweise mein Produkt an. Außerdem habe ich die verstrichene Zeit und natürlich die Charge als IT-Funktion.
Diese Anwendung ermöglicht es mir, alle Chargen im Zeitverlauf zu analysieren und einen allgemeinen Trend in ihrem Profil zu erkennen. So lässt sich die Differenzierung der einzelnen Chargen deutlich verbessern und die Profile separat vergleichen.
Mein Ziel ist es, den Trend oder das Profil jedes einzelnen dieser Signale zu extrahieren und dies dann als Eingabe für mein Modell zu verwenden, um vorherzusagen, was das Ziel sein sollte.
Da wir, wie bereits erwähnt, in diesem speziellen Fall 50 Minuten an Daten sammeln und anschließend anhand dieses Trends bzw. Profils das Ziel vorhersagen wollten, sollte ich den Zeitraum, in dem ich die Daten analysiere, ebenfalls einschränken.
Diese Funktion bietet die praktische Möglichkeit, die Daten mithilfe dieses Filters zuzuschneiden. In diesem Fall betrachte ich beispielsweise den Zeitraum von 15 Minuten. Um sicherzustellen, dass die Daten vor der Analyse nicht zu stark verfälscht sind, möchte ich den Zeitraum von 180 bis 900 Sekunden eingrenzen.
Ich habe es hier. Als Nächstes möchte ich den allgemeinen Trend in all diesen Chargen untersuchen. Dazu wähle ich „Modell“ und dann „Direkte funktionale PCA“. Wie Sie sehen, versucht JMP dabei, einen allgemeinen Trend innerhalb all dieser Chargen zu finden, stellt diesen als Hauptfunktion dar und extrahiert anschließend fünf verschiedene Eigenwerte. Diese Eigenwerte werden als Formfunktion bezeichnet, um die Unterschiede zwischen den einzelnen Chargen im Vergleich zum Durchschnittswert aller Produkte zu charakterisieren.
Es liefert Ihnen sehr detaillierte Informationen zu jedem einzelnen Bauteil… jede Charge zeigt, wie stark sie vom Durchschnittsaussehen abweicht. Sie können damit ganz einfach experimentieren… im Profiler unten können Sie alle extrahierten FPC-Komponenten bearbeiten und die Auswirkungen der einzelnen Änderungen direkt beobachten.
Dies ist beispielsweise meine verstrichene Zeit. Ich möchte nun prüfen, ob die FPC-1-Komponente einen höheren Wert aufweist. Wie wirkt sich dies auf die durchschnittliche Produkttemperatur hinsichtlich des Trends bzw. des Profils aus? Und wie wirkt sich ein Wert im negativen Bereich auf die Produkttemperatur aus?
Vereinfacht gesagt: Wenn ich bei FPC1 einen höheren Wert erhöhe, bedeutet das, dass der durchschnittliche Produkttemperaturwert in diesem Zeitraum tendenziell niedriger war; andernfalls wäre der Wert negativer, was bedeutet, dass der durchschnittliche Wert höher war.
Man kann die Auswirkung jedes einzelnen dieser Faktoren auf das Gesamtergebnis der Produkttemperatur bzw. den Trend oder das Profil im Zeitverlauf leicht erkennen. Wenn ich diese Komponenten nun extrahiere, um sie als Eingabe für mein Modell zu verwenden und dieses Modell anschließend zur Vorhersage des Zielwerts zu nutzen, …
Sie können das Ergebnis hier als Zusammenfassung speichern. Anschließend erhalten Sie eine übersichtliche Darstellung aller FPC-Komponenten, die ich beispielsweise hier habe. Diese werden dann natürlich der jeweiligen Chargennummer zugeordnet.
Wie Sie hier sehen können, erhalte ich für jede Charge eine Nummer für jedes dieser FPC-Bauteile. Diese Nummer dient mir als Grundlage für den Aufbau meines Modells, da ich diese Informationen direkt aus dem Profil jedes einzelnen Signals extrahiere. Darauf basierend erkenne ich die Ähnlichkeit. Meine neue Charge weicht vom Durchschnittsbild ab, und darauf basierend gehe ich weiter vor.
Schauen wir uns noch einmal an, ob ich das modellieren soll. Wie sähe das dann aus? Ich habe einfach alle FPC-Komponenten meiner Signale zusammengetragen, und ab hier ist es recht einfach. Sie können beispielsweise Ihr allgemeines Regressionsmodell oder einen anderen Ansatz zum Modellaufbau verwenden.
Nehmen wir beispielsweise an, ich hätte die einfache Möglichkeit gehabt, mein Endsignal zu erhalten, nämlich die Vorhersage der relativen Luftfeuchtigkeit. Als Eingabeparameter X standen mir alle Kombinationen verschiedener FC-Komponenten zur Verfügung.
Dann könnte ich die endgültige Schätzung bzw. mein endgültiges Modell erstellen und in mein System integrieren. Das ist ganz einfach. Dieses gesamte Modell bzw. diese gesamte Vorhersage basiert direkt auf dem Profil der Signale, die wir von den IoT-Sensoren erfassen. Darauf basierend legen wir dann das Ziel fest.
Ab diesem Punkt geht es nur noch darum, das Modell zu extrahieren. Nach dem Erstellen des Modells müssen wir es extrahieren und kehren damit zum ersten Extraktionsvorgang zurück. Aber wie kann ich diese LPC-Komponente für einen neuen Batch extrahieren?
Das größte Problem ist, dass ich JMP anschließend nicht mehr verwenden kann. In meiner Konfiguration möchte ich alles in meinem Produkt, das auf AWS läuft, integriert haben. Daher muss ich sowohl das Modell als auch die FPC-Komponente extrahieren können.
Das Extrahieren des Modells ist recht einfach, das kann ich also erledigen. Das Problem ist jedoch die genaue Extraktion der FPC-Komponenten. Leider gibt es derzeit keine einfache Möglichkeit, diese Komponenten aus JMP zu extrahieren, da ich nun einen neuen Batch erstellen möchte.
Mit dieser neuen Charge möchte ich nun abschätzen, welche Komponente ich für dieses Modell benötige. Es gibt einen sehr indirekten Weg, diese Komponenten zu extrahieren. Dieser besteht darin, auf die Grundlagen der Berechnung dieser FPC-Komponenten zurückzugreifen.
Wenn ich das hier nochmal sehe… wenn ich das hier wiederfinde, schließe ich es vielleicht. Ja. Es ist da. Wenn Sie zu der Tabelle zurückkehren, die Sie aus den FPC-Komponenten extrahiert haben, sehen Sie, dass es eine Spalte gibt, die das Produkt anzeigt, also die Vorhersage oder wie das Signal mithilfe dieser FPC-Komponente vorhergesagt wird.
Das ist recht einfach. Es versucht, eine Mittelwertfunktion über alle Daten zu erstellen, in unserem Fall also über alle eingegebenen historischen Daten. Anschließend wird die Formfunktion berechnet und diese dann für jeden Batch angepasst, um die Unterschiede zwischen den einzelnen Batches und dem Durchschnittswert auszugleichen.
Wir verfügen über historische Daten und können auf Basis dieser historischen Daten den Mittelwert über die Zeit ermitteln. Außerdem können wir anhand dieser historischen Daten die Formfunktion über die Zeit bestimmen.
Sobald wir diese beiden Parameter haben, können wir sie extrahieren und in unsere Plattform einfügen. Bei jedem neuen Datenauftrag versuchen wir dann, ihn in dieses Modell einzupassen und die FPC-Komponenten zu berechnen.
Wie wir das machen können. Ich komme gleich auf diesen Fall zurück. Jedes Mal, wenn Sie die Tabelle erstellen, extrahieren Sie die Zusammenfassung Ihrer FPC-Komponente. Tatsächlich erhalten Sie auch die Formfunktion. Sie ist hier nur ausgeblendet. Wenn Sie sich beispielsweise die Formfunktionen ansehen, sehen Sie im Hintergrund auch eine Gleichung, die versucht, die Formfunktion im Zeitverlauf zu berechnen.
Ich möchte diesen Wert direkt extrahieren. Außerdem möchte ich den Mittelwert berechnen und das Profil über die Zeit darstellen. Ich bereinige die Daten noch etwas, um es einfacher zu machen. Das ist das letzte Mal, dass ich es einblende.
Standardmäßig… und das ist auch optional, vielleicht kann ich das einfach löschen. Standardmäßig berechnet die extrahierte Tabelle alle Formfunktionen im Zentrum des eingegebenen Zeitraums.
Ich möchte die Formfunktion über den Zeitraum von 180 bis 900 Sekunden extrahieren, nachdem ich meine Daten gekürzt habe. Dazu kann ich einfach diese Spalte aktualisieren. Da ich den Zeitraum auf 900 Sekunden festlegen möchte, passe ich die verstrichene Zeit an und erhalte so die Werte für die Formfunktion über die Zeit.
Sie sehen, dass Sie genau dieselben Eingaben verwenden können wie beispielsweise im ersten Fenster. Jetzt habe ich diese Formfunktionen. Wie kann ich sie nun verwenden? Ich versuche einfach, sie alle zusammenzufassen.
Ich habe hier eine vorbereitete Datentabelle. Ich habe diese Formfunktionen, zum Beispiel für die Produkttemperatur, anhand der historischen Daten extrahiert und die verstrichene Zeit erfasst. Nun ist eine neue Charge eingetroffen. Ich habe sie einfach in meine Tabelle eingefügt. Auf der neuen Plattform läuft das Ganze natürlich in AWS. Dort werden alle Berechnungen durchgeführt.
Ich habe nun meine neue Charge. Die Informationen zum Signal, das ich für weitere Temperaturen zwischen 100 und 900 erhalten habe, basieren auf der Gleichung, die ich zuvor erläutert habe. Jetzt möchte ich dieses Modell erstellen und anschließend die FPC-Komponenten extrahieren.
Ich ermittle zunächst die Differenz zwischen den Signalen der neuen Datenreihe und den jeweiligen Durchschnittswerten. Die resultierende Formel, die aus der Tabelle von Episcopal extrahiert wird, entspricht der Differenz zwischen dem Signal und den auf Basis der historischen Daten berechneten Durchschnittswerten. Damit lässt sich der Rest des Modells, dieser Teil des Modells, erstellen.
Machen wir das. Ich habe meine Residuen erstellt. Für jede meiner Funktionen möchte ich die FPC-Komponenten extrahieren. Natürlich möchte ich keinen Achsenabschnitt. Ich möchte mein Zentrumspolynom deaktivieren, um sicherzustellen, dass ich genau dieselbe Extraktion wie bei der anderen Funktion erhalte.
Wenn ich das dann ausführe und mir den Ausdruck für jede Formfunktion ansehe, erhalte ich einen Parameter, der meine FPC-Komponenten repräsentiert. So extrahieren Sie jede dieser Komponenten anhand der Formfunktionen, die Sie aus historischen Daten extrahiert haben. Anschließend verwenden Sie diese als Eingabe für Ihr Modell.
Jedes Mal, wenn ein neuer Datensatz oder eine neue Datencharge eintrifft, versuchen Sie, diese anzupassen, die FPC-Komponente zu extrahieren und sie dann als Eingabe für das Modell zu verwenden. Damit sollten Sie die benötigte Schätzung für jede Charge erhalten.
Wie bereits erwähnt, ist dies leider kein einfacher Weg, diese FPC-Komponenten zu extrahieren. Es ist jedoch eine Möglichkeit. Auf diese Weise nutzen wir die Funktionalität der FPC-Komponenten, um die Systemleistung in unserem Setup vorherzusagen.
Die letzte Folie enthält ein allgemeines Fazit. Ich denke, es ist zumindest in unserem Fall ziemlich deutlich, dass es sehr schwierig ist, den Zustand eines Systems anhand einiger Standardeingaben vorherzusagen, wenn man alle Schwankungen berücksichtigt, denen das System ausgesetzt ist, und alles, was im System geschieht.
Natürlich wäre es viel besser, die Möglichkeit einer Online-Steuerung im System zu integrieren, sofern dies möglich ist, aber es ist nicht ganz einfach. Die zweite Option ist die Nutzung von Funktionen zur alternativen Datenexploration, die ein hervorragendes Werkzeug zur Analyse von Zeitreihendaten darstellen. Derzeit ist diese Funktion jedoch hauptsächlich für die Bereitstellung verfügbar, und es ist nicht einfach, einige der darin enthaltenen Elemente aus JMP zu extrahieren.
Die meisten Systeme in Industrieanlagen bieten möglicherweise keine direkte Anbindung an JMP. Das schränkt die Funktionalität dieser in JMP vorhandenen Option erheblich ein.
Aber es hat uns wertvolle Einblicke in unseren Prozess aus der Perspektive eines Forschers gegeben. Wo lag das Problem genau und was passierte bei den einzelnen Chargen? Vorher haben wir uns nur den Durchschnitt oder Ähnliches angesehen. Jetzt sehen wir es also tatsächlich…
Weitere Details.
Ja. Und die Zeitreihendaten. Aus prozessualer Sicht war es sehr interessant, den Analyseteil davon zu sehen.
Genau. Ja. Damit bedanke ich mich fürs Zuhören und hoffe, euch alle dort zu sehen.