药物浓度与心电图中QT间期间相关性分析学习笔记_中篇
付永超 / 2025-08-27
前言:
前文已经对C-QT分析的一些基本概念做了介绍,本文将关注白皮书中预先指定的模型,对该模型的概念、实现、示例代码进行一些介绍。本文主要定位于对该模型的释读,不对模型的合理性等方面进行评价。
白皮书指什么?
白皮书是指Christine Garnett,Yaning Wang等在2018年在《Journal of Pharmacokinetics and Pharmacodynamics 》杂志上所发表的一篇文献《Scientific white paper on concentration-QTc modeling》,文献名称翻译为中文即为“关于浓度-QTc建模的科学白皮书”
白皮书中提供了哪些模型?
白皮书提供了2个模型:
- 正文中提及的一个线性混合效应模型,
- 附件的附件3中提及的一个非线性混合效应模型。
这两个模型中第一个模型是被广泛提及的模型,第二个模型不是。
一般如果没有特别说明,人们说白皮书中的模型指定是第一个模型,不是第二个(因为他们可能并没有阅读过附件部分。。),本文也将仅关注第一个模型,即正文中提到的预先指定的一个线性混合效应模型。 本文将仅关注文中提及的线性混合效应模型(即第一个模型)的基本形式,其变体不在本文讨论范畴。
白皮书中的模型公式:
白皮书公式:
$$ \Delta QTc_{ijk} = \left( {\theta_{0} + \eta_{0,i} } \right) + \theta_{1} TRT_{j} + \left( {\theta_{2} + \eta_{2,i} } \right)C_{ijk} + \theta_{3} TIME_{j} + \theta_{4} \left( {QTc_{i,j = 0} - \overline{{QTc_{0} }} } \right) $$我认为该公式有些书写错误,我订正后的公式如下:
$$ \Delta QTc_{ijk} = \left( {\theta_{0} + \eta_{0,i} } \right) + \theta_{1} TRT_{j} + \left( {\theta_{2} + \eta_{2,i} } \right)C_{ijk} + \theta_{3} TIME_{k} + \theta_{4} \left( {QTc_{i,k = 0} - \overline{{QTc_{0} }} } \right) $$差异:
将倒数第2项中的TIMEj改为了TIMEk
将倒数第1项中的QTci,j=0改为了QTci,k=0
公式中各项的释义:
•ΔQTcijk表示受试者i在干预措施j下的时间k时相对基线变化的QTc。
•θ0表示截距项无干预效应时的总体平均截距。
•η0,i表示截距项θ0相关的随机效应。
•θ1表示干预措施TRTj(j=0:安慰剂, j=0:活性药物)相关的固定效应。
•θ2表示浓度与ΔQTcijk间假设存在的线性关系时的总体平均斜率。
•η2,i表示斜率项θ2相关的随机效应。
•Cijk表示受试者i在干预措施j下的时间点k时浓度。
•θ3表示时间相关的固定效应。
•θ4表示基线QTci,k=0相关的固定效应。
•$\overline{{QTc_{0} }}$表示QTcij0的总体平均值,即基线时(=time 0)时QTc值的平均值。
关于随机效应的一些假设:
•假设随机效应符合均值为[0,0]的正态分布。
•随机效应矩阵G为无结构的协方差矩阵。
•残差矩阵R符合均值为0的正态分布。
白皮书中的公式的解读
白皮书公式可以理解为如下:
QTc较基线的差值 = 截距(+个体间变异)+干预+浓度(+个体间变异)+时间+个体基线差异+残差
该模型考虑了“干预措施效应固定效应”,“时间节律效应固定效应”,“个体间的差异的固定效应(个体基线差异)”+“个体间变异的随机效应(截距的个体间变异)”,“药物浓度的固定效应与随机效应(浓度(+个体间变异))”
该模型的适用范围,适用于试验同时收集了试验组与安慰剂对照组受试者浓度与QT数据的研究,且受试者收集有给药前数据和峰浓度附近的数据,如果不满足上述条件,模型的适用性需要进行评估。
白皮中模型的实现
哪些软件可实现模型
基于白皮书公式显然可以判断出该公式是一个“线性混合效应模型”,知道了模型类型,就可以判断可用于实现该模型的常用软件有哪些了,显然有以下选项或可实现:
- SAS的“PROC MIXED”过程
- SPSS中的线性混合效应模型
- R的nlme添加包的lme函数,R的lme4添加包的lmer函数
- Phoenix WinNonlin的Linear Mixed Effects操作对象
进一步的,由于“非线性混合效应模型”也可以处理线性的情况,因此下列非线性混合效应模型的建模软件也可适用:
- NONMEM
- Phoenix NLME
- R的添加包nlmixr2
- Monlix
除了我列出的这些软件,其他任何可以处理自定义的“线性混合效应模型”的软件理论上都可以用于处理该模型。
模型实现的具体示例
R的nlme添加包的lme函数
lme(dQTcF ~ CONC + TRT + Diff_QTcF_BL + NTIME, data=CQT_Data01, random =~1+CONC|USUBJID)
上述代码报错时可使用下述代码:
lme(dQTcF ~ CONC + TRT + Diff_QTcF_BL + NTIME, data=CQT_Data01, random =~1+CONC|USUBJID, control = lmeControl(opt = 'optim'))
R的lme4添加包的lmer函数
lmer(dQTcF ~ CONC + TRT + Diff_QTcF_BL + NTIME + (CONC|USUBJID),data = CQT_Data01)
SAS的“PROC MIXED”过程
proc mixed data=CQT_Data01 method=REML covtest;
class USUBJID TRT NTIME;
model dQTcF = TRT CONC Diff_QTcF_BL NTIME / solution;
random intercept CONC / subject=USUBJID type=UN g gcorr;
run;
白皮书中指定随机效应结构应为非结构化形式,所以如果将随机效应矩阵结构指定为独立的(协方差矩阵被指定为对角线矩阵)这可能是错误的,但如果有合理理由或许将模型修改为如此也是对的,下述提供了将随机效应矩阵结构指定为对角线矩阵的示例:
R的nlme添加包的lme函数
lme(dQTcF ~ CONC + TRT + Diff_QTcF_BL + NTIME, data=CQT_Data01, random = list(USUBJID=pdDiag(~CONC)))
R的lme4添加包的lmer函数
lmer(dQTcF ~ CONC + TRT + Diff_QTcF_BL + NTIME + (CONC|| USUBJID),data = CQT_Data01)
模型中需主要到的一些其他细节
-
模型中的两个个体间的随机效应η0,i和η2,i ,他们两个之间应该如文中所描述的那样,他们间的协方差矩阵应该是无结构的,而不应该是对角线的,换中说法就是这两个随机效应间不应该假设是相互独立的,应该考虑他们之间的相关性。
-
模型中的$\overline{{QTc_{0} }}$是在模型之外通过描述性统计获得的一个算数平均值,而不是基于模型预测的总体的估计值。
-
模型的目标函数构建使用的方法可以是最大似然(ML)也可是限制性最大似然(REML),在使用“线性混合效应模型”的专用求解过程时一般往往默认设置采用的是“REML”,但可手工设置为“ML”,而使用“非线性混合效应模型”的专用求解过程是一般仅支持“ML”,这一点需知悉。
-
模型求解完毕后务必要求输出固定效应的方差协方差矩阵,因为基于该矩阵结合参数估计结果可手工演算下指南中提到的ΔΔQTc 的90%置信区间的上限的数值,用于QC下结果,特别是供应商提供的结果时,应特别要求提供用于QC;计算过程在指南中已经给出了公式:
其中:
- Var(θ1)可从“固定效应的方差协方差矩阵”获得的TRT固定效应的方差,
- Var(θ2)可从“固定效应的方差协方差矩阵”获得的CONC固定效应的方差,
- Cov(θ1θ2)可从“固定效应的方差协方差矩阵”获得的TRT和CONC间的协方差。
基于“固定效应的方差协方差矩阵”即可可以获得TRT和CONC的方差项以及他们间的协方差项,由此加上浓度值可以求得ΔΔQTc的标准误,基于该标准误加上ΔΔQTc的点估计值就可求得其90%置信区间的上限,进而判断结果是否是阳性。
举例:
假如模型参数固定效应的估计值为:
Value | Std.Error | |
---|---|---|
(Intercept) | 0.080453059 | 1.4657384669 |
CONC | 0.004527118 | 0.0008282971 |
TRT1 | -0.161265183 | 1.7170963443 |
Diff_QTcF_BL | -0.159584488 | 0.0439183363 |
NTIME0.5 | -0.463653095 | 1.5244015834 |
NTIME1 | 2.739295582 | 1.5982867080 |
NTIME1.5 | 3.872250989 | 1.6197220190 |
NTIME2 | 5.635113017 | 1.6160232364 |
NTIME3 | 5.546335169 | 1.5959394478 |
NTIME4 | 5.543035938 | 1.5578190923 |
NTIME5 | 5.689035801 | 1.5317675263 |
NTIME8 | -0.709856780 | 1.4915962705 |
NTIME10 | -0.207184698 | 1.4647133407 |
NTIME12 | -1.093923975 | 1.4437343699 |
NTIME18 | 7.526278316 | 1.4262059602 |
NTIME24 | -1.380079571 | 1.4196724359 |
假如模型参数固定效应的方差协协方差矩阵为:
(Intercept) | CONC | TRT1 | Diff_QTcF_BL | NTIME0.5 | NTIME1 | NTIME1.5 | NTIME2 | NTIME3 | NTIME4 | NTIME5 | NTIME8 | NTIME10 | NTIME12 | NTIME18 | NTIME24 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(Intercept) | 2.1483892533 | 3.368727e-04 | -1.4742069969 | -1.300468e-03 | -1.268778226 | -1.359613e+00 | -1.381310e+00 | -1.3777088017 | -1.3480833761 | -1.316146e+00 | -1.285285e+00 | -1.208840e+00 | -1.1708795930 | -1.1352156924 | -1.0660093025 | -1.029266e+00 |
CONC | 0.0003368727 | 6.860761e-07 | -0.0006737455 | 1.488342e-08 | -0.000396329 | -5.234472e-04 | -5.542043e-04 | -0.0005490499 | -0.0005076475 | -4.613828e-04 | -4.174550e-04 | -3.102052e-04 | -0.0002549422 | -0.0002060706 | -0.0001098110 | -5.797991e-05 |
TRT1 | -1.4742069969 | -6.737455e-04 | 2.9484198557 | 2.605276e-03 | 0.556893466 | 7.385635e-01 | 7.819573e-01 | 0.7747551018 | 0.7155040499 | 6.516296e-01 | 5.899085e-01 | 4.370181e-01 | 0.3610965003 | 0.2897688047 | 0.1513558835 | 7.787009e-02 |
Diff_QTcF_BL | -0.0013004680 | 1.488342e-08 | 0.0026052759 | 1.928820e-03 | -0.000243500 | -9.892511e-05 | -5.588087e-05 | -0.0000278110 | -0.0001170097 | 2.355630e-06 | 3.842181e-06 | 1.384532e-05 | -0.0001096383 | -0.0000626796 | -0.0001255306 | -1.266917e-04 |
NTIME0.5 | -1.2687782263 | -3.963290e-04 | 0.5568934658 | -2.435000e-04 | 2.323800187 | 1.425162e+00 | 1.450375e+00 | 1.4459222491 | 1.4120564991 | 1.373157e+00 | 1.336784e+00 | 1.247952e+00 | 1.2022422314 | 1.1616045821 | 1.0816885516 | 1.038606e+00 |
NTIME1 | -1.3596130859 | -5.234472e-04 | 0.7385635102 | -9.892511e-05 | 1.425162174 | 2.554520e+00 | 1.597646e+00 | 1.5918770591 | 1.5459590049 | 1.495943e+00 | 1.447937e+00 | 1.330703e+00 | 1.2702707992 | 1.2166657787 | 1.1111227597 | 1.054197e+00 |
NTIME1.5 | -1.3813099146 | -5.542043e-04 | 0.7819572643 | -5.588087e-05 | 1.450374776 | 1.597646e+00 | 2.623499e+00 | 1.6271331683 | 1.5785527725 | 1.525675e+00 | 1.474870e+00 | 1.350776e+00 | 1.2867728794 | 1.2300627849 | 1.1183094609 | 1.058018e+00 |
NTIME2 | -1.3777088017 | -5.490499e-04 | 0.7747551018 | -2.781100e-05 | 1.445922249 | 1.591877e+00 | 1.627133e+00 | 2.6115311006 | 1.5730890531 | 1.520758e+00 | 1.470440e+00 | 1.347519e+00 | 1.2840975974 | 1.2279357254 | 1.1172052812 | 1.057452e+00 |
NTIME3 | -1.3480833761 | -5.076475e-04 | 0.7155040499 | -1.170097e-04 | 1.412056499 | 1.545959e+00 | 1.578553e+00 | 1.5730890531 | 2.5470227211 | 1.480319e+00 | 1.433834e+00 | 1.320185e+00 | 1.2616156711 | 1.2097682339 | 1.1074476315 | 1.052251e+00 |
NTIME4 | -1.3161459977 | -4.613828e-04 | 0.6516295617 | 2.355630e-06 | 1.373156873 | 1.495943e+00 | 1.525675e+00 | 1.5207581526 | 1.4803189503 | 2.426800e+00 | 1.394209e+00 | 1.290935e+00 | 1.2376051237 | 1.1904152170 | 1.0972681789 | 1.046959e+00 |
NTIME5 | -1.2852854592 | -4.174550e-04 | 0.5899084881 | 3.842181e-06 | 1.336784142 | 1.447937e+00 | 1.474870e+00 | 1.4704404228 | 1.4338341351 | 1.394209e+00 | 2.346312e+00 | 1.262542e+00 | 1.2142729184 | 1.1715697696 | 1.0872401207 | 1.041673e+00 |
NTIME8 | -1.2088402353 | -3.102052e-04 | 0.4370180628 | 1.384532e-05 | 1.247951786 | 1.330703e+00 | 1.350776e+00 | 1.3475187121 | 1.3201850800 | 1.290935e+00 | 1.262542e+00 | 2.224859e+00 | 1.1591323613 | 1.1254177068 | 1.0625996333 | 1.028634e+00 |
NTIME10 | -1.1708795930 | -2.549422e-04 | 0.3610965003 | -1.096383e-04 | 1.202242231 | 1.270271e+00 | 1.286773e+00 | 1.2840975974 | 1.2616156711 | 1.237605e+00 | 1.214273e+00 | 1.159132e+00 | 2.1453851704 | 1.1015548504 | 1.0498850797 | 1.021925e+00 |
NTIME12 | -1.1352156924 | -2.060706e-04 | 0.2897688047 | -6.267960e-05 | 1.161604582 | 1.216666e+00 | 1.230063e+00 | 1.2279357254 | 1.2097682339 | 1.190415e+00 | 1.171570e+00 | 1.125418e+00 | 1.1015548504 | 2.0843689309 | 1.0397115301 | 1.017059e+00 |
NTIME18 | -1.0660093025 | -1.098110e-04 | 0.1513558835 | -1.255306e-04 | 1.081688552 | 1.111123e+00 | 1.118309e+00 | 1.1172052812 | 1.1074476315 | 1.097268e+00 | 1.087240e+00 | 1.062600e+00 | 1.0498850797 | 1.0397115301 | 2.0340634410 | 1.006196e+00 |
NTIME24 | -1.0292664091 | -5.797991e-05 | 0.0778700942 | -1.266917e-04 | 1.038605710 | 1.054197e+00 | 1.058018e+00 | 1.0574521844 | 1.0522510805 | 1.046959e+00 | 1.041673e+00 | 1.028634e+00 | 1.0219253757 | 1.0170593052 | 1.0061959047 | 2.015470e+00 |
假如感兴趣的浓度为2326.847
则:
-
ΔΔQTc(CONC)的估计值(即点估计)=θ 1+CONC*θ2 =-0.161265183 + 2326.847 * 0.004527118 ≈10.37
-
ΔΔQTc (CONC)的标准误=sqrt(Var(θ1) + CONC^2 * Var(θ2)+2CONCCov(θ1θ2))=sqrt(2.9484198557+ 2326.847^2 * 0.0000006860761+2*2326.847*(-0.0006737455) )≈1.878
-
ΔΔQTc的90%置信区间上限 = ΔΔQTc估计值(CONC) ± t(0.95,DF) * ΔΔQTc (CONC)的标准误=10.37±1.665*1.878≈7.24313或13.49687
该结果与软件计算得出的90%置信区间下限与上限一致,软件计算的为:7.245683和13.49961。
由于13.4 ms >10 ms,所以结果为阳性。
其他说明:t(0.95,DF)的值可通过查表或者通过Excel公式快速计算获得具体的数值,比如Excel中对应的公式为=T.INV(0.95,DF),本例中自由度为77,则公式为=T.INV(0.95,77)
小结
本文简单介绍了白皮书中预先指定的线性模型,并给出了一些具体实现的代码,并举例说明了如何计算获得90%的置信区间上限。
参考文献
2017:Scientific white paper on concentration-QTc modeling
2018:Correction to: Scientific white paper on concentration-QTc modeling
2024:Concentration‐QTc modeling of sitravatinib in patients with advanced solid malignancies