code{white-space: pre;}
Pius Dahinden, PhD, 분석 과학 관리자, Tillotts Pharma
추상적인
새로운 EU GMP 가이드라인(EudraLex 4권) 6장(품질 관리)이 2014년에 발효되었기 때문에 의약품 안정성 데이터에 대한 추세 분석을 수행하는 것이 추가 분석 품질 관리 요구 사항입니다. 유럽 규정 준수 아카데미(ECA)의 분석 품질 관리 실무 그룹(AQCWG)은 기대를 벗어난(OOE) 및 추세를 벗어난(OOT) 결과를 평가하기 위한 표준 운영 절차를 마련했습니다. 안정성 데이터를 평가하려면 과거 배치 데이터와 현재 배치를 비교하는 회귀 관리 차트(RCC) 절차를 사용하는 것이 좋습니다. 그러나 과거 배치 데이터 자체에서 추정된 기울기 및/또는 절편은 불확실성의 영향을 받습니다. ECA AQCWG는 이를 고려한 단순화된 무작위 계수 회귀(RCR) 방법을 제안합니다. 권장되는 RCC/RCR 절차를 구현하는 새로 개발된 JMP 스크립트가 제시됩니다. 스크립트는 안정성 데이터에서 OOE/OOT 지점을 간단하게 식별하고 적절한 그래픽 표시와 함께 출력에 필요한 모든 정보를 제공합니다.
소개
제조업체는 생산 품목의 품질을 보장하고 생산 공정이 통제 불능으로 인해 발생하는 재정적 손실을 방지하기 위해 통계적 공정 관리(SPC)를 적용합니다. 프로세스 제어는 실행 중인 프로세스를 정기적으로 모니터링하고 모니터링된 매개변수 중 하나라도 비정상적인 경향을 나타내는 경우 프로세스를 다시 제어하기 위한 조치를 취하는 것을 의미합니다. SPC는 제조업체가 프로세스의 변경 사항을 조기에 감지하여 문제를 일으키는 문제를 조사하고 초기 단계에서 시정 조치를 취할 수 있도록 하는 도구입니다. 프로세스 모니터링을 위한 강력한 도구는 Shewhart[6]에 의해 대중화된 관리 차트 방법입니다. 그림 1은 일반적인 제어 차트의 개략도를 보여줍니다.
트렌드가 없어야 하는 생산 공정과 달리, 트렌드가 내재되어 있는 데이터 관리 문제가 많습니다. 이러한 종류의 데이터 관리 문제를 분석하기 위해 기존의 관리 차트 방법과 회귀 분석을 결합했는데, 이 접근 방식을 Mandel[4]은 "회귀 관리 차트(RCC)"라고 불렀습니다. 관리 한계로서 공차 구간(TI)을 활용하는 것이 합리적입니다. 권장 보관 조건(예: 25°C / 60% RH)에서 보관된 의약품의 안정성 데이터를 모니터링하기 위해 RCC는 시간 경과에 따른 활성 제약 성분의 분해 또는 불순물 축적 등을 모니터링하는 데 사용됩니다. 즉, 라벨에 표시된 유효 기간 동안 의약품의 안정성을 확인하기 위한 것입니다.
Figure_1그림_1
그림 1 일반적인 관리 차트 구성
관리도에는 일반적으로 값이 표시됩니다. 엑스 엑스 또는 샘플 수 또는 시간 대비 샘플 품질 특성의 여러 값(예: 평균)에 대한 통계입니다. 일반적으로 차트에는 평균값을 나타내는 중심선이 포함됩니다. 엑스 ̅ \overset{\overline{}}{X} 통제 가능한 프로세스의 기본적인 가정은 데이터가 정규 분포를 따른다는 것입니다. 두 개의 추가 특징적인 수평선은 중앙선에서 ± 3 표준 편차(SD) 거리에 있는 관리 하한 및 상한(각각 LCL 및 UCL)입니다. 즉, 공정이 관리 상태에 있는 한 99.7%의 데이터 포인트는 공통 원인 변동으로 표시되는 무작위 변동으로 인해 이러한 제한 내에 속하게 됩니다. 중앙선에서 ± 2 SD 거리에 있는 선을 경고 하한 및 상한(각각 LWL 및 UWL)이라고 하며, 중앙선에서 ± 1 SD 거리에 있는 선에는 특정 이름이 없습니다. 이러한 선을 사용하여 관리 차트를 영역 C에서 A까지 분할할 수 있습니다. 관리 상태에 있지 않은 프로세스를 특징짓는 특수 원인 변동을 탐지하기 위한 규칙은 이러한 영역의 관찰 빈도를 결정 기준으로 사용합니다.
절차 및 결과
의약품의 안정성 데이터에 적용되는 RCC는 다음 두 가지 질문에 답하는 것을 목표로 합니다. 1) 과거 배치 측면에서 현재 배치가 기대를 벗어났는지(OOE) 또는 추세를 벗어났는지(OOT)(예: 과거 데이터에서 파생된 TI 관련) , 2) 현재 배치 측면에서 현재 배치 OOE의 가장 최근에 측정된 데이터 포인트입니다(예: 예측 구간(PI) 관련).
질문 1의 추세를 평가하려면 현재 배치의 최소 3개의 데이터 포인트가 필요합니다. 질문 2의 평가에는 가장 최근에 측정된 데이터 포인트를 사용해서는 안 되기 때문에 최소한 4개의 데이터 포인트가 필요합니다. PI 건설.
개별 과거 배치는 절편과 기울기에 따라 달라질 가능성이 매우 높으므로 일반 최소 제곱 모델(공통 기울기 – 공통 절편)은 의미가 없을 수도 있습니다. 이러한 이유로 유럽 규정 준수 아카데미(ECA) 분석 품질 관리 실무 그룹(AQCWG)에서는 개별 배치의 절편 및 기울기의 가변성을 설명하는 "RCR(무작위 계수 회귀)" 방법을 사용할 것을 권장합니다[7]. 단순화된 RCR 모델(수정된 Carter and Yang [1] 모델)에는 두 개의 알려지지 않은 매개변수, 즉 절편이 포함되어 있습니다. β 1 \beta_{1} 그리고 경사 β 2 \beta_{2} . 이 절차는 WHO [9] 및 ICH [2] 지침을 따릅니다.
OOT라는 용어는 영국 의약품 및 건강 관리 제품 규제 기관(MHRA)에 의해 다른 안정성 배치와 비교하거나 안정성 연구 중에 수집된 이전 결과와 관련하여 예상되는 추세를 따르지 않는 안정성 테스트 결과로 정의되었습니다. [8]. OOS라는 용어는 MHRA에 의해 미리 결정된 허용 기준을 준수하지 않는 테스트 결과 또는 공식 공정서 및/또는 회사 문서에 설정된 확립된 허용 기준을 벗어나는 테스트 결과로 정의되었습니다[8 ]. 지금까지 OOE라는 용어에 대한 공식적인 정의는 없습니다. ECA AQCWG는 (정성적 및 정량적 테스트 모두에 대해) OOE 결과를 사양 외(OOS) 또는 OOT로 분류할 수 없는 변칙적, 예상치 못한 또는 특이한 결과로 정의할 것을 제안합니다[7].
RCR 모델
단순화된 RCR 모델은 다음과 같이 작성할 수 있습니다.
ㅋij=𝛃1i+𝛃2i•큭큭ij+𝛆ij\mathbf{y}_{\text{ij}} = \mathbf{\beta}_{1i} + \mathbf{\beta}_{2i} \bullet \mathbf{t}_{\text{ij}} + \mathbf{\varepsilon}_{\text{ij}}
where ㅋi\mathbf{y}_{i} is a ni×1n_{i} \times 1 vector representing the i일나는^{\text{일}} batch's nin_{i} repeated measurements (where j=1,⋯,nij = 1,\ \cdots,\ n_{i}, with nin_{i} representing the total number of repeated measurements of batch ii) on the response variable (e.g. assay [%], sum of impurities [%] or dissolution [%]), 𝛃1i\mathbf{\beta}_{1i} and 𝛃2i\mathbf{\beta}_{2i} are vectors of the batch-specific intercepts and slopes, respectively, 큭큭i\mathbf{t}_{i} is the i일나는^{\text{일}} batch's time vector (e.g. [Month]), and 𝛆i\mathbf{\varepsilon}_{i} is an ni×1n_{i} \times 1 vector of nin_{i} random errors. A prerequisite for this RCR model is a linear relationship between the response and the explanatory variable. If the relationship should be not linear an appropriate transformation has to be applied before performing the RCR modelling.
각 ε ij \varepsilon_{\text{ij}} 평균이 0이고 분산이 있는 일변량 정규 모집단에서 나옵니다. σ 2 \시그마^{2} , 그리고 다 ε ij \varepsilon_{\text{ij}} 은 서로 독립적이고(조건부 독립) 모델 계수와도 독립적입니다. β 1 나 \beta_{1i} 그리고 β 2 나 \beta_{2i} . 분석 방법의 변동성이 테스트 중인 배치나 테스트가 실행되는 시점에 따라 달라질 가능성이 거의 없기 때문에 이 가정은 타당합니다. 또한 각 배치의 회귀계수 벡터는 다음과 같다고 가정합니다. 𝛃 나 \mathbf{\beta}_{i} 는 해당 배치와 다른 모든 배치의 무작위 오류 벡터와 독립적입니다. 𝛆 케이 \mathbf{\varepsilon}_{k} .
RCR 모델링은 세 단계로 구성됩니다.
a 단계) 각 배치의 데이터에 단순 선형 회귀 모델 피팅
The data associated with batch ii are denoted by (tij,yij)\왼쪽(t_{\text{ij}},y_{\text{ij}} \오른쪽), where yijy_{\text{ij}} represents the i일나는^{\text{일}} 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}
이 행렬은 정규화되고 다음과 같이 지정됩니다. 𝐌 나 \mathbf{M}_{i} .
𝐌i=(𝐗i′𝐗i)−1\mathbf{M}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}
절편에 대한 추정치 β 나 1 \beta_{i1} , 경사면 β 나 2 \beta_{i2} , 회귀의 "평균 제곱 오류" MSE 나 = σ 나 와이 ^ 2 \text{MSE}_{i} = \sigma_{i\hat{y}}^{2} , 및 자유도 df 나 = ( N 나 - 2 ) \text{df}_{i} = \left(n_{i} - 2 \right) 와 관련된 MSE 나 \text{MSE}_{i} 각 배치의 데이터에 단순 선형 회귀 모델을 적용하여 얻습니다. 절편과 기울기 ( 𝛃 1 , 𝛃 2 ) ′ \왼쪽( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'} 에 의해 추정된다
𝐛i=(𝐗i′𝐗i)−1𝐗i′ㅋi\mathbf{b}_{i} = \left( \mathbf{X}_{i}^{'}\mathbf{X}_{i} \right)^{- 1}\mathbf{X}_{ 나는}^{'}\mathbf{y}_{i}.
단계 b) 오차 분산-공분산 행렬 추정
확률 계수의 오차 분산-공분산 행렬 추정은 합동 계수를 추정하는 것부터 시작됩니다. MSE \text{MSE} 모든 배치 중, 즉 MSE 수영장 \text{MSE}_{\text{풀}} , 다음과 같습니다.
MSEpool=σ^2=∑i=1ndfi•MSEi∑i=1Bdfi\text{MSE}_{\text{풀}} = {\hat{\sigma}}^{2} = \frac{\sum_{i = 1}^{n}{\text{df}_{i } \bullet \text{MSE}_{i}}}{\sum_{i = 1}^{B}\text{df}_{i}}
이 방정식의 분자는 다음과 같이 표현될 수 있다.
dfi•MSEi=SSEi=𝛆^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}\ 오른쪽)^{'}\left(\mathbf{y}_{i} - \mathbf{X}_{i}\mathbf{b}_{i}\right)
표본 분산-공분산 행렬 𝐒 bb \mathbf{S}_{\text{bb}} 추정된 절편과 기울기 ( 𝛃 1 , 𝛃 2 ) ′ \왼쪽( \mathbf{\beta}_{1},\mathbf{\beta}_{2} \right)^{'} 다음과 같이 계산됩니다.
𝐒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} - {\ 모자{\beta}}_{\text{ULS}} \right)\left( \mathbf{b}_{i} - {\hat{\beta}}_{\text{ULS}} \right)^ {'}
어디β ^ ULS = 1 N ∑ 나 = 1 N 𝐛 나 {\hat{\beta}}_{\text{ULS}} = \frac{1}{n}\sum_{i = 1}^{n}\mathbf{b}_{i} 즉, 계수의 평균 벡터, 즉 절편과 기울기입니다(ULS는 "가중되지 않은 최소 제곱"을 나타냄). 이제 분산-공분산 행렬은 𝚺 ^ ββ {\hat{\mathbf{\Sigma}}}_{\text{ββ}} 다음과 같이 추정할 수 있다.
𝚺^ββ=𝐒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_{\ beta_ {2}}^{2} \\end{bmatrix}
어디 𝐌 ̅ = 1 N • ∑ 나 = 1 N 𝐌 나 \overset{\overline{}}{\mathbf{M}} = \frac{1}{n} \bullet \sum_{i = 1}^{n}\mathbf{M}_{i} , 즉 평균 모델 분산-공분산 행렬입니다. 오류 분산 σ ^ 2 {\hat{\sigma}}^{2} 분석 방법의 분산을 추정합니다. 절편 분산 구성요소 σ β 1 2 \sigma_{\beta_{1}}^{2} 이는 오로지 제조 공정으로 인해 제품 출시 시 관찰된 반응의 배치 내 분산을 나타냅니다. 즉, 분석 방법으로 인한 분산은 제외됩니다. 경사 변화 성분 σ β 2 2 \sigma_{\beta_{2}}^{2} 분해율의 배치 간 변동을 나타냅니다.
분산-공분산 행렬 이후 𝚺 ^ ββ {\hat{\mathbf{\Sigma}}}_{\text{ββ}} 두 행렬의 차이를 계산하여 추정한 경우 결과는 양의 정부호가 아닐 수 있습니다. 즉, 절편 및/또는 기울기 분산 구성 요소가 음수일 수 있습니다. 이에 대한 한 가지 가능한 해결 방법은 음수 값을 0으로 바꾸는 것입니다. 이는 음수 분산 추정에 대한 간단한 응급 처치 접근 방식이며 무작위 효과를 고정 효과로 변환하는 것과 동일합니다. 두 분산이 모두 0인 경우 RCR 모델은 OLS(보통 최소 제곱) 모델에 해당합니다.
단계 c) WLS(Weighted Least Squares) 추정기로 계수 평균 벡터 추정
계수 평균 벡터의 추정은 다음의 추정값 계산으로 시작됩니다. 𝐖 나 \mathbf{W}_{i} ,
𝐖i=(𝚺^ββ+σ^2•𝐌i)−1\mathbf{W}_{i} = \left( {\hat{\mathbf{\sigma}}}_{\text{ββ}} + {\hat{\sigma}}^{2} \bullet \mathbf {M}_{i}\right)^{-1}
which corresponds to the inverse of the variance of the regression parameter estimate for the i일나는^{\text{일}} batch. Based on this equation the 2×i2 \times 나는 dimensional matrix of the intercept and slope coefficient estimates, i.e. the weighted least-squares estimate, is now obtained by the following equation:
𝛃^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_{ 나는 = 1}^{n}\mathbf{W}_{i}\mathbf{b}_{i}\right)
어디 𝛀 \mathbf{\오메가} 는 가중 최소제곱 추정량의 분산에 대한 추정값입니다. 절편 추정치의 평균은 제조 공정 전반에 걸쳐 평균화된 제품 출시 시 반응을 나타내고, 기울기 추정치의 평균은 공통 기울기를 나타냅니다.
RCR 모델의 공차 구간(TI)
RCR 모델 계수 β 1 \beta_{1} 그리고 β 2 \beta_{2} 일반적인 추세, 즉 과거 배치의 일반적인 추세를 설명합니다. RCR 모델의 TI는 추정을 통해 계산할 수 있습니다. 와이 ^ 제이 {\hat{y}}_{j} 회귀선 및 표준 오류 σ 와이 ^ , 아르 자형 씨 아르 자형 \sigma_{\hat{y},RCR} Scholz와 Vangel[5]이 제안한 방법에 따르면 다음과 같다. 그들의 방법은 효과적인 표본 크기 개념을 활용합니다.
y^j±k•σy^,RCR{\hat{y}}_{j} \pm k \bullet \sigma_{\hat{y},\text{RCR}}
오류 기간 σ 와이 ^ , 아르 자형 씨 아르 자형 \sigma_{\hat{y},RCR} 에 의해 계산됩니다
σ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)
where 큭큭=[1t1⋮⋮1tk],kϵ N\mathbf{t} = \begin{bmatrix}1 & t_{1}\\\vdots&\vdots\\1 & t_{k}\\end{bmatrix},\k\ \epsilon\mathbb{\text {\ 에 의해}}, and DD is the diagonal of the argument. The factor kk is given by
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}
여기서 요인은 티 N * - 1 , 지 피 • N * , γ t_{n^{*} - 1,z_{p} \bullet \sqrt{n^{*}},\gamma} 은 γ \감마 t 분포의 분위수 N * - 1 n^{*} - 1 자유도 및 비중심성 매개변수 지 피 • N * z_{p} \bullet \sqrt{n^{*}} , 어디 지 피 z_{피} 은 피 피 표준 정규 분포의 분위수. 매개변수 N * 아니^{*} 는 다음과 같이 주어진 유효 표본 크기입니다.
n*=[σb2σb2+σe2•∑i=1nb(nin)2+1n•σe2σb2+σe2]−1=[ρ•1f+1+(1−ρ)•1n]−1{n^{*} = \left\lrack \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\lrack \rho \bullet \frac{1 }{f + 1} + \left( 1 - \rho \right) \bullet \frac{1}{n} \right\rbrack^{- 1}
여기서 매개변수는 에프 에프 그리고 분산 비율 ρ \rho 에 의해 정의됩니다
| 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}} |
어디 σ 비 2 \sigma_{b}^{2} 배치 간 분산은 다음과 같습니다. σ 이자형 2 \sigma_{e}^{2} 배치 내 분산(또는 방법 분산)입니다. N 나 n_{i} 배치당 측정 횟수입니다. 나 나 , 즉 나 = 1 , ⋯ , N 비 나는 = 1,\ \cdots,\ n_{b} , N 비 n_{b} 과거 배치의 수입니다. N N 총 샘플 수입니다. 즉 N = ∑ 나 = 1 N 비 N 나 n = \sum_{i = 1}^{n_{b}}n_{i} .
TI 커버 피 ( 100 % ) p\왼쪽( 100\% \오른쪽) 확률로 인구의 γ ( 100 % ) \감마\왼쪽( 100\% \오른쪽) . 효과적인 표본 크기 개념은 배치 내 데이터가 배치 간 데이터보다 더 많은 상관 관계를 갖고 있어 독립적인 정보의 양이 감소한다는 점을 고려합니다. 이러한 이유로 다음은 항상 참입니다. N * ≤ N n^{*} \leq n . 이상적인 사례 N * = N n^{*} = n 배치 내 데이터가 완전히 상관되지 않은 경우 실현됩니다.
JMP에서 RCC/RCR 구현
RCC/RCR 절차를 구현하는 JSL 스크립트는 여러 부분으로 구성됩니다.
먼저, 참조 및 테스트 배치 이름과 응답에 대한 다양한 변수 이름, 시간, 배치 및 보관 조건을 정의해야 합니다.
RCR 모델은 위에서 설명한 대로 구성됩니다(Carter and Yang [1]을 단순화).
RCR 모델에 대한 TI는 Scholz와 Vangel이 제안한 방법을 사용하여 구성됩니다[5].
계산된 매개변수를 표 및 그래픽 형식으로 요약하는 보고서 창이 생성됩니다.
예
스크립트 기능 평가를 위해 9개의 과거 배치와 1개의 현재 배치에 대해 다양한 데이터 세트가 생성되었습니다. 다음 코드 조각은 RCR 모델 피팅의 a ) 단계, 즉 절편(a, 𝛃 1 \mathbf{\beta}_{1} ), 경사면(b, 𝛃 2 \mathbf{\beta}_{2} ), (루트) 평균 제곱 오차((RMSE ) MSE, MSE 나 \text{MSE}_{i} ), 자유도(df, df 나 \text{df}_{i} ) 및 관측치 수(n, N 나 n_{i} )의 나 나 과거 배치는 수집되어 길이의 벡터로 저장됩니다. N 비 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
);
b 단계)는 풀링된 MSE(MSE.pool, MSE 수영장 \text{MSE}_{\text{풀}} ). 이어서, 평균 모델 분산-공분산 행렬(M.bar, 𝐌 ̅ \overset{\overline{}}{\mathbf{M}} )를 추정한 후 표본 분산-공분산 행렬(S, 𝐒 bb \mathbf{S}_{\text{bb}} )를 사용하여 분산-공분산 행렬(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.
단계 c )에서 RCR 모델 계수 ab.hat( 𝛃 ^ WLS {\hat{\mathbf{\beta}}}_{\text{WLS}} )은 다음 코드 조각을 사용하여 추정됩니다.
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 );
다음 코드 조각은 Scholz und Vangel [5]에 따른 RCR 모델의 TI 구성을 보여줍니다. 구간을 구성하기 위해 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 ) );
스크립트의 마지막 부분에서는 보고서 창에 표시하기 위한 결과가 준비됩니다. 예제 보고서가 그림 2에 나와 있습니다.
보고서 창에 요약된 결과를 통해 다음과 같이 3장의 시작 부분에 제시된 질문에 답할 수 있습니다. 1) 현재 배치의 18개월 데이터 포인트(즉, 가장 최근 측정값)가 데이터에 맞춰진 TI 외부에 있기 때문입니다. 과거 배치를 기준으로 현재 배치가 OOE/OOT라고 결론을 내려야 하며, 2) 현재 배치의 18개월 데이터 포인트가 현재 배치의 PI를 벗어나므로 현재 배치도 OOE라고 결론을 내려야 합니다. / 현재 배치 측면에서 OOT. 12개월 시점이 현재 배치의 PI에 속하더라도 이전 시점에서 동일한 결론이 이미 도출되어야 합니다. 그러나 이 지점은 과거 배치의 데이터에 맞춰진 TI 외부에 있기 때문에 12개월 시점의 전반적인 결론은 이것이 OOE/OOT 지점이라는 것임에 틀림없습니다.
3장의 시작 부분에서 언급했듯이 개별 역사적 배치는 절편과 기울기에 따라 달라질 가능성이 매우 높으며 이러한 이유로 RCR 모델은 일반적인 최소 제곱 모델보다 성능이 뛰어납니다. 다섯 가지 경우가 구분될 수 있습니다. 사례 I: 절편 변형 없음, 기울기 변형 없음; 사례 II: 절편 변화, 기울기 변화 없음; 사례 III: 절편 변화 없음, 기울기 변화; 사례 IV: 절편 변화, 기울기 변화; 사례 V: 비선형성. 다섯 가지 사례 모두에 대한 결과가 그림 3에 요약되어 있습니다. 그림 3의 그래프는 RCR 모델이 절편 및/또는 기울기가 변하는 경우 데이터를 더 잘 표현하고 절편 및 기울기 변동이 없는 경우 기본 방법과 매우 유사하다는 것을 보여줍니다.
Figure_2그림_2
그림 2 RCC/RCR 방식을 구현한 스크립트의 출력
창은 "과거 배치 평가", "현재 배치 평가(개별 모델 매개변수)" 부분과 과거 및 현재 배치 데이터를 요약하는 그래픽 디스플레이로 구분됩니다. 과거 배치의 데이터는 파란색 점()으로 표시되고 현재 배치의 데이터는 빨간색 십자가()로 표시됩니다. 과거 배치의 데이터에 맞춰진 TI는 파란색 점선으로 구분된 밴드로 표시되고, 빨간색 점선으로 구분된 밴드로 현재 배치의 데이터(가장 최근 관찰은 포함하지 않음)에 맞춰진 PI는 빨간색 점선으로 구분됩니다. .
그림 3 다양한 상황에서의 RCR 모델 구간과 기본 선형 회귀 모델 구간의 비교
RCR 모델 적합성은 파란색 실선 회귀선과 해당 공차 구간의 파란색 점선(95% 신뢰도 및 95% 적용 범위)으로 표시됩니다. 기본 모델 적합성은 보라색 점선 회귀선과 해당 예측 구간(95% 신뢰도)의 보라색 음영으로 표시됩니다. 즉, 개별 예측 값에 대한 신뢰 한계입니다. 패널 Va의 회색 점선은 제곱 응답을 기반으로 계산된 비선형 맞춤을 나타냅니다. 6개의 패널은 다음 상황에서 RCR 모델 구간과 기본 선형 회귀 모델 구간을 비교합니다. 패널 I: "절편 변동 없음, 기울기 변동 없음" 사례; 패널 II: "절편 변화, 기울기 변화 없음" 사례; 패널 III: "절편 변형 없음, 기울기 변형" 사례; 패널 IV: "절편 변화, 기울기 변화" 사례; 패널 Va: "비선형성" 사례; 패널 Vb: 반응 변수의 변환, 즉 제곱 이후의 "비선형성" 사례.
결론
이 원고에 제시된 JMP 스크립트는 OOE 및 OOT 결과와 관련하여 현재 의약품 배치의 안정성 데이터를 평가하는 데 적합하고 강력한 도구입니다. 전제조건은 최소 3개 배치의 각 배치에 대해 최소 4개 시점의 안정성 기록 데이터를 이용할 수 있어야 한다는 것입니다.
서지
Carter, RL 및 Yang, MCK 무작위 계수 회귀 모형의 대규모 표본 추론. 통계 커뮤니케이션 - 이론 및 방법 (1986) 15 (8): 2507-2525. 링크
Conover, WJ (1980), Practical Nonparametric Statistics, 뉴욕: John Wiley and Sons, Inc.
ICH 지침 Q1A(R2), 신규 원료의약품 및 제품의 안정성 시험, 4단계 버전, 2003년 2월 6일. 링크
Mandel, BJ 회귀 관리 차트. J Qual Technol (1969) 1 (1): 1-9. 링크
Scholz, F. 및 Vangel, M. 배치 효과에 따른 공차 한계 및 Cpk 신뢰 한계. 게시: 신뢰성, 품질 및 안전을 위한 확률론적 모델의 고급. 편집자: Kahle, W., von Collani, E., Franz, J. 및 Jensen, U. Birkhäuser, Boston, 1998, 361-379. 링크
워싱턴주 슈하트(1939). 품질 관리 관점에서 본 통계적 방법. (데밍, 우리). 워싱턴 DC, 대학원, 농무부.
표준 운영 절차 – 실험실 데이터 관리 지침 – 기대를 벗어남(OOE) 및 추세를 벗어남(OOT) 결과. 유럽 규정 준수 아카데미(ECA) 분석 품질 관리 실무 그룹, Christopher Burgess, 초안 V 0.3, 2015.
영국 MHRA(United Kingdom Medicines and Healthcare Products Regulatory Agency), 규격 외 조사, 프레젠테이션 노트 및 대표 팩, 2013년 8월 28일. 링크
WHO 기술 보고서 시리즈, No. 953, Annex 2 활성 의약품 성분 및 완제품 의약품의 안정성 테스트, 2009. LINK