<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
code{white-space: pre;}
Pius Dahinden, PhD, Gerente de Ciencias Analíticas, Tillotts Pharma
Abstracto
Dado que la nueva directriz EU GMP (EudraLex Volumen 4), Capítulo 6 (Control de calidad) entró en vigencia en 2014, realizar un análisis de tendencias en los datos de estabilidad del producto farmacéutico es un requisito adicional de control de calidad analítico. El Grupo de Trabajo de Control de Calidad Analítica (AQCWG) de la Academia Europea de Cumplimiento (ECA) ha elaborado un procedimiento operativo estándar para la evaluación de resultados fuera de lo esperado (OOE) y fuera de tendencia (OOT). Para la evaluación de los datos de estabilidad, se recomienda utilizar el procedimiento de gráfico de control de regresión (RCC) para la comparación de lotes actuales con datos de lotes históricos. Sin embargo, las pendientes y/o las intersecciones estimadas a partir de los mismos datos históricos del lote están sujetas a incertidumbre. El AQCWG de ECA propone un método simplificado de regresión de coeficientes aleatorios (RCR) que tiene esto en cuenta. Se presenta un script JMP recientemente desarrollado que implementa el procedimiento RCC/RCR recomendado. El script simplifica la identificación de los puntos OOE/OOT en los datos de estabilidad y proporciona toda la información necesaria en la salida, junto con una visualización gráfica adecuada.
Introducción
Los fabricantes aplican el control estadístico de procesos (SPC) para garantizar la calidad de los artículos producidos y evitar pérdidas financieras causadas por procesos de producción fuera de control. El control del proceso significa que un proceso en ejecución se monitorea de forma rutinaria y que, si alguno de los parámetros monitoreados muestra una tendencia anómala, se toman medidas para volver a controlar el proceso. SPC es una herramienta que permite a los fabricantes detectar cambios en un proceso de manera temprana, lo que les permite investigar problemas que causan problemas y tomar medidas correctivas en una etapa temprana. Una poderosa herramienta para el monitoreo de procesos es el método de gráfico de control que fue popularizado por Shewhart [6]. La figura 1 muestra la vista esquemática de un gráfico de control típico.
A diferencia de los procesos de producción en los que no debería haber tendencia, existen muchos problemas de gestión de datos con una tendencia inherente. Para el análisis de problemas de gestión de datos de ese tipo, el método de gráfico de control convencional se ha combinado con el análisis de regresión, y Mandel [4] se refirió a este enfoque como el "gráfico de control de regresión" (RCC). Como límites de control, la utilización de intervalos de tolerancia (TI) es razonable. Para monitorear los datos de estabilidad de los productos farmacéuticos almacenados en las condiciones de almacenamiento recomendadas (p. ej., 25 °C / 60 % de HR), los RCC se utilizan para monitorear, por ejemplo, la degradación del ingrediente farmacéutico activo o la acumulación de impurezas con el tiempo, para respaldar la la fecha de caducidad del producto, es decir, para confirmar la estabilidad del medicamento durante la vida útil indicada en la etiqueta.
Figure_1Figura 1
Figura 1 Composición típica del gráfico de control
Un gráfico de control generalmente muestra los valoresXXo una estadística de varios valores (por ejemplo, la media) de la característica de calidad de una muestra frente al número de muestra o el tiempo. En general, el gráfico contiene una línea central que representa el valor medioX¯\overset{\overline{}}{X}del proceso bajo control. Una suposición fundamental es que los datos se distribuyen normalmente. Dos líneas horizontales características adicionales son los límites de control inferior y superior (LCL y UCL, respectivamente) a una distancia de ± 3 desviaciones estándar (SD) de la línea central, de modo que, mientras el proceso esté bajo control, el 99,7 % de la los puntos de datos caerán dentro de estos límites debido a la variación aleatoria que se denota como variación de causa común. Las líneas a una distancia de ± 2 SD de la línea central se denominan límites de advertencia inferior y superior (LWL y UWL, respectivamente), mientras que las líneas a una distancia de ± 1 SD de la línea central no tienen un nombre específico. Con la ayuda de estas líneas, un gráfico de control puede dividirse en zonas C a A. Las reglas para la detección de la variación de causa especial que caracteriza a un proceso que no está bajo control utilizan las frecuencias de las observaciones en estas zonas como base de decisión.
Procedimientos y Resultados
El RCC aplicado a los datos de estabilidad de un producto farmacéutico tiene como objetivo responder a dos preguntas: 1) ¿Está el lote actual fuera de lo esperado (OOE) o fuera de tendencia (OOT) en términos de los lotes históricos (es decir, en relación con el TI derivado de los datos históricos)? , y 2) ¿es el punto de datos medido más recientemente del OOE del lote actual en términos del lote actual (es decir, con respecto a su intervalo de predicción (PI))?
Se necesita un mínimo de tres puntos de datos del lote actual para la evaluación de una tendencia en términos de la pregunta 1. Para la evaluación de la pregunta 2 se necesitan al menos cuatro puntos de datos porque el punto de datos medido más recientemente no debe usarse para la construcción del PI.
Dado que es muy probable que los lotes históricos individuales varíen con respecto a sus intersecciones y sus pendientes, un modelo de mínimos cuadrados ordinarios (pendiente común - intersección común) podría no ser significativo. Por este motivo, el Grupo de Trabajo de Control de Calidad Analítica (AQCWG) de la Academia Europea de Cumplimiento (ECA) recomienda utilizar el método de "regresión de coeficiente aleatorio" (RCR) que tiene en cuenta la variabilidad de las intersecciones y las pendientes de los lotes individuales [7]. Un modelo RCR simplificado (modelo modificado de Carter y Yang [1]) contiene dos parámetros desconocidos, es decir, el interceptoβ1\beta_{1}y la pendienteβ2\beta_{2}. Este procedimiento está de acuerdo con las guías de la OMS [9] y la ICH [2].
El término OOT ha sido definido por la Agencia Reguladora de Medicamentos y Productos Sanitarios (MHRA) del Reino Unido como un resultado de prueba de estabilidad que no sigue la tendencia esperada, ya sea en comparación con otros lotes de estabilidad o con respecto a resultados anteriores recopilados durante un estudio de estabilidad. [8]. El término OOS ha sido definido por la MHRA como un resultado de prueba que no cumple con los criterios de aceptación predeterminados o un resultado de prueba que queda fuera de los criterios de aceptación establecidos que se han establecido en compendios oficiales y/o en la documentación de la empresa [8 ]. Hasta el momento no existe una definición formal del término OOE. El AQCWG de la ECA propone (tanto para pruebas cualitativas como cuantitativas) definir los resultados OOE como hallazgos anómalos, inesperados o inusuales que no pueden clasificarse como fuera de especificación (OOS) u OOT [7].
Modelo RCR
El modelo RCR simplificado se puede escribir como
𝐲yo=𝛃1i+𝛃2i•𝐭yo+𝛆yo\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
dónde𝐲i\mathbf{y}_{i}es unnortei×1n_{i} \veces 1vector que representa elielyo^{\text{th}}lotenortein_{yo}mediciones repetidas (dondej=1,⋯,norteij = 1,\ \cdots,\ n_{i}, connortein_{yo}que representa el número total de mediciones repetidas del loteii) en la variable de respuesta (por ejemplo, ensayo [%], suma de impurezas [%] o disolución [%]),𝛃1i\mathbf{\beta}_{1i}y𝛃2i\mathbf{\beta}_{2i}son vectores de las intersecciones y pendientes específicas del lote, respectivamente,𝐭i\mathbf{t}_{i}es elielyo^{\text{th}}el vector de tiempo del lote (por ejemplo, [Mes]), y𝛆i\mathbf{\varepsilon}_{i}es unnortei×1n_{i} \veces 1vector denortein_{i}errores aleatorios Un requisito previo para este modelo RCR es una relación lineal entre la respuesta y la variable explicativa. Si la relación no debe ser lineal, se debe aplicar una transformación adecuada antes de realizar el modelo RCR.
Se supone que cadaεyo\varepsilon_{\text{ij}}proviene de una población normal univariada con media cero, varianzaσ2\sigma^{2}, y todoεyo\varepsilon_{\text{ij}}son independientes entre sí (independencia condicional) y de los coeficientes del modeloβ1i\beta_{1i}yβ2i\beta_{2i}. Esta suposición es razonable porque es muy improbable que la variabilidad del método analítico dependa del lote que se está analizando o del momento en que se ejecuta la prueba. Se supone además que el vector de coeficientes de regresión de cada lote,𝛃i\mathbf{\beta}_{i}, es independiente de sus vectores de errores aleatorios y de todos los demás lotes,𝛆k\mathbf{\varepsilon}_{k}.
El modelado RCR consta de tres pasos.
Paso a) Ajuste de un modelo de regresión lineal simple a los datos de cada lote
Los datos asociados con el loteiise denotan por(tyo,yyo)\left(t_{\text{ij}},y_{\text{ij}} \right), dóndeyyoy_{\text{ij}}representa elielyo^{\text{th}}respuesta medida del lote en el punto de tiempotjt_{j}, dóndej=1,⋯,norteij = 1,\ \cdots,\ n_{i}. Los puntos de tiempo individualestjt_{j}puede diferir entre los lotes, al igual que el número total de puntos de tiemponortein_{i}. La matriz de diseño𝐗i\mathbf{X}_{i}por loteiipuede escribirse en forma matricial de la siguiente manera.
𝐗i=[1ti1⋮⋮1tinortei]\mathbf{X}_{i} = \begin{bmatrix} 1 & t_{i1} \\ \vdots & \vdots \\ 1 & t_{in_{i}} \\ \end{bmatrix}
Esta matriz está normalizada y designada por𝐌i\mathbf{M}_{i}.
𝐌i=(𝐗i′𝐗i)−1\mathbf{M}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}
Las estimaciones para las interseccionesβi1\beta_{i1}, las pistasβi2\beta_{i2}, el "error cuadrático medio" de la regresiónMSEi=σiy^2\text{MSE}_{i} = \sigma_{i\hat{y}}^{2}y los grados de libertadd.f.i=(nortei−2)\text{df}_{i} = \left( n_{i} - 2 \right)asociado conMSEi\text{MSE}_{i}se obtienen ajustando un modelo de regresión lineal simple a los datos de cada lote. Las intersecciones y las pendientes(𝛃1,𝛃2)′\left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'}son estimados por
𝐛i=(𝐗i′𝐗i)−1𝐗i′𝐲i\mathbf{b}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}\mathbf{X}_{ i}^{'}\mathbf{y}_{i}.
Paso b) Estimación de la matriz de varianza-covarianza del error
La estimación de la matriz de varianza-covarianza del error de los coeficientes aleatorios comienza con la estimación de la combinaciónMSE\text{MSE}de todos los lotes, es decirMSEpiscina\text{MSE}_{\text{grupo}}, como sigue.
MSEpiscina=σ^2=∑i=1norted.f.i•MSEi∑i=1Bd.f.i\text{MSE}_{\text{pool}} = {\hat{\sigma}}^{2} = \frac{\sum_{i = 1}^{n}{\text{df}_{i } \bullet \text{MSE}_{i}}}{\sum_{i = 1}^{B}\text{df}_{i}}
El numerador en esta ecuación se puede expresar de la siguiente manera.
d.f.i•MSEi=SSEi=𝛆^i′𝛆^i=(𝐲i−𝐗i𝐛i)′(𝐲i−𝐗i𝐛i)\text{df}_{i} \bullet \text{MSE}_{i} = \text{SSE}_{i} = {\hat{\mathbf{\varepsilon}}}_{i}^{' }{\hat{\mathbf{\varepsilon}}}_{i} = \left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \ derecha)^{'}\left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \right)
La matriz muestral de varianzas-covarianzas𝐒cama y desayuno\mathbf{S}_{\text{bb}}de las intersecciones y pendientes estimadas(𝛃1,𝛃2)′\left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'}se calcula de la siguiente manera.
𝐒cama y desayuno=1norte−1∑i=1norte(𝐛i−β^ULS)(𝐛i−β^ULS)′\mathbf{S}_{\text{bb}} = \frac{1}{n - 1}\sum_{i = 1}^{n}\left( \mathbf{b}_{i} - {\ sombrero{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^ {'}
dóndeβ^ULS=1norte∑i=1norte𝐛i{\sombrero{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i}, es decir, el vector medio de los coeficientes, es decir, intersecciones y pendientes (ULS significa "Mínimos cuadrados no ponderados"). Ahora, la matriz de varianza-covarianza𝚺^ββ{\sombrero{\mathbf{\Sigma}}}_{\text{ββ}}se puede estimar de la siguiente manera.
𝚺^ββ=𝐒cama y desayuno−σ^2norte•∑i=1norte(𝐗i′𝐗i)−1=𝐒cama y desayuno−σ^2•𝐌¯=[σβ12σβ1β2σβ1β2σβ22]{\sombrero{\mathbf{\Sigma}}}_{\text{ββ}} = \mathbf{S}_{\text{bb}} - \frac{{\sombrero{\sigma}}^{2} {n} \bullet \sum_{i = 1}^{n}\left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1} = \mathbf{S}_{\text{bb}} - {\hat{\sigma}}^{2} \bullet \overset{\overline{}}{\mathbf{M}} = \begin{bmatrix} \sigma_{\beta_{1}}^{2} & \sigma_{\beta_{1}\beta_{2}} \\ \sigma_{\beta_{1}\beta_{2}} & \sigma_{\beta_ {2}}^{2} \\ \end{matriz}
dónde𝐌¯=1norte•∑i=1norte𝐌i\overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i}, es decir, la matriz media de varianzas-covarianzas del modelo. la varianza del errorσ^2{\sombrero{\sigma}}^{2}estima la varianza del método analítico. El componente de la varianza del interceptoσβ12\sigma_{\beta_{1}}^{2}representa la variación dentro del lote de la respuesta observada en la liberación del producto debida únicamente al proceso de fabricación, es decir, excluyendo la variación que se debe al método analítico. El componente de la varianza de la pendienteσβ22\sigma_{\beta_{2}}^{2}representa la variación entre lotes de las tasas de degradación.
Dado que la matriz de varianza-covarianza𝚺^ββ{\sombrero{\mathbf{\Sigma}}}_{\text{ββ}}se estima calculando la diferencia de dos matrices, el resultado puede no ser definido positivo, es decir, el intercepto y/o los componentes de la varianza de la pendiente pueden ser negativos. Un posible remedio para esto es reemplazar los valores negativos con 0. Este es un enfoque simple de primeros auxilios para estimaciones de varianza negativa y es equivalente a convertir un efecto aleatorio en un efecto fijo. En caso de que ambas varianzas sean cero, el modelo RCR corresponde al modelo de mínimos cuadrados ordinarios (OLS).
Paso c) Estimación del vector medio de coeficientes mediante un estimador de mínimos cuadrados ponderados (WLS)
La estimación del vector de medias de coeficientes comienza con el cálculo de la estimación de𝐖i\mathbf{W}_{i},
𝐖i=(𝚺^ββ+σ^2•𝐌i)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf {M}_{i} \derecho)^{- 1}
que corresponde a la inversa de la varianza de la estimación del parámetro de regresión para elielyo^{\text{th}}lote. En base a esta ecuación la2×i2 \veces yoLa matriz dimensional de las estimaciones del coeficiente de intersección y pendiente, es decir, la estimación de mínimos cuadrados ponderados, ahora se obtiene mediante la siguiente ecuación:
𝛃^WLS=(∑i=1norte𝐖i)−1(∑i=1norte𝐖i𝐛i)=𝛀(∑i=1norte𝐖i𝐛i){\hat{\mathbf{\beta}}}_{\text{WLS}} = \left( \sum_{i = 1}^{n}\mathbf{W}_{i} \right)^{- 1}\left( \sum_{i = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i} \right) = \mathbf{\Omega}\left( \sum_{ i = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i} \derecha)
dónde𝛀\mathbf{\Omega}es una estimación de la varianza del estimador de mínimos cuadrados ponderados. El promedio de las estimaciones del intercepto representa la respuesta en la liberación del producto promediada durante el proceso de fabricación, y el promedio de las estimaciones de la pendiente representa la pendiente común.
Intervalo de tolerancia (TI) para el modelo RCR
Los coeficientes del modelo RCRβ1\beta_{1}yβ2\beta_{2}describir la tendencia general, es decir, la tendencia común de los lotes históricos. El TI para el modelo RCR se puede calcular con la ayuda de la estimacióny^j{\ sombrero{y}}_{j}para la línea de regresión y su error estándarσy^,RCR\sigma_{\sombrero{y},RCR}según el método propuesto por Scholz y Vangel [5] como sigue. Su método hace uso del concepto de tamaño de muestra efectivo.
y^j±k•σy^,RCR{\sombrero{y}}_{j} \pm k \bullet \sigma_{\sombrero{y},\text{RCR}}
El término de errorσy^,RCR\sigma_{\sombrero{y},RCR}se calcula por
σy^,RCR=D(𝐭(𝚺^ββ+1norte𝛀)𝐭′+σ^2)\sigma_{\hat{y},RCR} = D\left( \sqrt{\mathbf{t}\left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + \frac {1}{n}\mathbf{\Omega} \right)\mathbf{t}^{\mathbf{'}}\mathbf{+}{\hat{\sigma}}^{2}} \right)
dónde𝐭=[1t1⋮⋮1tk],kϵnorte\mathbf{t} = \begin{bmatrix} 1 & t_{1} \\ \vdots & \vdots \\ 1 & t_{k} \\ \end{bmatrix},\ k\ \epsilon\mathbb{\text {\N}}, yDDes la diagonal del argumento. El factorkkes dado por
k=norte−1norte•1norte*−1•tnorte*−1,zpag•norte*,γk = \sqrt{\frac{n - 1}{n}} \bullet \frac{1}{\sqrt{n^{*} - 1}} \bullet t_{n^{*} - 1,\ z_ {p} \bullet \sqrt{n^{*}},\gamma}
donde el factortnorte*−1,zpag•norte*,γt_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma}es elγ\gamacuantil de la t distribución connorte*−1n^{*} - 1grados de libertad y el parámetro de no centralidadzpag•norte*z_{p} \bullet \sqrt{n^{*}}, dóndezpagz_{p}es elpagpagcuantil de la distribución normal estándar. El parámetronorte*n^{*}es el tamaño de muestra efectivo dado por
norte*=[σb2σb2+σmi2•∑i=1norteb(norteinorte)2+1norte•σmi2σb2+σmi2]−1=[ρ•1F+1+(1−ρ)•1norte]−1{n^{*} = \left\lbrack \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} \bullet \sum_{ i = 1}^{n_{b}}\left( \frac{n_{i}}{n} \right)^{2} + \frac{1}{n} \bullet \frac{\sigma_{e }^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} \right\rbrack}^{- 1} = \left\lbrack \rho \bullet \frac{1 {f + 1} + \left( 1 - \rho \right) \bullet \frac{1}{n} \right\rbrack^{- 1}
donde el parámetroFFy la razón de varianzaρ\rhose definen por
| F=1∑i=1norteb(norteinorte)2−1f = \frac{1}{\sum_{i = 1}^{n_{b}}\left( \frac{n_{i}}{n} \right)^{2}} - 1 |
ρ=σb2σb2+σmi2\rho = \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} |
dóndeσb2\sigma_{b}^{2}es la varianza entre lotes,σmi2\sigma_{e}^{2}es la varianza dentro del lote (o varianza del método),nortein_{i}es el número de mediciones por loteii, es deciri=1,⋯,nortebi = 1,\ \cdots,\ n_{b},nortebnótese bien}es el número de lotes históricos, ynortenortees el número total de muestras, es decirnorte=∑i=1nortebnortein = \sum_{i = 1}^{n_{b}}n_{i}.
Las cubiertas de TIpag(100%)p\izquierda( 100\% \derecha)de la población con probabilidad deγ(100%)\gamma\izquierda( 100\% \derecha). El concepto de tamaño de muestra efectivo tiene en cuenta que los datos dentro del lote están más correlacionados que los datos entre lotes, lo que disminuye la cantidad de información independiente. Por esta razón lo siguiente siempre es cierto:norte*≤norten^{*} \leq n. el caso idealnorte*=norten^{*} = nortese realiza si los datos dentro del lote no están correlacionados en absoluto.
Implementación de RCC/RCR en JMP
El script JSL que implementa el procedimiento RCC/RCR está estructurado en varias partes.
En primer lugar, deben definirse los nombres de los lotes de referencia y de prueba y los diversos nombres de variables para la respuesta, el tiempo, los lotes y las condiciones de almacenamiento.
El modelo RCR se construye (Carter y Yang [1] simplificado) como se describe anteriormente.
El TI para el modelo RCR se construye utilizando el método propuesto por Scholz y Vangel [5].
Se genera una ventana de informe que resume los parámetros calculados en forma tabular y gráfica.
Ejemplo
Para la evaluación de la funcionalidad del script, se generaron varios conjuntos de datos para nueve lotes históricos y un lote actual. El siguiente fragmento de código ejecuta el paso a ) del ajuste del modelo RCR, es decir, las intersecciones (a,𝛃1\mathbf{\beta}_{1}), pendientes (b,𝛃2\mathbf{\beta}_{2}), (raíz) errores cuadráticos medios ((RMSE ) MSE,MSEi\text{MSE}_{i}), grados de libertad (df,d.f.i\text{df}_{i}), y número de observaciones (n,nortein_{i}) deliilos lotes históricos se recopilan y almacenan en vectores de longitudnortebnótese bien}.
For( i = 1, i <= n.refBatches, i++,
fm = Fit Model(
Y( :Eval( responseVariable ) ),
Effects( :Month ),
Personality( "Standard Least Squares" ),
Emphasis( "Minimal Report" ),
Where( :Batch == refBatches[i] ),
Invisible
);
fit = fm << Run;
fitr = fit << Report;
a.i[i, 1] = fitr["Parameter Estimates"][Number Col Box( 1 )] << Get( 1 );
b.i[i, 1] = fitr["Parameter Estimates"][Number Col Box( 1 )] << Get( 2 );
RMSE.i[i, 1] = fitr["Summary of Fit"][Number Col Box( 1 )] << Get( 3 );
df.i[i, 1] = fitr["Analysis of Variance"][Number Col Box( 1 )] << Get( 2 );
n.i[i, 1] = fitr["Summary of Fit"][Number Col Box( 1 )] << Get( 5 );
);
For( i = 1, i <= n.refBatches, i++,
MSE.i[i] = RMSE.i[i] ^ 2
);
Paso b ) comienza con la estimación del MSE agrupado (MSE.pool,MSEpiscina\text{MSE}_{\text{grupo}}). Posteriormente, la matriz de varianzas-covarianzas del modelo medio (M.bar,𝐌¯\overset{\overline{}}{\mathbf{M}}), que luego se combina con la matriz de varianza-covarianza muestral (S,𝐒cama y desayuno\mathbf{S}_{\text{bb}}) para obtener la matriz de varianza-covarianza (Sigma.hat,𝚺^ββ{\sombrero{\mathbf{\Sigma}}}_{\text{ββ}}).
ab.i = a.i || b.i; // Matrix of the intercept and slope vectors
S = Covariance( ab.i ); // Sample variance-covariance matrix of the intercepts and slopes
MSE.pool = Sum( E Mult( df.i, MSE.i ) ) / Sum( df.i ); // Pooled MSE
RMSE.pool = Sqrt( MSE.pool );
M.i = J( 2, 2, 0 );
For( i = 1, i <= n.refBatches, i++,
dat << Select All Rows << Invert Row Selection;
dat << Select Where( :Batch == refBatches[i] );
x = dat << Get As Matrix( {"Month"} );
x.length = N Row( x ); // Number of observations
colReprIntcpt = J( x.length, 1, 1 ); // Column of 1 representing the intercept
x = colReprIntcpt || x; // Design matrix of the OLS model
M.i = M.i + Inverse( x` * x );
);
M.bar = M.i / n.refBatches; // Mean model variance-covariance matrix
Sigma.hat = S - MSE.pool * M.bar;
Sigma.hat[Loc( Diag( Sigma.hat ) < 0 )] = 0; // Replace negative values on the diagonal of Sigma.hat by 0.
Al paso C ) los coeficientes del modelo RCR ab.hat (𝛃^WLS{\sombrero{\mathbf{\beta}}}_{\text{WLS}}) se estiman con la ayuda del siguiente fragmento de código.
M.i = J( 2, 2, 0 );
W.i = J( 2, 2, 0 );
For( i = 1, i <= n.refBatches, i++,
dat << Select All Rows << Invert Row Selection;
dat << Select Where( :Batch == refBatches[i] );
x = dat << Get As Matrix( {"Month"} );
colReprIntcpt = J( n.i[i, 1], 1, 1 ); // Column of 1 representing the intercepts
x = colReprIntcpt || x; // Design matrix of the linear model
M.i = M.i + Inverse( x` * x );
W.i = W.i + Inverse( Sigma.hat + MSE.pool * M.i );
);
Omega = Inverse( W.i );
ab.hat = Omega * (W.i * ab.i`);
ab.hat = ab.hat`;
ab.hat.bar = V Mean( ab.hat );
El siguiente fragmento de código muestra la construcción del TI para el modelo RCR según Scholz und Vangel [5]. Para la construcción del intervalo se utilizan las estimaciones del coeficiente de pendiente y la intercepción promedio almacenadas en el vector ab.hat.bar.
utp = Associative Array( dat:Month ); // Unique time points
time.points = Matrix( utp << Get Keys ); // Vector with (new) time points for which the response is sought
n.new = N Row( time.points ); // Number of data points of the new data set
m.x = J( n.new, 1, 1 ) || time.points; // Design matrix
n = Sum( n.i ); // Total number of data points
df.th = n - 2; // Number of degrees of freedom if only fixed effects are allowed, i.e. if a "common slope, common intercept" model is appropriate.
df = df.th;
variance.ratio = Sigma.hat[1, 1] / (Sigma.hat[1, 1] + MSE.pool);
t.f = 1 / Sum( (df.i / n) ^ 2 ) - 1;
If( Sigma.hat[1, 1] == 0,
df.eff = df,
df.eff = 1 / (variance.ratio / (t.f + 1) + (1 - variance.ratio) / n)
);
// Calculation of the k.eff factor on the basis of the effective number of degrees of freedom.
k.eff = Sqrt( (n - 1) / n ) * 1 / Sqrt( df.eff - 1 ) * t Quantile(
gamma,
(df.eff - 1),
(Normal Quantile( (1 - alpha) ) * Sqrt( df.eff ))
);
t.quantil = t Quantile( (1 - alpha / 2), df.eff );
y.hat = ab.hat.bar[1] + ab.hat.bar[2] * time.points;
LTL = y.hat - k.eff * Vec Diag( Sqrt( m.x * (Sigma.hat + Omega / n.refBatches) * m.x` + MSE.pool ) );
UTL = y.hat + k.eff * Vec Diag( Sqrt( m.x * (Sigma.hat + Omega / n.refBatches) * m.x` + MSE.pool ) );
En la última parte del script se preparan los resultados para mostrarlos en una ventana de informe. En la Figura 2 se muestra un informe de ejemplo.
Los resultados resumidos por la ventana del informe permiten responder a las preguntas planteadas al principio del capítulo 3 de la siguiente manera: 1) dado que el punto de datos de 18 meses (es decir, la medición más reciente) del lote actual se encuentra fuera del TI ajustado a los datos de los lotes históricos, se debe concluir que el lote actual es OOE / OOT, y 2) dado que el punto de datos de 18 meses del lote actual cae fuera del PI del lote actual, se debe concluir que el lote actual también es OOE / OOT en términos del lote actual. La misma conclusión se debería sacar ya en la estación de tiempo anterior, aunque el punto de tiempo de 12 meses cae dentro del PI del lote actual. Sin embargo, dado que este punto se encuentra fuera del TI ajustado a los datos de los lotes históricos, la conclusión general en la estación de tiempo de 12 meses debe haber sido que se trata de un punto OOE/OOT.
Como se mencionó al comienzo del capítulo 3, es muy probable que los lotes históricos individuales varíen con respecto a sus intersecciones y sus pendientes y que, por esta razón, el modelo RCR supera al modelo de mínimos cuadrados ordinarios. Se pueden diferenciar cinco casos: caso I: sin variación de intercepto, sin variación de pendiente; caso II: variación del intercepto, sin variación de la pendiente; caso III: sin variación del intercepto, variación de la pendiente; caso IV: variación del intercepto, variación de la pendiente; y caso V: no linealidad. Los resultados se resumen en la Figura 3 para los cinco casos. Los gráficos de la Figura 3 muestran que el modelo RCR representa mejor los datos en los casos en que varían los interceptos y/o las pendientes y es muy similar al método básico en los casos en que no hay variabilidad en los interceptos y pendientes.
Figure_2Figura 2
Figura 2 Salida del script que implementa el método RCC/RCR
La ventana se divide en las partes "Evaluación de lote histórico", "Evaluación de lote actual (parámetros de modelo individuales)" y la pantalla gráfica que resume los datos de lote históricos y actuales. Los datos de los lotes históricos están representados por puntos azules () y los datos del lote actual por cruces rojas (). El TI ajustado a los datos de los lotes históricos está representado por la banda delimitada por la línea discontinua azul y el PI ajustado a los datos del lote actual (pero sin incluir la observación más reciente) por la banda delimitada por la línea discontinua roja .
Figura 3 Comparación de los intervalos del modelo RCR y los intervalos del modelo de regresión lineal básica en diferentes situaciones
El ajuste del modelo RCR está representado por la línea de regresión continua azul y las líneas punteadas azules del intervalo de tolerancia correspondiente (95 % de confianza y 95 % de cobertura). El ajuste del modelo básico está representado por la línea de regresión discontinua púrpura y el tono púrpura del intervalo de predicción correspondiente (95 % de confianza), es decir, los límites de confianza para un valor predicho individual. Las líneas discontinuas grises en el panel Va representan el ajuste no lineal calculado sobre la base de la respuesta al cuadrado. Los seis paneles comparan los intervalos del modelo RCR y los intervalos del modelo de regresión lineal básica en las siguientes situaciones: Panel I: caso "sin variación de intersección, sin variación de pendiente"; Panel II: caso de "variación de intersección, sin variación de pendiente"; Panel III: caso "sin variación de intersección, variación de pendiente"; Panel IV: caso de "variación de intersección, variación de pendiente"; Panel Va: caso de "no linealidad"; Panel Vb: caso de "no linealidad" después de la transformación, es decir, el cuadrado, de la variable de respuesta.
Conclusión
El script JMP presentado en este manuscrito es una herramienta adecuada y robusta para evaluar los datos de estabilidad de un lote actual de un producto farmacéutico con respecto a los resultados OOE y OOT. Un requisito previo es la disponibilidad de datos históricos de estabilidad de al menos tres lotes con al menos cuatro puntos de tiempo de cada uno de estos lotes.
Bibliografía
Carter, RL y Yang, MCK Inferencia de muestras grandes en modelos de regresión de coeficientes aleatorios. Comunicaciones en Estadística – Teoría y Métodos (1986) 15 (8): 2507-2525. ENLACE
Conover, WJ (1980), Estadística práctica no paramétrica, Nueva York: John Wiley and Sons, Inc.
ICH Guidance Q1A(R2), Stability Testing of New Drug Substances and Product, versión del paso 4, 6 de febrero de 2003. ENLACE
Mandel, BJ Gráfico de control de regresión. Tecnología J Qual (1969) 1 (1): 1-9. ENLACE
Scholz, F. y Vangel, M. Límites de tolerancia y límites de confianza de Cpk bajo efectos por lotes. Publicado en: Avanzado en Modelos Estocásticos para Confiabilidad, Calidad y Seguridad. Editado por Kahle, W., von Collani, E., Franz, J. y Jensen, U. Birkhäuser, Boston, 1998, 361-379. ENLACE
Shewhart, WA (1939). Método estadístico desde el punto de vista del control de calidad. (Deming, NOSOTROS). Washington DC, La Escuela de Graduados, el Departamento de Agricultura.
Procedimiento operativo estándar: guía de gestión de datos de laboratorio: resultados fuera de lo esperado (OOE) y fuera de tendencia (OOT). Grupo de Trabajo de Control de Calidad Analítica de la Academia Europea de Cumplimiento (ECA), Christopher Burgess, Borrador V 0.3, 2015.
Agencia Reguladora de Medicamentos y Productos Sanitarios (MHRA) del Reino Unido, Investigaciones fuera de especificación, notas de presentación y paquete para delegados, 28 de agosto de 2013. ENLACE
Serie de informes técnicos de la OMS, No. 953, Anexo 2 Pruebas de estabilidad de ingredientes farmacéuticos activos y productos farmacéuticos terminados, 2009. ENLACE