Python时间序列预测_【加拿大】马可·佩塞罗_AZW3_MOBI_EPUB_PDF_电子书(无页码)_【加拿大】马可·佩塞罗
内容节选
Chapter 9第9章向模型添加外生变量 在第4章到第8章中,我们逐渐建立了一个通用模型,它允许我们考虑时间序列中更复杂的模式。我们从自回归和移动平均过程开始,然后将它们合并到ARMA模型。之后,我们为非平稳时间序列模型增加了一层复杂性,从而得到ARIMA模型。最后,在第8章中,我们又为ARIMA添加了一层复杂性,允许我们在预测中考虑季节性模式,得到了SARIMA模型。 到目前为止,我们探索和用于产生预测的每个模型都只考虑了时间序列本身。换句话说,时间序列的过去值被用作未来值的预测因子。然而,外部变量也可能对时间序列产生影响,因此可以很好地预测未来值。 这让我们想到了SARIMAX模型。你会注意到增加了X项,它表示外生变量。在统计学中,术语“外生”用于描述预测因子或输入变量,而“内生”用于定义目标变量——我们试图预测的东西。有了SARIMAX模型,我们现在可以在预测时间序列时考虑外部变量或外生变量。 作为指导示例,我们将使用从1959年到2009年每季度收集一次的美国宏观经济学数据集来预测美国实际国内生产总值(GDP),如图9.1所示。 GDP是一个国家生产的所有商品和服务的总市场价值。实际GDP是一种剔除通货膨胀对商品市场价值影响的通货膨胀调整措施。通货膨胀或通货紧缩可以分别增加或减少商品和服务的货币价值,从而增加或减少GDP。通过消除通货膨胀的影响,我们可以更好地确定一个经济体是否出现了生产扩张。 在不深入研究衡量GDP技术细节的情况下,我们将GDP定义为消费C、政府支出G、投资I和净出口NX的总和,如式9.1所示: 式9.1的每个元素都可能受到某些外部变量的影响。例如,消费可能会受到失业率的影响,因为如果就业人数减少,则消费可能会减少。利率也会产生影响,因为如果利率上升,就更难借到钱,支出也会因此减少。我们也可以认为货币汇率对净出口有影响。本币贬值通常会刺激出口,并使进口变得更加昂贵。因此,我们可以看到有多少外生变量可能影响美国的实际GDP。 在本章中,我们将首先研究SARIMAX模型,并探讨使用该模型进行预测时的一个重要警告。然后,我们将应用该模型来预测美国的实际GDP。 图9.1 1959~2009年美国实际国内生产总值,该数据每季度收集一次,以千美元为单位。请注意,多年来明显的积极趋势以及没有周期性模式,这表明季节性在该序列中不存在 9.1 研究SARIMAX模型 通过加入外生变量的影响,SARIMAX模型进一步扩展了SARIMA(p,d,q)(P,D,Q)m模型。因此,我们可以将现值yt简单地记为SARIMA(p,d,q)(P,D,Q)m模型,其中我们添加了任意数量的外生变量Xt,如式9.2所示: SARIMA模型是一种线性模型,因为它是序列的过去值和误差项的线性组合。在这里,我们添加了不同外生变量的另一个线性组合,从而导致SARIMAX也是一个线性模型。请注意,在SARIMAX中,你可以将分类变量作为外生变量包含在内,但请确保对它们进行编码(为它们提供数值或二进制标识),就像你对传统回归任务所做的那样。 从第4章开始,我们一直在使用statsmodels中的SARIMAX函数来实现不同的模型。这是因为SARIMAX是预测时间序列的最通用函数。你现在明白了为什么没有外生变量的SARIMAX模型是SARIMA模型。类似地,没有季节性但有外生变量的模型可以记为ARIMAX模型,而没有季节性和外生变量的模型则成为ARIMA模型。根据问题的不同,我们将使用通用SARIMAX模型的每个部分的不同组合。 SARIMAX模型 SARIMAX模型只是将外生变量的线性组合添加到SARIMA模型。这使我们能够模拟外部变量对时间序列未来值的影响。 我们可以将SARIMAX模型大致定义如下: SARIMAX模型是预测时间序列的最通用模型。你可以看到,如果没有季节性模式,它就变成了ARIMAX模型。在没有外生变量的情况下,它是一个SARIMA模型。如果没有季节性或外生变量,则它成为一个ARIMA模型。 9.1.1 探讨美国宏观经济数据集的外生变量 让我们加载美国宏观经济数据集,并探讨可用于预测实际GDP的不同外生变量。该数据集可以通过statsmodels库获得,这意味着你不需要下载并读取外部文件。你可以使用statsmodels的datasets模块加载数据集。 注 本章完整源代码可以在GitHub上获取:https://github.com/marcopeix/TimeSeriesForecasting InPython/tree/master/CH09。 这显示了包含美国宏观经济数据集的整个DataFrame。表9.1描述了每个变量的含义。我们有目标变量,或者叫内生变量,就是实际GDP。然后我们有11个可用于预测的外生变量,如个人......
- 信息
- The Translator's Words 译者序
- Preface 前言
- Acknowledgements 致谢
- Part 1 第一部分 时间不等人
- Chapter 1 第1章 了解时间序列预测
- Chapter 2 第2章 对未来的简单预测
- Chapter 3 第3章 来一次随机游走
- Part 2 第二部分 使用统计模型进行预测
- Chapter 4 第4章 移动平均过程建模
- Chapter 5 第5章 自回归过程建模
- Chapter 6 第6章 复杂时间序列建模
- Chapter 7 第7章 非平稳时间序列预测
- Chapter 8 第8章 考虑季节性
- Chapter 9 第9章 向模型添加外生变量
- Chapter 10 第10章 预测多变量时间序列
- Chapter 11 第11章 顶点项目:预测澳大利亚抗糖尿病药物处方的数量
- Part 3 第三部分 使用深度学习进行大规模预测
- Chapter 12 第12章 将深度学习引入时间序列预测
- Chapter 13 第13章 数据窗口和创建深度学习基线
- Chapter 14 第14章 初步研究深度学习
- Chapter 15 第15章 使用LSTM记住过去
- Chapter 16 第16章 使用CNN过滤时间序列
- Chapter 17 第17章 使用预测做出更多预测
- Chapter 18 第18章 顶点项目:预测一个家庭的用电量
- Part 4 第四部分 大规模自动化预测
- Chapter 19 第19章 使用Prophet自动化时间序列预测
- Chapter 20 第20章 顶点项目:预测加拿大牛排的月平均零售价格
- Chapter 21 第21章 超越自我
- Appendix 附录 安装说明