这是有关如何将分段连续函数拟合到数据集的系列文章中的第二篇。 我将在每篇文章的开头提供该系列中所有其他文章的链接。 他们是:
这篇文章必然有点“数学”。
介绍
在本博客系列的第 1 部分中,我介绍了一个示例问题来演示“将分段函数拟合到数据集”的问题。 这些数据被分成我们想要拟合(尚未确定)函数的区域。 甚至定义区域边界的 X 位置仍然未知。 图 1 显示了数据和建议区域。
Figure 1图1
选择功能
对于每个区域,我们希望拟合不同的函数来对数据进行建模。 在JMP 的非线性平台中,您可以使用您喜欢的任何表达式(例如指数、对数、三角函数等)。一般来说,函数的选择将完全取决于建模者的智慧、洞察力和主题专业知识。 以下讨论使用简单多项式,其优点是在建立边界条件时简化数学。 这些年来这些对我来说效果很好。
我所说的简单多项式是指以下形式的方程:
Equation 1公式1
在哪里:
y = 测量的响应
n = 感兴趣的部分
A米= 第 n 段的“第 m”个未知系数
x = 独立预测变量
多项式可以截断为任何所需的长度,具体取决于要拟合的函数的复杂性。
让我们分别看看图 1 的每个部分。
第 1 部分:测试开始前数据
如前所述,该区域可能包含在测试实际开始之前收集的数据。 在这种情况下,理想情况下,y 值可能为零,尽管可能存在一些仪器偏移。 我们希望这是一个常数值,因此我们将第一段的多项式设置为:
Equation 2等式2
第 2 部分:夹具公差拉紧
回想一下,示例数据集可能代表来自拉伸试验机的数据,其中使用安装图将样本放置在测试仪中。图 1 中所示的第二段/区域(X1 和 X2 之间)可能表示正在考虑夹具公差的区域。 我们可能主要感兴趣的是有多少拉力(X2-X1),或者需要多少力来消除所有公差。
由于该区域存在曲率,因此我选择使用二次函数进行拟合。 我还选择将参数更改为 b 而不是 a,只是为了帮助区分该段中的系数与段 1 中的系数:
Equation 3公式3
第 3 部分:线性/弹性区域
第 3 段可能是测试中最重要的区域,因为我们的目标是了解曲线的弹性区域。 这里 x 和 y 之间的关系是线性的,可能代表我们示例测试样本在拉伸夹具中的弹性区域。 我们对该区域的斜率最感兴趣,因此我为该方程选择了一个简单的斜率截距形式:
Equation 4公式4
第 4 部分:产量启动
第 4 部分可能覆盖示例测试数据中拉伸样本开始屈服的区域。 目视检查数据显示再次存在曲率(类似于段 2),因此我再次选择二次拟合:
Equation 5公式5
第 5 部分:测试结束后的数据
第 5 段可能会在实际拉伸测试完成后发生。 测试样本仍处于拉力状态。 拉伸量 (y) 不变,因此方程与段 1 类似:
Equation 6公式6
设置边界条件
现在,我们有五个具有未知系数的方程(a0、b0、b1、b2、c0、c1、d0、d1、d2 和 e0)以及四个断点 X1、X2、X3 和 X4。其中每一个都需要确定。 但还需要提供更多信息。 具体来说,每条曲线都需要在过渡边界处“连接”。
段 1 到段 2 的过渡
对于段 1/2 过渡,我们希望在 x=X1 处 y1=y2。 这意味着:
Equation 7公式 7
求解 b0,我们得到:
Equation 8公式8
这将段 1 的功能与段 2 的功能在 x=X1 处“连接”。 这为我们提供了一种从任何即将出现的方程中消除 b0 的方法。
剩余段边界
无需拼写出所有代数,我们就可以对每个其他边界执行相同的操作(例如 y2(X2) = y3(X2) 等)。 求解 c0、d0 和 e0,我们得出:
Equation 9公式 9
Equation 10公式10
Equation 11公式 11
对线段方程进行多次代入后,我们得到:
Equation 12公式 12
Equation 13公式 13
Equation 14公式 14
Equation 15公式 15
Equation 16公式 16
现在我们将未知数缩减为 a0、b1、b2、c1、d1、d2、X1、X2、X3 和 X4。 我们如何得到联合管理计划来解决这些未知数? 和我一起阅读下一篇博文!