Please enable JavaScript to view this site.

非线性回归基本思路

除非先掌握矩阵代数,否则您将无法理解非线性回归的数学细节。但基本思路很容易理解。每种非线性回归方法均遵循以下步骤:

1.从方程中每个参数的初始估计值开始。

2.生成由初始值定义的曲线。计算平方和,即点与曲线之间垂直距离的平方和。(如果包含加权因子,则计算加权平方和。)

3.调整参数,使曲线更接近数据点,以便减小平方和。调整参数的方法有若干种,解释见下文。

4.再次调整参数,使曲线更接近点。重复进行。

5.调整使得平方和几乎不存在差异时,停止计算。

6.报告最佳拟合结果。获得的精确值将部分取决于在步骤1中选择的初始值以及步骤5的停止标准。这意味着重复分析相同数据并不总是给出完全相同的结果。

Marquardt方法

步骤3是唯一比较难完成的一步。Prism(和大多数其他非线性回归程序)使用Marquardt和Levenberg方法,这两种方法混合了另外两种方法:线性下降法和高斯-牛顿法。理解这些方法的最佳方法是遵循示例。这里有些将拟合至结合曲线的数据(直角双曲线)。

 

 

您想要拟合结合曲线,以便利用方程确定Bmax和Kd

 

如何找到最能拟合数据的Bmax和Kd值?可通过改变Bmax和Kd,生成无限多条曲线。对于每条生成的曲线,可计算平方和,以便评估该曲线拟合数据的能力,见下图。

 

X轴和Y轴对应于将通过非线性回归拟合的两个参数(本示例中为Bmax和Kd)。Z轴为平方和。表面上的每个点对应于一条可能的曲线。非线性回归的目标是找到使平方和尽可能小的Bmax和Kd值(以便找到谷底)。

线性下降法遵循非常简单的策略。从初始值开始,尝试少量增加参数。如果平方和下降,则继续。如果平方和上升,则返回降低参数值。您已从表面往下走了一步。重复多次。每一步通常均会减小平方和。如果平方和反而上升,则步长大小必须非常大,从而越过底部返回另一侧。如果发生了这种情况,则返回走一小步。重复这些步骤多次后,将到达底部。

理解高斯-牛顿法稍微有点难。与线性下降法一样,您对每个参数的值稍做更改时,从计算平方和更改多少开始。这将告诉您平方和表面在初始值定义的点处的斜率。如果方程确实为线性,则有足够信息可确定整个平方和表面的形状,从而一步计算出Bmax和Kd的最佳拟合值。在线性方程的情况下,知道在一个点处的斜率即可获得您想要知道的有关表面的所有,且可一步找到最小值。在非线性方程的情况下,高斯-牛顿法不会一步找到最佳拟合值,但这一步通常会改进拟合。重复多次迭代后,将到达底部。

这种线性下降法往往对早期迭代更有效,但当其接近最佳拟合值(且表面近于平坦)时效果很慢。相比之下,高斯-牛顿法在早期迭代中往往效果不佳,但在后期迭代中非常有效。Marquardt方法混合了这两种方法(又称“Levenberg-Marquardt方法”)。这种方法在早期迭代中采用线性下降法,然后逐渐切换至高斯-牛顿法。

与大多数程序一样,Prism使用Marquardt方法执行非线性回归。该方法相当标准。唯一变化是λ使用什么值(其决定步长大小)以及如何通过连续迭代来更改λ。我们遵循“数值分析方法库”中给出的建议。将λ初始化为0.001。在一次迭代成功后,λ减少10倍,在一次迭代失败后,λ增加10倍。

参考文献                                                                         

《C中数值分析方法库》第15章,第二版,WH Press等著。剑桥出版社,1992年

《应用回归和方差分析入门》 第10章SA Glantz和BK Slinker著,McGraw-Hill,1990。

 

© 1995-2019 GraphPad Software, LLC. All rights reserved.