什么是预测

来源:互联网 发布:快递怎么寻找淘宝客户 编辑:程序博客网 时间:2024/04/20 10:08

  之前一直尝试直接运用时间序列的一些现成方法的运用,导致自己缺乏对时间序列的一个通盘考虑,使得自己在解决相关问题时有很大的局限性。这篇博客将不会讨论任何具体的解决方法,而是致力于去从一个宏观的角度去理解。
  预测,似乎是人类的一种本能,在过去的千年历史里,智慧的古人都有一种尝试去预测未来的冲动,虽然有的人预测成功了,有的人预测对了 。 但为什么一些人预测对了,而一些人却预测错了呢?我们可以笼统的把原因归为两类:  

  • 人的差异:每个人都有他擅长和不擅长的东西,如果让一个人去预测他不擅长的东西,显然加大了预测的难度。

  • 预测问题的差异:每个要被预测的问题时不同的,这也就意味着不同的预测问题的难度是不同的。

这里我们略去人的差异,而专注于对预测问题本身差异的理解。

预测问题的产生

  每个预测问题的产生都有它特定的背景,这造就了预测问题的多样性。例如

  1. 预测5年后的能源需求
  2. 预测汇率市场

在上述问题中,通常来讲我们认为第一个问题是比较容易预测的,而第三个则是比较困难的一个问题。事实上,一个问题预测的难度,往往取决于以下几个因素:

  1. 我们对引起预测问题变化的因素的了解程度
  2. 我们有多少历史数据
  3. 我们的预测结果是否是影响我们要预测的问题的影响因素

现在我们反过来重新理解前面的两个例子。

  • 我们通常可以比较精确的预测能源需求,因为上述的三个条件通常都是满足的。我们清楚能源的需求在很大程度上是由温度引起的,外加节日、经济等因素的影响,而且,我们有大量的关于电力,温度等的历史数据。至于第三个条件,通常是不满足。

  • 而关于汇率预测,我们仅仅满足一个条件,那就是我们有大量历史数据,但我们另外两个条件是不满足的。

      因此,在预测问题上,我们通常要弄清楚哪些问题是可被精确预测的,哪些问题是不可预测的。一个好的预测会捕捉隐藏在历史数据中的重要特征,而不是简单的对过去进行重复。
      
      这里我们需要走出一个误区,即很多人错误的认为在一个变化的环境中,我们不能准确的进行预测。但问题是,每一个问题在还未发生之前都是未知的,没有任何一个问题预测时的环境跟历史上的环境是完全一样的,也就是说任何问题在进行预测时,都意味着它是在一个不停变化的环境里。当然这也就意味着,每一个预测的结果都是不确定的。

预测问题的确定

当我们在具体考虑一个预测问题的时候,我们需要考虑我们到底要预测什么。假设在一个工厂生产环境下,在确定预测时,我们需要以下问题:

  • 我们是要为每个产品线,还是集团的所有产品做预测。

  • 我们是要为每一个零售网点进行预测,还是对一个区域的所有网点进行预测,或者仅仅是全部销售额。

  • 我们是要预测,每分,每时,每天,每季度,还是每月,每年的的数据

我们在考虑这些问题的时候,要综合考虑预测需求,以及历史数据等的因素。

预测方法的确定

  在对问题进行预测,我们采用的方法在很大程度上取决于我们所拥有的数据。

  • 如果没有数据,那么我们只能采用定性方法

  • 如果我们有相关的历史数据,我们则可以采用定量方法

这里,我们略去定性方法,而专注于定量方法。定量方法包含了很多针对特定类型问题的方法,而每个具体方法都有它与众不同的特点。针对定量方法,数据包括两个两种:

  • 时间序列数据: 即以特定时间间隔收集的数据。

  • 横断面数据:即在单个时间采集的数据

横断面数据

基于横断面数据,我们希望通过已经已有的数据来预测我们不能直接得到值。例如

  • 预测一个特定地区2011年的房价的预测。我们希望预测不在给定数据集中房子的房价,而我们能给定的信息包括:位置,房间数,房龄等信息。

这里,我把这类问题理解为分类或是回归的问题。

时间序列数据

时间序列数据是指伴随时间变化而变化的数据。例如

  • IBM公司每天的股票价格

  • 每个月的下雨量

  • 亚马逊每个季度的销售额

  • google每年的总利润

关于时间序列数据,有许多模型可以使用,例如arima.

预测的步骤

总结来说,针对一个问题进行预测,通常包括如下步骤:

  1. 问题的确定
  2. 收集相关数据
  3. 探索性分析
    即使用包括均值,方差,相关系数,自相关等方法来对数据进行分析
  4. 选择合适的模型
  5. 评估和使用选定的模型
0 0
原创粉丝点击