什么是预测
来源:互联网 发布:快递怎么寻找淘宝客户 编辑:程序博客网 时间:2024/04/20 10:08
之前一直尝试直接运用时间序列的一些现成方法的运用,导致自己缺乏对时间序列的一个通盘考虑,使得自己在解决相关问题时有很大的局限性。这篇博客将不会讨论任何具体的解决方法,而是致力于去从一个宏观的角度去理解。
预测,似乎是人类的一种本能,在过去的千年历史里,智慧的古人都有一种尝试去预测未来的冲动,虽然有的人预测成功了,有的人预测对了 。 但为什么一些人预测对了,而一些人却预测错了呢?我们可以笼统的把原因归为两类:
人的差异:每个人都有他擅长和不擅长的东西,如果让一个人去预测他不擅长的东西,显然加大了预测的难度。
预测问题的差异:每个要被预测的问题时不同的,这也就意味着不同的预测问题的难度是不同的。
这里我们略去人的差异,而专注于对预测问题本身差异的理解。
预测问题的产生
每个预测问题的产生都有它特定的背景,这造就了预测问题的多样性。例如
- 预测5年后的能源需求
- 预测汇率市场
在上述问题中,通常来讲我们认为第一个问题是比较容易预测的,而第三个则是比较困难的一个问题。事实上,一个问题预测的难度,往往取决于以下几个因素:
- 我们对引起预测问题变化的因素的了解程度
- 我们有多少历史数据
- 我们的预测结果是否是影响我们要预测的问题的影响因素
现在我们反过来重新理解前面的两个例子。
我们通常可以比较精确的预测能源需求,因为上述的三个条件通常都是满足的。我们清楚能源的需求在很大程度上是由温度引起的,外加节日、经济等因素的影响,而且,我们有大量的关于电力,温度等的历史数据。至于第三个条件,通常是不满足。
而关于汇率预测,我们仅仅满足一个条件,那就是我们有大量历史数据,但我们另外两个条件是不满足的。
因此,在预测问题上,我们通常要弄清楚哪些问题是可被精确预测的,哪些问题是不可预测的。一个好的预测会捕捉隐藏在历史数据中的重要特征,而不是简单的对过去进行重复。
这里我们需要走出一个误区,即很多人错误的认为在一个变化的环境中,我们不能准确的进行预测。但问题是,每一个问题在还未发生之前都是未知的,没有任何一个问题预测时的环境跟历史上的环境是完全一样的,也就是说任何问题在进行预测时,都意味着它是在一个不停变化的环境里。当然这也就意味着,每一个预测的结果都是不确定的。
预测问题的确定
当我们在具体考虑一个预测问题的时候,我们需要考虑我们到底要预测什么。假设在一个工厂生产环境下,在确定预测时,我们需要以下问题:
我们是要为每个产品线,还是集团的所有产品做预测。
我们是要为每一个零售网点进行预测,还是对一个区域的所有网点进行预测,或者仅仅是全部销售额。
我们是要预测,每分,每时,每天,每季度,还是每月,每年的的数据
我们在考虑这些问题的时候,要综合考虑预测需求,以及历史数据等的因素。
预测方法的确定
在对问题进行预测,我们采用的方法在很大程度上取决于我们所拥有的数据。
如果没有数据,那么我们只能采用定性方法
如果我们有相关的历史数据,我们则可以采用定量方法
这里,我们略去定性方法,而专注于定量方法。定量方法包含了很多针对特定类型问题的方法,而每个具体方法都有它与众不同的特点。针对定量方法,数据包括两个两种:
时间序列数据: 即以特定时间间隔收集的数据。
横断面数据:即在单个时间采集的数据
横断面数据
基于横断面数据,我们希望通过已经已有的数据来预测我们不能直接得到值。例如
- 预测一个特定地区2011年的房价的预测。我们希望预测不在给定数据集中房子的房价,而我们能给定的信息包括:位置,房间数,房龄等信息。
这里,我把这类问题理解为分类或是回归的问题。
时间序列数据
时间序列数据是指伴随时间变化而变化的数据。例如
IBM公司每天的股票价格
每个月的下雨量
亚马逊每个季度的销售额
google每年的总利润
关于时间序列数据,有许多模型可以使用,例如arima.
预测的步骤
总结来说,针对一个问题进行预测,通常包括如下步骤:
- 问题的确定
- 收集相关数据
- 探索性分析
即使用包括均值,方差,相关系数,自相关等方法来对数据进行分析 - 选择合适的模型
- 评估和使用选定的模型
- 什么是预测
- 什么是分支预测?
- 什么是分支预测?
- 什么是“预测学习”
- 什么是时间序列预测法?
- 预测
- 预测
- 我们这些普通的网民需要知道什么是 WEB2。0吗??【WEB2。0详解 预测模式】
- 机器学习中,什么是预测性维护,常见技术有哪些
- 什么是
- 分支预测
- 基因预测
- 双色球 预测
- MALLET预测
- 预测寿命
- 分支预测
- 身高预测
- 销量预测
- C++字符数组的赋值
- easyui-tabs 刷新当前tab页
- JAVA创建对象有哪几种方式
- 安装使用percona版本mysql
- SAT写作的真实面目
- 什么是预测
- iOS Autolayout情况下,ViewController嵌套时,childViewController的Frame异常问题
- 使用fuel 6.0 安装openstack后,dashboard中文显示解决办法
- Unable to execute dex: Multiple dex files define 解决方法
- 用Mouse_event()来控制鼠标操作
- JavaBean 中的属性详解(实例)
- OpenLayers学习笔记6——使用jQuery UI实现查询并标注(功能实现篇)
- Spring HTTP invoker简介
- MapReduce之三—搜索引擎-倒排索引实现