本例显示在您有先验数据时如何创建非线性设计。在本例中,数据与一个化学反应有关。您想对可用有机基质的吸收率(速度)作为该基质浓度的函数进行建模。请参见 Meyers (1986)。您已进行一个实验,但是想利用结果获得更精确的参数估计值。
使用现有实验数据获取更好的参数估计值。
1. 选择帮助 > 样本数据库,然后打开 Nonlinear Examples/Chemical Kinetics.jmp。
2. 点击“列”面板中模型 (x) 旁边的加号。公式编辑器随即打开。
3. 公式编辑器底部中央的参数分级显示项显示模型参数的当前值。值(b1 = 1 和 b2 = 1)是您的初始估计值。它们用于计算数据表中的模型 (x) 值。对于下一个实验,您想使用更好的估计值来替换它们。
4. 点击取消以关闭公式编辑器窗口。
5. 选择分析 > 专业建模 > 非线性。
6. 选择速度 (y) 并点击 Y,响应。
7. 选择模型 (x) 并点击 X,预测变量公式。
请注意,模型 (x) 给出的公式显示在“拟合定制公式的选项”面板中。
图 23.7 非线性分析启动窗口
8. 点击确定。
9. 在控制面板中,点击执行。
迭代搜索解的过程会持续进行,直到达到停止限值之一。之后,会显示“解”报表和“估计值的相关性”报表。此外,一个选项显示在“控制面板”中,使用它可以向“解”报表添加置信限。
10. 在“控制面板”中,点击置信限。
参数 b1 和 b2 的置信区间显示在“解”报表中。
图 23.8 非线性拟合结果
b1 和 b2 的置信下限和置信上限值定义这些参数的值范围。接着,使用这些区间在扩充的非线性设计中定义先验值的范围。
注意:请勿关闭“非线性拟合”报表,因为在后续步骤中需要使用这些结果。
现在,创建一个设计来更精确地估计非线性参数。
1. 激活 Chemical Kinetics.jmp 数据表后,选择实验设计 > 特殊目的 > 非线性设计。
2. 选择速度 (y) 并点击 Y,响应。
3. 选择模型 (x) 并点击 X,预测变量公式。
4. 点击确定。
图 23.9 因子和参数的非线性设计分级显示项
在 Chemical Kinetics.jmp 数据中,浓度的值范围为 0.417 到 6.25。因此,这些值最初显示为“因子”分级显示项中的低值和高值。您想更改这些值以包含更大的区间。
5. 点击 0.417 并键入 0.1。点击 6.25 并键入 7。
6. 仍使每个参数的先验分布设置为“正态”。
参数值的范围反映了您对参数认识的不确定性。您可以指定一个范围,您认定该范围覆盖了 95% 的可能参数值。图 23.8 中所示的“非线性拟合”报表的置信限提供了这样一个范围。使用这些置信限替换“参数”分级显示项中的参数值(舍入到三个小数点)。
7. 在“实验设计 - 非线性设计”窗口中,将这些值输入 b1 和 b2 的参数:
‒ b1:0.568 和 3.158
‒ b2:6.858 和 45.830
图 23.10 因子和参数的已更新值
8. 在“生成设计”面板中为试验次数输入 40。
9. 点击制作设计。
将打开“设计”分级显示项,其中显示原始 13 次试验的浓度和速度 (y) 值以及新增 27 次试验的新浓度设置。
10. 点击制表。
这创建了一个新 JMP 设计表,它包含原始 13 次试验设计的设置和结果以及新的 27 次试验的设置。无需创建新数据表,您可以通过点击“扩充表”而非“制表”将新试验添加到现有数据表。
新试验反映了浓度值的更宽区间以及从原始实验获取的 b1 和 b2 值范围,该范围用于定义先验分布。这两者都会得到更精确的 b1 和 b2 估计值。