Please enable JavaScript to view this site.

为什么要初始值?

在执行非线性回归之前,Prism 必须为方程中的每个参数设定初始值(估计值)。然后,Prism 会反复修改这些值,以提高模型与数据的拟合值。初始值必须合理,这样由这些初始值定义的曲线才能大致符合数据的形状,并且不会偏离数据点太远。如果初始值非常糟糕,Prism 可能无法拟合模型。

对初始值的需求并不是 Prism 独有的,而是非线性回归所固有的。

为什么需要初始值规则?

Prism 可以存储从数据范围计算初始值的规则(算法)。如果您选择了内置方程,规则就会得到处理。如果输入自己的(用户定义的)方程,也可以输入规则来定义每个参数的初始值。如果您输入了一套好的规则,那么您的方程将来就可以正常工作,而无需考虑初始值的问题。

如果不输入初始值规则,那么每次拟合数据时,都需要为每个变量、每个数据集输入初始值。

如果输入的规则不完善,那么初始值将无法生成一条靠近数据点的曲线,Prism 很可能无法将模型拟合到数据集上。

如何输入规则

在输入或编辑用户定义方程时,单击标有 "初始值规则"的选项卡。对于每个参数,在第一列中输入一个数字,然后选择一个要乘以或除以的值。

大多数情况下,您会使用基于 YMIN、YMID 或 YMAX 的选择,即数据集中的最小、中间(最小值和最大值的平均值)和最大 Y 值,或相应的 XMIN、XMID 或 XMAX。

您也可以要求 Prism 进行插值,本示例就以最小值和最大值 (XatYmid) 之间 Y 值的一半处的插值 X 值及相关值为初始值。

 

拟合初始值

下拉列表中的第一个选项是"(初始值,拟合值)"。这意味着您在左边方框中输入的值将成为所有数据集的初始值。初始值将不依赖于数据的范围(不会被计算);它将是您输入的实际值。

基于数据范围的初始值

大多数规则都基于 X 和 Y 值的范围。

缩写 YMIN 是 Y 的最小值,YMAX 是最大值,YMID 是 YMIN 和 YMAX 的平均值。本示例中,如果在第一列输入 "0.5",并在第二列选择 "YMAX",则 Prism 会将初始值设置为 YMAX 的一半(每个数据集的初始值不同)。

在 YMID 处的 X "指的是与最高和最低 Y 值的平均值相对应的 X 值。 计算细节

SIGN(YatXmax - YatXmin)

如果曲线从左到右一般都是向上的,则等于 +1:/

如果曲线从左到右一般呈下降趋势,则等于-1:\

它被用作剂量反应曲线中 Hill 斜率的初始值。

下面是数学解释。SIGN() 函数在给定正数时等于 +1,在给定负数时等于 -1。YatXMax 是最大 X 值时的 Y 值。YatXmin 是最小 X 值时的 Y 值。 (当曲线上升时(YatXmax - YatXmin)为正值,当曲线下降时(YatXmax - YatXmin)为负值。

列标题值的平均值(或平均值的对数)

对于某些类型的数据,用数字标注数据集是有意义的。每个列标题都有一个值。

对于这类数据,有两种方法可以访问列标题值:

使用 "约束 "选项卡,选择 "数据集常数(=列标题)"。 模型中的这个参数现在是一个常量,但每个数据集列的常量值都不同,它的值来自列标题。

在定义方程的对话框中的初始值规则选项卡上,设置参数的初始值等于这些列标题的平均值。或者等于平均值的对数。

理解这一点的最佳方法是本示例。调出竞争性酶抑制的 XY 数据集样本,按照说明操作,检查对话框的设置。

初始、中间和最终斜率

Prism 7 的新功能:初始值基于初始、中间或最终斜率(X 的最小值、中间值或最大值时的 dY/dX)或其倒数。

本示例

Y = Vmax*X/(Km + X)

上述方程是 Prism 内置的 Michaelis-Menten 酶动力学模型。如果将该方程作为内置方程,则会自动提供初始值规则。但如果您将其作为一个新的用户自定义方程输入,则很容易得出规则。

Vmax 是在 X(底物)值很高时的 Y 值(酶的速度)。因此,合理的初始值是将 Vmax 设为数据集中最大的 Y 值。为此,请输入数值 1.0 并选择乘数 *Ymax。这意味着 Prism 将通过将最大 Y 值乘以 1.0 来计算初始值。你可以认为,Vmax 通常高于最大 Y 值,因此应该用 1.25 乘以 Ymax 来计算初始值。通常有多种规则可以证明其合理性。这些规则只计算初始值,因此有很大的变化空间。

Km 是与 Vmax 的一半的 Y 值(酶的速度)相对应的 X 值(底物浓度)。计算其初始值的方法是将 1.0 乘以 "Ymid 时的 X 值"。Prism 然后取最大和最小 Y 值的平均值来计算 Ymid,然后从直线连线中插入插值,找出相应的 X 值。

XMIN、XMID 或 XMAX 时的斜率

这些是图表左侧、中间或右侧的斜率(Y 的变化除以 X 的变化)。如果有 30 个或更多的数据点,Prism 会从第一个、中间或最后 10%的点开始计算斜率。如果数据点少于 30 个,Prism 会从第一个、中间或最后两个点计算斜率。

如果点数多于 30 个,斜率则通过对第一、中间或最后 10%的点进行线性回归来确定,并向下舍入。如果点数少于 30 个,斜率则由前两个点或后两个点确定。对于少于 30 个点的 slopeAtYmid,如果点数为偶数,Prism 会使用两个中间点,否则会使用三个中间点。

如果不输入任何规则会怎样?

如果不为每个参数输入规则,Prism 会坚持要求您在每次拟合数据到方程时输入初始值。

如何覆盖规则定义的初始值

规则与每个方程一起存储,可以在定义和编辑方程的对话框中编辑规则。

规则定义的初始值显示在非线性回归对话框的初始值选项卡中。要覆盖初始值,请执行以下操作

1.在对话框顶部选择一个或多个数据集。或者点击 "全选"选择所有数据集。

2.取消选中 "自动选择"选项。

3.输入初始值(作为数值、数字,而不是规则)。

要检查初始值的好坏,请转到 "诊断"选项卡并选中该选项:

(*)不要拟合曲线。取而代之的是绘制由参数初始值定义的曲线。

如果绘制的曲线与数据不符,请修改初始值(或生成初始值的规则),然后再让 Prism 拟合模型与数据。

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