对群体药动学参数估计算法的推导,内容主要来自王亚宁早年的一篇文章。本文最初写作于2021年,目前已烂尾。
1. 基础知识
1.1 正态分布
设随机变量x来自正态分布N(μ,σ2),则
P(x∣μ,σ2)=2πσ21⋅exp(−2σ2x−μ)(1)
式(1)称为正态分布的概率密度函数。将式(1)取对数,得
−2lnP(x∣μ,σ2)=ln(2πσ2)+σ2(x−μ)2(2)
1.2 泰勒公式
泰勒公式可以将复杂的函数近似地用多项式表示。f(x)在x0处的一阶展开式为
f(x)=f(x0)+f′(x0)(x−x0)+ξ(3)
在x0处的二阶展开式为
f(x)=f(x0)+2f′′(x0)(x−x0)2+f′(x0)(x−x0)+ξ(4)
在一定的允许范围内,余项ξ可以忽略。
1.3 条件概率
设某离散型随机变量X来自分布f(θ)。X有2个取值:a、b,参数θ也有2个取值:1、2,则可写出如下分布律,其中,P(a,1)称为联合概率,P(1)、P(a)均称为边缘概率。
|
1 |
2 |
|
| a |
P(a,1) |
P(a,2) |
P(a) |
| b |
P(b,1) |
P(b,2) |
P(b) |
|
P(1) |
P(2) |
1 |
X=a的边缘概率为
P(a)=P(a,1)+P(a,2)=P(a∣1)⋅P(1)+P(a∣2)⋅P(2)(5)
θ=1的边缘概率为
P(1)=P(1,a)+P(1,b)=P(1∣a)⋅P(a)+P(1∣b)⋅P(b)(6)
P(a∣1)=P(1)P(a,1)、P(1∣a)=P(a)P(1,a)均称为条件概率。可见
条件概率=边缘概率联合概率
将式(5)扩展
P(a)=∑P(a,i)=∑P(a∣i)⋅P(i)(7)
将θ的取值从离散(i)扩展到连续(t),X从离散型随机变量扩展到连续型
P(x)=∫P(x,t)dt=∫P(x∣t)⋅P(t)dt(8)
1.4 似然
P(x∣t)表示在参数θ=t的条件下,X=x的概率。大多数时候,我们并不知道θ的值,却有X的结果,即参数未知而数据已知。但是,未知参数的取值会影响数据结果,即产生数据的概率反映了未知参数的可能取值。因此,可以根据数据结果反推参数取值。
将已知数据X=x的情况下,θ=t的可能性称为似然,有
L(t∣x)=P(x∣t)(9)
因此,可以根据已知数据X,计算出θ不同取值的可能性
L(θ∣X)=P(X∣θ)(10)
L(θ∣X)是一个关于θ的函数。在θ的所有取值中,能够使L(θ∣X)最大化的值θ^就是θ最有可能的取值。我们可以把θ^作为θ的估计值,这种方法称为最大似然估计(MLE)。
1.5 经验贝叶斯估计
在1.3节中,已知X=a的条件下,θ=1的概率
P(1∣a)=P(a)P(1,a)=P(a)P(a∣1)P(1)(11)
式(10)中,P(1)、P(1∣a)都表示θ=1的概率,但是P(1)的值与X的取值无关,称为先验概率;P(1∣a)是建立在X=a的基础上的(额外知晓了一些信息),称为后验概率。分子中的P(a∣1)=L(1∣a),表示θ=1时产生数据X=a的概率,称为似然。分母中P(a)是X=a的边缘概率,在θ所有的值都确定,并且θ各个取值下产生a的概率也确定的情况下,P(a)是一个常数。
因此,有
后验概率=边缘概率似然×先验概率∝似然×先验概率(12)
换成连续变量,在x=xi的条件下,θ的后验概率
P(θ∣xi)=∫P(x∣θ)P(θ)dxP(xi∣θ)⋅P(θ)∝P(xi∣θ)⋅P(θ)(13)
P(θ∣xi)称为θ的经验贝叶斯后验分布,将该概率最大化(最大似然),对应的θ^就是θ的经验贝叶斯估计值(EBE)。
2. NONMEM的参数估计
2.1 多层嵌套的随机效应
在NONMEM中,随机效应分为两层:(1)参数层面:个体间变异;(2)函数值层面:残差变异。
数据产生的过程如下:
- 第1步:从参数的随机变异N(0,ω2)中抽样出一个值η
- 第2步:在已经抽到η的条件下,将参数的典型值θ和变异η,带入到事先选定的结构模型f中,得到预测值f(θ,η)
- 第3步:将预测值加上一个随机变异ε,以表示预测值与实测值之间的残差,其中ε服从N(0,σ2)
因此,在已知参数典型值θ、个体间变异分布N(0,ω2)、残差变异分布N(0,σ2)的情况下,得到数据y的概率(即y的边缘概率)为
P(y∣θ,ω2,σ2)=∫P(y∣θ,σ2,η)P(η∣ω2)dη(14)
式(14)中,P(η∣ω2)表示第1步(抽取η)的概率,P(y∣θ,σ2,η)表示第2、3步(在抽到η情况下生成y)的概率。
式(14)就是NONMEM的目标函数的雏形。NONMEM的参数估计,就是根据现有数据y,找到最合适的θ、ω2、σ2的值,使现有数据出现的概率最大化:
L(θ,σ2,η∣y)=P(y∣θ,σ2,η)(15)
相应的取值就是对应参数的估计值,这实际上前文所述的最大似然估计过程。通常会对似然函数取对数再乘以-2,因此似然函数的最大化对应NONMEM目标函数值(OFV)的最小化。
NONMEM的目标函数比较复杂,所以会进行一些近似。
2.2 拉普拉斯近似
式(4)是泰勒二阶展开式,由于目标函数是积分形式,并且会对其做对数处理,因此在以下表达式中对函数f(x)在x0处做二阶泰勒展开
∫exp(f(x))≈∫exp(f(x0)+2f′′(x0)(x−x0)2+f′(x0)(x−x0))=exp(f(x0))⋅∫exp(2f′′(x0)(x−x0)2+f′(x0)(x−x0))=exp(f(x0))⋅−f′′(x0)2π⋅exp(−2f′′(x0)f′(x0)2)(16)
式(16)的推导来自正态分布,过程略。
NONMEM的似然函数为
L(θ,σ2,η∣y)=P(y∣θ,σ2,η)=∫P(y∣θ,σ2,η)P(η∣ω2)dη(17)
式(17)中,P(y∣θ,σ2,η)这一项是似然。令l(η)=P(y∣θ,σ2,η),-2倍的对数似然为
Φ(η)=−2lnl(η)(18)
Φ(η)的一阶导数和二阶导数分别是
G(η)=−2⋅l(η)l′(η)(19)
H(η)=−2⋅(l(η)l′(η))′(20)
式(17)中,P(η∣ω2)这一项是η的先验分布。令h(η)=P(η∣ω2),这是一个正态分布N(0,ω2),因此
h(η)=2πω21⋅exp(−2ω2η2)(21)
h′(η)=2πω21⋅exp(−2ω2η2)⋅(−ω2η)(22)
h(η)h′(η)=−ω2η(23)
(h(η)h′(η))′=−ω21(24)
令
g(η)=ln(l(η)⋅h(η))
则
g′(η)=lnl(η)′+lnh(η)′=l(η)l′(η)+h(η)h′(η)=−21G(η)−ω2η(25)
g′′(η)=(l(η)l′(η))′+(h(η)h′(η))′=−21H(η)−ω21(26)
则NONMEM的目标函数(即-2倍的似然函数)为
−2lnL(θ,σ2,η∣y)=−2ln∫l(η)⋅h(η)dη=−2ln∫exp(g(x))dη≈−2ln(exp(g(η0))⋅−g′′(η0)2π⋅exp(−2g′′(η0)g′(η0)2))=−2g(η0)−2ln−g′′(η0)2π−2⋅(−2g′′(η0)g′(η0)2)=−2ln(l(η0)⋅h(η0))−2ln(−g′′(η0)2π)21+g′′(η0)g′(η0)2=−2lnl(η0)−2lnh(η0)−ln−g′′(η0)2π+g′′(η0)g′(η0)2=−2lnl(η0)+ln(2πω2)+ω2η02−ln(2π)+ln(−g′′(η0))+g′′(η0)g′(η0)2=−2lnl(η0)+lnω2+ω2η02+ln(−g′′(η0))+g′′(η0)g′(η0)2=Φ(η0)+lnω2+ω2η02+ln(2H(η0)+ω21)−2H(η0)+ω21(2G(η0)+ω2η0)2(27)
当η0是g(x)的极值点时,式(6)的最后一项等于0,因此
−2lnL(θ,σ2,η∣y)=Φ(η0)+lnω2+ω2η02+ln(2H(η0)+ω21)(28)