Oftmals ist es notwendig, zeitlich veränderliche Kurven in verschiedene Kategorien einzuteilen. Beispielsweise können Zellwachstumskurven unterschiedliche Formtypen aufweisen (z. B. diauxisches Wachstum), die das Wachstumsverhalten von Zellen charakterisieren. Diese unterschiedlichen Kurventypen erschweren es, charakterisierende Parameter (z. B. Verzögerung bis zum Wachstumsbeginn, Wachstumsraten, Endwachstumsniveau usw.) automatisch und präzise aus den Kurven zu extrahieren.
Mit dem Functional Data Explorer (FDE) von JMP Pro lassen sich diese Kurven in bestimmte Typen klassifizieren. Nach der Klassifizierung filtert FDE das Rauschen aus den Kurven heraus und vereinfacht so die Bewertung kritischer Wachstumsparameter erheblich.
Anhand von Daten aus der Praxis wird demonstriert, wie FDE in JMP Pro diese Operationen durchführen kann.
Hallo. Mein Name ist Jerry Fish. Herzlich willkommen zu diesem Vortrag, in dem mein Kollege Kyle Probst und ich über die Verwendung des Functional Data Explorer zur Klassifizierung von Kurvenformen sprechen werden. Ich bin seit sieben Jahren bei JMP und betreue unsere Kunden im Mittleren Westen. Wenn Sie ebenfalls im Mittleren Westen ansässig sind, melden Sie sich gerne bei mir. Ich helfe Ihnen gerne bei allen Fragen rund um JMP.
Dies ist eine typische Kurve, die wir beschreiben. Kyle wird das heute genauer erläutern. Es geht um Zellwachstumskurven. Diese Kurven zeigen, wie schnell Zellen wachsen, wenn man ihnen beispielsweise bestimmte Nährstoffe zuführt. Eine solche Kurve könnte etwa so aussehen: Anfangs wachsen die Zellen nicht, dann setzen sie plötzlich ein und erreichen am Ende ein Plateau. Dies ist eine typische Kurve. Kyle wird nun auf die wichtigsten Parameter eingehen.
Das Problem ist, dass wir verschiedene Kurventypen haben, die wir klassifizieren müssen. Hier oben links sehen Sie die Kurve, die ich Ihnen gerade gezeigt habe. Wir nennen sie monophasische Kurve. Sie hat nur ein einziges Wachstumsmuster und bleibt danach stabil, sodass die Zellen hier weiter überleben. Diese Kurve oben rechts ist ebenfalls monophasisch. Sie hat nur einen Übergang, aber dann neigt sie dazu, am Ende abzusterben, die Zellen beginnen abzusterben. Vielleicht ist das wichtig, oder vielleicht ist das in Ihrem Geschäftsbereich ein entscheidendes Merkmal, das Sie interessiert.
Dieses Modell nennen wir diauxisch; es weist zwei Wachstumsbereiche auf. Zuerst gibt es einen Bereich, in dem das Wachstum stagniert, dann folgt ein zweiter Wachstumsbereich. Schließlich gibt es noch Situationen, in denen kein Wachstum stattfindet, und diese sind natürlich ebenfalls von Interesse.
Diese Tests können hunderte Male durchgeführt werden, und wir möchten sie nicht einzeln durchgehen müssen. Wenn wir wüssten, welche Kurve welche Funktion hat, könnte beispielsweise diese Kurve mit der Funktion „Kurve anpassen“ in JMP modelliert werden. Diese und jene Kurve, die diauxische Kurve, ließen sich möglicherweise besser auf der nichtlinearen Plattform modellieren, da wir dort mehr Flexibilität bei der Darstellung dieser Kurven haben. Wir möchten nicht jede einzelne Kurve prüfen müssen, um die passende Funktion auszuwählen. Wir würden dieses System gerne automatisieren.
An dieser Stelle übergebe ich das Wort an Kyle, der sich vorstellen und etwas über diese Kurve sowie den Hintergrund, warum sie wichtig ist und was wir tun, erzählen wird. Kyle?
Danke, Jerry. Das war eine gute Einführung. Wie Jerry bereits angedeutet hat, beschäftigen wir uns bei Kerry intensiv mit der Zellernährung in der Pharmaindustrie und der Bewertung des mikrobiellen Wachstums. Kurz zu mir: Mein Name ist Kyle Probst. Ich bin Senior Scientist bei Kerry und arbeite am nordamerikanischen Hauptsitz in Beloit, Wisconsin. Dort unterstütze ich den Bereich Zellernährung, in dem wir Nährstoffe für Mikroben, Säugetierzellen und andere Zellen in Form von Proteinhydrolysaten und Hefeextrakten bereitstellen. Viele dieser Produkte werden in der biopharmazeutischen Industrie zur Herstellung lebensrettender Medikamente eingesetzt.
Die Daten, die Jerry hier verwendet, stammen aus einem speziellen Testverfahren, das wir häufig im Labor durchführen. Es handelt sich dabei um ein Hochdurchsatz-Screening, bei dem wir Mikrotiterplatten-Reader einsetzen, um mikrobielle Wachstumskurven zu messen, wie er sie hier zeigt. Das Wachstum wird oft anhand der optischen Dichte bei 600 Nanometern (OD600) gemessen, die im Wesentlichen mit dem Wachstum korreliert. Die Messung ist einfach – man misst lediglich die Trübung – und gilt in der Industrie als Standardmessgröße zur Quantifizierung des mikrobiellen Wachstums.
Wir nutzen diese Methode, um die besten Zutaten anhand bestimmter Leistungskennzahlen (KPIs) auszuwählen, die wir aus den Wachstumskurven ableiten können. Zu den wichtigsten KPIs, die wir aus diesen Wachstumskurven messen und quantifizieren, gehören Wachstumsrate, Anlaufzeit, finale Zelldichte und viele weitere. Jerry arbeitet daran, die Extraktion dieser quantitativen Werte aus den Kurven zu automatisieren, sodass wir nicht mehr jeden einzelnen Wert manuell auswerten müssen und eine optimale Anpassung erreichen.
Das war eine der größten Herausforderungen, die wir bei der Anwendung gängiger Verfahren hatten. Man erhält nicht immer eine optimale Anpassung, und es hängt vom Kurvenverlauf ab. Leider sind nicht alle Kurven perfekt monophasisch wie die in unserer Demonstration. Deshalb hat Jerry uns seine Unterstützung angeboten.
Also, die Kurve, die Sie hier sehen – und ich erkläre Ihnen gleich, was das bedeutet –, die wichtigsten KPIs, die uns hier oft interessieren, sind die Lag-Phase. Die Lag-Phase ist die Zeit, die die Zellen ruhen, bevor sie zu wachsen beginnen. Das ist wichtig für uns zu verstehen. Die Zeit bis zum Wendepunkt. Das ist die Zeit, bis die Zellen ihre maximale Wachstumsrate erreichen. Die Steigung am Wendepunkt entspricht der maximalen Wachstumsrate. Das ist ein weiterer wichtiger Parameter, den wir messen. Die letzte Asymptote ist die endgültige Zelldichte bzw. die erreichte Zelldichte, die mit dem Wachstum aller Mikroorganismen zusammenhängt.
Bevor wir mit dieser eigentlichen Arbeit beginnen, müssen wir die Rohdaten in ein Format umwandeln, das es uns ermöglicht, diese Kurven zu erstellen. Dies erleichtert uns den Vergleich, sei es visuell oder, wie Jerry es hier zeigt, durch Quantifizierung der Kurven. Wir haben dazu eine weitere Arbeit verfasst und präsentiert, in der wir die Verarbeitung der Rohdaten und die Verwendung einiger praktischer JMP-Tools beschreiben.
Selbst für jemanden wie mich, der im Scripting noch unerfahren ist, war es eine gute Idee, einige Ansätze zu entwickeln, die uns viel Zeit und Mühe erspart haben. Das Ganze läuft unter dem Titel „JMP Add-in Builder for Automating Microbial Growth Characterization“. Schaut es euch unbedingt an!
Jerry, ich gebe das Wort wieder an dich weiter. Ich glaube, ich habe genug geredet. Wahrscheinlich habe ich schon viel mehr gesagt als du.
Das ist großartig.
Danke, Jerry.
Das ist perfekt, Kyle. Vielen Dank für die Hintergrundinformationen. Ich empfehle Ihnen, die Publikation von Kyles Hauptautor zu lesen, um herauszufinden, welche Vorverarbeitungsschritte wir an den Daten in diesem Format vorgenommen haben, beispielsweise das Verschieben aller Daten nach oben, sodass sie immer bei 0 beginnen, und das Abschneiden der Daten nach 30 Stunden – eine willkürliche Entscheidung. Vielen Dank, Kyle.
Kyle und Kerry haben uns freundlicherweise 330 Kurven zur Analyse in diesem Datensatz zur Verfügung gestellt. Ich habe sie mir angesehen und versucht, sie visuell zu klassifizieren, um ihre Gruppierung zu erkennen. Die oben gezeigten Kurven habe ich als monophasisch-anhaltend bezeichnet, da sie ansteigen und einen asymptotischen Wert erreichen. Die anderen Kurven habe ich als monophasisch-abklingend klassifiziert, da sie ansteigen, einen Höchstwert erreichen und dann abfallen – manche stark, manche weniger stark, manche mit Schwankungen. Ein ungewöhnliches Verhalten, aber ich habe alle diese Kurven als monophasisch-abklingend eingestuft.
Diese Kurven habe ich als diauxisch klassifiziert. Alle weisen eine Wachstumsphase, eine Asymptote und anschließend eine weitere Wachstumsphase auf. Die Unterschiede können subtil oder deutlich sein, aber so sind sie. Und dann gibt es natürlich noch die Kurven ohne Wachstum.
Schauen wir uns die Daten an und versuchen wir, daraus Erkenntnisse zu gewinnen und zu sehen, wie uns der Functional Data Explorer (FDE) dabei helfen kann. FDE ist eine Funktion von JMP Pro. Die Tools, über die wir im Folgenden sprechen werden, sind größtenteils JMP Pro-Tools. Die Daten selbst enthalten eine Spalte mit der Testnummer. Testnummer 1_1. Hier ist die Zeitangabe. Wenn wir hier bis 30 Stunden scrollen, finden wir die in der Spalte OD600 erfassten Daten. Dieser erste Datensatz wurde von mir persönlich als Datensatz ohne Wachstum identifiziert.
Genau das passiert. Es gibt Test 1_1, gefolgt von 1_2 und so weiter. Unser Datensatz umfasst ungefähr 40.000 Zeilen mit rund 330 verschiedenen Tests.
Ich habe hier auch eine Spalte namens „Validierung“. Mit JMP Pro können Sie Ihre Modelle validieren. Die Validierung hat in FDE eine etwas andere Bedeutung als auf anderen JMP-Plattformen. Darauf gehen wir später noch genauer ein. Ich wollte Ihnen aber kurz zeigen, wie wir diese Validierungsspalte einrichten. Sie finden sie unter „Analysieren“, „Prädiktive Modellierung“ und „Validierungsspalte erstellen“.
Als Nächstes müssen wir JMP mitteilen, dass Gruppierungsspalten vorhanden sind. Alle 1:1-Daten sollen entweder als Trainings- oder Validierungsdaten gruppiert werden. Wir wollen keine gemischten Trainings- und Validierungsdaten innerhalb eines Tests. Dies erreichen wir, indem wir die Testnummer als Gruppierungsspalte festlegen. Außerdem möchte ich sicherstellen, dass sowohl der Trainings- als auch der Validierungsdatensatz die gleiche Anzahl bzw. den gleichen Prozentsatz an Kurven ohne Wachstum, monophasischem Absterben, monophasischem anhaltendem Wachstum und diauxischen Kurven enthalten. Dies nennt man Stratifizierung. Wenn ich meinen Datentyp hier in die Stratifizierung einfüge, ist alles erledigt.
Dann lege ich hier fest, dass 60 % der Läufe im Trainingsdatensatz und die restlichen 40 % im Validierungsdatensatz durchgeführt werden. Anschließend starten wir den Vorgang und erhalten diese Spalte, die etwa 60 % der Versuche als Trainings- und 40 % als Validierungsdaten enthalten sollte.
Jetzt lösche ich die Spalte, die ich gerade erstellt habe. Sie ordnet die Trainings- und Validierungsdaten den verschiedenen Durchläufen zufällig zu, und ich möchte sicherstellen, dass ich dieselben Durchläufe verwende wie für die Analyse im zugehörigen Paper. Ich lösche also einfach diese Spalte, die ich gerade erstellt habe – so bin ich aber darauf gekommen.
Wir können jetzt die Funktionsdaten genauer untersuchen. Analysieren, Spezialisiert, FDE. Hier müssen wir JMP die Bedeutung der verschiedenen Spalten erklären. Die Testnummer ist die ID. Die Zeit ist unsere X-Variable. OD, die Messung des Zellwachstums, ist unsere Y-Ausgabe. Ich werde den Typ als zusätzliche Variable mitführen. Er wird in dieser Analyse nicht verwendet. Ich werde ihn erst später einbeziehen. Ich führe ihn jetzt nur mit. Dann füge ich hier die Validierung hinzu und wir bestätigen.
Hier sehen Sie das Fenster des Funktionsdaten-Explorers. Die obere Grafik zeigt alle Kurven übereinander. Wenn ich sie vergrößere, werden unten alle einzelnen Kurven angezeigt. Als Erstes müssen wir im Funktionsdaten-Explorer Funktionen an jede dieser Datenkurven anpassen. Dies geschieht unter den rot markierten Modellen. Anschließend stehen uns verschiedene Optionen zur Auswahl: B-Splines, P-Splines, Fourier-Transformation und Wavelets.
Ich werde B-Splines verwenden. Sie sind recht einfach zu verstehen. Ich hätte das aber genauso gut mit P-Splines lösen können. Eine Fourier-Basis wäre angebracht, wenn meine Signale hier unten wiederkehrende Merkmale aufweisen würden. Wavelets sind sehr beliebt und werden immer beliebter, um diese oder auch Spektraldaten mit scharfen Spitzen anzupassen. Wavelets eignen sich dafür sehr gut. Ich bleibe heute aber bei den B-Splines.
JMP wird zwei Dinge tun. Es wird alle Daten durchsuchen und zwei Parameter auswählen. Einer dieser Parameter ist der Grad. Der Grad ist entweder eine Stufenfunktion oder eine Reihe von Segmenten: lineare, quadratische oder kubische Segmente, die verwendet werden, um dieses Signal in Splines zu zerlegen.
Die Splines passen nun zwischen diese Knoten. JMP bestimmt außerdem die Anzahl und Position der Knoten, um alle Funktionen hier unten optimal anzupassen. In diesem Fall hat JMP eine kubische Spline-Anpassung mit 17 Knoten gewählt. Sie können das ändern, wenn Sie möchten. Ich versuche, eine noch bessere Anpassung zu erzielen. Ich bleibe aber bei der von JMP automatisch vorgeschlagenen Einstellung.
Was macht JMP damit? Zunächst ermittelt es eine durchschnittliche Gesamtkurve. Diese Kurve ist der Durchschnitt aller Kurven, die wir uns gerade angesehen haben. Es handelt sich dabei um Formfunktionen, die auch Eigenfunktionen genannt werden. Stellen Sie sich nun vor, wir hätten einen Koeffizienten, den wir mit der höheren Formfunktion 1 multiplizieren, beispielsweise mit +2. Dann addieren wir einen weiteren Koeffizienten (-1), den wir mit Formfunktion 2 multiplizieren, und mit Formfunktion 3, den wir mit 0,5 multiplizieren, und mit Formfunktion 4, den wir mit 5 multiplizieren. Wir addieren all diese Ergebnisse – die Koeffizienten multipliziert mit den jeweiligen Funktionen – und addieren sie zur durchschnittlichen Gesamtkurve. Dadurch erhalten wir eine Art Kurve.
Die Frage ist, welche Koeffizienten vor jede dieser Funktionen gesetzt werden müssen, um jede dieser Kurven zu rekonstruieren. Da jede Kurve unterschiedlich ist, erhält man unterschiedliche Koeffizienten, die als funktionale Hauptkomponenten (FPC 1, 2, 3 und 4) bezeichnet werden. In diesem Fall sagt JMP: „Man benötigt vier funktionale Hauptkomponenten, um jede der Kurven zu charakterisieren.“
Das ist jetzt etwas kompliziert, aber im Grunde genommen charakterisieren diese vier Koeffizienten diese Kurve. Ich verwende diese vier Koeffizienten zusammen mit dem Wissen, dass wir eine Spline-Anpassung dritten Grades und 17 Knoten im Spline-Abschnitt haben. Mit diesen Informationen kann ich Kurve 1 als Kurve ohne Wachstum darstellen, und hier ist Kurve 2, hier ist Kurve 2_1.
Wenn Sie genau hinsehen – wir vergrößern das mal etwas –, sehen Sie hier die Rohdaten und die angepassten Daten. Die Rohdaten sind schwarz. Sie können hier einen kleinen Ausschnitt davon erkennen. Ich hoffe, Sie können sie erkennen. Die roten Daten sind die angepassten Daten, die Spline-Anpassung. Sie sehen, dass wir die Kurven im Verlauf der Berechnung sehr gut anpassen.
Wir benötigen diese funktionalen Hauptkomponenten, um mit der Modellierung fortzufahren. Daher wähle ich im roten Bereich „Speichern“ die Zusammenfassungen aus. Dadurch wird eine neue Datentabelle erstellt, die für jeden unserer Tests eine Zeile enthält. Hier ist Test 1_1. Ich habe ihn als Test ohne Wachstum identifiziert, daher behalten wir diesen Typ als zusätzliche Variable bei. Dort landet er. Das ist, meiner Ansicht nach, eine Kurve ohne Wachstum. Sie war im Trainingsdatensatz, nicht im Validierungsdatensatz. Hier sind die ersten vier Hauptkomponenten für diesen Test.
Dann haben wir hier noch einiges mehr: Mittelwert, Standardabweichung, Median für jede dieser Kurven. Die könnten uns nützlich sein, aber darum kümmern wir uns heute nicht. Ich werde sie einfach alle entfernen. Übrig bleiben nur diese vier Werte.
Ich habe für jeden Test ein solches Formular und meine visuelle Einschätzung dazu. Dann gibt es hier eine Spalte mit der Bezeichnung „Training“. Wenn ich weit genug nach unten scrolle, finde ich dort auch einige Validierungszeilen.
Nun stellt sich die Frage: „Kann ich ein Modell entwickeln, das die soeben ermittelten FPCs nutzt, um den Typ vorherzusagen?“ Wenn ja, wäre das großartig. Wir müssen lediglich für eine neue Kurve die FPCs kennen. Diese können wir dann in die Formel einsetzen und erhalten so eine Vorhersage des Typs.
Da wir JMP Pro verwenden und FDE nutzen, haben wir Zugriff auf JMP Pro und können die sogenannte Modellprüfung durchführen. Hier ist unsere Y-Antwort der Typ. Ich möchte wissen, ob ich den Typ vorhersagen kann. Dazu verwende ich die Validierung. Mal sehen. Ich möchte die FPCs als X-Eingaben verwenden. Mit der Modellprüfung führt JMP Pro all diese verschiedenen Modelle aus und vergleicht sie, um das beste Vorhersagemodell zu ermitteln.
Nun füge ich noch Folgendes hinzu: Einige Modelle erlauben Wechselwirkungen zwischen zwei Faktoren und quadratische Funktionen, die ich also einbeziehe. Außerdem setze ich hier einen zufälligen Startwert (2, 3, 4, 5), damit die Ergebnisse mit denen der Veröffentlichung übereinstimmen. Normalerweise würde ich das nicht tun, sondern JMP einen beliebigen Startwert berechnen lassen. Dann bestätigen wir mit „OK“.
JMP führt nun jedes dieser Modelle aus und vergleicht sie. Hier sehen Sie kurz einen Vergleich aller ausgeführten Modelle, sortiert nach dem mittleren quadratischen Fehler (RMSE). Das Modell mit dem geringsten RMSE ist ein Neural-Boosting-Modell, das zufälligerweise auch ein JMP-Pro-Modell ist. Modelle wie Entscheidungsbäume und nominale logistische Regression sind teilweise Standard-JMP-Modelle, aber der Neural-Boosting-Baum ist ein gutes Modell. Die Fehlklassifizierungsrate liegt hier bei 5 %. Das ist das beste Ergebnis aller Modelle. Darauf gehen wir gleich genauer ein.
Ich lasse das neuronale Boosting-Modell jetzt laufen, um mir die Ergebnisse anzusehen. Hier sind sie. Wir haben über die Konfusionsmatrix gesprochen. Die linke Seite zeigt die Trainingsdaten, die rechte die Validierungsdaten. Schauen wir uns die Validierungsdaten an.
Als ich einen Versuch als diauxisch einstufte, sagte das neuronal verstärkte Modell dies achtmal korrekt voraus. Einmal sagte es zudem einen anhaltenden monophasischen Verlauf voraus. Von insgesamt neun Vorhersagen lag ich also einmal falsch. Genau das machen wir hier in der Konfusionsmatrix. Idealerweise sollten all diese Werte auf der Hauptdiagonalen liegen. Einige Werte sind noch nicht ganz optimal. Das Modell ist nicht perfekt, aber ziemlich gut. Wir haben eine Trefferquote von 95 %.
Wenn Sie lieber Bruchteile statt absoluter Zahlen betrachten möchten, finden Sie diese Tabelle. Die ROC-Kurven (Receiver Operating Characteristic) sind Ihnen vielleicht schon bekannt. Interessant, aber es können auch Fehler auftreten. Nun zu diesen Fehlern … Entschuldigen Sie mich bitte einen Moment. Ich brauche diese Zahlen, um zu wissen, welche ich mit Ihnen besprechen soll.
Wenn ich zurückgehe, haben wir hier Folgendes: Ich habe monophasisches Sterben vorhergesagt, und dreimal sagte mein Algorithmus, mein neuronal verstärkter Algorithmus, dass es diauxisch sei. Neununddreißig Mal lag er richtig, dreimal sagte er diauxisch. Schauen wir uns diese drei Versuche an.
Wenn ich zu meinem Hauptdatensatz zurückkehre, sehe ich hier ein Skript, das den Graph Builder öffnet. Hier sind alle meine Kurven übereinandergelegt. Ich benötige die Kurven 124_2, 144_2 und 176_2. Diese drei Kurven habe ich ursprünglich als monophasisch eingestuft. Sie hatten einen Peak und fielen dann ab. Der Abfall war zwar gering, aber ich habe sie als monophasisch abklingend charakterisiert.
Die Routine sagte: „Nein, diese drei Kurven waren diauxisch.“ Schauen wir uns das genauer an. Die grüne Kurve hier erscheint, und tatsächlich, da ist eine kleine Unebenheit. Ich habe das mit bloßem Auge übersehen, aber JMP meinte: „Hey, ich glaube, das ist eine diauxische Kurve.“ Ist das wichtig? Ich weiß es nicht. Das müssten uns die Leute aus Kyles Firma erklären. Aber sie hat diese Kurve erkannt und gesagt: „Nein, ich glaube, die ist diauxisch.“
Wenn man sich diese beiden Kurven ganz hinten ansieht, scheint es zunächst ein gewisses Wachstum zu geben, dann ein Plateau, und anschließend eine zweite, stärkere Wachstumskurve. Vielleicht handelt es sich um diauxische Daten. Vielleicht ist JMP tatsächlich genauer, als ich es mit bloßem Auge beurteilen könnte.
Hier ist noch eine Kurve. Das ist Nummer 60_2. Wo ist sie? Da ist sie. Diese Kurve, sagte ich, zeigte ein monophasisches Absterben. Und tatsächlich, sie steigt an und fällt dann hier wieder ab. Sie beginnt zu wachsen und hört dann auf. Sicherlich ist Ihnen aufgefallen, dass der Verlauf sehr sprunghaft ist und an die Auflösung des Messgeräts stößt. Kurz gesagt: Wir befinden uns hier weit unten auf der Skala. Diese Kurve hat nie richtig begonnen. JMP hat also gesagt: „Nein, das ist keine Wachstumskurve.“ Das ist ziemlich gut. Sie wurde übersehen, aber nur, weil sie so klein ist, dass sie praktisch nicht messbar ist. Ich fand diese Ergebnisse interessant.
Wir haben jetzt ein Modell. Sehen Sie, ich kann den Graph Builder schließen. Wir haben ein Modell, dieses neuronal verstärkte Modell, mit dem wir die Fehlklassifizierungsraten untersuchen können. Aber was machen wir, wenn wir neue Daten haben? Etwas, das ich Ihnen vorhin noch nicht erwähnt habe: Im ursprünglichen Datensatz hier unten, in Zeile 190 – Moment, da ist es ja – 191, wollte ich diese eigentlich ausblenden und ausschließen, aber das ist in Ordnung, sie sind ausgeschlossen.
Nehmen wir an, die Daten im Lauf 191_2 sind neu. Sie waren im vorherigen Lauf bzw. in der vorherigen Analyse nicht enthalten. Ich wähle „Übereinstimmende Zellen“ aus und lösche die Auswahl. Mal sehen. So. Jetzt möchte ich den Vorgang wiederholen. Für den Algorithmus sind dies nun neue Daten. Es handelt sich ohnehin um eine monophasische, visuell beurteilte Analyse. Mal sehen, was JMP damit macht. Wie komme ich dorthin? Ich gehe genauso vor.
Ich muss unbedingt darauf achten, dass alle Trainingsdatensätze noch vorhanden sind, da ich die FDE-Modellierung mit speziellen Methoden durchführe. Ich klicke einfach auf „Speichern“. Die Einstellungen sind unverändert. Ich bestätige mit „OK“ und führe dieselbe B-Spline-Anpassung durch. Dabei erhalte ich exakt dieselben Ergebnisse; die Anpassung basiert also ausschließlich auf den Trainingsläufen.
Jetzt brauche ich diese funktionalen Zusammenfassungen, die FPCs. Genau dafür brauche ich sie… Wo sind sie denn hin? Ach, ganz unten. 191_2. Ich brauche diese funktionalen Hauptkomponenten. Wenn ich die kenne, kann ich sie in die Formel des neuronalen Netzes einsetzen und eine Vorhersage erhalten. Anstatt zu versuchen, sie zu kopieren und einzufügen, speichere ich sie einfach nochmal.
Dann gehe ich hier ganz nach unten zu 191_2, das ist genau hier in dieser Zeile. Ich brauche diese vier Zahlen. Das sind die funktionalen Hauptkomponenten für diesen neuen Versuch. Ich kopiere sie mit Strg+C. Oh, mal sehen, ich habe etwas vergessen. Ich habe einen Schritt ausgelassen. Nachdem wir dieses Modell haben, müssen wir es auch speichern. Ich speichere die Formeln zurück in die Datentabelle. Jetzt habe ich hier in der Datentabelle, wo auch immer sie gespeichert wurden, viele zusätzliche Spalten.
Das ist unser Ausgangspunkt, die vier FPCs, und jetzt haben wir hier rechts all diese zusätzlichen Spalten. Sie enthalten die Formeln des neuronalen Netzes. Jede Spalte enthält kleine Berechnungen, die dann hier zusammengefasst und gruppiert werden, um die Wahrscheinlichkeit für jeden Kurventyp zu ermitteln. Schließlich wird der Kurventyp mit der höchsten Wahrscheinlichkeit hier angezeigt.
Ich muss lediglich die Zahlen für 191_2 kopieren und zu diesem Datensatz zurückkehren. Ganz unten angekommen, erhalte ich 191_2. Da es sich um einen neuen Datensatz handelt, wüsste ich normalerweise nicht, was er ist. Ich füge die Zahlen einfach hier ein, und JMP berechnet die verschiedenen Spalten, analysiert sie und bestätigt schließlich, dass es sich um einen monophasischen Sterbedatensatz handelt, was auch stimmt. So habe ich es visuell beurteilt. Sie könnten beliebig viele neue Datensätze erstellen, die funktionalen Hauptkomponenten ermitteln, diese hier einfügen – fertig.
Kehren wir zum Journal zurück und fassen wir zusammen: Der Functional Data Explorer kann in Kombination mit anderen Modellierungswerkzeugen in JMP Pro zur Charakterisierung von Kurven verwendet werden. Ich habe eine Genauigkeit von 95 % erreicht, aber es gibt Möglichkeiten, diese potenziell noch weiter zu verbessern. Der resultierende Modellierungsprozess kann zur Vorhersage dieser neuen Kurventypen genutzt werden, was Zeit spart und Fehler vermeidet. Die einzelnen Schritte sind im zugehörigen Artikel detailliert beschrieben.
Mögliche Modelle für jedes… Nein, tut mir leid, ich habe ein paar Folien in der falschen Reihenfolge. Für die zukünftige Arbeit empfehle ich, die Daten vorab auf fehlendes Wachstum zu prüfen. Wenn OD600 einen Wert von 0,05 nicht überschreitet, liegt offensichtlich kein Wachstum vor. Diese Daten können wir getrost verwerfen. Wir müssen sie nicht weiter berücksichtigen.
Experimentieren Sie mit verschiedenen Spline-Typen, Komplexitätsgraden und Knotenanzahlen und erstellen Sie anschließend ein Skript, um all diese Schritte zu automatisieren. Das ist durchaus machbar. Dadurch ließe sich der Prozess erheblich beschleunigen.
Sobald Sie diese Kurven haben, können Sie – falls es sich um eine monophasische, anhaltende Kurve handelt, wie die erste, die wir gezeigt haben – diese in JMP mit der Funktion „Kurve anpassen“ berechnen. Sie erhalten dann die folgende Gleichung und können daraus die Verzögerungszeit, die maximale Wachstumsrate und die Asymptote für die Parameter A, B und C bestimmen.
Bei einer diauxischen Kurve könnte man so vorgehen. Es handelt sich dabei im Prinzip um die Addition zweier monophasischer Kurven. Die nichtlineare Plattform von JMP lässt sich dafür nutzen. Wie bereits erwähnt, wird bei keinem Wachstum ein Grenzwert festgelegt. Ist OD600 an allen Punkten des Simulationslaufs kleiner als 0,05, spricht man von keinem Wachstum.
Dann gibt es für das monophasische Sterben verschiedene Möglichkeiten. Eine davon, die ich verwendet habe, war, die ursprüngliche monophasische, anhaltende Funktion, die sich einer Asymptote annähert, mit einer linearen, zeitabfallenden Funktion zu multiplizieren. Dadurch ergibt sich eine Steigung. Anschließend kann der nichtlineare Löser M, A, B und C berechnen.
Das war unsere Sendung. Wie bereits erwähnt, gibt es eine beigefügte PDF-Datei mit allen Schritten. Wir hoffen, sie ist hilfreich für Sie. Vielen Dank an meinen Co-Moderator Kyle. Bis zum nächsten Mal! Bleiben Sie gesund!