code{white-space: pre;}
Pius Dahinden, PhD, Responsabile della Scienza Analitica, Tillotts Pharma
Astratto
Dall'entrata in vigore nel 2014 del Capitolo 6 (Controllo Qualità) delle nuove linee guida GMP dell'UE (EudraLex Volume 4), l'esecuzione di un'analisi di tendenza sui dati di stabilità dei farmaci è un requisito aggiuntivo per il controllo di qualità analitico. Il Gruppo di Lavoro per il Controllo di Qualità Analitico (AQCWG) dell'European Compliance Academy (ECA) ha elaborato una procedura operativa standard per la valutazione dei risultati fuori dalle aspettative (OOE) e fuori dalla tendenza (OOT). Per la valutazione dei dati di stabilità, si raccomanda di utilizzare la procedura della carta di controllo di regressione (RCC) per il confronto dei lotti correnti con i dati dei lotti storici. Tuttavia, le pendenze e/o le intercette stimate dai dati storici dei lotti stessi sono soggette a incertezza. L'ECA AQCWG propone un metodo semplificato di regressione a coefficienti casuali (RCR) che tiene conto di questo aspetto. Viene presentato un nuovo script JMP che implementa la procedura RCC/RCR raccomandata. Lo script semplifica l'identificazione dei punti OOE/OOT nei dati di stabilità e fornisce tutte le informazioni necessarie nell'output, insieme a una visualizzazione grafica appropriata.
Introduzione
I produttori applicano il controllo statistico di processo (SPC) per garantire la qualità dei prodotti e prevenire perdite finanziarie causate da processi di produzione fuori controllo. Il controllo di processo significa che un processo in esecuzione viene monitorato regolarmente e che, se uno qualsiasi dei parametri monitorati dovesse presentare un andamento anomalo, vengono adottate misure per riportare il processo sotto controllo. L'SPC è uno strumento che consente ai produttori di rilevare tempestivamente i cambiamenti in un processo, consentendo loro di indagare sui problemi che causano e adottare misure correttive in una fase iniziale. Un potente strumento per il monitoraggio del processo è il metodo della carta di controllo, reso popolare da Shewhart [6]. La Figura 1 mostra la vista schematica di una tipica carta di controllo.
A differenza dei processi di produzione in cui non dovrebbe esserci alcun trend, esistono molti problemi di gestione dei dati con un trend intrinseco. Per l'analisi di problemi di gestione dei dati di questo tipo, il metodo convenzionale delle carte di controllo è stato combinato con l'analisi di regressione, e questo approccio è stato definito "carta di controllo di regressione" (RCC) da Mandel [4]. Come limiti di controllo, l'utilizzo di intervalli di tolleranza (TI) è ragionevole. Per monitorare i dati di stabilità dei prodotti farmaceutici conservati alle condizioni di conservazione raccomandate (ad esempio, 25 °C / 60% RH), le RCC vengono utilizzate per monitorare, ad esempio, la degradazione del principio attivo o l'accumulo di impurità nel tempo, per supportare la data di scadenza del prodotto, ovvero per confermare la stabilità del farmaco per tutta la durata della shelf-life indicata in etichetta.
Figure_1Figura_1Figura_1
Figura 1 Composizione tipica del grafico di controllo
Un grafico di controllo mostra solitamente i valori XX o una statistica di diversi valori (ad esempio la media) della caratteristica qualitativa di un campione in funzione del numero di campioni o del tempo. In generale, il grafico contiene una linea centrale che rappresenta il valore medio. X¯\overset{\overline{}}{X} del processo sotto controllo. Un presupposto fondamentale è che i dati siano distribuiti normalmente. Due ulteriori linee orizzontali caratteristiche rappresentano i limiti di controllo inferiore e superiore (rispettivamente LCL e UCL) a una distanza di ± 3 deviazioni standard (DS) dalla linea centrale, in modo tale che, finché il processo è sotto controllo, il 99,7% dei punti dati rientrerà in questi limiti a causa di una variazione casuale, definita variazione di causa comune. Le linee a una distanza di ± 2 DS dalla linea centrale sono chiamate limiti di allerta inferiore e superiore (rispettivamente LWL e UWL), mentre le linee a una distanza di ± 1 DS dalla linea centrale non hanno un nome specifico. Con l'ausilio di queste linee, una carta di controllo può essere suddivisa nelle zone da C ad A. Le regole per l'individuazione della variazione di causa speciale che caratterizza un processo fuori controllo utilizzano le frequenze delle osservazioni in queste zone come base decisionale.
Procedure e risultati
L'RCC applicato ai dati di stabilità di un prodotto farmaceutico mira a rispondere a due domande: 1) Il lotto attuale è fuori dalle aspettative (OOE) o fuori dal trend (OOT) in termini di lotti storici (ad esempio per quanto riguarda il TI derivato dai dati storici) e 2) il punto dati misurato più di recente del lotto attuale è OOE in termini di lotto attuale (ad esempio per quanto riguarda il suo intervallo di previsione (PI))?
Per la valutazione di una tendenza in termini di domanda 1 sono necessari almeno tre punti dati del lotto corrente. Per la valutazione della domanda 2 sono necessari almeno quattro punti dati perché il punto dati misurato più di recente non deve essere utilizzato per la costruzione del PI.
Poiché è molto probabile che i singoli lotti storici varino rispetto alle loro intercette e alle loro pendenze, un modello dei minimi quadrati ordinari (pendenza comune - intercetta comune) potrebbe non essere significativo. Per questo motivo, il gruppo di lavoro per il controllo di qualità analitica (AQCWG) dell'European Compliance Academy (ECA) raccomanda di utilizzare il metodo della "regressione a coefficienti casuali" (RCR) che tiene conto della variabilità delle intercette e delle pendenze dei singoli lotti [7]. Un modello RCR semplificato (modello modificato di Carter e Yang [1]) contiene due parametri incogniti, ovvero l'intercetta β1\beta_{1} e la pendenza β2\beta_{2} Questa procedura è conforme alle linee guida dell'OMS [9] e dell'ICH [2].
Il termine OOT è stato definito dalla Medicines and Healthcare Products Regulatory Agency (MHRA) del Regno Unito come un risultato di test di stabilità che non segue la tendenza prevista, sia in confronto ad altri lotti di stabilità o rispetto ai risultati precedenti raccolti durante uno studio di stabilità [8]. Il termine OOS è stato definito dalla MHRA come un risultato di test che non è conforme ai criteri di accettazione predeterminati o un risultato di test che non rientra nei criteri di accettazione stabiliti che sono stati stabiliti in compendi ufficiali e / o dalla documentazione aziendale [8]. Finora non esiste una definizione formale del termine OOE. L'ECA AQCWG propone (sia per i test qualitativi che quantitativi) di definire i risultati OOE come risultati anomali, inaspettati o insoliti che non possono essere classificati come fuori specifica (OOS) o OOT [7].
Modello RCR
Il modello RCR semplificato può essere scritto come
Eio=𝛃1i+𝛃2i•𝐭io+𝛆io\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
Dove Ei\mathbf{y}_{i} è un ni×1n_{i} \volte 1 vettore che rappresenta il iili^{\testo{esimo}} lotto nin_{io} misurazioni ripetute (dove j=1,⋯,nij = 1,\ \cpunti,\ n_{i} , con nin_{io} che rappresenta il numero totale di misurazioni ripetute del lotto ii ) sulla variabile di risposta (ad esempio saggio [%], somma delle impurità [%] o dissoluzione [%]), 𝛃1i\mathbf{\beta}_{1i} E 𝛃2i\mathbf{\beta}_{2i} sono vettori rispettivamente delle intercette e delle pendenze specifiche del lotto, 𝐭i\mathbf{t}_{i} è il iili^{\testo{esimo}} vettore temporale del batch (ad esempio [Mese]) e 𝛆i\mathbf{\varepsilon}_{i} è un ni×1n_{i} \volte 1 vettore di nin_{io} Errori casuali. Un prerequisito per questo modello RCR è una relazione lineare tra la risposta e la variabile esplicativa. Se la relazione non dovesse essere lineare, è necessario applicare un'adeguata trasformazione prima di eseguire la modellazione RCR.
Si presume che ciascuno εio\varepsilon_{\testo{ij}} proviene da una popolazione normale univariata con media zero, varianza σ2\sigma^{2} , e tutti εio\varepsilon_{\testo{ij}} sono indipendenti l'uno dall'altro (indipendenza condizionale) e dai coefficienti del modello β1i\beta_{1i} E β2i\beta_{2i} Questa ipotesi è ragionevole perché è altamente improbabile che la variabilità del metodo analitico dipenda dal lotto in esame o dal momento in cui il test viene eseguito. Si presume inoltre che il vettore dei coefficienti di regressione di ciascun lotto, 𝛃i\mathbf{\beta}_{i} , è indipendente dai loro vettori di errori casuali e da tutti gli altri batch, 𝛆k\mathbf{\varepsilon}_{k} .
La modellazione RCR si compone di tre fasi.
Fase a) Adattamento di un semplice modello di regressione lineare ai dati di ciascun lotto
I dati associati al batch ii sono indicati da (tio,yio)\sinistra( t_{\testo{ij}},y_{\testo{ij}} \destra) , Dove yioy_{\testo{ij}} rappresenta il iili^{\testo{esimo}} risposta misurata del lotto al punto temporale tjt_{j} , Dove j=1,⋯,nij = 1,\ \cpunti,\ n_{i} I singoli punti temporali tjt_{j} può variare tra i lotti, e così può variare anche il numero totale di punti temporali nin_{io} La matrice di progettazione 𝐗i\mathbf{X}_{i} per lotto ii può essere scritto in forma matriciale come segue.
𝐗i=[1ti1⋮⋮1tini]\mathbf{X}_{i} = \begin{bmatrix} 1 & t_{i1} \\ \vdots & \vdots \\ 1 & t_{in_{i}} \\ \end{bmatrix}
Questa matrice è normalizzata e designata da 𝐌i\mathbf{M}_{i} .
𝐌i=(𝐗i′𝐗i)−1\mathbf{M}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}
Le stime per le intercettazioni βi1\beta_{i1} , le piste βi2\beta_{i2} , l'"errore quadratico medio" della regressione MSEi=σiy^2\text{MSE}_{i} = \sigma_{i\hat{y}}^{2} , e i gradi di libertà dfi=(ni−2)\text{df}_{i} = \left( n_{i} - 2 \right) associato a MSEi\testo{MSE}_{i} si ottengono adattando un modello di regressione lineare semplice ai dati di ciascun lotto. Le intercette e le pendenze (𝛃1,𝛃2)′\sinistra( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \destra)^{'} sono stimati da
𝐛i=(𝐗i′𝐗i)−1𝐗i′Ei\mathbf{b}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}\mathbf{X}_{i}^{'}\mathbf{y}_{i}.
Fase b) Stima della matrice varianza-covarianza dell'errore
La stima della matrice di varianza-covarianza dell'errore dei coefficienti casuali inizia stimando la matrice aggregata MSE\testo{MSE} di tutti i lotti, vale a dire MSEpiscina\text{MSE}_{\text{pool}} , come segue.
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}}
Il numeratore di questa equazione può essere espresso come segue.
dfi•MSEi=SSEi=𝛆^i′𝛆^i=(Ei−𝐗i𝐛i)′(Ei−𝐗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} \right)^{'}\left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i} \right)
La matrice di varianza-covarianza del campione 𝐒bb\mathbf{S}_{\testo{bb}} delle intercette e delle pendenze stimate (𝛃1,𝛃2)′\sinistra( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \destra)^{'} si calcola come segue.
𝐒bb=1n−1∑i=1n(𝐛i−β^ULS)(𝐛i−β^ULS)′\mathbf{S}_{\text{bb}} = \frac{1}{n - 1}\sum_{i = 1}^{n}\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{SLU}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{SLU}} \right)^{'}
Doveβ^ULS=1n∑i=1n𝐛i{\hat{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i} , ovvero il vettore medio dei coefficienti, ovvero intercette e pendenze (ULS sta per "Unweighted Least-Squares"). Ora, la matrice varianza-covarianza 𝚺^BB{\hat{\mathbf{\Sigma}}}_{\text{ββ}} può essere stimato come segue.
𝚺^BB=𝐒bb−σ^2n•∑i=1n(𝐗i′𝐗i)−1=𝐒bb−σ^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} \\ \end{bmatrix}
Dove 𝐌¯=1n•∑i=1n𝐌i\overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i} , ovvero la matrice di varianza-covarianza del modello medio. La varianza dell'errore σ^2{\hat{\sigma}}^{2} stima la varianza del metodo analitico. La componente di varianza dell'intercetta σβ12\sigma_{\beta_{1}}^{2} Rappresenta la varianza all'interno del lotto della risposta osservata al rilascio del prodotto, dovuta esclusivamente al processo di produzione, escludendo quindi la varianza dovuta al metodo analitico. La componente di varianza della pendenza σβ22\sigma_{\beta_{2}}^{2} rappresenta la varianza tra lotti delle velocità di degradazione.
Poiché la matrice varianza-covarianza 𝚺^BB{\hat{\mathbf{\Sigma}}}_{\text{ββ}} viene stimata calcolando la differenza di due matrici, il risultato potrebbe non essere definito positivo, ovvero l'intercetta e/o la componente di varianza della pendenza potrebbero essere negative. Un possibile rimedio a questo problema è sostituire il/i valore/i negativo/i con 0. Questo è un semplice approccio di primo soccorso per le stime di varianza negativa ed equivale a convertire un effetto casuale in un effetto fisso. Nel caso in cui entrambe le varianze siano pari a zero, il modello RCR corrisponde al modello dei minimi quadrati ordinari (OLS).
Fase c) Stima del vettore medio dei coefficienti mediante uno stimatore dei minimi quadrati ponderati (WLS)
La stima del vettore medio dei coefficienti inizia con il calcolo della stima di 𝐖i\mathbf{W}_{i} ,
𝐖i=(𝚺^BB+σ^2•𝐌i)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\Sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf{M}_{i} \right)^{- 1}
che corrisponde all'inverso della varianza della stima del parametro di regressione per l' iili^{\testo{esimo}} lotto. Sulla base di questa equazione il 2×i2 \volte i la matrice dimensionale delle stime dei coefficienti di intercetta e pendenza, ovvero la stima dei minimi quadrati ponderati, è ora ottenuta dalla seguente equazione:
𝛃^WLS=(∑i=1n𝐖i)−1(∑i=1n𝐖i𝐛i)=𝛀(∑i=1n𝐖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} \right)
Dove 𝛀\mathbf{\Omega} è una stima della varianza dello stimatore dei minimi quadrati ponderati. La media delle stime dell'intercetta rappresenta la risposta al rilascio del prodotto, mediata lungo tutto il processo produttivo, e la media delle stime della pendenza rappresenta la pendenza comune.
Intervallo di tolleranza (TI) per il modello RCR
I coefficienti del modello RCR β1\beta_{1} E β2\beta_{2} Descrivere la tendenza generale, ovvero la tendenza comune dei lotti storici. Il TI per il modello RCR può essere calcolato tramite la stima y^j{\hat{y}}_{j} per la linea di regressione e il suo errore standard σy^,RCR\sigma_{\hat{y},RCR} secondo il metodo proposto da Scholz e Vangel [5] come segue. Il loro metodo utilizza il concetto di dimensione effettiva del campione.
y^j±k•σy^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
Il termine di errore σy^,RCR\sigma_{\hat{y},RCR} è calcolato da
σy^,RCR=D(𝐭(𝚺^BB+1n𝛀)𝐭′+σ^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)
Dove 𝐭=[1t1⋮⋮1tk],kϵ N\mathbf{t} = \begin{bmatrix}
1 & t_{1} \\
\vdots & \vdots \\
1 & t_{k} \\
\end{bmatrix},\ k\ \epsilon\mathbb{\text{\ N}} , E DD è la diagonale dell'argomento. Il fattore kk è dato da
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}
dove il fattore tn*−1,zp•n*,γt_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma} è il γ\gamma quantile della distribuzione t con n*−1n^{*} - 1 gradi di libertà e parametro di non centralità zp•n*z_{p} \bullet \sqrt{n^{*}} , Dove zpz_{p} è il pp quantile della distribuzione normale standardizzata. Il parametro n*n^{*} è la dimensione effettiva del campione data da
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}
dove il parametro ff e il rapporto di varianza ρ\rho sono definiti da
| f=1∑i=1nb(nin)2−1f = \frac{1}{\somma_{i = 1}^{n_{b}}\sinistra( \frac{n_{i}}{n} \destra)^{2}} - 1 |
ρ=σb2σb2+σe2\rho = \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} |
Dove σb2\sigma_{b}^{2} è la varianza tra lotti, σe2\sigma_{e}^{2} è la varianza all'interno del lotto (o varianza del metodo), nin_{io} è il numero di misurazioni per lotto ii , cioè i=1,⋯,nbi = 1,\ \cpunti,\ n_{b} , nbn_{b} è il numero di lotti storici e nn è il numero totale di campioni, cioè n=∑i=1nbnin = \somma_{i = 1}^{n_{b}}n_{i} .
Le coperture TI p(100%)p\sinistra( 100\% \destra) della popolazione con una probabilità di γ(100%)\gamma\sinistra( 100\% \destra) Il concetto di dimensione effettiva del campione tiene conto del fatto che i dati all'interno del lotto sono più correlati rispetto ai dati tra lotti, il che riduce la quantità di informazioni indipendenti. Per questo motivo, quanto segue è sempre vero: n*≤nn^{*} \leq n Il caso ideale n*=nn^{*} = n si realizza se i dati all'interno del lotto sono totalmente non correlati.
Implementazione di RCC/RCR in JMP
Lo script JSL che implementa la procedura RCC / RCR è strutturato in più parti.
Per prima cosa devono essere definiti i nomi dei lotti di riferimento e di prova, nonché i nomi delle varie variabili per la risposta, l'ora, i lotti e le condizioni di conservazione.
Il modello RCR è costruito (semplificato da Carter e Yang [1]) come descritto sopra.
Il TI per il modello RCR è costruito utilizzando il metodo proposto da Scholz e Vangel [5].
Viene generata una finestra di report che riassume i parametri calcolati in forma tabellare e grafica.
Esempio
Per la valutazione della funzionalità dello script sono stati generati diversi set di dati per nove batch storici e un batch corrente. Il seguente frammento di codice esegue il passaggio a ) dell'adattamento del modello RCR, ovvero le intercette (a, 𝛃1\mathbf{\beta}_{1} ), pendenze (b, 𝛃2\mathbf{\beta}_{2} ), errori quadratici medi ((RMSE ) MSE, MSEi\testo{MSE}_{i} ), gradi di libertà (df, dfi\testo{df}_{i} ), e numero di osservazioni (n, nin_{io} ) del ii i lotti storici vengono raccolti e archiviati in vettori di lunghezza nbn_{b} .
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
);
Il passaggio b ) inizia con la stima dell'MSE aggregato (MSE.pool, MSEpiscina\text{MSE}_{\text{pool}} ). Successivamente, la matrice di varianza-covarianza del modello medio (M.bar, 𝐌¯\overset{\overline{}}{\mathbf{M}} ) viene stimato, che viene poi combinato con la matrice di varianza-covarianza del campione (S, 𝐒bb\mathbf{S}_{\testo{bb}} ) per ottenere la matrice varianza-covarianza (Sigma.hat, 𝚺^BB{\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.
Nel passaggio c ) i coefficienti del modello RCR ab.hat ( 𝛃^WLS{\hat{\mathbf{\beta}}}_{\text{WLS}} ) vengono stimati mediante l'ausilio del seguente frammento di codice.
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 );
Il frammento di codice successivo mostra la costruzione del TI per il modello RCR secondo Scholz und Vangel [5]. Per la costruzione dell'intervallo vengono utilizzate le stime dell'intercetta media e del coefficiente di pendenza memorizzate nel vettore 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 ) );
Nell'ultima parte dello script, i risultati vengono preparati per essere visualizzati in una finestra di report. Un esempio di report è mostrato in Figura 2.
I risultati riassunti dalla finestra del report consentono di rispondere alle domande poste all'inizio del capitolo 3 come segue: 1) poiché il punto dati di 18 mesi (ovvero la misurazione più recente) del lotto corrente si trova al di fuori del TI adattato ai dati dei lotti storici, si deve concludere che il lotto corrente è OOE / OOT, e 2) poiché il punto dati di 18 mesi del lotto corrente si trova al di fuori del PI del lotto corrente, si deve concludere che il lotto corrente è anche OOE / OOT in termini del lotto corrente. La stessa conclusione avrebbe dovuto essere tratta già alla stazione temporale precedente, sebbene il punto temporale di 12 mesi rientri nel PI del lotto corrente. Tuttavia, poiché questo punto si trova al di fuori del TI adattato ai dati dei lotti storici, la conclusione complessiva alla stazione temporale di 12 mesi deve essere stata che si tratta di un punto OOE / OOT.
Come accennato all'inizio del capitolo 3, è molto probabile che i singoli lotti storici varino rispetto alle loro intercette e alle loro pendenze e che per questo motivo il modello RCR superi il modello dei minimi quadrati ordinari. Si possono distinguere cinque casi: caso I: nessuna variazione dell'intercetta, nessuna variazione della pendenza; caso II: variazione dell'intercetta, nessuna variazione della pendenza; caso III: nessuna variazione dell'intercetta, variazione della pendenza; caso IV: variazione dell'intercetta, variazione della pendenza; e caso V: non linearità. I risultati sono riassunti nella Figura 3 per tutti e cinque i casi. I grafici nella Figura 3 mostrano che il modello RCR rappresenta meglio i dati nei casi in cui le intercette e/o le pendenze variano ed è molto simile al metodo base nei casi in cui non vi è alcuna variabilità dell'intercetta e della pendenza.
Figure_2Figura_2Figura_2
Figura 2 Output dello script che implementa il metodo RCC / RCR
La finestra è suddivisa nelle sezioni "Valutazione Batch Storico", "Valutazione Batch Corrente (Parametri Singoli del Modello)" e nella visualizzazione grafica che riassume i dati del lotto storico e del lotto corrente. I dati dei lotti storici sono rappresentati da punti blu () e i dati del lotto corrente da croci rosse (). L'indice di trascrizione (TI) adattato ai dati dei lotti storici è rappresentato dalla banda delimitata dalle linee tratteggiate blu e l'indice di approssimazione (PI) adattato ai dati del lotto corrente (ma senza includere l'osservazione più recente) dalla banda delimitata dalle linee tratteggiate rosse.
Figura 3 Confronto degli intervalli del modello RCR e degli intervalli del modello di regressione lineare di base in diverse situazioni
L'adattamento del modello RCR è rappresentato dalla linea di regressione continua blu e dalle linee tratteggiate blu del corrispondente intervallo di tolleranza (confidenza al 95% e copertura al 95%). L'adattamento del modello di base è rappresentato dalla linea di regressione tratteggiata viola e dalla tonalità viola del corrispondente intervallo di previsione (confidenza al 95%), ovvero i limiti di confidenza per un singolo valore predetto. Le linee tratteggiate grigie nel pannello Va rappresentano l'adattamento non lineare calcolato sulla base della risposta al quadrato. I sei pannelli confrontano gli intervalli del modello RCR e gli intervalli del modello di regressione lineare di base nelle seguenti situazioni: Pannello I: caso "nessuna variazione dell'intercetta, nessuna variazione della pendenza"; Pannello II: caso "variazione dell'intercetta, nessuna variazione della pendenza"; Pannello III: caso "nessuna variazione dell'intercetta, variazione della pendenza"; Pannello IV: caso "variazione dell'intercetta, variazione della pendenza"; Pannello Va: caso "non linearità"; Pannello Vb: caso "non linearità" dopo la trasformazione, ovvero l'elevamento al quadrato, della variabile di risposta.
Conclusione
Lo script JMP presentato in questo manoscritto è uno strumento idoneo e affidabile per la valutazione dei dati di stabilità di un lotto corrente di un farmaco rispetto ai risultati OOE e OOT. Un prerequisito è la disponibilità di dati storici di stabilità di almeno tre lotti con almeno quattro punti temporali per ciascuno di essi.
Bibliografia
Carter, RL e Yang, MCK Inferenza su grandi campioni in modelli di regressione a coefficienti casuali. Comunicazioni in Statistica – Teoria e Metodi (1986) 15 (8): 2507-2525. COLLEGAMENTO
Conover, WJ (1980), Statistica pratica non parametrica, Milano: Einaudi.
Guida ICH Q1A(R2), Test di stabilità di nuove sostanze farmacologiche e prodotti, versione fase 4, 6 febbraio 2003. COLLEGAMENTO
Mandel, BJ Carta di controllo della regressione. J Qual Technol (1969) 1 (1): 1-9. COLLEGAMENTO
Scholz, F. e Vangel, M. Limiti di tolleranza e limiti di confidenza del Cpk in presenza di effetti batch. Pubblicato in: Advanced in Stochastic Models for Reliability, Quality and Safety. A cura di Kahle, W., von Collani, E., Franz, J. e Jensen, U. Birkhäuser, Boston, 1998, pp. 361-379. COLLEGAMENTO
Shewhart, WA (1939). Metodo statistico dal punto di vista del controllo di qualità. (Deming, WE). Washington, DC, The Graduate School, Dipartimento dell'Agricoltura.
Procedura operativa standard – Linee guida per la gestione dei dati di laboratorio – Risultati fuori dalle aspettative (OOE) e fuori dal trend (OOT). Gruppo di lavoro per il controllo di qualità analitica dell'European Compliance Academy (ECA), Christopher Burgess, Bozza V 0.3, 2015.
Agenzia per la regolamentazione dei medicinali e dei prodotti sanitari del Regno Unito (MHRA), Indagini fuori specifica, note di presentazione e pacchetto per i delegati, 28 agosto 2013. COLLEGAMENTO
Serie di rapporti tecnici dell'OMS, n. 953, Allegato 2 Test di stabilità dei principi attivi farmaceutici e dei prodotti farmaceutici finiti, 2009. COLLEGAMENTO