Fujifilm Diosynth Biotechnologies ist ein Auftragsentwicklungs- und -fertigungsunternehmen (CDMO) mit einer eigenen Abteilung für Prozesscharakterisierung, die sich auf die Durchführung von Prozesscharakterisierungsstudien (PCS) spezialisiert hat. Ziel der PCS ist es, nachzuweisen, dass die Prozesse unserer Kunden gegenüber Änderungen der Parametereinstellungen oder ihrer normalen Betriebsbereiche robust sind.
Prozessleistungszentren nutzen häufig Versuchsplanung (Design of Experiments, DOE), um die Auswirkungen von Prozessparametern auf Qualitätsmerkmale (Quality Ability, QA) und Prozessleistungsindikatoren (Process Performance Indicators, PPI) zu untersuchen. Die DOE-Analyse ist ein nützliches Werkzeug zur Identifizierung der Einflussfaktoren auf QA/PPI, jedoch hauptsächlich quantitativ.
Zusätzlich zur traditionellen Versuchsplanung (DOE) ermöglicht die Berechnung des Wirkungsverhältnisses (IR) für jeden Eingangsparameter eine quantitative und qualitative Bewertung und kann bei der Einstufung eines Parameters als kritisch oder nicht kritisch helfen. Das Wirkungsverhältnis gibt die Effektstärke innerhalb eines akzeptablen Bereichs an.
Die manuelle Durchführung der Berechnungen ist zeitaufwändig und fehleranfällig. Wir stellen ein Automatisierungstool vor, das die benötigten Informationen aus einem DOE-Modell extrahieren und den IR berechnen kann. Über eine Benutzeroberfläche kann der Benutzer die Berechnungsmethode anpassen.
Hallo zusammen! Ich freue mich sehr, heute mit meinem Kollegen Sam hier zu sein. Wir sprechen heute über Wirkungsverhältnisse. Genauer gesagt: Welchen Einfluss haben die Faktoren Ihrer Versuchsplanung auf die Ergebnisse bzw. Reaktionen? Ich stelle Ihnen das Konzept, die Berechnungen und Beispiele in JMP vor und übergebe dann an Sam, der Ihnen die Automatisierung dieses Prozesses mit JSL zeigt und Ihnen erklärt, wie er dies in einem Add-in umgesetzt hat.
Zunächst einmal ein Geständnis: Ich wollte diesen Vortrag eigentlich „Was haben Prozesscharakterisierungswissenschaftler mit NASA-Wissenschaftlern gemeinsam?“ nennen. Aber der Zusammenhang war zu vage, und vielleicht wäre es auch etwas verwirrend gewesen. Trotzdem verwende ich die Konzepte hier. Deshalb haben wir auf der ersten Folie Meteoritenbilder. Das ist meine Metapher. Ich betrachte die Einschlagkrater und vergleiche sie mit den Einschlagsverhältnissen, weil wir auch ein bisschen Spaß haben wollen.
Was geschieht hier? Wir haben einen sehr ähnlichen Meteoriten, der auf die Erde, den Mars oder den Mond stürzen könnte, und die Bedingungen wären völlig anders. Hier gibt es zunächst einmal eine Atmosphäre – oder nur eine sehr dünne oder gar keine –, was die Explosion und damit das Verhalten des Meteoriten beeinflusst. Wenn er auf der Erde wäre, könnte der entstehende Einschlagkrater massive Auswirkungen auf die Umgebung haben, denn auf der Erde leben Menschen.
Vor diesem Hintergrund: Was erwartet uns heute? Wir betrachten eine weitere statistische Kennzahl. Statistiker lieben Kennzahlen. Anschließend sehen wir uns an, was die Auswirkungskennzahl genau misst. Dann beantworten wir die Frage: „Kann ich das in JMP berechnen?“ Die Antwort lautet: Ja, natürlich, und zwar auf verschiedene Arten. Sie können es auf die umständliche, manuelle Art und Weise tun – ich zeige Ihnen das. Diesen Schritt überspringen wir aus Zeitgründen, aber wir haben einen Workflow erstellt, der die Tabellenverwaltung vereinfacht.
Dann übergebe ich an Sam, der Ihnen die einfache Berechnung des Auswirkungsverhältnisses mithilfe seines JMP-Add-ins zeigt. Hier sehen Sie eine einfache Skizze von mir, die Ihnen etwas veranschaulicht, das Sie wahrscheinlich schon oft gesehen haben: eine Kontrollkarte, die in der Welt der Statistik allgegenwärtig ist. Hier sehen Sie einen Ausgabewert, der sich im Laufe der Zeit ändert, beispielsweise wenn wir weitere Chargen erstellen.
Dieses Diagramm zeigt verschiedene Zonen. Im blauvioletten Bereich befindet sich unser Output. Da es sich um normalverteilte Daten handelt, können wir vorhersagen, wie sich der Output im Laufe der Zeit entwickeln wird. Statistiken geben uns eine Prognose darüber, wie groß dieser blaue Bereich werden könnte. Im grünen Bereich zwischen zwei Spezifikationen befindet sich eine vom Kunden vorgegebene Sicherheitszone. Kunden geben uns in der Regel Spezifikationen vor, oder wir haben beispielsweise im Rahmen der Entwicklungsarbeit Akzeptanzkriterien ermittelt.
Unser Ziel ist es, sicherzustellen, dass sich unser Prozess innerhalb des sicheren Bereichs befindet, wenn wir die Prozesssteuerung durchführen. Eine Kennzahl, die hierfür verwendet wird, ist der Fähigkeitsindex. Ähnlich wie der CPK- oder der PPK-Index setzt er diesen Bereich ins Verhältnis zum grünen Bereich. Er ist der Auswirkungskennzahl am ähnlichsten. Hier sehen wir fast die gleiche Grafik. Man erkennt, dass ich dieselbe Zeichnung wiederverwendet habe. Der einzige Unterschied besteht darin, dass wir diesmal nicht die Streuung der Daten, sondern deren Form vorhersagen. Wir modellieren, was mit einem bestimmten Ausgabewert passiert, wenn man den Eingabewert ändert und ihn von niedrig auf hoch verschiebt.
So würden Sie vorgehen, wenn Sie eine Versuchsplanung (DoE) durchführen und die Betriebsbedingungen systematisch ändern. Insbesondere bei der Prozesscharakterisierung stellt dieser Bereich zwischen Minimum und Maximum einen akzeptablen Bereich dar. Am Ende haben wir eine Gleichung mit einer blauen Zone – dem vorhergesagten Minimum-Maximum-Bereich unserer Zielgröße – und einer grünen Zone, die den akzeptablen Bereich für ein qualitativ hochwertiges Endprodukt definiert.
Wir prüfen erneut, ob die Abweichung einen akzeptablen Anteil unseres sicheren Bereichs einnimmt. Dieses Wirkungsverhältnis hilft uns, die Auswirkungen verschiedener Faktoren zu vergleichen, da wir für alle Faktoren ein solches Modell erhalten. Es könnte auch als Kriterium für die Klassifizierung dieser Faktoren dienen, falls dies Teil eines Versuchsdesigns ist. Was misst dieses Wirkungsverhältnis eigentlich? Sie hatten bereits auf der vorherigen Folie einen Hinweis darauf, aber wir kehren zu Meteoriten zurück.
Unsere NASA-Wissenschaftler haben zwei Dinge berechnet: den Einschlagort des Meteoriten und den Radius des Kraters. Sie sagten, solange wir uns innerhalb der grünen Sicherheitszone befinden, sei alles außerhalb der Zone in Ordnung. Natürlich träfe das bei einem Meteoriten nicht zu, aber bleiben Sie kurz bei mir. Wir setzen hier im Grunde den Radius des Kraters ins Verhältnis zum Radius der Sicherheitszone. Wir hoffen, dass dieser Wert viel kleiner ist als der vorherige. Dass die Sicherheitszone im Vergleich zum Einschlagkrater sehr groß ist.
Nun, es könnte sein, dass wir uns geirrt haben. Die NASA-Wissenschaftler sagten voraus, der Meteorit würde hier einschlagen, aber er schlug hier ein. Obwohl der Sicherheitsbereich wahrscheinlich groß genug für einen zentrierten Meteoriten/Prozess war, liegt der Einschlagkrater in diesem Fall deutlich außerhalb des Sicherheitsbereichs. Hoffentlich wohnen Sie nicht in der Nähe. Eine andere Möglichkeit – und es gibt viele weitere – wäre, dass wir zwar im Zielbereich liegen, aber den Krater falsch berechnet haben. Der Krater ist viel größer als angenommen. Auch er liegt außerhalb des Sicherheitsbereichs, und der Radius des Sicherheitsbereichs ist sogar kleiner als der des Kraters. Dies ist nur eine Abbildung. Schauen wir uns an, wie das in einem Diagramm aussehen würde. Dasselbe Diagramm noch einmal, diesmal mit zusätzlichen Pfeilen und Gleichungen.
Vereinfacht ausgedrückt: Das Wirkungsverhältnis setzt die Effektstärke ins Verhältnis zum Abstand zur Spezifikation oder zum Akzeptanzkriterium. Die Effektstärke wird hier durch die dünnen blauen und orangen Pfeile dargestellt. Sie entspricht dem Abstand zwischen der minimalen bzw. maximalen Vorhersage und dem Mittelpunkt. Dieses Verhältnis setzen wir ins Verhältnis zum Abstand vom Mittelpunkt zur Spezifikation auf beiden Seiten. In diesem Fall nimmt dieser Abstand 70 % unserer Sicherheitszone ein. Das ist kein gutes Wirkungsverhältnis. Selbst 40 % sind noch ein recht hoher Wert. Um fair zu sein, nehmen wir den höheren der beiden Werte, also 70 %.
Das ist meine Handzeichnung. Schauen wir uns nun ein Sprungdiagramm an. Dieses Sprungdiagramm ist nur ein Teil eines Profilers, den man am Ende einer Versuchsplanungsanalyse (DoE) erhält. In diesem Fall gibt es eine leichte Krümmung, aber die Zonen sind gleich. Wenn wir das Verhältnis der Auswirkungen zum Minimum berechnen wollen, ergibt sich, dass der Wert vom Minimum zur Mitte etwa 42 % des Wertes vom Minimum zur Spezifikation ausmacht. Auf der anderen Seite beträgt die Vorhersage für den Wert vom Minimum zum Maximum nur etwa 7 % unserer Sicherheitszone.
Dennoch müssen wir diese Zahl melden, sie ist also immer noch recht hoch. Die Frage, die wir hier beantworten wollen, ist: Liegen wir mit geringen Auswirkungen im Vergleich zu dem, was akzeptabel ist, im Zielbereich? Ich werde nun von hier abschalten und in JMP die manuelle, etwas umständliche Vorgehensweise zeigen. Hier haben wir ein Standard-DoE-Modell mit fünf Faktoren. Wir haben hier nur vier Antworten dargestellt. Da alles anonymisiert ist, wirken die Zahlen etwas ungewöhnlich, weil sie alle zwischen minus eins und eins liegen.
Aber worauf wir hier hinauswollen, ist, dass wir Antwortgrenzen festlegen, um mit den Zielwerten für diese Antworten zu experimentieren. Wir maximieren die meisten Werte, beispielsweise für Verunreinigungen, die minimiert werden sollen, und es ist uns vielleicht gar nicht wichtig, wie hoch sie maximal sein können. Ich werde jetzt nicht auf die Modellierung eingehen, da das nicht unser Thema ist. Entschuldigung. Falsches Skript. So, jetzt haben wir es. Wir haben das bereits angepasst, und das ist das Beispiel aus meinen Notizen, also werde ich es verwenden.
Hier verwenden wir den Profiler, um alle benötigten Werte für unsere Gleichung zu erhalten. Wir stellen den Mittelpunkt ein und speichern diesen Wert. So. Das sind die Mittelpunktbedingungen. Alles ist hier auf Mittelpunkt eingestellt. Ich lasse JMP diese Einstellung speichern. Ich nenne das „Lastom Center Point“, da mich die Last hier interessiert. Das ist mein erster Wert. Manuell bräuchte ich hier keine Hilfe von JMP. Bei diesen beiden Werten ist alles auf Mittelpunkt eingestellt. Ich könnte diesen Wert hier einfach auf das Minimum verschieben und ihn erneut als Minimalwert speichern. Das ist meine minimale Last.
Für das Maximum ist es etwas kniffliger. Ich könnte es so versuchen: Ich könnte den Wert vergrößern und versuchen, hier das Maximum zu erreichen. Aber ich vertraue in diesem Fall auf JMP. Ich drücke Strg + Alt, klicke auf die beiden anderen Diagramme und fixiere die Faktoreinstellungen auf dem Mittelpunkt. Denn mich interessiert nur, wie sich die Last verhält und welchen Maximalwert sie erreicht, wenn alle anderen Werte konstant bleiben. Anschließend verwende ich den Maximierer in JMP.
So, das hätte ich auch manuell erreichen können, aber jetzt weiß ich, dass es genau das Maximum ist. Ich speichere das auch ab. Wir haben das Maximum. Jetzt habe ich fast alles, was ich brauche. Wenn man das manuell macht, muss man das für jeden Faktor oder Gleichungsparameter in dieser Liste und für jede Zielgröße tun. Bei größeren Modellen mit vielleicht 5–10 Zielgrößen wird das schnell sehr aufwendig.
Dann müssten Sie all diese Daten in eine Tabelle exportieren. Das wäre hilfreich, wenn Sie viele Tabellen hätten, aber ich habe nur eine, also mache ich es so. Hier haben Sie alle benötigten Informationen im falschen Format. Wir müssen herausfinden, wo diese Daten stehen. Außerdem benötigen wir diese Zahl hier. Normalerweise würde man hier die Transponierungsfunktion verwenden, aber ich werde das nicht tun, da ich es bereits erledigt habe. Ich wollte Ihnen das nur kurz zeigen. Warum funktioniert es nicht? Hier haben wir die transponierten Daten. Wir haben hier alle Bezeichnungen aus der Tabelle.
Manuell müssten wir unsere unteren und oberen Spezifikationen addieren. Aus diesen Werten, dem Minimum, Maximum und dem CP können wir den Zähler und den Nenner der Verhältnisse sowie die Verhältnisse selbst berechnen. Das Verhältnis der kleinen zur großen Distanz ergibt das Verhältnis für die geringe Auswirkung. Anschließend berechnet man mit einer Formel den Maximalwert der beiden Werte und muss dies für jedes Verhältnis wiederholen. Ich übergebe nun an Sam, der Ihnen zeigen kann, wie viel einfacher das mit einem entsprechenden Add-in geht. Sam?
Danke, Gwen. Wie Gwen bereits erwähnt hat, haben wir uns entschieden, ein Add-In zu erstellen, um diese Aufgabe zu automatisieren. Ich zeige Ihnen kurz, wie das Add-In funktioniert. Ich verwende dieselbe Datentabelle, mit der Gwen gerade gearbeitet hat. Wir haben uns für ein Add-In entschieden, weil es die Sache einfacher macht, als ein Skript direkt aus dem Skriptfenster auszuführen. Ein weiterer Vorteil eines Add-Ins ist, dass beim Überfahren des Namens mit der Maus ein Tooltip angezeigt wird. In diesem Fall zeigt der Tooltip das richtige Fenster an, aus dem das Add-In ausgeführt werden muss.
Wenn ich darauf klicke, passiert tatsächlich nichts, da ich mich an der falschen Stelle befinde. Öffne ich nun das Skript mit den zuvor erstellten Modellen, kann ich es ausführen, und es läuft einwandfrei. Zunächst werden dem Benutzer Fenster mit Anweisungen und anschließend Eingabefelder angezeigt. Das erste Fenster enthält lediglich Anweisungen zu den Anforderungen an die zugrunde liegende Datentabelle.
Beispielsweise müssen die Faktorspalten codiert und alle Einheiten als Spalteneigenschaften eingegeben werden. Falls dies für eine der Spalten nicht zutrifft, können Sie einfach auf „Abbrechen“ klicken, und ich kann die Änderungen später vornehmen. In diesem Fall weiß ich jedoch, dass alle Spalten korrekt codiert sind. Ich klicke erneut auf „Ausführen“ und anschließend auf „OK“. Im nächsten Fenster befindet sich der Bereich zur Eingabe der Faktoreinstellungen. Sie werden feststellen, dass wir hier ein Eingabefeld für kategoriale Faktoren haben.
Für einen kategorialen Faktor lässt sich kein Wirkungsverhältnis berechnen. Da jedoch alle in den Modellen enthaltenen kategorialen Faktoren auf einen bestimmten Wert festgelegt werden müssen, kann der Benutzer diesen hier eingeben. Für die übrigen, im Rahmen des Versuchsdesigns (DoE) bewerteten kontinuierlichen Faktoren gibt es einen Bereich zur Eingabe der entsprechenden Werte. Das Skript liest die Minimal- und Maximalwerte automatisch aus der Tabelle ein. Außerdem berechnet es den Mittelpunkt, indem es die Mitte zwischen Minimal- und Maximalwert ermittelt.
In manchen Fällen liegt der Mittelpunkt jedoch nicht exakt in der Mitte des Bereichs. Dies war hier bei der Last der Fall, daher ändere ich den Wert auf 20. Alle diese Werte können bearbeitet werden. Der Vorteil dieser Änderungsmöglichkeit besteht darin, dass wir, falls die Addition zu hohe Wirkungsverhältnisse für einige Faktoren ergibt, die Addition einfach wiederholen und die Werte anpassen können. Beispielsweise können wir einen reduzierten Faktorbereich auswerten und prüfen, ob sich das Wirkungsverhältnis im neuen Bereich verbessert.
Ich lasse die übrigen Werte unverändert und klicke auf OK. Im letzten Fenster können Sie dann die Akzeptanzkriterien für die Reaktion eingeben. Diese Werte trage ich jetzt ein. Gibt es nur ein Kriterium, können Sie eines eingeben und das andere leer lassen. Falls Sie keine Kriterien haben, können Sie beide Felder leer lassen; das Skript berechnet trotzdem das Auswirkungsverhältnis. In diesem Fall entspricht es der prozentualen Differenz zwischen der Sollwertreaktion und der minimalen bzw. maximalen Vorhersage. Die praktische Aussagekraft ist zwar nicht ganz dieselbe, aber das Skript berechnet den Wert trotzdem.
Wenn ich jetzt auf OK klicke, sehen Sie, dass die Zusammenfassungstabelle generiert wurde. Wenn ich jedoch zum Fenster zurückkehre, in dem ich das Add-In ausgeführt habe, sehen Sie, dass die Einstellungen unter jedem Vorhersageprofil gespeichert wurden. Dies sind die Einstellungen, die verwendet wurden, um die minimalen und maximalen Vorhersagewerte für jeden Faktor im Modell zu ermitteln. Das ist hilfreich, um die Berechnungen später nachvollziehen zu können. Es ist gut, das überprüfen zu können.
Ich gebe Ihnen nun einen kurzen Überblick über die Funktionsweise des Skripts. Zunächst durchläuft das Skript jedes Antwortmodell im Fenster. Anschließend wird die Zielfunktion so eingestellt, dass die Antwort maximiert wird. Danach durchläuft das Skript jeden Term im Modell. Beim ersten Term, in diesem Fall der Last, werden die Faktoreinstellungen freigegeben, sodass dieser frei verändert werden kann. Alle anderen Faktoren werden dann auf ihren Sollwerten fixiert. Anschließend führt das Skript die Funktion „Maximieren und Speichern“ aus. Sie sehen nun, dass diese Einstellung unter dem Profiler gespeichert wurde und dass wir die Antwort in diesem Fall durch die Änderung des Lastfaktors maximiert haben.
Anschließend wird dieser Vorgang für jeden Term im Modell wiederholt. Danach wird die Zielfunktion so eingestellt, dass die Zielgröße minimiert wird, und dieser Prozess wird erneut durchgeführt. Jeder Term wird dann erneut ausgewertet, um die minimale Vorhersage zu erhalten. Schließlich werden alle gespeicherten Einstellungen aktualisiert, sodass die Bezeichnung aussagekräftig ist. Anschließend wird der Faktorname angezeigt und angegeben, ob die Zielgröße minimiert oder maximiert werden sollte. Dieser gesamte Prozess wird schließlich für jedes im Fenster enthaltene Zielgrößenmodell wiederholt. So funktioniert das Skript. Ich schaue mir nun die ausgegebene Zusammenfassungstabelle an.
Hier sehen Sie, dass alle Daten erfasst und in dieser Tabelle ausgegeben werden. Jede Zeile enthält einen bestimmten Faktor für jedes ausgewertete Antwortmodell. Es gibt Spalten für die vom Benutzer eingegebenen Akzeptanzkriterien. Anschließend folgen Spalten mit der Vorhersage bei den Sollwerteinstellungen sowie der minimalen und maximalen Vorhersage für jeden Faktor innerhalb des jeweiligen Antwortmodells. Die restlichen Spalten enthalten Formeln. Hier sehen wir die Differenz zwischen der minimalen Vorhersage und der Sollwertvorhersage sowie analog die Differenz zwischen der maximalen Vorhersage und der Sollwertvorhersage.
Die letzten beiden Spalten enthalten die berechneten Auswirkungsverhältnisse. Es gibt das untere und das obere Auswirkungsverhältnis. Da wir nur ein Kriterium haben – in diesem Fall die Verunreinigung – und somit nur ein oberes Akzeptanzkriterium, berechnen wir auch nur das obere Auswirkungsverhältnis. Die letzte Spalte zeigt das Gesamtauswirkungsverhältnis. Dies ist einfach das Maximum aus unterem und oberem Auswirkungsverhältnis. Zum Abschluss dieses Vortrags fasse ich die Vorteile der Verwendung eines Add-ins zur Automatisierung dieser Aufgabe zusammen und komme zum nächsten Punkt.
Erstens ist die Verwendung des Add-Ins deutlich schneller als die manuelle Durchführung. Zweitens lässt sich die Aufgabe dadurch viel einfacher wiederholen. Wie bereits erwähnt, können Sie, falls die Ergebnisse des Add-Ins zu hoch sind, dieses einfach erneut ausführen, die Faktoreinstellungen anpassen und prüfen, ob Sie akzeptable Ergebnisse erzielen. Schließlich sinkt das Fehlerrisiko erheblich, da keine Datenübertragung oder -manipulation erforderlich ist. Das Skript sammelt alle Daten und trägt sie in eine Ausgabetabelle ein.
Okay, vielen Dank. Damit ist mein Teil des Vortrags beendet. Ich übergebe nun an Gwen, die das Ganze zusammenfassen wird. Danke.
Ergänzend zu Sams Ausführungen bietet das Add-in den großen Vorteil, dass Sie die Berechnungen wiederholen und die Eingaben in den ersten Tabellen anpassen können. Sie könnten beispielsweise die Faktoreinstellungen ändern, um den von Ihnen festgelegten zulässigen Bereich – vermutlich etwas außerhalb Ihres normalen Betriebsbereichs – darzustellen. Außerdem könnten Sie Ihre Spezifikationen oder Akzeptanzkriterien überarbeiten. Bei sehr hohen Auswirkungsverhältnissen wäre Ihre Sicherheitszone möglicherweise etwas zu klein für einen sicheren Betrieb.
Sie könnten die Spezifikationen erweitern und prüfen, ob sich Ihre Einflussquoten verringern. Dies könnte als Begründung für eine Änderung der Akzeptanzkriterien dienen. Außerdem können Sie die Einflussquoten gemeinsam als Kriterium zur Klassifizierung Ihrer getesteten Prozessparameter verwenden. Ein Prozessparameter könnte am Ende der Versuchsplanung als kritisch, hochkritisch oder unkritisch eingestuft werden, weil seine Auswirkung sehr gering ist. Damit wäre unser heutiger Beitrag zu den Einflussquoten abgeschlossen. Wir stehen Ihnen gerne für Fragen zur Verfügung. Vielen Dank.