2010年8月5日,星期四

校准难题

给定博客标题中的“实践”一词,我应该真正发布一些有关实际数据的实际问题的信息。所以这是我们最近遇到的一个问题,与我的 目前的痴迷。考虑下图
该图显示了我们最近建立的模型的预测动作值(x轴)与观察动作值(y轴)(实际上每个x点定义了一个较小的值区间,每个y点是估算值在间隔内的操作)。红点是数据,绿线是作为参考显示的$ y = x $。该模型将估计的动作值作为系数提供给线性程序,该线性程序的输出确定实际采取的动作,该图表明该模型运行不佳。这引起了一些问题
  1. 为什么校准这么差?
  2. 可以纠正吗?
  3. 应该纠正吗?
为什么校准这么差? 您可能想知道模型是否曾经被校准过。它是,但是在使用不同决策程序选择的动作的历史数据集上。我可以想到几种可能性。

首先,宇宙可能是不平稳的。但是,训练数据并不那么老,并且使用临时的样本外数据来完成模型构建期间的验证。所以我不认为这可以解释。

其次,对历史数据进行校准可能会产生误导。我们知道 情境强盗问题 当给定的历史数据仅揭示了所选备选方案的价值时(即未获悉有关未采取的行动的任何信息),观察到的报酬必须被行动概率所打折,并且有可能将其推广到历史概率很小或没有的可能性。我们没有考虑任何因素。

第三,我发现最有趣的是,驱动该校准图的数据可能会产生误导。特别是,任何估算器都会产生高估错误和低估错误;但是,当将这些估算值馈入线性程序(正在执行程式化的argmax)时,通常会选择过高估算值,而通常会抑制过低估算值。

图的形状使第三种解释可信。线性程序中基本上有两种系数,尽管相同的模型可以估计两种系数,但是每种类型的系数都分别进行了校准。因此,右侧有较大的接触网样式,左侧则有较小的压缩接触网。在这两种情况下,校准在低端和高端均良好,而在中间时始终低估。在低端,低估可能难以实现,因此与这种解释是一致的。为什么校准在高端看起来不错,为什么还不清楚。

实际上,由于通过线性程序选择了高估,我实际上预期会有很小的影响,但是失真的幅度使我感到惊讶,因此我认为第三个解释只是部分解释。

可以纠正吗? 这是一个思想实验:假设我将上述图形拟合到样条曲线以创建校准校正,然后定义一个新模型,该模型与旧模型相同,但输出通过了校准校正。然后,我在线性程序中使用此新模型进行决策。怎么了?特别是,以后的校准图会看起来更好吗?

我不确定会发生什么。感觉线性程序将继续偏爱高估而不是低估,以此来对抗我的校准尝试,从本质上迫使我必须系统地低估才能校准极端值。那时,线性程序可能会切换为使用其他(范围)估计值,而我最终可能会玩“ w鼠”游戏。如果这是真的,那么可能的一种方法是遗忘地做出一小部分决策(例如,通过为他们分配随机分数并将其混入),然后仅使用这些决策来校准模型。

不太悲观的是,我确实怀疑旧模型(未校正的)和新模型(校正的)的某些凸面组合在上述图表的意义上似乎更易于校准。

应该纠正吗? 这是一个大问题:如果使上图看起来更像$ y = x $,与该决策问题相关的业务指标是否会改善?我不清楚,因为上面的图表基本上代表了极高的价值:我们看不到未采取的决定是怎么回事。也许答案是肯定的,因为低估模式看起来足够系统化,可能是我们正在解决的线性程序的特征:在这种情况下,校准极值并弄糟均值仍然是一件好事。也许答案是否定的,因为低估模式是与线性程序耦合的校准估计器的特征,并且通过尝试对其进行校正,线性程序最终会得到错误的信息以做出决策。

好吧,我们将运行与该校准问题有关的实时测试,因此希望在未来几周内我将对这个问题进行更多的说明。

没意见:

发表评论