Einführung
Stabilitätsanalysen sind in letzter Zeit zu einem heißen Thema geworden. Ich bin mir ehrlich gesagt nicht sicher, warum, aber die Anzahl der E-Mails, die ich in meinem Posteingang gesehen habe, ist unbestreitbar. Ein häufiges Thema bei Fragen zur Stabilitätsanalyse ist die Frage der zufälligen Chargenstabilitätsanalyse. Die Fragen lauten in der Regel etwa so: „Können wir die Stabilität (oder Haltbarkeit) eines Produkts in JMP untersuchen und die Auswirkungen mehrerer zufällig ausgewählter Chargen in der Untersuchung berücksichtigen?“
Die kurze Antwort lautet: Ja, das können wir, mit ein wenig Hilfe von … Mathematik.
über GIPHY
Aber keine Angst! Die Mathematik, um die es geht, mag zwar erschreckend aussehen, ist es aber nicht. Und ich war nett und habe ein Add-In daraus gemacht, um zu helfen. Wenn Sie also möchten, können Sie einfach zum Ende springen, wo ich Ihnen das Add-In zeige, und mit dem Wissen fortfahren, dass die von uns verwendete Mathematik hier dokumentiert ist. Das ist doch ein schöner Gedanke, nicht wahr?
Geben wir unserer Mathe-Angst also einen Keks und vertreiben sie ins Bett, während wir uns ansehen, wie wir mit diesem sehr interessanten Problem umgehen können.
Warum ist das notwendig?
Lassen Sie uns zunächst darüber nachdenken, was wir sagen. Stabilitäts- oder Haltbarkeitsanalysen sind im Grunde ein Schutz gegen die Tendenz organischer Moleküle (wie Medikamente oder Lebensmittel), sich im Laufe der Zeit zu zersetzen. Dabei geht es um die Frage: „Wie viel Zersetzung kann ich akzeptieren, bevor das Produkt die gewünschte Wirksamkeit verliert oder unverkäuflich wird?“ (Randbemerkung: Ich werde dies im Kontext der Arzneimittelentwicklung erläutern, aber die Konzepte sind auf viele verschiedene Bereiche anwendbar.) Die Herausforderung besteht darin, dass wir im Allgemeinen denken, wir müssten dieses Problem in verschiedenen Phasen der Produktentwicklung unterschiedlich angehen. (Die Wahrheit ist etwas differenzierter, aber wir verwenden sie für den Moment als Arbeitsannahme.)
Bei neuen Produkten verfügen wir möglicherweise noch nicht über viele Chargen oder Stapel des Materials. Daher müssen wir mehrere Proben aus derselben Charge entnehmen und diese im Laufe der Zeit verfolgen, um festzustellen, ob die anfängliche Schätzung der Stabilität des Produkts zutrifft. Wenn wir ein Produkt von der Entwicklung in die Produktion überführen, haben wir mehr Möglichkeiten, Proben aus verschiedenen Chargen zu entnehmen. Das ist großartig, weil es ein realistischeres Bild des Materialsverhaltens liefert, führt jedoch zu Komplexität in Form von Abweichungen von Charge zu Charge oder von Stapel zu Stapel. Daher benötigen wir in verschiedenen Phasen des Produktlebenszyklus unterschiedliche Methoden zur Handhabung des Problems.
Für den ersten Fall verfügen wir über ein Tool (derzeit auf der Degradationsplattform vorhanden), das den ICH-Richtlinien ( Link ) für eine Stabilitätsstudie einer einzelnen Charge folgt.
Im zweiten Fall bedeutet diese Variation von Batch zu Batch, dass wir einen speziellen Modelltyp verwenden müssen, der in JMP als gemischtes Modell bezeichnet wird. Wenn das beängstigend klingt, atmen Sie tief durch, es wird kein Problem sein. Gemischte Modelle sind wahrscheinlich der intuitivste Modelltyp (konzeptionell), auf den Sie stoßen werden. Die Mathematik ist ein wenig haarig, aber konzeptionell sind Menschen darauf programmiert, die Welt auf eine Weise anzugehen, die gemischten Modellen nahe kommt.
Das gemischte Modell zur Chargenstabilität
Beginnen wir mit einem einfachen Beispiel: Wenn wir 10 Tüten Kekse aus derselben Produktionsstätte, aber aus unterschiedlichen Zeitpunkten hätten, würden wir erwarten, dass die Kekse innerhalb einer gewissen Toleranz für Abweichungen konsistente Eigenschaften aufweisen. Bei diesem letzten Teil kommt das gemischte Modell ins Spiel. Wenn uns die Ursachen dieser Abweichungen um den allgemeinen Trend herum egal wären, könnten wir sie einfach zusammenfassen und erwarten, dass einige Kekse anderen etwas überlegen sind. Wenn wir jedoch diese Abweichungsquellen untersuchen möchten (z. B. welcher Ofen verwendet wurde, Zutatenlieferanten usw.), könnten wir sie als feste Effekte in das Modell aufnehmen. Im Fall der Kekstüten selbst interessieren uns die 10 spezifischen Tüten, die wir gezogen haben, nicht, aber wir möchten sie verwenden, um die Variabilität ALLER Tüten in der Produktion abzuschätzen, also verwenden wir eine Modellkomponente für diesen Zufallseffekt.
Nehmen wir ein Beispiel aus der Biotechnologie. Wenn wir ein Material oder Medikament in Chargen herstellen und die Ausgangsstoffe für diese Chargen Schwankungen aufweisen, gehen wir davon aus, dass es von Charge zu Charge kleine Schwankungen geben wird, mit denen wir zu kämpfen haben.
In herkömmlichen Modellen fassen wir diese Variation im Fehlerterm für das Modell (ϵ) zusammen:

Mit gemischten Modellen versuchen wir, die Beiträge dieser Zufallseffekte herauszufinden, um besser zu verstehen, woher die Variabilität stammt. Sie haben diese Ideen vielleicht schon einmal gesehen, da sie in geplanten Experimenten als Zufallsfaktoren auftauchen, die die REML-Anpassungsmethode (Restricted Maximum Likelihood) verwenden. Eine falsche Definition der Variabilität kann zu ungenauen statistischen Tests und infolgedessen zu schlechten Geschäftsentscheidungen führen.

Haltbarkeit und gemischte Modelle
Was hat das alles nun mit der Berechnung der Haltbarkeit zu tun? Um die Haltbarkeit zu bestimmen, sammeln wir entweder Daten über den Abbau des Wirkstoffs in einer Probe oder über die Zunahme von Verunreinigungen im Laufe der Zeit und entwickeln daraus ein einfaches lineares Modell. (Randbemerkung: Bei der Betrachtung nichtlinearer Modelle gibt es in diesem Bereich noch eine Reihe weiterer Probleme, aber darauf gehen wir diesmal nicht ein.) Anschließend verwenden wir das lineare Modell, um zu extrapolieren, wann der betreffende Parameter eine vorgegebene Spezifikationsgrenze überschreitet, z. B. wenn wir zu wenig Wirkstoff oder zu viele Verunreinigungen haben.
Für den Fall einer einzelnen Charge, in der wir einen Wirkstoff überwachen, würden wir einfach die Probe mit der schlechtesten Leistung aus der Charge auswählen und das untere Konfidenzintervall auf ihrer Anpassungslinie verwenden, um die Haltbarkeit festzulegen. Für diejenigen, die mit den ICH-Richtlinien nicht vertraut sind: Es gibt einige zusätzliche statistische Prüfungen im Protokoll zur Ähnlichkeit von Proben, die ich hier nicht bespreche.
Im Fall mehrerer Chargen werden wir etwas Ähnliches tun. Wir werden jedoch ein gemischtes Modell verwenden, um die Variation zwischen Chargen zu verfolgen, und mit einem einzigen Modell für den gesamten Datensatz arbeiten. Wir werden davon ausgehen, dass die Variabilität von Charge zu Charge im Allgemeinen normal um ein durchschnittliches Verhalten verteilt ist. Wenn wir diese Annahme verwenden, können wir einige Offsets verwenden, um auf die Gleichung zuzugreifen, die wir zur Berechnung der Haltbarkeitsdauer unter Berücksichtigung der Variation von Charge zu Charge benötigen. Lassen Sie uns loslegen (oder wenn Sie die Mathematik überspringen möchten, können Sie einfach über diesen nächsten Teil hinausgehen – Ihre Entscheidung).
WARNUNG! HIER GIBT ES ... MATHE!!
Aufbau der Entscheidungslinie
Wir erstellen die Entscheidungslinie, indem wir zunächst ein gemischtes Modell in JMP Pro ausführen. Gemischte Modelle sind eine der verfügbaren Persönlichkeiten in „Modell anpassen“ (Analysieren > Modell anpassen).

Sobald wir das eingestellt haben, ändert sich der Bereich „Modelleffekte“ und enthält drei Registerkarten. Uns interessieren nur die ersten beiden. Wir beginnen mit der Einrichtung, indem wir die Variable von Interesse zum Y-Feld hinzufügen. Als Nächstes fügen wir die Zeitvariable zur Registerkarte „Feste Effekte“ hinzu, genau wie bei herkömmlichen Modellen, die Sie wahrscheinlich schon einmal erstellt haben.

Zuletzt wechseln wir zur Registerkarte „Zufallseffekte“ und fügen die Chargen- oder Losvariable zu den Zufallseffekten hinzu. Auf diese Weise entfernen wir diese Variabilität von Charge zu Charge, indem wir einen zufälligen Achsenabschnitt einführen. Wir werden auch die Möglichkeit in Betracht ziehen, dass die Chargen im Laufe der Zeit unterschiedlich schnell abgebaut werden (d. h. unterschiedliche Steigungen für die Zeitmessung aufweisen), also werden wir zufällige Steigungen zulassen. Um dies zu berücksichtigen, wählen wir die Zeit- und Chargenvariablen in der Spaltenliste aus und klicken dann auf „Kreuz“ in der Registerkarte „Zufallseffekte“. Als Letztes möchten wir das Alpha-Niveau für das Modell festlegen, das unter dem roten Dreiecksmenü festgelegt wird. Wenn Sie ein 75. Perzentil wünschen, würden Sie ein Alpha von 0,25 festlegen. Wenn Sie fertig sind (wenn Sie mitmachen), sollte es so aussehen:

Dann klicken wir auf Ausführen. Das letzte, was wir tun müssen, bevor wir in den „Plug-and-Chug“-Modus wechseln, ist, zum roten Dreieckmenü zu gehen und LRT > Kovarianz- und Korrelationsmatrizen > Kovarianzen für alle Parameter auszuwählen.
Die gute Nachricht ist, dass wir nun mit den „aufwändigen Berechnungen“ fertig sind und alle benötigten Werte im gemischten Modellbericht enthalten sind. Wir können sie extrahieren, um die Entscheidungslinie zu erstellen. Die Entscheidungslinie ist lediglich ein Konfidenzintervall für die n-Quantillinie für das Mittelwertmodell (d. h. die 75-Perzentillinie basierend auf dem im Modelleinrichtungsdialog festgelegten Alpha-Niveau). Wir beginnen also mit dem Mittelwertmodell aus der Anpassung:

Die β-Schätzungen finden Sie in der Spalte „Schätzungen“ hier im Bericht:

Anschließend ändern wir diese Linie mit einer Verschiebung, um die durch die Zufallseffekte dargestellte Variabilität von Charge zu Charge sowie das Quantil zu berücksichtigen, auf dem wir die Haltbarkeitsdauer basieren möchten. Wir tun dies in zwei Schritten, damit Sie sehen können, woher alles kommt:
Nehmen wir zunächst die Mittellinie und erweitern den Fehlerterm (ϵ):

Beachten Sie, dass wir lediglich ein paar Begriffe herausgezogen haben (
) aus ϵ in dieser allerersten Gleichung. Der erste neue Term (
) ist der zufällige Achsenabschnitt und der zweite Term (
) berücksichtigt die zufälligen Steigungen. Eine kleine Anmerkung zu der Notation, die ich hier verwende: Feste Effekte (Dinge, die wir kontrollieren können) werden mit griechischen Buchstaben geschrieben (z. B.
) und Zufallseffekte verwenden lateinische Buchstaben (z. B.
).
Schritt 2 besteht darin, die Mittellinie um die Beiträge jeder Variabilitätsquelle zu verschieben (die
Terme in der Gleichung unten) und skalieren Sie dies mit dem Z-Score für das gewünschte Quantil (
). Dadurch sieht die Gleichung etwas komplexer aus, aber es handelt sich alles nur um Schätzungen, die Sie im Bericht nachschlagen (die Standorte sind im Screenshot unten zu sehen) oder die JMP für Sie berechnen kann:

Wir finden diese Sigma-Quadrat-Terme (
) in der Spalte „Schätzung“ des Abschnitts „Varianzkomponenten“ des Berichts:

Als letztes müssen wir ein Konfidenzintervall für diese Linie entwickeln. In der Notation sieht es etwas kompliziert aus:

Varianzterme:

über GIPHY
Aber alle diese partiellen Ableitungen zerfallen entweder in Konstanten oder einfache lineare Terme. Jedes Sigma (
) oder psi (
) ist lediglich eine Varianz oder Kovarianz, die in der Kovarianzmatrix gefunden wurde, die wir im Bericht aktiviert haben. Durch Ersetzen und Konsolidieren von Termen sehen die Varianzterme ungefähr so aus:

Wenn man das alles zusammenzählt und es wieder in
erhalten Sie im Grunde ein einfaches Polynom mit einer unverschämt hohen Anzahl von Konstanten.
Das ist ärgerlich, wenn Sie versuchen, dies mit der Hand zu tun, aber praktisch, wenn Sie beispielsweise die Analyse codieren möchten. All dies kann stückweise durchgeführt und am Ende einfach addiert werden.
Alles in JMP erstellen
Wenn Sie die Berechnung durchgeführt haben, herzlich willkommen zurück!
Die gute Nachricht ist, wie ich jetzt schon ein paar Mal gesagt habe, dass alle Zahlen, die für die Entscheidungsfindung für eine bestimmte Studie benötigt werden, in den JMP-Mixed-Model-Berichten verfügbar sind. Man muss sie nur herausziehen, einsetzen und schauen, wo die Entscheidungslinie die interessierende Spezifikationsgrenze überschreitet. Sie könnten das auch handschriftlich tun, aber wie ich ganz am Anfang sagte, gibt es jetzt ein Add-In dafür. Sie finden es hier: Random Batch Shelf Life / Stability Analysis . Ich habe den Code unverschlüsselt gelassen, damit Sie darin herumstöbern und sehen können, was ich dort mache.
