时间序列预测不同于机器学习的七大心法

Posted 经济政策模拟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列预测不同于机器学习的七大心法相关的知识,希望对你有一定的参考价值。

搞经济学的人,几乎应该都知道时间序列,应为凡是经济和金融诸多领域的变量,几乎都是随着时间而发生变化,自然会形成一个series。就究其本质而言,本尊认为时间序列预测法其实是一种回归预测方法。其基本原理是:一方面承认事物发展的延续性,运用过去的时间序列数据进行统计分析,推测出事物的发展趋势;另一方面充分考虑到由于偶然因素影响而产生的随机性,为了消除随机波动产生的影响,利用历史数据进行统计分析,并对数据进行适当处理,进行趋势预测。


搞经济学的人,其实也应该知道机器学习。机器学习是人工智能的核心,是使计算机具有智能的根本途径。机器学习其实就是机器(电脑)具有一定的人为赋予的智能(人工智能),用数据或以往的经验,以此优化计算机程序的性能标准,特别是如何在经验学习中改善具体算法的性能,并对能通过经验自动改进计算机的算法。


随着大数据时代各行业对数据分析需求的持续增加,通过机器学习高效地获取知识,已逐渐成为当今机器学习技术发展的主要推动力。大数据时代的机器学习更强调“学习本身是手段"机器学习成为一 种支持和服务技术。如何基于机器学习对复杂多样的数据进行深层次的分析,更高效地利用信息成为当前大数据环境下机器学习研究的主要方向。


大数据学习时代的经济学人,同样也应该掌握机器学习。


今天分享Roman Josue de las Heras Torres在其博客贴出的趣文



预备知识:
  • 对特定主题的经验:无
  • 专业经验:机器学习(任意级别)


读者不需要知道时间序列分析或预测的概念,但是假设他或她有开发机器学习模型(任何级别)和处理基本统计概念的经验。


从机器学习到时间序列预测


从机器学习转向时间序列预测,是一个根本性的变化——至少对我来说是这样。作为SAP数据交互公司的数据科学家,我花了将近一年的时间,来开发机器学习模型。这是一次富有挑战性但又丰富的经历,让我对机器学习如何应用于商业问题有了更好的理解。


不久之后,我得到了一个将预测模型应用于金融预测的机会。由于之前没有任何经验,我必须快速适应,以便学习如何解决出现在我面前的问题。回顾这段经历,我想分享一些技巧,帮助你做出同样的转变。


时间序列简介


预测模型的目标是估计未知变量的值。时间序列以时间(t)为自变量(在您能想到的任何单位中),以目标x为因变量,模型输出为t时刻的y预测值。


在大多数情况下,预测是一个特定的值,例如图片中对象的种类,房子的价值,邮件是否是垃圾邮件,等等。然而,预测值是一种预测(以中位数或平均值来代表),它包含一个表示确定性水平的置信区间。通常,提供80%和95%的置信水平。


每当定期记录数据时,就称为时间序列。你可以从两方面来考虑这类变量:


  1. 数据是单变量的,但是它有一个索引(时间)来创建一个隐式的顺序;或


  2. 数据集有两个维度:时间(自变量)和变量本身作为因变量。



    如果你有机器学习的经验,你必须在使用时间序列的时候做一些调整。下面是在进行转换时,需要记住的七个关键区别。


1.   应该小心处理特性


作为一个机器学习的实践者,您可能已经习惯于创建特性,无论是手动(特性工程)还是自动(特性学习)。不管怎样,在应用机器学习中,创建特性是最重要和最耗时的任务之一。


然而,在时间序列预测中,你不能创造特征——至少不是传统意义上的特征。当您希望提前几个步骤进行预测,而不只是预测下面的值时,尤其如此。


这并不意味着功能完全是禁区。相反,它们应该谨慎使用,原因如下:


·  目前还不清楚这些特性未来的实际价值是什么。


·   如果特征是可预测的,即它们有一些模式,你可以为每个模式建立一个预测模型。但是,要记住,使用预测值作为特征会将误差传播到目标变量,这可能会导致更高的误差或产生有偏差的预测。


·   纯时间序列模型可能比使用特性的模型具有类似甚至更好的性能。


此外,一些预测模型仅基于变量的历史值,如指数平滑(ETS)和自回归移动平均(ARIMA)模型。


还有可能使用时间序列成分和基于时间的特性将时间序列和特性工程结合起来吗? 前者是指时间序列的属性(成分),后者是指与时间相关的特征,具有明确的模型,可以用确定性的方式计算。您可以将它们添加到任何能够处理预测器的时间序列模型中。


2. 可能会有更小的数据集


您可能习惯于将数千、数百万或数十亿的数据点输入到机器学习模型中,但时间序列并不总是这样。事实上,根据变量的频率和类型,您可能正在处理小型到中型的时间序列。


乍一看,您可能认为这是一个缺点。但实际上,拥有中小规模的时间序列也有一些好处:


·  这些数据集将适合您计算机的内存


·  在某些情况下,您可以分析整个数据集,而不仅仅是一个示例。


·  时间序列的长度便于绘制可以图形化来分析的图。这是非常重要的一点,因为我们在时间序列分析步骤中严重依赖于情景分析。


这并不意味着你不会处理大量的时间序列,但你必须准备并能够处理较小的时间序列。


任何包含与时间相关的字段的数据集都可以从时间序列分析和预测中受益。但是,如果您有更大的数据集,那么时间序列数据库(TSDB)可能更合适。其中一些数据集来自用时间戳记录的事件、系统日志、财务数据、来自传感器(IoT)的数据等。由于TSDB是与时间序列一起工作的,因此将时间序列技术应用于大型数据集是一个很好的机会。


3. 所需要的算法不同


为了被认为是时间序列算法,算法需要的最重要特性之一是能够推断训练数据域之外的模式。许多机器学习算法没有这种能力,因为它们往往局限于由训练数据定义的领域。因此,它们不适合时间序列,因为时间序列的目标是预测未来。


时间序列算法的另一个重要特性是获得置信区间的能力。虽然这是时间序列模型的一个默认属性,但是大多数机器学习模型没有这种能力,因为它们并不都是基于统计分布的。可以估计置信区间,但它们可能不那么精确。这一点将在第6节中进一步展开。


你可能认为只有简单的统计模型被用于时间序列预测。这根本不是真的。有许多复杂的模型或方法在某些情况下可能非常有用。广义自回归条件异方差(GARCH)、基于贝叶斯(bayesian)的模型和VAR只是少数。也有一些神经网络模型可以应用于使用滞后预测器的时间序列,并可以处理特征,如神经网络自回归(NNAR)。甚至还有从深度学习中借来的时间序列模型,特别是在RNN(递归神经网络)家族中,如LSTM(长短时记忆)和GRU(门控递归单元)网络。


然而,所有这些模型都缺乏可解释性,而这对于希望做出数据驱动决策的业务领导人来说是至关重要的。模型的期望属性必须与项目成功的业务目标保持一致。



4. 同时使用评估指标和残差诊断


预测最常见的评估指标是RMSE,您可能在回归问题上使用过它;MAPE,因为它是尺度无关的,并且以百分比表示错误与实际值的比率;和MASE,它表示预测与朴素平均预测相比有多好。


在拟合预测模型之后,重要的是评估模型捕获模式的能力。虽然评估指标有助于确定拟合值与实际值之间的距离,但它们不能评估模型是否适合时间序列。相反,残差是一个很好的计算方法。当您试图捕获时间序列的模式时,您将期望错误表现为白噪声,因为它们表示模型无法捕获的内容。


零均值性质可以通过均值的t检验很容易地得到验证。正态性和常数方差特性可以用残差直方图或适当的单变量正态性检验来直观地检查。第一个性质可以通过两种方式验证:


应用混合检验来检验残差不相关的假设;或者绘制自相关函数(ACF),并评估至少95%的峰值位于区间上


5.  必须选择正确的求解


在处理时间序列时,您必须清楚地了解分析的目标。假设业务目标是每年进行一次预测。有两种技术方法可以解决这个问题:


· 使用每年的总数和适合的模型来预测所需的年数。


· 如果您有按季度或按月计算的可用值,那么可以构建一个时间序列模型来预测所需的月份或季度,然后汇总得到每年的总数。


以尽可能细的粒度为目标。当使用加总时,模型在宏观级别上学习模式。这不是一个坏的选择,但是在粒度级别上可能有一些模式模型没有注意到。就像在我们的例子中一样,使用月度或季度数据可能比年度预测产生更好的结果。


还要记住,在过于细粒度的级别上工作可能会出现难以建模的嘈杂数据。在我们的示例中,我们以年为单位进行预测,使用季度、月度甚至周为单位可能是合适的。但是,对于这个问题来说,每日、每小时或更低的级别可能太细、太吵。因此,努力在适当的分辨率下工作。


6. 在预测的基础上提供置信区间


如前所述,预测总是包括置信区间,通常为80%和95%。或者,您可以选择使用残差的标准偏差作为样本标准偏差,允许使用适当的分布(如正态分布或指数分布)来计算置信区间。


对于某些模型,如神经网络,它们不是基于概率分布,您可以运行预测的模拟,并从模拟的分布计算置信区间。


7. 有些模型要么精度高,要么误差大


与其他模型相比,时间序列预测的性能可能有所不同。请记住,您假设过去的模式是未来可能发生情况的指示器,因此它们被复制或预测。这意味着,如果模式继续这样,你的预测将是非常准确的。


这在经济时间序列中经常发生。当这种情况发生时,最好先评估影响,然后,如果需要,在事件发生后使用最近的数据更新预测。


结论


我希望这篇指南能帮助你从机器学习到时间序列预测有一个更容易和更少痛苦的过渡。正如您可能已经注意到的,有许多概念是重叠的,而其他概念是完全不同的,或者需要进行调整。



网络模型系列课程网址链接:

第0课:大纲

 
1 课:经济、社会和通讯网络导论

 


2 课:图论和社会网络
 
3-4 课:分支过程和随机图模型
.
5-7 课:现象越丰富,力量法则越丰富,世界越小
 
8 课:流行病
 
9-10 博弈论介绍
 
11 课:网络信息流建模和策略网络形成
 
12 课:演化、学习以及短视vs 理性
 
13-14 课:动态重复博弈,以及合作和信任网络
 
15-16 课:网络影响,创新和传染
 
17-18 课:不完全信息博弈
 
19-20 课:群体智慧与网络信息聚合
 
21-22 课:游牧和信息瀑布
 
23 课:市场和网络
 
24 课:组织和网络
动态随机一般均衡DSGE模型系列课程网址










 

 

ABM模型系列课程推文网址链接:
















可计算一般均衡CGE模型的推文网址链接如下:
































后凯恩斯经济学、存量流量一致性(SFC)模型的推文网址链接如下:








系统动力学SD模型的推文网址链接如下:











面板数据Panel Data模型的推文网址链接如下:



















异质性、非线性模型的推文网址链接如下:












人工智能(机器学习、深度学习、数字经济、大数据)经济学模型的推文网址链接如下:
























Copula、小波分析模型的推文网址链接如下:

















计量经济学 模型的推文网址链接如下:






















以上是关于时间序列预测不同于机器学习的七大心法的主要内容,如果未能解决你的问题,请参考以下文章

机器学习预测算法有问题

机器学习预测分类

机器学习模型错误预测

机器学习笔记:(时间序列中的线性回归)如何选择预测变量

怎么用机器学习算法预测经度和纬度?

机器学习回归模型为每张图像预测相同的值