药代动力学非房室分析(NCA):AUC、半衰期、清除率在线计算
非房室分析(NCA)不假定任何房室模型,直接从浓度-时间点算出暴露量和 处置参数。它是生物等效性和毒代研究的默认方法,也是绝大多数人用 Excel 手搓梯形面积的那件事。
公式
AUC(0→t_last) = Σ (Ci + Ci+1)/2 × Δt 线性梯形
AUC(t_last→∞) = C_last / λz 外推尾部
AUMC(0→t_last) = Σ (ti·Ci + ti+1·Ci+1)/2 × Δt
AUMC(t_last→∞) = C_last·t_last/λz + C_last/λz²
λz = 末端若干点对 ln C 做线性回归,取斜率的相反数(至少 3 个点)
t½ = ln2 / λz
MRT = AUMC(0→∞) / AUC(0→∞)
CL = 剂量 / AUC(0→∞) 血管外给药时得到的是 CL/F
Vz = 剂量 / (λz × AUC(0→∞)) 血管外给药时是 Vz/F
Vss = CL × MRT 只对静脉给药有意义
四条面积公式出自 Gabrielsson & Weiner, Non-compartmental analysis, Methods Mol Biol 2012;929:377-89 的式 (1)–(4)。
为什么默认不是纯线性梯形
线性梯形法用直线连接相邻两点,而真实的消除相是往下凹的指数曲线—— 直线永远在曲线上方,所以下降段一律高估;上升段同理一律低估。 这不是什么微小误差,取决于你采样有多稀。
默认的 linear-up/log-down 只在上升段用直线,下降段改用对数梯形:
下降段(Ci+1 < Ci):ΔAUC = (Ci − Ci+1) × Δt ÷ ln(Ci / Ci+1)
这个式子对单指数段是精确的,所以消除相估得准得多。
可以验算
用单指数静注数据 C(t) = 100 × e^(−0.2t)(mg/L),剂量 1000 mg, 采样 0 / 1 / 2 / 4 / 8 / 12 / 24 h。这组数据每一项都有解析真值, 不是从哪本书上抄的数:
| 量 | 解析真值 | 本工具(log-down) | 纯线性梯形 |
|---|---|---|---|
| AUC(0→24) | 495.8851 | 495.8152(−0.014%) | 525.4450(+5.96%) |
| λz | 0.2 | 0.200192 | 同 |
| t½ | 3.4657 | 3.4624 | 同 |
| AUC(0→∞) | 500 | 499.9113 | 529.5411 |
| AUMC(0→∞) | 2500 | 2498.4090 | — |
| MRT | 5 | 4.9977 | — |
| CL | 2 | 2.0004 L/h | 1.8884 |
| Vz | 10 | 9.9922 L | 9.4331 |
点开工具就是这组数据,可以直接核。右边那一列就是不换方法的代价: 清除率会低估 5.6%,而清除率是决定给药剂量的那个参数。
残余的不到 0.1% 来自浓度只填了两位小数,不是方法误差。
适用边界
- λz 拟合点数会改变所有下游参数。本工具默认取末端 4 点,可以改。 自动模式按校正 R² 最大挑点数——这是通行做法,但它选出来的点数 未必是你看图会选的那几个,拟合用了哪些点工具会列出来,自己看一眼。
- 外推占比 > 20% 时这个 AUC(0→∞) 不可靠,工具会告警。 生物等效性指南(EMA / FDA)通行要求 AUC(0→t) 至少覆盖 AUC(0→∞) 的 80%。 超了说明采样时间不够长,不是算法问题,补采样才能解决。
- CL 和 Vz 在血管外给药时带着生物利用度 F,得到的是 CL/F、Vz/F。 把 CL/F 当 CL 用会把清除率系统性高估 1/F 倍。工具按你选的途径标注。
- Vss = CL × MRT 只对静脉给药成立。口服时 MRT 里混进了吸收时间 (MAT),算出来的不是真正的稳态分布容积。
- 不做多剂量累积、不做稳态参数(AUCτ、Cav、波动度),不做统计学比较。 单次给药的单个个体,一次一条曲线。
- 浓度低于定量下限(BLQ)的点怎么处理会明显影响结果,而规则因研究而异 (首个 BLQ 计 0、全部剔除、按 LLOQ/2 代入……)。本工具按你填的数算, 不替你做 BLQ 规则,填进来的 0 会让该段退回线性梯形。
常见问题
AUC 到底该用线性梯形还是对数梯形?
**消除相用对数梯形(linear-up/log-down),这是默认也是通行做法。**线性梯形用直线连两点,而真实消除相是下凹的指数曲线,直线永远在上方,所以下降段一律高估。实测:单指数数据稀疏采样时纯线性高估 **5.96%**,log-down 只偏 −0.014%——因为对数梯形对单指数段是精确的。后果落在清除率上:CL = 剂量 ÷ AUC,AUC 高估 6% 就意味着 CL 低估约 5.6%,而 CL 是决定给药剂量的那个参数。
λz 该取末端几个点?
该章要求至少 3 个,实践中常用 3–5 个。**这个选择会改变所有下游参数**(t½、外推尾部、AUC(0→∞)、CL、Vz 全都依赖 λz),所以它不是个细节。本工具默认末端 4 点,也提供「自动」模式按**校正 R²**最大挑点数——用校正 R² 而不是普通 R² 是因为后者几乎总会选最少的点数。无论哪种模式,工具都会列出实际用了哪些时间点,自己看一眼是否落在消除相里。
外推占比超过 20% 怎么办?
**补采样,没有别的办法。** 生物等效性指南(EMA / FDA)通行要求 AUC(0→t) 至少覆盖 AUC(0→∞) 的 80%,也就是外推不超过 20%。超了说明末次采样时浓度还很高、曲线远没走完,这时候 AUC(0→∞) 里有超过五分之一是靠 C_last/λz 猜出来的,而 λz 本身也是末端几个点估的——误差会乘在一起。换算法、换拟合点数都改不了这件事,它是采样设计的问题。
CL 和 CL/F 有什么区别?
口服(或任何血管外途径)时你不知道有多少药真的进了血液循环,算出来的是 **CL/F**(F 是生物利用度)。真实清除率 CL = (CL/F) × F。把 CL/F 当成 CL 用会把清除率**系统性高估 1/F 倍**——F = 0.5 时差一倍。同理 Vz/F 也不是真的分布容积。要拆出 F,必须同一受试者再做一次静脉给药。本工具按你选的途径标注,不会把两者混在一起写。
Vss 为什么口服时不给?
因为 Vss = CL × MRT 只对静脉给药成立。口服时 MRT 里混进了**吸收时间**(MAT = MRT_口服 − MRT_静脉),算出来的数既不是稳态分布容积,也没有清晰的物理含义。与其给一个会被误读的数,不如不给。Vz(或 Vz/F)口服时仍然可以算,它定义在末端相上,不依赖这个假设。
低于定量下限(BLQ)的点怎么填?
**本工具不替你做 BLQ 规则**,因为规则因研究而异:首个 BLQ 记 0、全部剔除、按 LLOQ/2 代入,都有人用,而选哪一种会明显改变 AUC 和 λz。你按研究方案处理好再填进来。注意填 0 会让该段自动退回线性梯形(对数梯形在浓度为 0 时无定义),这是有意的。
能算多次给药的稳态参数吗?
不能。本工具只做**单次给药、单个个体**的一条曲线。稳态参数(AUCτ、Cav、波动度 Fluctuation、累积比 Rac)需要给药间隔 τ 和达到稳态的判据,是另一套算法。多个受试者的统计学比较(几何均值比、90% 置信区间)也不在这里——那是生物等效性分析,本站有 [t 检验](../t-test/) 和 [置信区间相关工具](../sample-size/) 可以配合用。
相关工具
ROC 曲线与 AUC 计算器(含 Hanley-McNeil 置信区间)
贴阳性组与阴性组的评分,算出 ROC 表、AUC(梯形法与一致对法互相校验)、Hanley-McNeil 置信区间、Youden J 最优阈值和 Mann-Whitney 检验;也可只填已发表的 AUC 与样本量求置信区间。
诊断试验四格表计算器:灵敏度 / 特异度 / 阳性预测值
输入 TP/FP/FN/TN 四格,一次算出灵敏度、特异度、阳性与阴性预测值、似然比与约登指数,给出 95% Wilson 置信区间,并可用贝叶斯公式更新后验概率。
哈迪-温伯格平衡计算器:等位基因频率、基因型频率与 HWE 偏离检验
输入次等位基因频率或观测基因型计数,给出 HWE 期望频率与 χ² 偏离检验,适用于 GWAS 质控、隐性遗传病携带率估算与遗传风险计算。