相信推断的结果

机器算法验证 回归 置信区间 预测
2022-03-21 14:10:03

我希望能够预测我何时会耗尽特定资源。

我的情况类似于*水箱。每天都会下零次或更多次降雨,填满水箱。我无法提前知道每天会下多少雨,如果有的话。水箱永远不会有任何流出。每天我都可以测量水箱里有多少,我知道水箱的容量。由于手头有备用油箱以防万一,并且在没有备用油箱时加满油箱是有成本的,我想使用我的日常测量来预测油箱何时充满。

迄今为止的经验表明,该罐的容量约为四年。我们将需要大约三到六个月的时间来安装新的坦克并根据其他情况进行工作。这是我们要提前计划的事情。当然,如果洪水迫在眉睫,紧急坦克可以冲过去,但成本很高,应该避免。

我计算了每日水位的线性回归。这给了我一个斜率和截距,我可以从中计算趋势线穿过水箱容量的日期。然而,这并没有表明我可以相信这个数字。简单地使用置信区间公式来类似地计算 CI 曲线何时穿过容量是否合法?有没有更好的方法来实现这一目标?

数据将如下所示(发明值):

趋势示例。


*实际案例为数据仓库计算机系统。这些行有一个自动递增的列。随着新行的写入,该列中的值会上升。它永远不会下降。没有与水箱类比“排水”的等价物。如果我今天测量此列中的最大值,并且一夜之间没有添加任何行,那么我明天询问时会得到相同的值。如果行在一夜之间写入,明天的测量值将比今天的大。即使删除了所有行,自动增量也不会重置为零。

该列被定义为一个整数,其最大值刚刚超过 20 亿。如果达到这个限制,我们将无法向表中添加行,系统会停机,老板的脑袋会爆炸,海洋变成鲜血等等。我们不希望这种情况发生。然而,存储这些数据的磁盘要花费数万美元,因此显然我们不希望比我们必须的更早进行资本支出。“必须”的定义是我问题的主旨。


附录:我的结果

我已经能够重新创建 2012/13 和 2013/14 年的数据。一个典型的样本集如下所示。

数据

蓝色和红色是两年的数据。黑色和虚线是每年的最小二乘回归。

我使用 2012/13 年的数据来预测 2013/14 年末的值。第一年的趋势线比第二年的趋势线稍陡,所以我希望我的答案比实际发生的要早一点。我使用了三种技术:

  1. 简单的几何。取样本的第一个和最后一个点。在它们之间画一条直线。计算这条线切断上限的日期。
  2. 从最小二乘回归计算直线的参数。使用这些参数来计算这条线切断上限的日期。
  3. 使用 2012/13 年的数据作为蒙特卡罗模拟的样本集。

简单的几何图形非常快,易于编码和理解。

最小二乘法很难正确,但运行速度很快。结果更接近“真实”值,但相差不大。

Monte Carlo 易于编码和维护。然而,它需要很长时间才能运行。我将中间交叉日期作为资源耗尽的日期(在此图表中绿色与红色交叉):

蒙特卡洛10K

所有这三种技术都在“实际”结果的三周内产生了答案,这对我的目的来说已经足够了。

就最初的问题而言,蒙特卡洛是唯一一种表明我有多大可能比预期更快地耗尽资源的技术。因为执行需要很长时间,所以我将采用混合方法。当数据到达时,我将每天运行简单的几何计算。如果这表明一个令人担忧的耗尽日期(未来不到一年),我将运行蒙特卡洛来看看情况有多糟糕。

2个回答

为了扩展我的评论,一个典型的简单的“水坝水位”或“水箱水位”类型的模型可能会产生看起来像这样模糊的结果,比如:

在此处输入图像描述

出于各种原因(尤其是依赖和障碍效应),将线性回归拟合到这种过程并不是很合适。您需要一个更合理地描述过程的模型,并将适当地测量不确定性。

我不会对真正无法描述正在发生的事情的模型的预测抱有太大的信心。有了一个好的模型,您至少可以使用模拟来了解水箱何时可能已满或不太可能已满。


这种随机模型包含在随机流体模型下,过去称为“大坝模型”,但它们也用于与计算相关的应用和保险中的破产理论。关于毁灭理论的书籍不一定对其他文献有太多参考。在破产理论中,该过程相对于大坝型模型是“翻转”的——随着时间的推移,增加是连续的并且接近线性(溢价),而减少是跳跃(声称);对于大坝模型,跳跃的增加和减少更加连续。

上面链接的维基百科页面上有 40 多个参考资料。

关于随机过程的书籍(其中有很多)通常有一些这种类型的基本模型。

更复杂的模型会考虑更多的细节,比如增加和减少的依赖性以及随时间的变化;更复杂的模型通常在代数上不是很好,通常必须进行模拟。

回答您编辑的问题。采取最简单的回归:
Netflowα+ϵ
仅拦截。α将是您的平均每日净流量。

现在,假设您想知道数据存储何时会填满?模拟。数据存储将遵循以下公式:
Yt+1Yt+α+ϵt
您可以通过对一堆样本进行采样来模拟您的数据存储将遵循的路径ϵ(假设它们是正常的,或者从残差中重新采样 bootstrap)。

模拟 1000 条路径。他们每个人都会有一个模拟的一天,即存储已满。使用这种天数分布来管理过度填充风险。随着更多数据的出现,您还可以每天通过重做回归和模拟来更新此分布。