专栏首页腾讯大数据的专栏再谈数据挖掘——时序预测初探

再谈数据挖掘——时序预测初探

1. 背景 先来看两个例子,下面两幅图展示了百度在趋势预测方面的应用案例,一个是世界杯期间的比赛输赢预测,另一个是北京各旅游景区的游客人数预测。

这两幅图代表了大数据环境下趋势预测的典型场景,即事件预测和时序预测,本文重点关注第二幅图中的场景,即与时间维度相关的时间序列预测。

2. 时间序列预测 时间序列预测即以时间数列所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法,简单来说就是从已知事件测定未知事件。

上图展示了时间序列的一般趋势,时间序列数据的趋势变动可分为以下四点:

趋势性:某个变量随着时间进展或自变量变化,呈现一种比较缓慢而长期的持续上升、下降、停留的同性质变动趋向,但变动幅度可能不等。周期性:某因素由于外部影响随着自然季节的交替出现高峰与低谷的规律。 随机性:个别为随机变动,整体呈统计规律。 综合性:实际变化情况一般是几种变动的叠加或组合。预测时一般设法过滤除去不规则变动,突出反映趋势性和周期性变动。

3. 方法综述 时间序列预测法分为传统的时间序列预测方法和机器学习方法。传统的时间序列方法指仅根据历史时间序列的趋势发展来预测未来时间序列的趋势发展的方法,此类方法通过建立适当的数学模型拟合历史时间趋势曲线,根据所建模型预测未来时间序列的趋势曲线,常见模型包括ARMA,VAR,TAR,ARCH等。传统时间序列方法所依赖的数据较简单,只需要历史时间序列趋势曲线便可构建模型,因此可适用于多种场景,模型较为通用。但是,传统时间序列预测法常面临滞后性问题,即预测值晚于真实值几个时间单位。

为提高预测的精度,机器学习算法被引入时序预测,此类方法根据具体的应用场景,选取可能影响预测值的features,将这些features引入模型,应用机器学习的分类/回归模型来进行预测。为提取features,机器学习方法需要多个维度的数据,预测精度较高,建立的模型较为复杂,但是模型往往不够通用,针对不同应用场景需要重新提取features,建立模型。现实预测中,机器学习方法往往结合传统时序预测法来运用。

4. ARIMA模型 ARIMA模型全称自回归积分滑动平均模型(Autoregressive Integrated Moving Average Model),是经典的时间序列预测方法,我们从ARIMA模型入手,进行了实时趋势预测的初步探索。

ARIMA模型公式分为自回归(AR)和移动平均(MA)两部分,p为自回归项数,q为移动平均项数,为保证时间序列的平稳性,往往需对时间序列做d阶差分。自回归方法基于假设当前时期的指标值依赖于过去时期的指标值,对过去时期的指标值进行加权平均得到当前的指标值;移动平均方法的思想是模拟指标值的随机性,指标值受白噪声序激励的影响。

5. 预测实验 我们采用了某个业务的ctr数据,分别以分钟为单位和以小时为单位进行预测,希望可以准确预测下一时间单位(分钟,小时)的ctr。 分钟ctr预测(一天内的ctr变化情况):

局部细节展示:

小时ctr(一周内的小时ctr变化情况):

6. 展望 大数据时代的时序预测得到越来越多的关注,能够准确预测趋势是时序预测的基础应用,其他场景如异常检测等也应用了时序预测方法,我们期待时序预测能够有更多的应用场景,比如通过精准预测,发现可能出现的突发事件以提高应对措施;加入空间维度,产生时空组合下的预测,提高预测的实际应用价值,比如通过预测滴滴打车某一地区的打车人数,引导用户和出租车,产生更好的资源利用;精准的金融预测,如预测理财通的买入买出数额,以帮助管理者合理指定策略等。这里初步探索的ARIMA模型是通用场景下的时序预测,在具体应用场景下,预测可以做的更精确。

本文分享自微信公众号 - 腾讯大数据(tencentbigdata)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-07-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深度卷积神经网络 CNNs 的多 GPU 并行框架 及其在图像识别的应用

    将深度卷积神经网络(Convolutional Neural Networks, 简称CNNs)用于图像识别在研究领域吸引着越来越多目光。由于卷积神经网...

    腾讯大数据
  • 腾讯深度学习平台亮相机器学习顶级会议ICML2014

    引言:深度学习是近年机器学习领域的重大突破,有着广泛的应用前景。随着Google公开Google Brain计划,业界对深度学习的热情高涨。百度成立深度学习研究...

    腾讯大数据
  • 解密最接近人脑的智能学习机器 ——深度学习及并行化实现

    训练深层模型是长期以来的难题,近年来以层次化、逐层初始化为代表的一系列方法的提出给训练深层模型带来了希望,并在多个应用领域获得了成功。深层模型的并行化框架和训...

    腾讯大数据
  • 使用R语言进行时间序列(arima,指数平滑)分析

    您要分析时间序列数据的第一件事就是将其读入R,并绘制时间序列。您可以使用scan()函数将数据读入R,该函数假定连续时间点的数据位于包含一列的简单文本文件中。

    拓端
  • 机器学习中时间序列预测的一些常见陷阱

    时间序列预测是机器学习的一个重要领域。说它重要是因为有很多预测问题都涉及时间成分。然而,虽然时间成分补充了额外的信息,但与其他预测任务相比,时间序列问题更难以处...

    商业新知
  • 【推荐】再谈数据挖掘——时序预测初探

    1. 背景 先来看两个例子,下面两幅图展示了百度在趋势预测方面的应用案例,一个是世界杯期间的比赛输赢预测,另一个是北京各旅游景区的游客人数预测。 ? ? 这两...

    小莹莹
  • 用python做时间序列预测一:初识概念

    相比朴素法,就是考虑了季节性,也就是说将同期的最后一次观测值作为本期的预测值,比如预测本周的数值,那么就将上周的周一观测值作为本周的周一预测值,上周的周二观测值...

    程序员一一涤生
  • 独家 | 如何用XGBoost做时间序列预测?

    本文介绍了如何用XGBoost做时间序列预测,包括将时间序列转化为有监督学习的预测问题,使用前向验证来做模型评估,并给出了可操作的代码示例。

    数据派THU
  • 数学建模学习GM(1,1)灰色预测模型

    1.灰色系统的定义: 灰色系统指既含有已知信息又含有未知信息的系统。 2.灰色预测模型的定义: 对灰色系统进行预测的模型。 灰色模型(Grey ...

    glm233
  • 拯救数据科学的“半贝叶斯人”

    一位科学家在他的论文中写道:"人类知识的大部分是围绕因果关系而不是概率关系组织的,而概率微积分的语法并不足以描述这些关系......正因如此,我认为自己只是半个...

    大数据文摘

扫码关注云+社区

领取腾讯云代金券