时间序列预测

时间序列(Time Series)是我们在日常生活和社会工作中十分常见的一种数据,它是通过将一系列时间点上的观测值按等时间间隔测量来获取的数据集合,比如商业活动中,服装公司的年销售量,日股票的收盘价格; 气象学中某城市的年降水量,月平均气温等等,因此对时间序列的研究存在于各行各业。

所谓时间序列分析(Time Series Analysis)是指一种动态数据处理的统计学方法,研究数据序列所遵从的统计规律,以用于解决具体行业的实际问题。时间序列预测法是一种历史资料延伸预测的方法,也称历史引伸预测法。是以时间数列所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法。

.I. Challenging Forecasting Problems

Machine learning methods have a lot to offer for time series forecasting problems. A difficulty is that most methods are demonstrated on simple univariate time series forecasting problems.

We will take a closer look at 10 challenging time series datasets from the competitive data science website Kaggle.com. Not all datasets are strict time series prediction problems; I have been loose in the definition and also included problems that were a time series before obfuscation or have a clear temporal component1.

They are:

  • How Much Did It Rain? I and II
  • Online Product Sales
  • Rossmann Store Sales
  • Walmart Recruiting – Store Sales Forecasting
  • Acquire Valued Shoppers Challenge
  • Melbourne University AES/MathWorks/NIH Seizure Prediction
  • AMS 2013-2014 Solar Energy Prediction Contest
  • Global Energy Forecasting Competition 2012 – Wind Forecasting
  • EMC Data Science Global Hackathon (Air Quality Prediction)
  • Grupo Bimbo Inventory Demand

I. 数据准备

Data Preparation

在实际工作中,时间序列分析的目的通常有两个,一是要发现产生观测序列的随机机制,即建立数据生成模型,就是我们通常所说的数据建模;二是基于序列的历史数据,以及可能对结果产生影响的其他相关序列,对序列未来的可能取值做出预测。然而在各行各业中实际采集到的时间序列可能由于设备、人员、时间、机制等各种因素产生各种各样的问题,比如数据缺失、数据不准确、数据冗余等等,这些问题会给时间序列建模带来各种困难,甚至使模型失效,因此在数据建模之前,我们通常需要对原始时间序列模型进行大量的数据准备工作,特别是在大数据环境中,数据的宽度和广度都达到了前所未有的程度,因此需要专门的算法对数据进行分析准备工作,比如对数据进行分组、聚合,对数据的分布进行探究,数据质量得到检验以及对缺失值的处理等等2

II. 待分类

TIME SERIES FORECASTING - TAKING KAGGLE ROSSMANN CHALLENGE AS EXAMPLE