code{white-space: pre;}
Pius Dahinden, PhD, responsable des sciences analytiques, Tillotts Pharma
Abstrait
Depuis que la nouvelle directive BPF de l'UE (EudraLex Volume 4), chapitre 6 (Contrôle qualité) est entrée en vigueur en 2014, la réalisation d'une analyse des tendances sur les données de stabilité des produits pharmaceutiques est une exigence supplémentaire en matière de contrôle qualité analytique. Le groupe de travail sur le contrôle de la qualité analytique (AQCWG) de l'Académie européenne de conformité (ECA) a élaboré une procédure opérationnelle standard pour l'évaluation des résultats hors attentes (OOE) et hors tendance (OOT). Pour l'évaluation des données de stabilité, il est recommandé d'utiliser la procédure de carte de contrôle de régression (RCC) pour comparer les lots actuels avec les données des lots historiques. Cependant, les pentes et/ou les interceptions estimées à partir des données de lots historiques elles-mêmes sont sujettes à l'incertitude. L'ECA AQCWG propose une méthode simplifiée de régression à coefficients aléatoires (RCR) qui en tient compte. Un script JMP nouvellement développé qui implémente la procédure RCC/RCR recommandée est présenté. Le script simplifie l'identification des points OOE / OOT dans les données de stabilité et fournit toutes les informations nécessaires dans la sortie, ainsi qu'un affichage graphique approprié.
Introduction
Les fabricants appliquent un contrôle statistique des processus (SPC) pour garantir la qualité des articles produits et pour éviter les pertes financières causées par des processus de production incontrôlables. Le contrôle de processus signifie qu'un processus en cours est régulièrement surveillé et que, si l'un des paramètres surveillés présente une tendance anormale, des mesures sont prises pour remettre le processus sous contrôle. SPC est un outil qui permet aux fabricants de détecter rapidement les changements dans un processus, leur permettant ainsi d'enquêter sur les problèmes à l'origine des problèmes et de prendre des mesures correctives à un stade précoce. Un outil puissant pour la surveillance des processus est la méthode des cartes de contrôle qui a été popularisée par Shewhart [6]. La figure 1 montre la vue schématique d'une carte de contrôle typique.
Contrairement aux processus de production pour lesquels il ne devrait y avoir aucune tendance, il existe de nombreux problèmes de gestion des données avec une tendance inhérente. Pour l'analyse de problèmes de gestion de données de ce type, la méthode conventionnelle des cartes de contrôle a été combinée avec l'analyse de régression, et cette approche a été appelée « carte de contrôle de régression » (RCC) par Mandel [4]. Comme le contrôle limite, l'utilisation d'intervalles de tolérance (TI) est raisonnable. Pour surveiller les données de stabilité des produits pharmaceutiques stockés dans les conditions de stockage recommandées (par exemple, 25 °C / 60 % RH), les RCC sont utilisés pour surveiller, par exemple, la dégradation du principe pharmaceutique actif ou l'accumulation d'impuretés au fil du temps, pour soutenir la date de péremption du produit, c'est-à-dire confirmer la stabilité du produit médicamenteux pendant toute la durée de conservation indiquée sur l'étiquette.
Figure_1Figure 1
Figure 1 Composition typique d'une carte de contrôle
Une carte de contrôle montre généralement les valeurs X X ou une statistique de plusieurs valeurs (par exemple la moyenne) de la caractéristique de qualité d'un échantillon par rapport au nombre d'échantillons ou au temps. En général, le graphique contient une ligne centrale qui représente la valeur moyenne X ¯ \overset{\overline{}}{X} du processus de contrôle. Une hypothèse fondamentale est que les données sont normalement distribuées. Deux lignes horizontales caractéristiques supplémentaires constituent les limites de contrôle inférieure et supérieure (LCL et UCL, respectivement) à une distance de ± 3 écarts types (SD) de la ligne centrale, de sorte que, tant que le processus est sous contrôle, 99,7 % de la les points de données se situeront dans ces limites en raison d’une variation aléatoire appelée variation de cause commune. Les lignes situées à une distance de ± 2 SD de la ligne centrale sont appelées limites d'avertissement inférieure et supérieure (LWL et UWL, respectivement), tandis que les lignes situées à une distance de ± 1 SD de la ligne centrale n'ont pas de nom spécifique. A l'aide de ces lignes, une carte de contrôle peut être divisée en zones C à A. Les règles de détection de causes particulières de variation qui caractérisent un processus non maîtrisé utilisent les fréquences d'observations dans ces zones comme base de décision.
Procédures et résultats
Le RCC appliqué aux données de stabilité d'un produit pharmaceutique vise à répondre à deux questions : 1) Le lot actuel est-il hors attentes (OOE) ou hors tendance (OOT) en termes de lots historiques (c'est-à-dire concernant le TI dérivé des données historiques) , et 2) est le point de données mesuré le plus récemment du lot actuel OOE en termes du lot actuel (c'est-à-dire concernant son intervalle de prédiction (PI)) ?
Un minimum de trois points de données du lot actuel sont nécessaires pour l'évaluation d'une tendance en termes de question 1. Pour l'évaluation de la question 2, au moins quatre points de données sont nécessaires car le point de données mesuré le plus récemment ne doit pas être utilisé pour l'évaluation. construction du PI.
Puisqu'il est très probable que les lots historiques individuels varient en ce qui concerne leurs ordonnées à l'origine et leurs pentes, un modèle des moindres carrés ordinaire (pente commune – ordonnée à l'origine commune) pourrait ne pas être significatif. Pour cette raison, le groupe de travail sur le contrôle de la qualité analytique (AQCWG) de l'Académie européenne de conformité (ECA) recommande d'utiliser la méthode de « régression à coefficient aléatoire » (RCR) qui prend en compte la variabilité des ordonnées à l'origine et des pentes des lots individuels [7]. Un modèle RCR simplifié (modèle de Carter et Yang [1] modifié) contient deux paramètres inconnus, à savoir l'interception β 1 \bêta_{1} et la pente β 2 \bêta_{2} . Cette procédure est conforme aux directives de l'OMS [9] et de l'ICH [2].
Le terme OOT a été défini par l'Agence britannique de réglementation des médicaments et des produits de santé (MHRA) comme un résultat de test de stabilité qui ne suit pas la tendance attendue, ni par rapport à d'autres lots de stabilité, ni par rapport aux résultats précédents collectés lors d'une étude de stabilité. [8]. Le terme OOS a été défini par la MHRA comme un résultat de test qui n'est pas conforme aux critères d'acceptation prédéterminés ou un résultat de test qui ne répond pas aux critères d'acceptation établis qui ont été établis dans des recueils officiels et/ou par la documentation de l'entreprise [8 ]. Jusqu’à présent, il n’existe pas de définition formelle du terme OOE. L'ECA AQCWG propose (pour les tests qualitatifs et quantitatifs) de définir les résultats OOE comme des résultats anormaux, inattendus ou inhabituels qui ne peuvent être classés comme hors spécifications (OOS) ou OOT [7].
Modèle RCR
Le modèle RCR simplifié peut s’écrire
𝐲je=𝛃1i+𝛃2i•𝐭je+𝛆je\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
où 𝐲 je \mathbf{y}_{i} est un n je × 1 n_{i} \fois 1 vecteur représentant le je ème je ^{\text{th}} lot n je n_{i} mesures répétées (où j = 1 , ⋯ , n je j = 1,\ \cdots,\ n_{i} , avec n je n_{i} représentant le nombre total de mesures répétées du lot je je ) sur la variable réponse (ex : dosage [%], somme des impuretés [%] ou dissolution [%]), 𝛃 1 je \mathbf{\bêta}_{1i} et 𝛃 2 je \mathbf{\bêta}_{2i} sont des vecteurs des intersections et des pentes spécifiques au lot, respectivement, 𝐭 je \mathbf{t}_{i} est le je ème je ^{\text{th}} le vecteur temporel du lot (par exemple [Mois]), et 𝛆 je \mathbf{\varepsilon}_{i} est un n je × 1 n_{i} \fois 1 vecteur de n je n_{i} erreurs aléatoires. Une condition préalable à ce modèle RCR est une relation linéaire entre la réponse et la variable explicative. Si la relation ne doit pas être linéaire, une transformation appropriée doit être appliquée avant d'effectuer la modélisation RCR.
It is assumed that each εje\varepsilon_{\text{ij}} comes from a univariate normal population with mean zero, variance σ2\sigma^{2}, and all εje\varepsilon_{\text{ij}}'s are independent of each other (conditional independence) and of the model coefficients β1i\bêta_{1i} and β2i\bêta_{2i}. This assumption is reasonable because it is highly improbable that the analytical method variability depends on the batch being tested or the point in time when the testing is executed. It is further assumed that each batch's regression coefficient vector, 𝛃i\mathbf{\bêta}_{i}, is independent of their and all other batch's vectors of random errors, 𝛆k\mathbf{\varepsilon}_{k}.
La modélisation RCR comprend trois étapes.
Étape a) Ajustement d'un modèle de régression linéaire simple aux données de chaque lot
The data associated with batch ii are denoted by (tje,yje)\left( t_{\text{ij}},y_{\text{ij}} \right), where yjey_{\text{ij}} represents the ithi^{\text{th}} batch's measured response at time point tjt_{j}, where j=1,⋯,nij = 1,\ \cdots,\ n_{i}. The individual time points tjt_{j} may differ between the batches, and so may the total number of time points nin_{i}. The design matrix 𝐗i\mathbf{X}_{i} for batch ii can be written in matrix form as follows.
𝐗i=[1ti1⋮⋮1tini]\mathbf{X}_{i} = \begin{bmatrix}1&t_{i1}\\\vdots&\vdots\\1&t_{in_{i}}\\\end{bmatrix}
Cette matrice est normalisée et désignée par 𝐌 je \mathbf{M}_{i} .
𝐌i=(𝐗i′𝐗i)−1\mathbf{M}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}
Les estimations pour les interceptions β je 1 \bêta_{i1} , Les pentes β je 2 \bêta_{i2} , l'"erreur quadratique moyenne" de la régression MSE je = σ je oui ^ 2 \text{MSE}_{i} = \sigma_{i\hat{y}}^{2} , et les degrés de liberté df je = ( n je − 2 ) \text{df}_{i} = \left( n_{i} - 2 \right) associé à MSE je \text{MSE}_{i} sont obtenus en ajustant un modèle de régression linéaire simple aux données de chaque lot. Les interceptions et les pentes ( 𝛃 1 , 𝛃 2 ) ' \left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'} sont estimés par
𝐛i=(𝐗i′𝐗i)−1𝐗i′𝐲i\mathbf{b}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}\mathbf{X}_{ je}^{'}\mathbf{y}_{i}.
Étape b) Estimation de la matrice de variance-covariance d'erreur
L'estimation de la matrice de variance-covariance d'erreur des coefficients aléatoires commence par estimer les valeurs regroupées MSE \text{MSE} de tous les lots, c'est-à-dire MSE piscine \text{MSE}_{\text{pool}} , comme suit.
MSEpool=σ^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}}
Le numérateur de cette équation peut être exprimé comme suit.
dfi•MSEi=ESSi=𝛆^i′𝛆^i=(𝐲i−𝐗i𝐛i)′(𝐲i−𝐗i𝐛i)\text{df}_{i} \bullet \text{MSE}_{i} = \text{SSE}_{i} = {\hat{\mathbf{\valuepsilon}}}_{i}^{' }{\hat{\mathbf{\varepsilon}}}_{i} = \left( \mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i}\ droite)^{'}\left(\mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i}\right)
La matrice de variance-covariance de l'échantillon 𝐒 bb \mathbf{S}_{\text{bb}} des intersections et des pentes estimées ( 𝛃 1 , 𝛃 2 ) ' \left( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'} est calculé comme suit.
𝐒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} - {\ chapeau{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^ {'}
oùβ ^ ULS = 1 n ∑ je = 1 n 𝐛 je {\hat{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i} , c'est-à-dire le vecteur moyen des coefficients, c'est-à-dire les ordonnées à l'origine et les pentes (ULS signifie "Unweighted Least-Squares"). Maintenant, la matrice de variance-covariance 𝚺 ^ ββ {\hat{\mathbf{\Sigma}}}_{\text{ββ}} peut être estimé comme suit.
𝚺^ββ=𝐒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 \translated{\overline{}}{\mathbf{M}} = \begin{bmatrix} } \sigma_{\beta_{1}}^{2} & \sigma_{\beta_{1}\beta_{2}} \\\sigma_{\beta_{1}\beta_{2}} & \sigma_{\ bêta_ {2}}^{2} \\\end{bmatrix}
où 𝐌 ¯ = 1 n • ∑ je = 1 n 𝐌 je \overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i} , c'est-à-dire la matrice moyenne de variance-covariance du modèle. La variance d'erreur σ ^ 2 {\chapeau{\sigma}}^{2} estime la variance de la méthode analytique. La composante de variance à l’origine σ β 1 2 \sigma_{\beta_{1}}^{2} représente la variance intra-lot de la réponse observée lors de la sortie du produit due uniquement au processus de fabrication, c'est-à-dire excluant la variance due à la méthode analytique. La composante de variance de pente σ β 2 2 \sigma_{\beta_{2}}^{2} représente la variance entre les lots des taux de dégradation.
Puisque la matrice de variance-covariance 𝚺 ^ ββ {\hat{\mathbf{\Sigma}}}_{\text{ββ}} est estimée en calculant la différence de deux matrices, le résultat peut ne pas être défini positif, c'est-à-dire que l'ordonnée à l'origine et/ou la ou les composantes de la variance de la pente peuvent être négatives. Une solution possible à ce problème consiste à remplacer la ou les valeurs négatives par 0. Il s'agit d'une approche simple de premiers secours pour les estimations de variance négatives et équivaut à convertir un effet aléatoire en un effet fixe. Dans le cas où les deux variances sont nulles, le modèle RCR correspond au modèle des moindres carrés ordinaires (OLS).
Étape c) Estimation du vecteur moyen des coefficients par un estimateur des moindres carrés pondérés (WLS)
L'estimation du vecteur moyen des coefficients commence par le calcul de l'estimation de 𝐖 je \mathbf{W}_{i} ,
𝐖i=(𝚺^ββ+σ^2•𝐌i)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf {M}_{i}\droite)^{-1}
qui correspond à l'inverse de la variance de l'estimation du paramètre de régression pour le je ème je ^{\text{th}} lot. Sur la base de cette équation, le 2 × je 2 fois je La matrice dimensionnelle des estimations du coefficient d'origine et de pente, c'est-à-dire l'estimation des moindres carrés pondérés, est maintenant obtenue par l'équation suivante :
𝛃^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_{ je = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i}\right)
où 𝛀 \mathbf{\Omega} est une estimation de la variance de l'estimateur des moindres carrés pondérés. La moyenne des estimations à l'origine représente la réponse à la libération du produit, moyenne sur l'ensemble du processus de fabrication, et la moyenne des estimations de la pente représente la pente commune.
Intervalle de tolérance (TI) pour le modèle RCR
Les coefficients du modèle RCR β 1 \bêta_{1} et β 2 \bêta_{2} décrire la tendance générale, c'est-à-dire la tendance commune des lots historiques. Le TI du modèle RCR peut être calculé à l'aide de l'estimation oui ^ j {\chapeau{y}}_{j} pour la droite de régression et son erreur type σ oui ^ , R. C R. \sigma_{\chapeau{y},RCR} selon la méthode proposée par Scholz et Vangel [5] comme suit. Leur méthode utilise le concept de taille d’échantillon efficace.
y^j±k•σy^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
Le terme d'erreur σ oui ^ , R. C R. \sigma_{\chapeau{y},RCR} est calculé par
σy^,RCR=D(𝐭(𝚺^ββ+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)
où h = [ 1 t 1 ⋮ ⋮ 1 t k ] , 1999 . k ϵ PAR \mathbf{t} = \begin{bmatrix}1 & t_{1}\\\vdots&\vdots\\1 & t_{k}\\end{bmatrix},\k\ \epsilon\mathbb{\text {\ PAR}} , et D D est la diagonale de l'argument. Le facteur k k est donné par
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}
où le facteur t n * − 1 , z p • n * , y t_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma} est le y \gamma quantile de la distribution t avec n * − 1 n^{*} - 1 degrés de liberté et paramètre de non-centralité z p • n * z_{p} \bullet \sqrt{n^{*}} , où z p z_{p} est le p p quantile de la distribution normale standard. Le paramètre n * n^{*} est la taille effective de l’échantillon donnée par
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_{ je = 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}
où le paramètre F F et le rapport de variance ρ \rho sont définis par
| 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}} |
où σ b 2 \sigma_{b}^{2} est la variance entre les lots, σ e 2 \sigma_{e}^{2} est la variance intra-lot (ou variance de méthode), n je n_{i} est le nombre de mesures par lot je je , c'est à dire je = 1 , ⋯ , n b je = 1,\ \cdots,\ n_{b} , n b n_{b} est le nombre de lots historiques, et n n est le nombre total d'échantillons, soit n = ∑ je = 1 n b n je n = \sum_{i = 1}^{n_{b}}n_{i} .
Le TI couvre p ( 100 % ) p\gauche( 100\% \droite) de la population avec une probabilité de y ( 100 % ) \gamma\gauche( 100\% \droite) . Le concept de taille d'échantillon effective tient compte du fait que les données intra-lots sont plus corrélées que les données inter-lots, ce qui diminue la quantité d'informations indépendantes. Pour cette raison, ce qui suit est toujours vrai : n * ≤ n n^{*} \leq n . Le cas idéal n * = n n^{*} = n est réalisé si les données intra-lot sont totalement décorrélées.
Implémentation de RCC/RCR dans JMP
Le script JSL implémentant la procédure RCC/RCR est structuré en plusieurs parties.
Il faut tout d'abord définir les noms des lots de référence et de test ainsi que les différents noms de variables pour la réponse, l'heure, les lots et les conditions de stockage.
Le modèle RCR est construit (Carter et Yang simplifiés [1]) comme indiqué ci-dessus.
Le TI du modèle RCR est construit en utilisant la méthode proposée par Scholz et Vangel [5].
Une fenêtre de rapport est générée résumant les paramètres calculés sous forme tabulaire et graphique.
Exemple
Pour l'évaluation de la fonctionnalité du script, divers ensembles de données ont été générés pour neuf lots historiques et un lot actuel. L'extrait de code suivant exécute l'étape a ) de l'ajustement du modèle RCR, c'est-à-dire les interceptions (a, 𝛃 1 \mathbf{\bêta}_{1} ), les pentes (b, 𝛃 2 \mathbf{\bêta}_{2} ), (racine) erreurs quadratiques moyennes ((RMSE ) MSE, MSE je \text{MSE}_{i} ), degrés de liberté (df, df je \text{df}_{i} ), et le nombre d'observations (n, n je n_{i} ) de la je je les lots historiques sont collectés et stockés dans des vecteurs de longueur n b n_{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
);
L'étape b ) commence par l'estimation du MSE groupé (MSE.pool, MSE piscine \text{MSE}_{\text{pool}} ). Par la suite, la matrice moyenne de variance-covariance du modèle (M.bar, 𝐌 ¯ \overset{\overline{}}{\mathbf{M}} ) est estimée, qui est ensuite combinée avec la matrice de variance-covariance de l'échantillon (S, 𝐒 bb \mathbf{S}_{\text{bb}} ) pour obtenir la matrice de variance-covariance (Sigma.hat, 𝚺 ^ ββ {\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.
A l'étape c ) les coefficients du modèle RCR ab.hat ( 𝛃 ^ WLS {\hat{\mathbf{\beta}}}_{\text{WLS}} ) sont estimés à l’aide de l’extrait de code suivant.
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 );
L'extrait de code suivant montre la construction du TI pour le modèle RCR selon Scholz et Vangel [5]. Pour la construction de l'intervalle, les estimations moyennes du coefficient d'origine et de pente stockées dans le vecteur ab.hat.bar sont utilisées.
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 ) );
Dans la dernière partie du script, les résultats sont préparés pour être affichés dans une fenêtre de rapport. Un exemple de rapport est présenté dans la figure 2.
Les résultats résumés par la fenêtre du rapport permettent de répondre aux questions posées au tout début du chapitre 3 comme suit : 1) puisque le point de données de 18 mois (c'est-à-dire la mesure la plus récente) du lot en cours se situe en dehors du TI ajusté aux données de des lots historiques, il faut conclure que le lot actuel est OOE / OOT, et 2) puisque le point de données de 18 mois du lot actuel se situe en dehors du PI du lot actuel, il faut conclure que le lot actuel est également OOE / OOT en termes de lot actuel. La même conclusion devrait déjà être tirée à la station temporelle précédente, bien que le point temporel de 12 mois se situe dans l'IP du lot actuel. Cependant, comme ce point se situe en dehors du TI ajusté aux données des lots historiques, la conclusion générale à la station temporelle de 12 mois doit avoir été qu'il s'agit d'un point OOE/OOT.
Comme mentionné au début du chapitre 3, il est très probable que les lots historiques individuels varient en ce qui concerne leurs ordonnées à l'origine et leurs pentes et que pour cette raison, le modèle RCR surpasse le modèle des moindres carrés ordinaires. Cinq cas peuvent être différenciés : cas I : pas de variation d'origine, pas de variation de pente ; cas II : variation à l'origine, pas de variation de pente ; cas III : pas de variation d'origine, variation de pente ; cas IV : variation d'origine, variation de pente ; et cas V : non-linéarité. Les résultats sont résumés dans la figure 3 pour l'ensemble des cinq cas. Les graphiques de la figure 3 montrent que le modèle RCR représente mieux les données dans les cas où les ordonnées à l'origine et/ou les pentes varient et est très similaire à la méthode de base dans les cas où il n'y a pas de variabilité à l'origine et/ou de la pente.
Figure_2Figure 2
Figure 2 Sortie du script implémentant la méthode RCC/RCR
La fenêtre est divisée en parties « Évaluation du lot historique », « Évaluation du lot actuel (paramètres de modèle individuel) » et l'affichage graphique qui résume les données du lot historique et actuel. Les données des lots historiques sont représentées par des points bleus () et les données du lot actuel par des croix rouges (). Le TI ajusté aux données des lots historiques est représenté par la bande délimitée par les lignes pointillées bleues et le PI ajusté aux données du lot courant (mais sans inclure l'observation la plus récente) par la bande délimitée par les lignes pointillées rouges. .
Figure 3 Comparaison des intervalles du modèle RCR et des intervalles du modèle de régression linéaire de base dans différentes situations
L'ajustement du modèle RCR est représenté par la ligne de régression pleine bleue et les lignes pointillées bleues de l'intervalle de tolérance correspondant (confiance à 95 % et couverture à 95 %). L'ajustement de base du modèle est représenté par la ligne de régression en pointillés violets et la teinte violette de l'intervalle de prédiction correspondant (confiance à 95 %), c'est-à-dire les limites de confiance pour une valeur prédite individuelle. Les lignes pointillées grises du panneau Va représentent l'ajustement non linéaire calculé sur la base de la réponse au carré. Les six panels comparent les intervalles du modèle RCR et les intervalles du modèle de régression linéaire de base dans les situations suivantes : Panel I : cas « pas de variation à l'origine, pas de variation de pente » ; Panel II : cas « variation à l'origine, pas de variation de pente » ; Panel III : cas « pas de variation d'origine, variation de pente » ; Panel IV : cas « variation d'origine, variation de pente » ; Panel Va : cas de « non-linéarité » ; Panel Vb : cas de « non-linéarité » après transformation, c'est-à-dire quadrature, de la variable réponse.
Conclusion
Le script JMP présenté dans ce manuscrit est un outil approprié et robuste pour évaluer les données de stabilité d'un lot actuel d'un produit médicamenteux par rapport aux résultats OOE et OOT. Une condition préalable est la disponibilité de données historiques de stabilité d'au moins trois lots avec au moins quatre points temporels pour chacun de ces lots.
Bibliographie
Carter, RL et Yang, MCK Inférence sur un grand échantillon dans des modèles de régression à coefficients aléatoires. Communications en statistique – Théorie et méthodes (1986) 15 (8) : 2507-2525. LIEN
Conover, WJ (1980), Statistiques pratiques non paramétriques, New York : John Wiley and Sons, Inc.
ICH Guidance Q1A(R2), Stability Testing of New Drug Substances and Product, version étape 4, 6 février 2003. LIEN
Mandel, BJ Tableau de contrôle de régression. J Qual Technol (1969) 1 (1) : 1-9. LIEN
Scholz, F. et Vangel, M. Limites de tolérance et limites de confiance Cpk sous effets de lot. Publié dans : Avancé dans les modèles stochastiques pour la fiabilité, la qualité et la sécurité. Edité par Kahle, W., von Collani, E., Franz, J. et Jensen, U. Birkhäuser, Boston, 1998, 361-379. LIEN
Shewhart, Washington (1939). Méthode statistique du point de vue du contrôle qualité. (Deming, NOUS). Washington, DC, The Graduate School, ministère de l'Agriculture.
Procédure opérationnelle standard – Guide de gestion des données de laboratoire – Résultats hors attentes (OOE) et hors tendance (OOT). Groupe de travail sur le contrôle de la qualité analytique de l'Académie européenne de conformité (ECA), Christopher Burgess, Draft V 0.3, 2015.
Agence britannique de réglementation des médicaments et des produits de santé (MHRA), Out Of Spécification Investigations, notes de présentation et dossier du délégué, 28 août 2013. LIEN
Série de rapports techniques de l'OMS, n° 953, Annexe 2 Tests de stabilité des ingrédients pharmaceutiques actifs et des produits pharmaceutiques finis, 2009. LIEN