关于袋装预测的概念问题我一直在努力寻找机器学习模型中的不确定性度量,这些度量可以与通常从回归模型中获得的标准误差相媲美。直到最近,我才意识到分析器的一些功能 - 特别是袋装预测。但我真的不明白如何(或者是否应该)解释这些袋装预测。当我运行机器学习模型(例如,神经网络)并保存来自分析器的袋装预测时,我会得到一个袋装均值、袋装均值的标准误差和袋装标准差。将它们与回归模型(例如,多元回归)进行比较,我观察到以下关系:
- NN 预测的袋装均值与多元回归的预测公式非常相似。
- 正如预期的那样,多元回归模型的平均预测区间比单个预测区间要窄得多(在我正在查看的示例中,平均预测的标准误差约为单个预测标准误差的 1/10)。
- 来自 NN 的袋装平均值的标准误差比袋装标准差小得多(大约是我所看的例子中的 1/10)。
这些观察结果让我想到,NN 的袋装平均值的标准误差类似于回归模型的平均值预测的标准误差。同样,袋装标准差可能类似于回归模型中各个预测的标准误差。
但是,NN 和回归模型的标准误差彼此完全不同!所以,我的问题是,我的解释是否有意义 - 或者,究竟如何解释或使用袋装均值的标准误差。
在此先感谢您的见解。我附上了一个具体的例子,希望它能帮助我解答这个问题(这是我的建模示例中的验证数据集 - 其中包括多元回归模型和 NN 的预测)。
消费者和市场研究回复:关于袋装预测的概念性问题谢谢。我认为这些置信区间将非常有用——在它们被纠正之后。目前,它们非常具有误导性(一个数量级 - 如果您使用 100 个 bootstrap 样本)。
回复:关于袋装预测的概念性问题是的,我确认在 Profiler 平台(在“图形”菜单下)中,当预测装袋均值公式伴随着装袋均值公式的 StdError 进入启动对话框时,Profiler 平台使用“袋装均值的 StdError”来生成间隔。
我同意有些事情还不够清楚,可以改进。 我看不清楚的是在您指向的页面上的文档中使用了“置信区间”:使用 Bagging 的置信区间示例. 目前尚不清楚什么是置信区间,措辞可能具有误导性。
同时,您希望使用 Bagged Std Dev 来生成区间是一个很好的请求。 我试图将该列放入 Profiler 平台,但无法识别。
您能否通过以下方式联系 JMP 技术支持支持@jmp.com并报告您的疑虑和要求?
非常感谢您如此仔细地研究该软件!
回复:关于袋装预测的概念性问题谢谢。我得出了同样的结论。那么,剩下的问题就是应该使用哪个来生成模型效果的置信区间。我相信它是 Bagged Standard Dev 而不是 Bagged Mean 的标准误差 - 我也相信 JMP 一直在使用(至少在说明中)后者而不是前者来生成置信区间。
请确认这一点 - 或不。进一步详细说明,我认为 Bagged Mean 的标准误差对于衡量您是否有足够的 bagged (bootstrap) 样本是有用的。但是为了衡量因素对响应变量影响的不确定性,袋装均值的标准误差不提供任何有用的信息。正是 Bagged Standard Dev 做到了这一点。因此,要生成置信区间,在保存 bagged 均值后,应打开 Profiler,选择 Bagged 均值和 Bagged 标准差,选择用于扩展中间公式的框,结果将是所需的置信区间。请注意,这与 JMP 帮助不同:
https://www.jmp.com/support/help/en/16.1/?os=win&source=application&utm_source=helpmenu&utm_medium=application#page/jmp/example-of-confidence-intervals-using-bagging.shtml# .
回复:关于袋装预测的概念性问题让我试着解释一下什么是 Bagged Mean 的标准误差,为什么它看起来更小。
首先,我尝试仅使用 3 个 bootstrap 样本来保存袋装预测。

这是结果。 有 6 个新列。

让我们看看这些列是什么。
前三列中的每一列都是来自数据引导样本的预测列。 我们有三个 bootstrap 样本,所以我们有三个。 这是三个预测公式。 他们是不同的。
(A)
(二)
(C)
现在查看第 4 列:Pred Formula Sales Bagged Mean 2。
(四)
所以它是这三个按行预测的平均值。
现在查看第 5 列:StdError Sales Bagged Mean 2。
(五)
它是什么? 它看起来像是某种均值的标准误差。 什么意思? 自举预测的平均值。 换句话说,这与预测均值的 StdError 不同。预测的均值只是众多自举样本中的一个,如果换个角度来看的话. 这应该可以解释为什么 Bagged Mean 的 StdErr 更小。 如果你增加引导样本的数量,它会变得更小。
现在,如果我们查看最后一列,这是它的公式:
(F)
这是自举预测的标准差。 事实上,这个值应该接近“StdErr Pred Sales”,并且它不会随着 bootstrap 样本数量的增加而变小。 这是您的“StdErr Pred Sales”的自举版本。 如果您怀疑该模型不适合您的数据,例如假设可能被违反,例如“StdErr Pred Sales”不再具有书本上的渐近分布,则自举版本可能会给您一些更诚实的东西,如果您必须使用错误的模型进行预测。
那么您为什么要关心“StdError Sales Bagged Mean 2”。 (E) 在上面? 这是数量是为了评估你是否有足够的引导样本。理想情况下,你希望值非常小,那么你可以相信你的袋装值。
回复:关于袋装预测的概念性问题我的覆盖率数据来自各个预测标准误差——我将它们从回归模型中保存下来,并使用来自分析器的装袋标准差。要查看均值,我会使用 Std Err Predicted 和 Std Error 作为装袋均值。正如我所说(阅读我写的内容),我不知道如何计算平均预测区间的覆盖率,因为我对每一行只有一个观察结果——如果有办法做到这一点,请告诉我。
因此,我使用了个体预测,JMP 为个体预测和平均预测提供了标准误差(当然,前者比后者大得多)。
您的其他评论没有解决我的问题。我知道几种比较和评估模型的方法。我感兴趣的是检查与模型相关的不确定性的方法——不是它们的预测准确性,而是它们预测的可变性。我知道的唯一方法是共形预测。看起来探查器通过为模型中的特征提供置信区间来提供这种能力。事实上,您似乎是通过反对我关于机器学习模型(例如 NN)缺乏可解释性的说法来提出这一建议的。
我认为探查器向可解释性迈出了一大步。它显示了特征的变化如何影响响应变量。如果它还可以为这些效应提供标准误差(置信区间),那么它基本上可以提供与回归模型一样多的解释。然而,这就是我正在努力解决的问题——我不相信我可以那样使用这些置信区间。
回复:关于袋装预测的概念性问题然后使用验证保留集中的性能度量来评估不同的模型。
回复:关于袋装预测的概念性问题“使用大约 95% 的置信区间(相应平均预测周围的 2 个标准误差,使用单个预测的标准误差),实际 Y 值的覆盖范围为模型预测的 900 行中的 866(大约 95%),但是袋装预测只有 900 个中的 222 个。 “
您是否混淆了平均值的置信区间和单个观察值的置信区间? 前者是一个区间,假设模型是无偏的,我们期望平均响应位于该区间内。 为什么你会期望在那个时间间隔内发生个别观察?
“考虑到结果有多极端,这对我来说表明模型的标准误差(至少对于这个表现良好的模型而言)是预测不确定性的准确度量。 “
不,我不认为你的结论是合理的。 您是根据个人反应而不是平均值来比较“覆盖率”。 该模型是关于位置的:平均响应。 该模型预测平均响应。 置信区间与均值响应的不确定性有关。 该模型的置信区间表明,如果您要一遍又一遍地进行采样,那么 95% 的模型将具有包含真实响应均值的预测区间。 它只字不提个人观察。
“如果我使用 NN、随机森林、提升树等运行分类模型,与逻辑回归相比,一个缺点是这些机器学习模型不提供预测中不确定性的度量“
预测是关于未来的。 预测未来观察的表现是“诚实评估”的基础。 交叉验证是在选择期间诚实评估模型和选择后最终模型的最佳方法之一。我们检查验证保留集或测试保留测试以评估不确定性。 这些模型都是关于预测,而不是推理。 这并不是说它们作为解释模型没有用,但它们可能无法完全满足您的需求。 因此,例如,所有模型的相同验证支持集的 R 平方是多少。 (请注意,我没有使用 R 方来选择模型。 我正在使用 R 平方来评估各种类型的选定模型。)
回复:关于袋装预测的概念性问题在我的模拟示例中,我没有理由质疑数据的质量或模型的适用性。它不是观察数据,也不是小样本(确实,1000 人中的 n=100 并不大,但置信区间覆盖范围如此不同,我认为这个例子向我们展示了一些东西)。我不会说装袋是作弊(一个有含义的术语)。但我觉得我不能相信它为我的模拟案例提供的标准错误。对于数据和模型比较可疑的情况,我是很不愿意用的。你能提供任何关于它可以在哪里使用的指导吗?我并不是要反对:我喜欢 JMP 也喜欢探查器,我只是想看看它可以提供的置信区间是否有用。
回复:关于袋装预测的概念性问题“那么,为什么我会选择更宽的置信区间呢? “
因为您质疑数据或模型的质量或有效性。
我可能不会在筛选实验中使用套袋及其预测,因为该模型可能存在偏差。 我可能不会在基于少量观察数据样本的模型中使用装袋及其预测。
让我说清楚。 装袋是有效的。 这不是作弊。 但它并不总是合适或有益的。
不幸的是,分析器中的套袋是 JMP 开发的。 我没有外部参考资料。
回复:关于袋装预测的概念性问题附上模拟例子。无标题数据集包含模拟数据和基于 1000 行中的 100 行随机样本的回归模型。我从模型和装袋预测中保存了标准误差。无标题数据集的子集包含不在随机样本中的 900 行。使用大约 95% 的置信区间(相应平均预测周围的 2 个标准误差,使用单个预测的标准误差),实际 Y 值的覆盖范围为模型预测的 900 行中的 866(大约 95%),但是袋装预测只有 900 个中的 222 个。我无法弄清楚如何生成平均置信区间覆盖率的比较,因为我在每一行上只有一个 Y 观察值。
考虑到结果有多极端,这对我来说表明模型的标准误差(至少对于这个表现良好的模型而言)是预测不确定性的准确度量。但是袋装标准误差太小了。鉴于此示例的简单性,看起来我肯定不想依赖装袋预测中的标准误差。你认为这是一个合理的结论吗?
现在,真正的潜在用途。如果我使用神经网络、随机森林、提升树等运行分类模型,与逻辑回归相比,一个缺点是这些机器学习模型不提供预测不确定性的度量(不调用其他程序,如共形预测,我一直在玩)。探查器可以很容易地为我提供分类平均概率的袋装预测及其标准误差。尽管这很有用,但我倾向于说我不能真正使用这些标准误差来表示这些机器学习模型中的不确定性。那是对的吗?也许一个更普遍的问题是,我可以使用袋装标准错误做什么?
回复:关于袋装预测的概念性问题我们正在融合。
“而且,如果是这样的话,你能告诉我每个人回答的是什么问题吗?”
我可以。 我确实做到了:同样,第一对回答了有关原始模型(例如,线性回归、神经网络、分区)预测的不确定性的问题。 第二对回答有关使用套袋进行预测的不确定性的问题。
这表示我对模型预测的不确定性比对袋装预测的不确定性要多得多。那么为什么有人会使用模型预测及其置信区间呢?我意识到较小的标准误差并不总是好的——只有当基础模型是好的时候。但在我们正在研究的情况下,相同的模型是两种措施的基础,平均预测几乎相同。那么,为什么我会选择更宽的置信区间呢?
我想存在覆盖问题 - 狭窄的间隔可能无法提供对真实值的足够覆盖。我将尝试一些模拟,看看我是否可以对此有所了解 - 但您是否知道任何参考资料可以说明两个标准误差度量相对于彼此的准确性?
回复:关于袋装预测的概念性问题“这肯定是不对的“
好的,你明白我的意思了。 这一切都是编造的,伪造的。 我只是看看我能把你拖到什么程度。
(认真讨论继续……)
“哪一个是均值预测的变异性的适当度量? “
为您将使用的预测而估计的那个。 配对的事情...
正如我所解释的,装袋更多的是关于预测建模而不是解释建模。 Bagging 减少了预测的不确定性。在这种情况下使用装袋取决于您对数据和模型的质量和有效性的信念。这不是作弊。 如果模型失败,那是因为数据或模型的质量或有效性存在问题。
“不可能两者兼而有之——除非他们回答不同的问题。 “
这正是我一直在说的。
“而且,如果是这样的话,你能告诉我每个人回答的是什么问题吗? “
我可以。 我确实做到了:同样,第一对回答了有关原始模型(例如,线性回归、神经网络、分区)预测的不确定性的问题。 第二对回答有关使用套袋进行预测的不确定性的问题。
回复:关于袋装预测的概念性问题这肯定是不对的!您的示例看起来就像我的一样 - 均值几乎相同,但标准差相差 10 倍(由于 sq rt (M-1) 取决于您使用的列集。因此,虽然我看到了将平均预测与其相关标准偏差(来自模型或装袋)配对的逻辑,但实际效果是具有大致相同的平均预测,但一个置信区间最终为 10%和另一个一样宽。哪一个是均值预测的变异性的适当度量?不可能两者兼而有之——除非他们回答不同的问题。而且,如果是这样的话,你能告诉我每个人回答的是什么问题吗?
回复:关于袋装预测的概念性问题“所以,问题是:如果我想要平均预测的置信区间,我应该使用哪个标准误差?差距是一个数量级! “ 使用用于预测的模型中的 SE。如果您使用保存的回归模型,则使用保存的 SE 或 CI。 如果您使用 Profiler 中的装袋预测,则使用装袋 SE。 这是在 Big Class 数据集中使用 :weight 与 :height 的结果。 突出显示的预测和 SE 数据列对将一起使用。

回复:关于袋装预测的概念性问题我们几乎在同一页上。暂时忽略 NN,并使用我提供的简单回归示例,装袋均值的标准误差约为回归模型标准误差的 10%:这与 M-1 的平方根相匹配(此处 M=100)。这对于平均预测是正确的——对于个人预测,它大约是 20%(我不确定为什么 sq rt (M-1) 适用于前者而不适用于后者,但我认为这不是很重要的)。所以,问题是:如果我想要平均预测的置信区间,我应该使用哪个标准误差?差距是一个数量级!
目前假设我应该使用回归模型的标准误差(两者中较大的一个)——我怀疑是这种情况——那么它提出了袋装预测有什么好处的问题。在这里,我认为神经网络(和其他机器学习模型)出现了——许多这些模型没有标准错误,而没有某种类型的经验派生模型,例如分析器提供的。因此,使用装袋预测中的标准误差来为这些预测构建置信区间似乎非常有用。然而,从回归的例子来看,我想知道这是否会低估一个数量级的不确定度——这不会那么有用。
回复:关于袋装预测的概念性问题让我们回顾一下 Bagging 在 Profiler 中是如何工作的。 请注意,它基于拟合模型。 它使用拟合模型并对数据重新采样以扩大数据集或样本大小,但不改变模型。 以下是 JMP 帮助的摘录,其中涵盖探查器装袋:
“Bagging 会自动在原始数据表中创建新列。 全部米套袋预测集被保存为隐藏列。 最终预测保存在名为“Pred Formula Bagged Mean”的列中。 最终预测的标准偏差保存在名为“ Bagged Std Dev”的列中。 袋装均值的标准误差保存在名为“StdError Bagged Mean”的列中。标准误差是标准偏差除以平方( M-1 )。在这里, 标识报告中被装袋的列。
标准误差提供了有关预测精度的信息。 非常小的标准误差表示对该观察结果的精确预测。 有关装袋的更多信息,请参阅 Hastie 等人。 ( 2009 )。”
所以你不是在比较回归分析和 NN 中的 SE。 您正在比较来自任何模型的 SE 和来自具有相同模型的 Profiler 中装袋的 SE。 差异将是 Sqrt( M-1 ) 的因数。
回复:关于袋装预测的概念性问题标记
然后我会请你看看我发布的最后一个示例数据集。置信区间(标准误差)甚至不接近一致。这是一个简单的线性回归,并将预测标准误差与来自从分析器中保存袋装预测的标准误差进行比较。后者比前者小得多。这就是为什么我很困惑。
回复:关于袋装预测的概念性问题“我相信多元回归的预测置信区间是通过公式导出的,这些公式源自关于误差结构和随机抽样的假设(最终源自作为中心极限定理基础的逻辑)。另一方面,我相信袋装预测来自自举——一种推导置信区间的非参数经验方法。我也相信这两种方法通常很接近,除非基础数据具有不寻常的分布和/或用于引导程序的样本量不足。 “
是的! 也就是说,如果您使用 CI 的理论表达式和 SAME 线性回归模型的 bootstrap CI,则 CI ESTIMATES 应该一致。
回复:关于袋装预测的概念性问题我相信多元回归的预测置信区间是通过公式导出的,这些公式源自关于误差结构和随机抽样的假设(最终源自作为中心极限定理基础的逻辑)。另一方面,我相信袋装预测来自自举——一种推导置信区间的非参数经验方法。我也相信这两种方法通常很接近,除非基础数据具有不寻常的分布和/或用于引导程序的样本量不足。
在我附加的文件中,我认为没有出现任何这些问题。两种方法的平均预测几乎相同,但刻画器的标准误差远小于理论推导值。这就是让我觉得我误解了探查器标准错误的含义的原因。否则,为什么有人会使用理论上推导的标准误差?
回复:关于袋装预测的概念性问题“我的理解(可能是错误的)是预测的标准误差理论上是在回归模型中得出的,并且是装袋预测中自举的结果。从理论上讲,它们应该是相似的(至少有足够的自举样本——我使用了 100 和 1000,两者都给出了相似的结果)——但它们不是。 “
你指的是哪个理论?
回复:关于袋装预测的概念性问题为了更完整,附件是一个带有单个预测器的简单小文件。我建立了回归模型并保存了预测和标准误差(均值和个体)。我使用探查器来保存袋装预测。有 3 个 xy 图显示了模型和刻画器的预测值的等价性(在这种情况下是完美的)。标准误差图显示出很强的相关性,但也表明刻画器的标准误差远小于模型的标准误差。我强烈怀疑装袋程序中的标准错误意味着不同的东西。我希望你能为我澄清这一点。
回复:关于袋装预测的概念性问题我正在听你说的话 - 但我认为我的问题已经变得不同了。让我们把 NN 排除在外。由于分析器也可从多元回归平台获得,我做了一些实验,以了解装袋预测的标准误差与从回归模型中保存的标准误差相比如何。它们是相关的,尽管远非完美。个体预测标准差远大于平均预测标准差,这是应该的,这也适用于您在保存装袋均值时得到的两个标准误差。然而,令我惊讶且我不明白的是,为什么保存装袋预测(个体或平均版本)的标准误差比回归模型的标准误差小一个数量级。我的理解(可能是错误的)是预测的标准误差理论上是在回归模型中得出的,并且是装袋预测中自举的结果。从理论上讲,它们应该是相似的(至少有足够的自举样本——我使用了 100 和 1000,两者都给出了相似的结果)——但它们不是。
因此,似乎刻画器的标准误差在质量上不同于回归模型的标准误差。为什么会这样?
回复:关于袋装预测的概念性问题NN 是一个高度非线性的集成模型。 将其与可能具有二阶项的回归模型进行比较。 这两种模型的标准误差非常不同。
我个人不同意神经网络不可解释或线性回归模型可解释的观点。 (我认为这很愚蠢。)预测变量 X 的效果是包含它的所有项的线性组合。 例如,谈论“二次效应”是无稽之谈。 模型中只有一个二次项。 那么,当 X 在模型中出现时,我们如何解释其效果为 X + X*X2 + X*X + X*X*X? 我们只是习惯于用这些术语来思考——我们有多年的经验和时间来思考它。 NN 是通过非线性激活函数放置更多相同(线性预测器),并为每个节点添加更多相同。 我们只需要更加努力地思考。
不,我们没有。 我们有一个适用于任何类型的函数(模型)的分析器。
回复:关于袋装预测的概念性问题马克,谢谢。这有点帮助。这可能解释了为什么 NN 给出了更小的标准误差(尽管当两个模型都非常适合数据时,我仍然对差异的大小感到惊讶)。但这似乎并不能真正解释为什么与每个预测相关的标准误差几乎没有相关性。我发布的数据显示,两个模型之间每个观察值的标准预测误差之间几乎没有任何有意义的关系。现在,对于多元回归模型,我对决定与不同观察相关的标准误差的因素有一些了解 - 但对于 NN,我真的不知道。也许这就是他们彼此没有关系的原因?这是与神经网络模型缺乏可解释性有关的一个维度吗?
回复:关于袋装预测的概念性问题是的。
Neural 平台使用复杂的模型,即使只有少数隐藏节点。 想象一下,向回归模型中添加大量项。 RMSE 会发生什么变化? 反过来,SE 又会怎样? 您的回归模型复杂度与神经网络的复杂度相当吗?
我并不是在暗示您在滥用 NN 或其他 ML 方法。 请记住,它们都是关于预测的,而不是关于推理的。 因此,估计的不确定性并不重要,准确性/可重复性/泛化就是一切。 因此,预测模型(非解释模型)使用总 MSE(偏差 + 方差)的度量来选择模型,并使用“诚实评估”或交叉验证来确认所选模型。
但要点是,不同模型的 SE 没有理由相同,即使它们的平均响应预测相似。 这种差异可能会使一个模型在您的应用程序中更具优势。
回复:关于袋装预测的概念性问题附录 - 在我附加的文件中,我(高估)估计了多元回归的标准误差。我使用保存的 95% 置信区间对它们进行了估计。附件是我直接保存标准错误的修订版。我的问题仍然存在,因为 NN 的标准误差似乎小于多元回归(平均)的一半,并且在验证集中几乎没有明显的相关性。两种模型都非常适合数据。所以,我想知道对装袋均值的标准误差的解释是否被适当地解释为与预测相关的标准误差,其方式与解释多元回归预测的标准误差的方式相同。