非线性回归是迭代式的。每次迭代都会改变参数值,以降低平方和。
使用全局拟合时,Prism 不会单独拟合每个数据集,然后再将它们平均到一起。相反,它会一次性将所有数据拟合到全局模型中。每次迭代时,它都会最小化(数据集)平方和(数据点)之和。任何特定方程中的任何特定参数都没有什么特别之处。它不知道 EC50 或高原或速率常数。它只是使用非线性回归算法,一步一步地改进平方和之和。
具体细节如下:
假设我们有四个数据集和三个参数的方程。一种表示方法是方程 y=f(X,A,B,C),或者换句话说,你的模型 "y "是由 X 和三个变量 A、B 和 C 定义的函数。在这种情况下,我们假设 A 在你的四个数据集中共享,而 B 和 C 则分别计算。
以上就是实验设计(或拟合引擎要解决的问题)的用户友好型描述。 从数学角度来看,Prism 实际上是对所有数据(来自所有数据集)拟合以下函数。
f(x, a, b1, b2, b3, b4, c1, c2, c3, c4) = { IF (X from Data Set 1)
{ IF (X from Data set 1) THEN f(X, A, B1, C1) { IF (X from Data set 2)
THEN f(X, A, B2, C2) { IF (X from Data set 3)
THEN f(X, A, B3, C3) { IF (X from Data set 4) THEN f(X, A, B4, C4)
请注意,参数 A(共享)看起来像 "共用 "参数,而参数 B 和 C(非共享)则分别拆分为 "单独 "参数 B1、B2、B3、B4 和 C1、C2、C3、C4。
下面是这个函数的另一种写法:
F(X,A,B1,B2,B3,C1,C2,C3)= f(X,A,B1*DummyB_1 + B2* DummyB_2 + B3* DummyB_3
+ B4* DummyB_4, C1* DummyC_1 + C2* DummyC_2 + C3* DummyC_3 + C4* DummyC_4)
在这个版本的等式中,如果 X 属于第 i 个数据集,则 DummyB_i = DummyC_i = 1 如果 X 不属于第 i 个数据集,则 DummyB_i = DummyC_i = 0
方程的两种形式(等价)都将使用当前参数值为数据中的每个 X 值计算每条曲线的 Y 值。然后,Prism 可以计算实际 Y 值(针对每个数据集的每个点)与预测 Y 值之间的差值。将所有这些点的平方和相加,得到非线性回归最小化的平方和。因此,非线性回归与往常一样工作。它只是有一个更高级的模型,可以说明哪些参数对所有数据集都有一个值,哪些参数对所有数据集都有一个值(共享)。