可预测性
没错,这是一个可预测性问题。已经有上的可预测性几篇文章在IIF的面向医生,杂志前瞻。(全部披露:我是副编辑。)
问题在于,在“简单”的案例中,可预测性已经很难评估。
一些例子
假设您有一个这样的时间序列,但是不讲德语:
您将如何模拟四月份的高峰,以及如何将这些信息包括在任何预测中?
除非您知道此时间序列是瑞士超市连锁店中鸡蛋的销售量(该价位在复活节前夕达到顶峰),否则您将没有机会。另外,随着复活节在日历中移动最多六周,任何不包括复活节特定日期的预测(例如,假设这只是某个季节性高峰,将会在明年的特定星期出现)。可能会非常困难。
同样,假设您有下面的蓝线,并且想要对2010-02-28发生的任何事件进行建模,与2010-02-27的“正常”模式有所不同:
同样,如果不知道当整个加拿大人都在电视上观看奥运会冰球决赛比赛时会发生什么,您将毫无机会了解这里发生的事情,并且您将无法预测何时会再次发生这种情况。
最后,看一下这个:
这是现金和随身用品商店每日销售的时间序列。(在右侧,您有一个简单的表格:282天的销售量为零,42天的销售量为1 ...而一天的销售量为500。)我不知道它是什么。
直到今天,我还不知道那天有500个销售发生了什么。我最大的猜测是,一些客户预订了很多这种产品并收集了。现在,在不知情的情况下,这一天的任何预测都将相去甚远。相反,假设这是在复活节之前发生的,并且我们有一个愚蠢的智能算法,认为这可能是复活节效应(也许是鸡蛋?),并高兴地预测下一个复活节有500个单位。噢,我的,可能是出问题。
摘要
在所有情况下,我们都只有在对影响数据的可能因素有了足够深入的了解后,才能更好地理解可预测性。问题在于,除非我们知道这些因素,否则我们将不知道自己可能并不了解它们。根据唐纳德·拉姆斯菲尔德:
这是已知的已知事物;有些事情我们知道我们知道。我们也知道有未知的事物。就是说我们知道有些事情我们不知道。但是,还有未知的未知数-我们不知道的我们不知道的。
如果复活节或加拿大人对曲棍球的偏爱对我们来说是未知的未知数,我们将陷于困境-我们甚至没有前进的道路,因为我们不知道我们需要问什么问题。
处理这些问题的唯一方法是收集领域知识。
结论
我从中得出三个结论:
- 您始终需要在建模和预测中包括领域知识。
- 即使拥有领域知识,也不能保证您获得足够的信息以使预测和预测为用户所接受。请参见上面的异常值。
- 如果“您的结果很痛苦”,则您可能希望实现的目标更多。如果您预测抛硬币会很公平,那么就无法获得超过50%的准确性。也不要相信外部预测准确性基准。
底线
这是我建议建立模型的方式-并通知何时停止:
- 如果您自己还没有知识,请与具有领域知识的人联系。
- 根据第1步,确定您要预测的数据的主要驱动因素,包括可能的相互作用。
- 迭代地构建模型,包括按照步骤2的强度降序排列驱动程序。使用交叉验证或保留样本评估模型。
- 如果您的预测准确性没有进一步提高,请返回第1步(例如,通过确定您无法解释的公然错误预测,并与领域专家讨论这些错误预测),或者接受您已经达到最后的目标模型的功能。对您的分析进行时间装箱有帮助。
请注意,如果您的原始模型停滞不前,我不主张尝试使用不同类别的模型。通常,如果您以合理的模型开始,则使用更复杂的工具不会产生明显的好处,而可能只是“过度拟合测试集”。我经常看到这种情况,其他人也同意。