用非线性模型拟合试验数据时,同一个公式,换一组初始值就可能得到不同结果。有时曲线还没靠近数据,迭代就停了;有时曲线已经贴近散点,参数却一直变化。JMP中的初始参数应结合曲线形状和参数含义设置,反复不收敛时,也要检查公式、数据范围和参数之间的关系,不能只增加迭代次数。
一、JMP如何为非线性回归模型设置合理初始参数
初始值不要求接近最终估计值,但应让公式能够正常计算,并大致表现出数据的变化趋势。这里以带参数公式列的非线性拟合为例。
1、从散点趋势判断参数量级
平台值、初始响应和变化速度,往往可以从数据中得到初步线索。以指数衰减模型y=c+a×exp(−kx)为例,c表示远期平台,a表示起点与平台的差,k控制衰减速度。
①点击【图形】→【图形生成器】,将自变量和响应列分别拖到【X】、【Y】,查看散点。
②记录起点附近响应、尾部平台及变化较快的区间,作为【c】、【a】和【k】的初始值依据。
③数据覆盖到响应差衰减至起始差约37%的位置时,记录对应时间差,以其倒数估计【k】的量级。
2、把待估计量定义为参数
①新建模型列,右键列名选择【公式】,在公式编辑器中通过【参数】列表建立待估计参数并填写初值。
②录入模型表达式,引用正确的【自变量列】,保存公式并检查计算结果。
③点击【分析】→【专业建模】→【非线性】,将实测响应指定为【Y,响应】,模型列指定为【X,预测变量公式】。
公式里的待估计量应定义为参数,不能仅用几个普通常数代替。未赋值的参数可能被设为0,而0用于分母、对数或某些幂运算时,会让起始计算出现问题。
3、在控制面板中调整起始曲线
单自变量模型可以直接观察当前参数对应的曲线。此时适合先调整位置和幅度,再调整变化速度,避免几个参数同时大幅改动。
①在【控制面板】的【当前值】中修改参数,点击【重置】,查看曲线和误差平方和。
②使用图下方的【滑块】或【编辑框】微调,确认曲线方向和数量级与数据相符。
③检查【锁定】状态,取消不应固定的参数,再点击【执行】。
二、JMP非线性拟合反复不收敛时如何调整
停止迭代不一定意味着只差几步。若参数不断变大、误差几乎不降,继续运行可能仍然得不到稳定结果,应先看计算过程。
1、检查公式定义域与变量尺度
①返回模型列的【公式】,检查除法、对数、指数及幂函数,定位缺失或异常计算值。
②核对自变量、响应列的【单位】和【数据类型】,检查是否混用了秒与分钟、比例与百分数。
③必要时新增换算列,在【公式】中将变量转换到便于计算的尺度,并同步调整模型参数含义和初始值。
④重新指定【X,预测变量公式】,检查初始计算结果后再拟合。
例如时间单位由秒改为分钟,指数衰减模型的速率参数也要相应换算。只修改数据、不调整初始速率,起始曲线可能迅速贴到平台,看起来几乎没有变化。单位换算后的参数也要注明,避免后续解释出错。
2、根据迭代过程选择调整方式
参数跑入无意义范围、误差下降缓慢和导数计算困难,应分别处理。边界或锁定只能表达已有约束,不能替代数据中的信息。
①点击【非线性拟合】红色小三角,选择【迭代日志】,修改起始值后用【步进】查看后续变化。
②参数有明确取值范围时,打开【参数界限】,填写有依据的上下限;已有可靠测量值时,可暂时【锁定】相应参数。
③在【迭代选项】中对照测试【牛顿算法】与【BFGS拟牛顿算法】,每次保持相同起始值。
④公式较复杂、分析求导困难时,测试【仅限于数值导数】,记录停止提示和误差变化。
只有迭代仍在持续改善、停止原因确为次数限制时,增加次数才比较有意义。若两个参数相互补偿,或者平台根本没有被数据覆盖,放宽停止条件也无法补齐信息。接受当前估计值只会生成解报表,不代表拟合已经收敛。
三、JMP怎样确认调整后的参数可以继续使用
获得收敛提示后,还应检查结果是否依赖某一组初值。曲线相似而参数差别很大,说明参数解释可能比预测曲线更不稳定。
1、用不同初值复核结果
①保存当前结果,通过红色小三角选择【记住解】,记录参数和误差平方和。
②在【当前值】中输入另一组合理初值,点击【重置】后重新【执行】。
③比较不同起点的结果,检查参数是否贴着【参数界限】,以及误差是否接近。
若多次拟合得到相近曲线和误差,参数却相差很多,应检查模型是否过于复杂。以两个指数项为例,数据若没有清楚区分两种变化速度,算法可能难以分别确定它们。此时可以比较简化模型,或补充能区分两段变化的数据,不能只挑一组数值用于解释。
2、检查残差并分清置信限计算
参数估计和置信限计算是不同阶段。参数已经收敛,后续置信限仍可能计算失败,应保留各阶段提示,分别判断。
①在【解】报表中检查估计值、近似标准误差及【估计值的相关性】。
②点击红色小三角,通过【保存公式】→【保存残差公式】生成残差列。
③使用【图形生成器】查看残差与自变量的关系,检查是否仍有明显弯曲或分段趋势。
④需要区间估计时点击【置信限】,核对其计算提示,再点击【保存估计值】保存确认后的参数。
残差若持续偏向同一侧,可能需要重新考虑模型形状,调整初值不能解决这类偏差。参数高度相关或标准误差很大时,也应谨慎解释单个参数。界面中用于置信限的收敛准则,不能与控制拟合迭代的停止限混为一谈。
总结
非线性拟合需要让参数含义、数据覆盖范围和计算过程相互对应。试验尚未覆盖平台或转折区时,部分参数难以确定,应如实保留这一限制。把初值依据、约束条件和不同起点的比较结果一起保存,后续补数据或更换模型时会更方便。希望这些内容能帮到大家,如有相关需求,欢迎联系咨询。
