四、非线性回归法
(Method of nonlinear regression )
在药物动力学中,血药浓度与时间的关系常常不是直线而是曲线,符合指数函数或抛物线等,如一室模型静脉注射即属指数函数kt e C C -=0,通常转化为对数形式
0log 303
.2log C kt C +=
,以
log C 对t 进行线性回归求出k 值。
但此法不尽合理,因这是log C
与t 之间最小二乘,而不是C 与t 之间最小二乘。
故提出非线性回归法,此法所得结果更为准确,但其计算复杂,工作量大,必须采用电子计算机才能完成运算。
非线性回归一般采用高斯-牛顿(Gauss-Newton )迭代法。
迭代法是用某个固定公式反复地计算,用以校正方程所得根的近似值,使之逐步精确化,最后得到的精度要求的结果。
一般非线性参数的确定,通常采用逐次逼近的方法,即逐次“线性化”的方法。
设某药在体内的模型中待定参数a 1,a 2,a 3,…,a m ,求得隔室中药时关系的函数式为:
C = f (t ,a 1,a 2,a 3,…,a m )
其中t 是单个变量,t = ( t 1,t 2,t 3,…,t n ),今有n 组实验观测值(t k ,C k )k = 1,2,…n ,在最小二乘意义下确定m 个参数a 1,a 2,a 3,…,a m 。
下面介绍一般解法。
1.先给a i (i = 1,2,…m )一个初始值,记为)0(i a ,并记初值与真值之差i ∆(未知),这时有
i
i
i a a ∆+=)
0(
若知i ∆则可求a i ,在)
0(i
a 附近作Taylor 级数展开并略去i ∆的二次以上各项得
f (t k ,a 1,a 2,…,a m )m m
k k k k a f a f a f f ∆∂∂+
+∆∂∂+
∆∂∂+
≈022
011
00
式中),,,,()0()0(2)0(10m k k a a a t f f =
)
0()
0(1
121)
,,,(m m k
i
m i
ko a a a a t t a a a a t f a f ===∂∂=
∂∂
当)
0(i
a 给定时,0k f ,
i
ko a f ∂∂均可由t 算得。
2.列出正规方程(线性方程组),若参数为4个即m = 4,则应列出以下方程
4
444343242141343433323213124243232221211414313212111B b b b b B b b b b B b b b b B b b b b =∆+∆+∆+∆=∆+∆+∆+∆=∆+∆+∆+∆=∆+∆+∆+∆
各方程前面的系数),,2,1,(m j i b ij =和B i 可以用以下公式求出
∑
=∂∂∂∂=⋅
n
k j
k i
k ij a
f a f b 1
00
∑
=-∂∂=n
k k k i
k i f C a f B 1
00)(
上述方程组,用高斯消元法求解i ∆,继而算出i a 值。
3.将算得之i a 作为初值,重复上述步骤1,2,反复迭代和修正直至|i ∆|小于允许误差或符合残差平方和的要求。
残差平方和也是检查计算是否达到要求的重要指标,残差平方和
∑=-=n
k k m k C a a a t f 1
2
21]
),,,([SUM
上述迭代手续,解方程组,工作量很大,若编制工作程序,用电子计算机就能很方便地完成。
计算程序框图如下:
上述高斯-牛顿迭代法对于初始值依赖高,常先用残数法求出初始值。
若初始值偏离真值太远,往往迭代数次后又发散,故现在又发展了Maquart 法和单纯形法。