部署模型你好
致所有人。
在附加的 2 个 jmp 文件中。 名为 Training-validation-test 的模型用于构建 RF 模型,结果如下。
该文件包含一个数字响应和 20 个不同的预测变量,其中之一是分类变量,预测变量是传感器值。

正如您所看到的,偏差非常好,而方差稍高 (92-69=23%)。
然后,使用包含模型从未见过的示例的新数据库来模拟算法在新数据上的部署。
令人惊讶的是,结果非常糟糕,预测响应与实际响应之间的 R2 接近于零。 我们无法理解这种行为。 毕竟测试数据的 R2=68% 似乎并不是很糟糕。 所以我们期望 R2 肯定大于零。
欢迎任何帮助/评论。
菲利斯-吉安
预测建模和机器学习分享和交流结果回复:部署模型也许这可以帮助讨论。 我使用了 jmp pro 中优秀的模型筛选选项,通过使用嵌套选项来调整超参数并结合 k 折交叉验证。 这是 jmp 工作几个小时后获得的结果

令我惊讶的是这些模型在性能方面的巨大差异。 树模型和 KNN 显示 R2 高于 50%,而所有拟合模型显示的值远低于 50%(接近于零),尽管使用了套索和岭正则化。 也许这种差异可以解释 RF/Boosted 模型在生产中部署后性能不佳的原因吗?
你怎么认为? 有什么意见/建议/帮助吗?
费利斯.
回复:部署模型我强烈怀疑您需要花更多时间准备数据。为了拟合时间序列模型,观测值必须等距且没有重复的时间值。您有 4 个传感器(?),它们的响应间隔不均匀。如果您想理解这些数据,我相信您需要聚合这些值,以便每个时间段都有一个观察结果,并且您可能需要为定时观察之间的时间长度创建一个变量。我还建议对每种类型的传感器进行单独的分析,而不是使用传感器作为您的功能之一,因为每种传感器的行为似乎不同。
我不准备得出这样的结论:您的功能无法预测 - 我认为混合传感器类型以及非标准时间间隔会引入太多噪音。如果解决这些问题,可能就会有一个很好的预测模型。建模部分不是问题 - 数据准备才是问题(通常是这样)。至少我是这么认为的。
回复:部署模型嗨戴尔
不幸的是,通过使用响应变量差异,没有一个回归模型能够返回良好的结果。
因此,此时我可能需要假设我们的 X 变量不是响应的良好预测因子。
无论如何,对于像我们这样的数据(传感器数据),我们是否必须通过考虑时间轴来分割训练/测试,或者我们可以使用随机分割技术,仍然存在疑问。 在文献中,我发现了几篇论文,其中对于传感器数据,他们使用随机分割训练/测试。 如果我们以同样的方式做,结果看起来真的很好,直到我们将模型部署到生产中才发现模型是完全错误的。 那么真相在哪里呢?
在附件中,您可以找到一篇将机器学习技术应用于半导体工具(蚀刻机)的论文。 他们尝试通过查看传感器数据来进行预测性维护。 所以数据应该非常相似。 如果你看一下论文中以绿色突出显示的部分,看起来他们会考虑时间轴来分割数据,然后将数据视为时间序列。
我希望除了戴尔之外还有更多的人能够发表意见并帮助我们解决这个困境。
这些数据是否像我们的多时间序列一样?
确实,预测变量 X 和响应 Y 取决于时间。 但是如果我们想根据 X 值预测 Y,为什么时间变量应该如此重要? 对我来说,Y 应该取决于机器在处理阶段自动设置的 X 变量。 当然,这是按时间顺序发生的,但 X 值取决于配方和机器状态。 所以我有些难以接受对时间的依赖。
祝整个社区复活节快乐。
菲利斯
回复:部署模型时间序列模型不是我的强项,所以希望有人能给你更明确的答案。我一开始不会区分这些特征 - 我会构建模型并查看残差,看看它们是否表现出相同的自相关性。如果他们这样做,那么也许我会尝试区分某些功能。
回复:部署模型嗨戴尔
由于预测变量也显示相同的 PACF,您认为除了响应之外,区分预测变量是否也有用?
谢谢菲利斯
回复:部署模型PACF 图表明前两个滞后是相关的 - 到目前为止,第一个滞后是最重要的。所以,我认为简单的一阶差分是一个值得尝试的好事情。其中一种机器学习模型(例如 RF、提升树、神经网络)可能会表现良好,所以我会尝试它们。但您还应该尝试一些更标准的时间序列模型(您不会使用差异,因为时间序列模型是为了以各种方式考虑自相关而构建的)。理论上,如果您使用一阶差分(并且这在很大程度上消除了时间结构),那么您可能可以使用随机的训练-验证-测试集进行建模。至少,我是这么认为的——其他人可能更了解。
回复:部署模型嗨乔治和戴尔
非常感谢您的回答。 我查看了所有预测变量和响应的滞后图,令我惊讶的是,我发现了一个非常长的自相关(参见附图)。
由于数据来自半导体晶圆厂,因此 ACF 中可见的值 25 与批次中晶圆的数量有关。
相反,滞后图中的点线只是装载到机器中的不同批次的第一批晶圆。 我认为自相关是由于我们的机器中存在内部反馈以保持工作点所致。 当然,这些调整隐藏在室内,不在我们的控制和理解之下。 响应还显示出明显的滞后,我无法解释。 但有吗。
我尝试使用滞后、移动平均、平滑和其他预测因子特征工程,但结果仍然很糟糕。
下一步我想尝试戴尔提出的差异。 您认为简单的差值 X(t)-X(t-1) 就足够了吗?
再见菲利斯
回复:部署模型我有几个建议。首先,我会尝试首先区分您的响应变量,然后再次尝试随机森林。对我来说,这是处理时间序列数据的最简单方法 - 并且以这种方式查看数据可能会表现得更好。我仍然会手动创建验证集作为最后一个时间段,而不是随机选择行。第二个想法是你注意到的——有时间分组,例如时间上紧密相连的多个观察结果。您可以考虑通过总结时间上密切相关的观察结果来使时间序列统一。如果时间变量是统一测量的,那么时间序列的表现会更好,这意味着您的数据需要汇总为等间隔的时间间隔。正如您所建议的,现在是时候重新思考正在测量的内容以及如何测量了。
回复:部署模型同时,我相信我将无法为数据拟合有效/合理的模型。
我的第一个方法是生成由 X 统计的验证列。
时代系列暗示@dale_lehman很有用,所以我还以时间序列的方式查看了数据,
意识到随着时间的推移,X 的组合会发生变化。 在我看来,“新”再次显得不同。 是的,X 覆盖了相同的范围,但这还不够。 我认为,“新”的组合是不同的,也就是说,它是一种外推。 这对于回归来说不是问题,但对于像 RF 这样的方法来说这很重要(模型是多维且高度非线性的,因此很难深入了解)。
另一方面,我无法使用任何其他方法(神经、提升树)来拟合合理的模型。 在我看来,我们在 X 列中没有正确的信息来构建实体模型。
所以我会研究这个过程的物理原理或者其他什么,
- X如何改变Y,
- 可能是什么噪音
- 以及是什么导致事物随着时间的推移而变化,并将其包含到数据集中。
- 我也对数据结构感到好奇,有一些行具有相同的日期和相同的参数值
让我惊讶的是,当我制作一个按时间分层的验证列时,我得到了相同的结果(第一部分的公平模型,没有新数据的模型)。
祝你好运,
回复:部署模型现在我仔细观察,发现这是时间序列数据。从我最初的观点来看,这个过程似乎并没有发生重大变化。然而,我认为问题在于训练-验证-测试范例并不真正适合时间序列数据。我建议创建一个不同的时间段(例如,第一个数据集的最后一个月)作为验证集并重新估计模型。我的猜测是,如果您以这种方式估计模型,则验证中的模型性能和以前从未见过的数据应该更加相似。我仍然有点担心两个数据集中 X 变量之间的显着差异 - 它可能需要一些更复杂的时间序列建模(例如对潜在季节性进行建模)。
回复:部署模型嗨戴尔和乔治
感谢您的回复。
实际上,对我来说,每个预测变量的两个分布之间的差异似乎并没有那么不同(参见附图中的直方图。 使用 bls,我们指示 Training-Val-Test 集并 exp 模型从未见过的集)。 也许X20在以前没有的数据中显示出一个新的峰值。 但其余分布的人口数量仅比以前的分布要少。
如果训练集的预测变量分布比测试集更宽,则模型应该“访问”了测试集预测变量占据的相空间。 正确的? 那么为什么它会做出错误的预测呢?
无论如何,我通过随机抽取 2000 个实例(而不是随机森林模型从未见过的最后 2000 个实例)来确认(尽管对我们来说这很奇怪)你所说的内容,并且一旦训练它就能够正确预测响应。 因此,如果平均值/标准差方面的微小差异会在预测性能方面产生很大差异,我们如何在信号连续变化的生产中使用这些模型?
参考值。费利斯/吉安
回复:部署模型我同意@dale_lehman ,新数据有所不同。
我能够拟合类似的模型,但在新数据上的表现也很差。

散点图矩阵显示了一些细节,例如 X5 使用非常小的原始数据范围,与 X11 相同......
在两张图片中都选择了新数据。 也许这可以帮助您找到差异的原因。

回复:部署模型平均而言,两组之间几乎所有 X 变量(X12、X13 和 X19 除外)均显着不同。因此,我的猜测是,新数据不仅仅是来自同一群体的另一个随机样本,而是来自不同的群体。当新数据来自不同的群体时,您的模型与原始数据拟合得相当好,但在新数据上表现却很差,这并不奇怪。
我想要问的问题是为什么它来自不同的人群?显然,您认为数据是从同一人群(或接近人群)中提取的。但这些变量在两组之间看起来一定如此不同,以至于这种假设显然是不正确的。
为了查看差异,我连接了 2 个表,并仅使用 Fit Y by X,其中 Y 是所有 X 变量,X 是连接它们时创建的源表。