code{white-space: pre;}
Pius Dahinden, PhD, responsable des sciences analytiques, Tillotts Pharma
Abstrait
Depuis l'entrée en vigueur en 2014 du chapitre 6 (Contrôle qualité) de la nouvelle directive BPF de l'UE (EudraLex Volume 4), l'analyse des tendances des données de stabilité des médicaments est devenue une exigence supplémentaire en matière de contrôle qualité analytique. Le groupe de travail sur le contrôle qualité analytique (AQCWG) de l'European Compliance Academy (ECA) a élaboré une procédure opérationnelle standard pour l'évaluation des résultats hors attente (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) afin de comparer les lots actuels aux données des lots historiques. Cependant, les pentes et/ou les interceptions estimées à partir des données historiques des lots sont elles-mêmes sujettes à incertitude. L'AQCWG de l'ECA propose une méthode simplifiée de régression à coefficients aléatoires (RCR) qui en tient compte. Un nouveau script JMP mettant en œuvre 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 la maîtrise statistique des procédés (MSP) pour garantir la qualité des articles produits et prévenir les pertes financières dues à une perte de contrôle des processus de production. La maîtrise des procédés implique la surveillance régulière d'un processus en cours et la prise de mesures pour le rétablir sous contrôle en cas d'anomalie de l'un des paramètres surveillés. La MSP est un outil permettant aux fabricants de détecter précocement les modifications d'un procédé, ce qui leur permet d'identifier les causes de problème et de prendre des mesures correctives en amont. La méthode des cartes de contrôle, popularisée par Shewhart [6], est un outil puissant de surveillance des procédés. La figure 1 présente une représentation schématique d'une carte de contrôle type.
Contrairement aux processus de production où il ne devrait y avoir aucune tendance, de nombreux problèmes de gestion des données présentent une tendance inhérente. Pour l'analyse de ce type de problèmes de gestion des données, la méthode conventionnelle des cartes de contrôle a été combinée à une analyse de régression, cette approche étant appelée « carte de contrôle de régression » (RCC) par Mandel [4]. L'utilisation d'intervalles de tolérance (TI) comme limites de contrôle 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 % HR), les RCC sont utilisées pour surveiller, par exemple, la dégradation du principe actif ou l'accumulation d'impuretés au fil du temps, afin de confirmer la date de péremption du produit, c'est-à-dire pour confirmer la stabilité du médicament pendant toute la durée de conservation indiquée sur l'étiquette.
Figure_1Figure_1Figure_1
Figure 1 Composition typique d'une carte de contrôle
Un graphique de contrôle montre généralement les valeurs XX ou une statistique de plusieurs valeurs (par exemple, la moyenne) de la caractéristique de qualité d'un échantillon en fonction du nombre d'échantillons ou du temps. En général, le graphique contient une ligne centrale représentant la valeur moyenne. X¯\overset{\overline{}}{X} du processus sous contrôle. Une hypothèse fondamentale est que les données sont distribuées normalement. Deux lignes horizontales caractéristiques supplémentaires constituent les limites de contrôle inférieure et supérieure (respectivement LCL et UCL), situées à ± 3 écarts types (ET) de la ligne centrale. Ainsi, tant que le processus est sous contrôle, 99,7 % des points de données se situent dans ces limites en raison d'une variation aléatoire, appelée variation de cause commune. Les lignes situées à ± 2 ET de la ligne centrale sont appelées limites d'alerte inférieure et supérieure (LWL et UWL, respectivement), tandis que celles situées à ± 1 ET de la ligne centrale n'ont pas de nom spécifique. À l'aide de ces lignes, une carte de contrôle peut être divisée en zones C à A. Les règles de détection des variations de cause spéciale caractérisant un processus non sous contrôle utilisent les fréquences d'observation 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 attente (OOE) ou hors tendance (OOT) par rapport aux lots historiques (c'est-à-dire concernant le TI dérivé des données historiques), et 2) le point de données le plus récemment mesuré du lot actuel est-il OOE par rapport au 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 la 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 le plus récemment mesuré ne doit pas être utilisé pour la construction de l'IP.
Étant donné la forte probabilité que les lots historiques individuels varient en termes d'interceptions et de pentes, un modèle des moindres carrés ordinaires (pente commune – interception commune) pourrait ne pas être pertinent. C'est pourquoi le groupe de travail sur le contrôle qualité analytique (AQCWG) de l'Académie européenne de conformité (ECA) recommande d'utiliser la méthode de régression à coefficients aléatoires (RCR), qui tient compte de la variabilité des interceptions et des pentes des lots individuels [7]. Un modèle RCR simplifié (modèle de Carter et Yang modifié [1]) contient deux paramètres inconnus : l'interception. β1\beta_{1} et la pente β2\beta_{2} Cette procédure est conforme aux directives de l’OMS [9] et de l’ICH [2].
Français Le terme OOT a été défini par l'Agence de réglementation des médicaments et des produits de santé du Royaume-Uni (MHRA) comme un résultat de test de stabilité qui ne suit pas la tendance attendue, que ce soit en comparaison avec d'autres lots de stabilité ou par rapport aux résultats précédents recueillis 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 se situe en dehors des critères d'acceptation établis qui ont été établis dans les compendium 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 ni comme hors spécification (OOS) ni comme OOT [7].
Modèle RCR
Le modèle RCR simplifié peut être écrit comme
etij=𝛃1i+𝛃2i•𝐭ij+𝛆ij\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
où eti\mathbf{y}_{i} est un ni×1n_{i} \fois 1 vecteur représentant le ièmeje^{\texte{ème}} lots nin_{i} mesures répétées (où j=1,⋯,nij = 1, \ \cdots,\ n_{i} , avec nin_{i} représentant le nombre total de mesures répétées du lot ii ) sur la variable de réponse (par exemple dosage [%], somme des impuretés [%] ou dissolution [%]), 𝛃1i\mathbf{\beta}_{1i} et 𝛃2i\mathbf{\beta}_{2i} sont des vecteurs des interceptions et des pentes spécifiques au lot, respectivement, 𝐭i\mathbf{t}_{i} est le ièmeje^{\texte{ème}} vecteur de temps du lot (par exemple [Mois]), et 𝛆i\mathbf{\varepsilon}_{i} est un ni×1n_{i} \fois 1 vecteur de nin_{i} Erreurs aléatoires. Ce modèle RCR requiert une relation linéaire entre la réponse et la variable explicative. Si cette relation n'est pas linéaire, une transformation appropriée doit être appliquée avant de réaliser la modélisation RCR.
On suppose que chaque εij\varepsilon_{\text{ij}} provient d'une population normale univariée avec une moyenne nulle et une variance σ2\sigma^{2} , et tout εij\varepsilon_{\text{ij}} sont indépendants les uns des autres (indépendance conditionnelle) et des coefficients du modèle β1i\beta_{1i} et β2i\beta_{2i} Cette hypothèse est raisonnable, car il est hautement improbable que la variabilité de la méthode analytique dépende du lot testé ou du moment où le test est effectué. On suppose en outre que le vecteur de coefficients de régression de chaque lot, 𝛃i\mathbf{\beta}_{i} , est indépendant de leurs vecteurs d'erreurs aléatoires et de ceux de tous les autres lots, 𝛆k\mathbf{\varepsilon}_{k} .
La modélisation RCR comprend trois étapes.
Étape a) Ajuster un modèle de régression linéaire simple aux données de chaque lot
Les données associées au lot ii sont désignés par (tij,yij)\gauche( t_{\texte{ij}},y_{\texte{ij}} \droite) , où yijy_{\texte{ij}} représente le ièmeje^{\texte{ème}} réponse mesurée du lot à un instant donné tjt_{j} , où j=1,⋯,nij = 1, \ \cdots,\ n_{i} . Les points temporels individuels tjt_{j} peut différer entre les lots, tout comme le nombre total de points temporels nin_{i} . La matrice de conception 𝐗i\mathbf{X}_{i} pour le lot ii peut être écrit sous forme matricielle comme suit.
𝐗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 𝐌i\mathbf{M}_{i} .
𝐌i=(𝐗i′𝐗i)−1\mathbf{M}_{i} = \gauche( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \droite)^{- 1}
Les estimations pour les interceptions βi1\beta_{i1} , les pentes βi2\beta_{i2} , l'« erreur quadratique moyenne » de la régression MSEi=σiy^2\text{MSE}_{i} = \sigma_{i\hat{y}}^{2} , et les degrés de liberté dfi=(ni−2)\text{df}_{i} = \gauche( n_{i} - 2 \droite) associé à MSEi\texte{MSE}_{i} sont obtenus en ajustant un modèle de régression linéaire simple aux données de chaque lot. Les ordonnées à l'origine et les pentes (𝛃1,𝛃2)′\gauche( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \droite)^{'} sont estimés par
𝐛i=(𝐗i′𝐗i)−1𝐗i′eti\mathbf{b}_{i} = \gauche( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \droite)^{- 1}\mathbf{X}_{i}^{'}\mathbf{y}_{i}.
Étape b) Estimation de la matrice variance-covariance d'erreur
L'estimation de la matrice de variance-covariance d'erreur des coefficients aléatoires commence par l'estimation de la matrice regroupée. MSE\texte{MSE} de tous les lots, c'est-à-dire MSEpiscine\text{MSE}_{\text{pool}} , comme suit.
MSEpiscine=σ^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=SSEi=𝛆^i′𝛆^i=(eti−𝐗i𝐛i)′(eti−𝐗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 de variance-covariance de l'échantillon 𝐒bb\mathbf{S}_{\text{bb}} des interceptions et des pentes estimées (𝛃1,𝛃2)′\gauche( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \droite)^{'} 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} - {\hat{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^{'}
oùβ^ULS=1n∑i=1n𝐛i{\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 interceptions et les pentes (ULS signifie « Unweighted Least-Squares »). Maintenant, la matrice de variance-covariance 𝚺^BB{\hat{\mathbf{\Sigma}}}_{\text{ββ}} peut être estimé comme suit.
𝚺^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}
où 𝐌¯=1n•∑i=1n𝐌i\overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i} , c'est-à-dire la matrice de variance-covariance du modèle moyen. La variance d'erreur σ^2{\hat{\sigma}}^{2} estime la variance de la méthode analytique. La composante de variance de l'interception σβ12\sigma_{\beta_{1}}^{2} représente la variance intra-lot de la réponse observée à la sortie du produit, due uniquement au procédé de fabrication, c'est-à-dire excluant la variance due à la méthode d'analyse. La composante de la variance de la pente σβ22\sigma_{\beta_{2}}^{2} représente la variance inter-lots des taux de dégradation.
Étant donné que la matrice de variance-covariance 𝚺^BB{\hat{\mathbf{\Sigma}}}_{\text{ββ}} Si l'on estime la variance en calculant la différence de deux matrices, le résultat peut ne pas être défini positivement, 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 consiste à remplacer la ou les valeurs négatives par 0. Il s'agit d'une approche simple et immédiate pour les estimations de variance négative, équivalente à la conversion d'un effet aléatoire en effet fixe. Si les deux variances sont nulles, le modèle RCR correspond au modèle des moindres carrés ordinaires (MCO).
É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 𝐖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}
qui correspond à l'inverse de la variance de l'estimation du paramètre de régression pour le ièmeje^{\texte{ème}} lot. Sur la base de cette équation, 2×i2 \fois i La matrice dimensionnelle des estimations des coefficients d'interception 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_{i = 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 de l'interception représente la réponse à la sortie du produit, calculée 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\beta_{1} et β2\beta_{2} Décrire la tendance générale, c'est-à-dire la tendance commune des lots historiques. L'IT du modèle RCR peut être calculé à l'aide de l'estimation. y^j{\hat{y}}_{j} pour la droite de régression et son erreur standard σy^,RCR\sigma_{\hat{y},RCR} Selon la méthode proposée par Scholz et Vangel [5], cette méthode utilise le concept de taille d'échantillon effective.
y^j±k•σy^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
Le terme d'erreur σy^,RCR\sigma_{\hat{y},RCR} est calculé par
σ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)
où 𝐭=[1t1⋮⋮1tk],kϵ N\mathbf{t} = \begin{bmatrix}
1 & t_{1} \\
\vdots & \vdots \\
1 & t_{k} \\
\end{bmatrix},\ k\ \epsilon\mathbb{\text{\ N}} , et DD est la diagonale de l'argument. Le facteur kk 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 tn*−1,zp•n*,γt_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma} est le γ\gamma quantile de la distribution t avec n*−1n^{*} - 1 degrés de liberté et paramètre de non-centralité zp•n*z_{p} \bullet \sqrt{n^{*}} , où zpz_{p} est le pp 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_{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}
où le paramètre ff et le rapport de variance ρ\rho sont définis par
| f=1∑i=1nb(nin)2−1f = \frac{1}{\sum_{i = 1}^{n_{b}}\gauche( \frac{n_{i}}{n} \droite)^{2}} - 1 |
ρ=σb2σb2+σe2\rho = \frac{\sigma_{b}^{2}}{\sigma_{b}^{2} + \sigma_{e}^{2}} |
où σb2\sigma_{b}^{2} est la variance entre les lots, σe2\sigma_{e}^{2} est la variance intra-lot (ou variance de méthode), nin_{i} est le nombre de mesures par lot ii , c'est à dire i=1,⋯,nbi = 1,\ \cdots,\ n_{b} , nbn_{b} est le nombre de lots historiques, et nn est le nombre total d'échantillons, c'est-à-dire n=∑i=1nbnin = \sum_{i = 1}^{n_{b}}n_{i} .
Les couvertures TI p(100%)p\gauche( 100\% \droite) de la population avec une probabilité de γ(100%)\gamma\gauche( 100\% \droite) Le concept de taille d'échantillon effective prend en compte le fait que les données intra-lot sont plus corrélées que les données inter-lots, ce qui diminue la quantité d'informations indépendantes. C'est pourquoi la règle suivante est toujours vraie : n*≤nn^{*} \leq n . Le cas idéal n*=nn^{*} = 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.
Tout d'abord, il faut 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 la condition de stockage.
Le modèle RCR est construit (simplifié par Carter et Yang [1]) comme indiqué ci-dessus.
Le TI pour le 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 de tableau et de graphique.
Exemple
Pour évaluer la fonctionnalité du script, différents 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{\beta}_{1} ), pentes (b, 𝛃2\mathbf{\beta}_{2} ), (racine) erreurs quadratiques moyennes ((RMSE ) MSE, MSEi\texte{MSE}_{i} ), degrés de liberté (df, dfi\texte{df}_{i} ), et le nombre d'observations (n, nin_{i} ) de la ii les lots historiques sont collectés et stockés dans des vecteurs de longueur 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
);
L'étape b ) commence par l'estimation du MSE groupé (MSE.pool, MSEpiscine\text{MSE}_{\text{pool}} ). Par la suite, la matrice de variance-covariance du modèle moyen (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, 𝚺^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.
À 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 illustre la construction de l'intervalle de confiance (TI) pour le modèle RCR selon Scholz und Vangel [5]. Pour la construction de l'intervalle, les estimations de l'interception moyenne et du coefficient 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é à la figure 2.
Français Les résultats résumés par la fenêtre de 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 actuel se situe en dehors du TI ajusté aux données 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 aurait dû être tirée déjà à la station temporelle précédente bien que le point de temps de 12 mois se situe dans le PI du lot actuel. Cependant, puisque ce point se situe en dehors du TI ajusté aux données des lots historiques, la conclusion globale à la station temporelle de 12 mois doit avoir été qu'il s'agit d'un point OOE / OOT.
Français Comme mentionné au début du chapitre 3, il est très probable que les lots historiques individuels varient par rapport à leurs interceptions 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'interception, pas de variation de pente ; cas II : variation d'interception, pas de variation de pente ; cas III : pas de variation d'interception, variation de pente ; cas IV : variation d'interception, variation de pente ; et cas V : non-linéarité. Les résultats sont résumés dans la Figure 3 pour chacun 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 interceptions 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é d'interception et de pente.
Figure_2Figure_2Figure_2
Figure 2 Sortie du script implémentant la méthode RCC / RCR
La fenêtre est divisée en deux parties : « Évaluation historique des lots », « Évaluation actuelle des lots (paramètres individuels du modèle) » et un graphique résumant les données historiques et actuelles des lots. Les données des lots historiques sont représentées par des points bleus () et celles du lot actuel par des croix rouges (). L'indice de tolérance aux erreurs (IT) ajusté aux données des lots historiques est représenté par la bande délimitée par les pointillés bleus et l'indice de probabilité (IP) ajusté aux données du lot actuel (sans inclure l'observation la plus récente) par la bande délimitée par les pointillés 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
Français L'ajustement du modèle RCR est représenté par la ligne de régression continue bleue et les lignes pointillées bleues de l'intervalle de tolérance correspondant (confiance à 95 % et couverture à 95 %). L'ajustement du modèle de base est représenté par la ligne de régression en pointillés violets et la nuance 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 panneaux comparent les intervalles du modèle RCR et les intervalles du modèle de régression linéaire de base dans les situations suivantes : Panneau I : cas « pas de variation d'interception, pas de variation de pente » ; Panneau II : cas « variation d'interception, pas de variation de pente » ; Panneau III : cas « pas de variation d'interception, variation de pente » ; Panneau IV : cas « variation d'interception, variation de pente » ; Panneau Va : cas de « non-linéarité » ; Panneau Vb : cas de « non-linéarité » après transformation, c'est-à-dire élévation au carré, de la variable réponse.
Conclusion
Le script JMP présenté dans ce manuscrit est un outil adapté et robuste pour évaluer les données de stabilité d'un lot actuel d'un médicament par rapport aux résultats OOE et OOT. Une condition préalable est la disponibilité des données historiques de stabilité d'au moins trois lots, avec au moins quatre points temporels pour chacun d'eux.
Bibliographie
Carter, RL, et Yang, MCK. Inférence sur grands échantillons dans les modèles de régression à coefficients aléatoires. Communication en statistique – Théorie et méthodes (1986) 15 (8) : 2507-2525. LIEN
Conover, WJ (1980), Statistiques non paramétriques pratiques, New York : John Wiley and Sons, Inc.
ICH Guidance Q1A(R2), Essais de stabilité des nouvelles substances médicamenteuses et des nouveaux produits, version étape 4, 6 février 2003. LIEN
Mandel, BJ. Graphique 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 : Advanced in Stochastic Models for Reliability, Quality and Safety. Édité par Kahle, W., von Collani, E., Franz, J., et Jensen, U. Birkhäuser, Boston, 1998, p. 361-379. LIEN
Shewhart, WA (1939). Méthode statistique du point de vue du contrôle qualité. (Deming, WE). Washington, DC, École doctorale, ministère de l'Agriculture.
Procédure opératoire normalisée – Guide de gestion des données de laboratoire – Résultats hors attente (OOE) et hors tendance (OOT). Groupe de travail sur le contrôle de la qualité analytique de l'European Compliance Academy (ECA), Christopher Burgess, version préliminaire V 0.3, 2015.
Agence de réglementation des médicaments et des produits de santé du Royaume-Uni (MHRA), Enquêtes sur les produits hors spécifications, 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 Essais de stabilité des ingrédients pharmaceutiques actifs et des produits pharmaceutiques finis, 2009. LIEN