code{white-space: pre;}
Pius Dahinden, PhD, Gerente de Ciencias Analíticas, Tillotts Pharma
Abstracto
Desde que la nueva Guía GMP de la UE (EudraLex Volumen 4) Capítulo 6 (Control de calidad) entró en vigor 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 expectativa (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 intersecciones estimadas a partir de los propios datos de lotes históricos están sujetas a incertidumbre. El AQCWG de la ECA propone un método simplificado de regresión de coeficientes aleatorios (RCR) que tiene esto en cuenta. Se presenta un script JMP desarrollado recientemente que implementa el procedimiento RCC / RCR recomendado. El script simplifica la identificación de puntos OOE/OOT en 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 (CEP) 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 de procesos implica la monitorización rutinaria de un proceso en curso y, si alguno de los parámetros monitorizados presenta una tendencia anómala, se toman medidas para restablecer el control. El CEP es una herramienta que permite a los fabricantes detectar cambios en un proceso de forma temprana, lo que les permite investigar los problemas que los causan y tomar medidas correctivas de forma temprana. Una herramienta eficaz para la monitorización de procesos es el método del gráfico de control, popularizado por Shewhart [6]. La Figura 1 muestra el esquema de un gráfico de control típico.
A diferencia de los procesos de producción, donde no debería existir una tendencia, existen numerosos problemas de gestión de datos con una tendencia inherente. Para el análisis de este tipo de problemas de gestión de datos, el método convencional de gráficos de control se ha combinado con el análisis de regresión, enfoque que Mandel denominó "gráfico de control de regresión" (RCC) [4]. Como límites de control, resulta razonable utilizar intervalos de tolerancia (IT). Para supervisar los datos de estabilidad de productos farmacéuticos almacenados en las condiciones de almacenamiento recomendadas (p. ej., 25 °C/60 % de humedad relativa), los RCC se utilizan para supervisar, por ejemplo, la degradación del principio activo o la acumulación de impurezas a lo largo del tiempo, y para respaldar la fecha de caducidad del producto, es decir, para confirmar su estabilidad durante la vida útil indicada en la etiqueta.
Figure_1Figura_1Figura_1
Figura 1 Composición típica del gráfico de control
Un gráfico de control generalmente muestra los valores XX o una estadística de varios valores (p. ej., la media) de la característica de calidad de una muestra en función del número de muestra o del tiempo. En general, el gráfico contiene una línea central que representa el valor medio. X¯\overset{\overline{}}{X} del proceso bajo control. Un supuesto 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 (DE) de la línea central de modo que, siempre que el proceso esté bajo control, el 99,7 % de 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 DE 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 DE 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 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 dos preguntas: 1) ¿el lote actual está fuera de expectativa (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) ¿el punto de datos medido más recientemente del lote actual es OOE en términos del lote actual (es decir, en relación con su intervalo de predicción (PI))?
Para evaluar una tendencia en términos de la pregunta 1, se necesitan un mínimo de tres puntos de datos del lote actual. Para evaluar la pregunta 2, se necesitan al menos cuatro puntos de datos porque el punto de datos medido más recientemente no se debe utilizar para la construcción del IP.
Dado que es muy probable que los lotes históricos individuales varíen con respecto a sus ordenadas en el origen y sus pendientes, un modelo de mínimos cuadrados ordinarios (pendiente común - ordenada en el origen común) podría no ser significativo. Por esta razón, 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 coeficientes aleatorios" (RCR), que tiene en cuenta la variabilidad de las ordenadas en el origen y las pendientes de los lotes individuales [7]. Un modelo RCR simplificado (modelo modificado de Carter y Yang [1]) contiene dos parámetros desconocidos: la ordenada en el origen. β1\beta_{1} y la pendiente β2\beta_{2} Este procedimiento está de acuerdo con las directrices de la OMS [9] y la ICH [2].
El término OOT ha sido definido por la Agencia Reguladora de Medicamentos y Productos Sanitarios del Reino Unido (MHRA) 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 documentación de la empresa [8]. Hasta el momento no existe una definición formal del término OOE. El ECA AQCWG propone (tanto para pruebas cualitativas como cuantitativas) definir los resultados OOE como hallazgos anómalos, inesperados o inusuales que no se pueden clasificar como fuera de especificación (OOS) u OOT [7].
Modelo RCR
El modelo RCR simplificado se puede escribir como
𝐲yo=𝛃1i+𝛃2i•yoyo+yoyo\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 un ni×1n_{i} \veces 1 vector que representa la ieli^{\text{th}} lotes nin_{i} mediciones repetidas (donde j=1,⋯,nij = 1,\ \cdots,\ n_{i} , con nin_{i} que representa el número total de mediciones repetidas del lote ii ) 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, yoi\mathbf{t}_{i} es el ieli^{\text{th}} vector de tiempo del lote (por ejemplo, [Mes]), y yoi\mathbf{\varepsilon}_{i} es un ni×1n_{i} \veces 1 vector de nin_{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 es lineal, se debe aplicar una transformación adecuada antes de realizar el modelado RCR.
Se supone que cada uno εyo\varepsilon_{\text{ij}} proviene de una población normal univariante con media cero y 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, ya que es muy improbable que la variabilidad del método analítico dependa del lote analizado o del momento en que se realiza la prueba. Además, se supone 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, yok\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 al lote ii se denotan por (tyo,yyo)\izquierda( t_{\text{ij}},y_{\text{ij}} \derecha) , dónde yyoy_{\text{ij}} representa el ieli^{\text{th}} Respuesta medida del lote en el momento tjt_{j} , dónde j=1,⋯,nij = 1,\ \cdots,\ n_{i} Los puntos de tiempo individuales tjt_{j} Puede variar entre los lotes, al igual que el número total de puntos de tiempo. nin_{i} La matriz de diseño yoi\mathbf{X}_{i} para lote ii se puede escribir en forma matricial de la siguiente manera.
yoi=[1ti1⋮⋮1tini]\mathbf{X}_{i} = \begin{bmatrix} 1 y t_{i1} \\ \vpuntos y \vpuntos \\ 1 y t_{in_{i}} \\ \end{bmatrix}
Esta matriz está normalizada y designada por 𝐌i\mathbf{M}_{i} .
𝐌i=(yoi′yoi)−1\mathbf{M}_{i} = \izquierda( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \derecha)^{- 1}
Las estimaciones de las intersecciones βi1\beta_{i1} , las laderas βi2\beta_{i2} , el "error cuadrático medio" de la regresión MSEi=σiy^2\text{MSE}_{i} = \sigma_{i\hat{y}}^{2} , y los grados de libertad dfi=(ni−2)\text{df}_{i} = \left( n_{i} - 2 \right) asociado con MSEi\texto{MSE}_{i} Se obtienen ajustando un modelo de regresión lineal simple a los datos de cada lote. Las ordenadas en el origen y las pendientes... (𝛃1,𝛃2)′\izquierda( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \derecha)^{'} se estiman por
yoi=(yoi′yoi)−1yoi′𝐲i\mathbf{b}_{i} = \izquierda( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \derecha)^{- 1}\mathbf{X}_{i}^{'}\mathbf{y}_{i}.
Paso b) Estimación de la matriz de varianza-covarianza de error
La estimación de la matriz de varianza-covarianza de error de los coeficientes aleatorios comienza con la estimación de los valores agrupados. MSE\texto{MSE} de todos los lotes, es decir MSEpiscina\text{MSE}_{\text{pool}} , de la siguiente manera.
MSEpiscina=σ^2=∑i=1ndfi•MSEi∑i=1Bdfi\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 de esta ecuación se puede expresar de la siguiente manera.
dfi•MSEi=SSEi=yo^i′yo^i=(𝐲i−yoiyoi)′(𝐲i−yoiyoi)\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} \right)^{'}\left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \right)
La matriz de varianza-covarianza de la muestra yocama y desayuno\mathbf{S}_{\text{bb}} de las intersecciones y pendientes estimadas (𝛃1,𝛃2)′\izquierda( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \derecha)^{'} se calcula de la siguiente manera.
yocama y desayuno=1n−1∑i=1n(yoi−β^ULS)(yoi−β^ULS)′\mathbf{S}_{\text{bb}} = \frac{1}{n - 1}\sum_{i = 1}^{n}\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^{'}
dóndeβ^ULS=1n∑i=1nyoi{\hat{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i} , es decir, el vector de medias de los coeficientes, es decir, las intersecciones y las pendientes (ULS significa "Mínimos Cuadrados No Ponderados"). Ahora, la matriz de varianza-covarianza 𝚺^CAMA Y DESAYUNO{\hat{\mathbf{\Sigma}}}_{\text{ββ}} puede estimarse de la siguiente manera.
𝚺^CAMA Y DESAYUNO=yocama y desayuno−σ^2n•∑i=1n(yoi′yoi)−1=yocama y desayuno−σ^2•𝐌¯=[σβ12σβ1β2σβ1β2σβ22]{\hat{\mathbf{\Sigma}}}_{\text{ββ}} = \mathbf{S}_{\text{bb}} - \frac{{\hat{\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} \\ \fin{bmatrix}
dónde 𝐌¯=1n•∑i=1n𝐌i\overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i} , es decir, la matriz de varianza-covarianza del modelo medio. La varianza del error σ^2{\hat{\sigma}}^{2} Estima la varianza del método analítico. El componente de varianza del intercepto σβ12\sigma_{\beta_{1}}^{2} Representa la varianza intralote de la respuesta observada en el lanzamiento del producto, debida únicamente al proceso de fabricación, es decir, excluyendo la varianza debida al método analítico. El componente de 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 𝚺^CAMA Y DESAYUNO{\hat{\mathbf{\Sigma}}}_{\text{ββ}} Si se estima calculando la diferencia de dos matrices, el resultado puede no ser positivo-definido; es decir, el intercepto o los componentes de varianza de la pendiente pueden ser negativos. Una posible solución es reemplazar los valores negativos por 0. Este es un método simple de primeros auxilios para estimaciones de varianza negativa y equivale a convertir un efecto aleatorio en un efecto fijo. Si ambas varianzas son cero, el modelo RCR corresponde al modelo de mínimos cuadrados ordinarios (MCO).
Paso c) Estimación del vector de media de coeficientes mediante un estimador de mínimos cuadrados ponderados (WLS)
La estimación del vector medio de coeficientes comienza con el cálculo de la estimación de yoi\mathbf{W}_{i} ,
yoi=(𝚺^CAMA Y DESAYUNO+σ^2•𝐌i)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf{M}_{i} \right)^{- 1}
que corresponde a la inversa de la varianza de la estimación del parámetro de regresión para el ieli^{\text{th}} lote. Con base en esta ecuación, el 2×i2 \veces i La matriz dimensional de las estimaciones de los coeficientes de intersección y pendiente, es decir, la estimación de mínimos cuadrados ponderada, se obtiene ahora mediante la siguiente ecuación:
𝛃^WLS=(∑i=1nyoi)−1(∑i=1nyoiyoi)=𝛀(∑i=1nyoiyoi){\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} \right)
dónde 𝛀\mathbf{\Omega} Es una estimación de la varianza del estimador de mínimos cuadrados ponderados. El promedio de las estimaciones de la intersección representa la respuesta al lanzamiento del producto, promediada a lo largo del 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} Describe la tendencia general, es decir, la tendencia común de los lotes históricos. El TI del modelo RCR se puede calcular mediante la estimación. y^j{\hat{y}}_{j} para la línea de regresión y su error estándar σy^,RCR\sigma_{\hat{y},RCR} Según el método propuesto por Scholz y Vangel [5], que se detalla a continuación. Su método utiliza el concepto de tamaño de muestra efectivo.
y^j±k•σy^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
El término de error σy^,RCR\sigma_{\hat{y},RCR} se calcula mediante
σy^,RCR=D(yo(𝚺^CAMA Y DESAYUNO+1n𝛀)yo′+σ^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 yo=[1t1⋮⋮1tk],kϵ N\mathbf{t} = \begin{bmatrix}
1 & t_{1} \\
\vdots & \vdots \\
1 & t_{k} \\
\end{bmatrix},\ k\ \epsilon\mathbb{\text{\ N}} , y DD es la diagonal del argumento. El factor kk viene dado por
k=n−1n•1n*−1•tn*−1,zp•n*,γk = \sqrt{\frac{n - 1}{n}} \bullet \frac{1}{\sqrt{n^{*} - 1}} \bullet t_{n^{*} - 1,\ z_{p} \bullet \sqrt{n^{*}},\gamma}
donde el factor tn*−1,zp•n*,γt_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma} es el γ\gama cuantil de la distribución t con n*−1n^{*} - 1 grados de libertad y el parámetro de no centralidad zp•n*z_{p} \bullet \sqrt{n^{*}} , dónde zpz_{p} es el pp cuantil de la distribución normal estándar. El parámetro n*n^{*} es el tamaño efectivo de la muestra dado por
n*=[σb2σb2+σe2•∑i=1nb(nin)2+1n•σe2σb2+σe2]−1=[ρ•1f+1+(1−ρ)•1n]−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ámetro ff y la razón de varianza ρ\rho se definen por
| f=1∑i=1nb(nin)2−1f = \frac{1}{\sum_{i = 1}^{n_{b}}\left( \frac{n_{i}}{n} \right)^{2}} - 1 |
ρ=σb2σb2+σe2\rho = \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} |
dónde σb2\sigma_{b}^{2} es la varianza entre lotes, σe2\sigma_{e}^{2} es la varianza dentro del lote (o varianza del método), nin_{i} es el número de mediciones por lote ii , es decir i=1,⋯,nbi = 1,\ \cdots,\ n_{b} , nbnótese bien} es el número de lotes históricos, y nn es el número total de muestras, es decir n=∑i=1nbnin = \sum_{i = 1}^{n_{b}}n_{i} .
Las cubiertas de TI p(100%)p\izquierda( 100\% \derecha) de la población con una probabilidad de γ(100%)\gamma\izquierda( 100\% \derecha) El concepto de tamaño de muestra efectivo considera que los datos intralote están más correlacionados que los interlotes, lo que disminuye la cantidad de información independiente. Por esta razón, siempre se cumple lo siguiente: n*≤nn^{*} \leq n El caso ideal n*=nn^{*} = n Se 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, hay que definir los nombres de los lotes de referencia y de prueba, así como los distintos nombres de las variables para la respuesta, el tiempo, los lotes y las condiciones de almacenamiento.
El modelo RCR se construye (Carter y Yang simplificados [1]) como se describe anteriormente.
La 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 evaluar 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} ), errores cuadráticos medios ((RMSE ) MSE, MSEi\texto{MSE}_{i} ), grados de libertad (gl, dfi\texto{df}_{i} ), y el número de observaciones (n, nin_{i} ) del ii Los lotes históricos se recopilan y almacenan en vectores de longitud nbnó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
);
El paso b ) comienza con la estimación del MSE agrupado (MSE.pool, MSEpiscina\text{MSE}_{\text{pool}} ). Posteriormente, se obtuvo la matriz de varianza-covarianza del modelo medio (M.bar, 𝐌¯\overset{\overline{}}{\mathbf{M}} ), que luego se combina con la matriz de varianza-covarianza de la muestra (S, yocama y desayuno\mathbf{S}_{\text{bb}} ) para obtener la matriz de varianza-covarianza (Sigma.hat, 𝚺^CAMA Y DESAYUNO{\hat{\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.
En el paso c ) los coeficientes del modelo RCR ab.hat ( 𝛃^WLS{\hat{\mathbf{\beta}}}_{\text{WLS}} ) se estiman con 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 intervalo de tiempo (TI) para el modelo RCR según Scholz y Vangel [5]. Para la construcción del intervalo, se utilizan las estimaciones del intercepto promedio y del coeficiente de pendiente 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. La Figura 2 muestra un informe de ejemplo.
Los resultados resumidos en 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 se encuentra 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 debería haberse extraído ya en la estación de tiempo precedente, aunque el punto de tiempo de 12 meses se encuentre 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 este es un punto OOE / OOT.
Como se mencionó al principio 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 en la intersección, sin variación de la pendiente; caso II: variación en la intersección, sin variación de la pendiente; caso III: sin variación en la intersección, variación de la pendiente; caso IV: variación en la intersección, 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 las intersecciones y/o pendientes varían y es muy similar al método básico en los casos en que no hay variabilidad en la intersección y la pendiente.
Figure_2Figura_2Figura_2
Figura 2 Salida del script que implementa el método RCC/RCR
La ventana se divide en las secciones "Evaluación histórica del lote", "Evaluación del lote actual (parámetros individuales del modelo)" y la pantalla gráfica, que resume los datos históricos y actuales del lote. Los datos de los lotes históricos se representan con puntos azules () y los del lote actual con cruces rojas (). El IT ajustado a los datos de los lotes históricos se representa con la banda delimitada por las líneas punteadas azules y el IP ajustado a los datos del lote actual (sin incluir la observación más reciente) con la banda delimitada por las líneas discontinuas rojas.
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 se representa mediante 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 básico del modelo se representa mediante la línea de regresión discontinua púrpura y el sombreado 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ásico en las siguientes situaciones: Panel I: caso "sin variación en el intercepto, sin variación en la pendiente"; Panel II: caso "variación en el intercepto, sin variación en la pendiente"; Panel III: caso "sin variación en el intercepto, variación en la pendiente"; Panel IV: caso "variación en el intercepto, variación en la pendiente"; Panel Va: caso "no linealidad"; Panel Vb: caso "no linealidad" después de la transformación, es decir, elevando al cuadrado, 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 medicamento con respecto a los resultados de OOE y OOT. Es requisito previo disponer de datos históricos de estabilidad de al menos tres lotes con al menos cuatro puntos temporales de cada uno.
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.
Guía ICH Q1A(R2), Pruebas de estabilidad de nuevos fármacos y productos, versión 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 del Cpk bajo efectos de lote. Publicado en: Modelos Estocásticos Avanzados para la 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 la perspectiva del control de calidad. (Deming, WE). Washington, D.C., Escuela de Posgrado, Departamento de Agricultura.
Procedimiento Operativo Estándar – Guía para la Gestión de Datos de Laboratorio – Resultados Fuera de Expectativa (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 del Reino Unido (MHRA), 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, n.º 953, Anexo 2 Pruebas de estabilidad de ingredientes farmacéuticos activos y productos farmacéuticos terminados, 2009. ENLACE