来源:深度学习爱好者
本文约3200字,建议阅读10分钟本文与你分享时间序列分析的基础知识。

时间序列的定义

一个时间序列过程(time series process)定义为一个随机过程,这是一个按时间排序的随机变量的集合,也就是将每一个时刻位置的点作为一个随机变量。 是索引集合(index set),  决定定义时序过程以及产生观测值的一个时间集合 。其中假定

  • 随机变量  的取值是连续的。

  • 时间索引集合  是离散且等距的。

在整个过程中,都采用以下符号:

  • 随机变量(Random variables)用大写字母表示,即  ,同时随机变量的值是从一个分布中采样给出。而且可以为无限多个时间点  定义随机变量。

  • 观测(Observations)用小写字母表示,即  ,观测可以认为是随机变量的实现。但通常在实际中,我们的观测点是有限的,因此定义  个观测是 。

时间序列分析的目标

给定一组时间序列数据,通常会要求回答一个或多个有关它的问题。时间序列数据出现的主要问题类型取决于数据的上下文以及收集数据的原因,下面给出一些常见的目标:

  • 描述:描述时间序列的主要特征,例如:序列是递增还是递减;是否有季节性模式(例如,夏季较高,冬季较低);第二个解释变量如何影响时间序列的值?

  • 监控:检测时间序列行为何时发生变化,例如销售额突然下降,或者突然出现峰值。

  • 预测:从当前值预测时间序列的未来值,并量化这些预测中的不确定性,比如根据今天的气温预测未来几天的温度。

  • 回归:给定多个时间序列以及与这些序列对应的一个额外的值,找到其中的关系。

  • 分类:给定多个时间序列,将它们按照相似性进行分类。

  • ......

时间序列的建模

时间序列数据通常被分解为以下三个组成部分。

  • 趋势(Trend)- 趋势体现的是时间序列数据均值随时间的长期变化。如果趋势存在,它的形状通常会引起人们的兴趣,尽管它可能不是线性的。

  • 季节性影响(Seasonal effect)- 季节性影响是时间序列中以固定间隔重复的趋势。严格来说,季节性效应只是每年都会重复的效应,但在更一般的情况下,可以更广泛地使用该术语来表示任何定期重复的模式。

  • 无法解释的变化(Unexplained variation)- 无法解释的变化是在任何趋势和季节性变化被去除后时间序列中其余的变化。这种无法解释的变化可能是独立的,也可能表现出短期相关性。

因此,时间序列数据的简单模型可以用两种方式表示,分别为:

加法模型(Additive):
乘法模型(Multiplicative):

其中  表示趋势,  表示季节,  表示无法解释的变化。在此教程中,给出了两个例子。即当趋势和季节性变化独立作用时,加法模型是合适的,而如果季节性效应的大小取决于趋势的大小,则需要乘法模型。当趋势和季节性变化独立作用时,加法模型是合适的,而如果季节性效应的大小取决于趋势的大小,则需要乘法模型,简单的示意图如下:

  • Example of additive model

时间序列的特性

(均值、方差、自协方差函数、自相关函数)

给定一个时间序列过程  和观测  ,通常我们会使用以下属性描述其特征。

  • 均值(Mean function)

对所有的  ,时间序列过程的均值函数(mean function)定义为:

对于真实的数据,通常我们假定均值为一个常数,因此可以估计均值为:

如果数据的平均值不是恒定的,例如由于趋势或季节性变化的存在,则应该用其他方法进行估计,这部分内容后面再讲。

  • 方差(Variance function)

对所有的 ,时间序列过程的方差函数(variance function)定义为:

标准差函数定义为:

对于真实的数据,通常我们假定方差也为一个常数,因此可以估计方差为:

  • 自协方差和自相关函数(Autocovariance and autocorrelation functions)

回忆对任意的随机变量  和  ,协方差以及相关性测量通过以下定义给出:

协方差:

相关性:

相关性是介于 -1 和 1 之间的协方差的缩放表现,其中 1 表示强正相关,0 表示独立性,-1 表示强负相关,但通常相关性指的是线性的相关性。

对于一个时间序列过程,定义随机变量  是在不同时间点的测量。它们之间的依赖关系由自协方差和自相关函数描述,添加“auto”前缀以表示两个随机变量测量具有相同的数量。

对于所有的  ,自协方差函数(autocovariance function (ACVF))定义为:

其中:

对于所有的  ,自相关函数(autocorrelation function (ACF))定义为:

其中:

以上定义都是理想的情况,也就是在时刻  和时刻  均有若干个采样数据,这样才能计算  或者 ,而真实的场景下这一条件却很难实现,因为通常在某一个时间点,只能获得1个采样点的数据。

为了计算真实数据的自协方差和自相关函数,通常假设数据中的依赖结构不随时间变化。也就是说我们假设:

也就是说在这个假设下,影响协方差的唯一因素是两个时间序列中随机变量的距离 ,这个距离通常称为滞后lag。

因此,唯一需要计算的是自协方差集合:

在这种情况下,自相关函数变为:

以上计算方式的前提是假设数据中的依赖结构不随时间变化,协方差不依赖于具体的位置 ,只依赖于滞后  。

Estimating the autocorrelation function

对于时间序列数据,自协方差和自相关函数测量的是单个时间序列  与其滞后lag之间的协方差/相关性。这里给出,以及  时自协方差及自相关函数的计算过程。

lag=0

在滞后 0 (lag=0)处样本的自协方差函数定义为 ,它是  与  之间的协方差。根据上面的公式,计算方式为:

因此,滞后 0 处的样本自协方差函数是样本方差。类似地,滞后0处的自相关性为:

lag=1

在滞后 1(lag=1)处的样本自协方差函数是时间序列  和  协方差。它是序列与自身移动一个时间点序列的协方差,根据以上公式,协方差和自相关系数计算方式为:

其中

是后  个观测值;

在实际应用中,通常假设前 n-1 个观测值的均值和方差等于最后 n-1 个观测值的均值和方差,这样可以简化上述表达式。此外,对于协方差公式,使用除数 n 而不是无偏 n-2。显然,当 n 很大时,改变除数对计算几乎没有实际影响。

lag=

时间序列的样本自协方差函数 (ACVF)定义为:

样本自相关函数 (ACF) 定义为:

以下链接中找到有助于理解自协方差和自相关函数的交互式示例。

https://shiny.maths-stats.gla.ac.uk/gnapier/Time_Series_ACF/shiny.maths-stats.gla.ac.uk/gnapier/Time_Series_ACF/

Correlogram图的解释

Correlogram讲自相关函数的计算结果作为纵轴,将滞后  作为横轴的一种图。可以很直观的看出时间序列不同lag之间的相关性。Correlogram会告诉时间序列分析师很多关于时间序列的信息,包括趋势的存在、季节性变化和短期相关性。这里用一些例子来说明。

Example - purely random data

考虑由纯随机过程 生成的时间序列,它没有趋势、季节性或短期相关性。原始数据和自相关图如下所示:

  • 当  时,  ,因为它是序列与其自身的相关性,通常忽略该值。

  • 对于没有相关性的纯随机序列,通常在滞后 0 处等于 1,但在其他滞后处没有明显的相关性证据。

Example - short-term correlation

没有趋势或季节性但具有短期相关性的时间序列数据如下图所示,并且在前几个滞后时具有显着正的自相关,随后在较大滞后时值接近零。

Example - alternating data

没有趋势或季节性但在大值和小值之间交替的时间序列数据显示下图中,并且在奇数滞后时具有负自相关,在偶数滞后时具有正自相关。随着滞后的增加,自相关越来越接近于零。

Example - data with a trend

具有趋势的时间序列数据如下图所示,并且在滞后偏大时仍然具有正自相关。如果趋势随时间下降,则会观察到相同的相关图。

Example - data with a seasonal effect

具有季节性影响的时间序列数据如下图所示,并且在相关图中具有规则的季节性模式。

Example - data with a trend and a seasonal effect

具有趋势和季节性影响的时间序列数据显示在下图中,并且在相关图中具有规则的季节性模式,由于趋势的存在,相关图通常具有正值。

平稳性分析

严格平稳
strictly stationary or strongly stationary

严格平稳是一种非常苛刻的条件,给定时序过程  ,对于所有的  以及值  ,如果联合分布  与 相同,则该序列是严格平稳的。换句话说,换句话说,将序列的时间原点移动 对其联合分布没有影响。

当  ,严格平稳意味着对于所有的  ,都有  。这也说明时间序列的均值和方差为常数,即

和 , 当  ,严格平稳意味着对于所有的 ,都有:

联合分布只取决于滞后

这反过来意味着理论协方差和相关函数只取决于滞后而不是原始位置。

严格平稳是非常严格的,而真实过程很少符合。一般只有纯粹的随机过程严格平稳,因此使用的更多的是弱平稳。

弱平稳

weakly stationary

给定时序过程   ,如果该时间序列过程是弱平稳的的,那么它需要满足以下条件:

  1. 均值是常数和有限的,即

  2. 方差是常数和有限的,即

  3. 自协方差和自相关函数仅取决于滞后  ,即 以及

严格平稳性和弱平稳性之间的区别在于,后者仅假设前两个矩(均值和方差)随时间是恒定的,而前者假设较高的矩也是恒定的。

Example

定义一个随机游走过程  ,,且

其中  是均为为 0 且方差为  的随机过程。那么  是非平稳的。因为:

这说明方差是随时间 变化的。

作者:daydaymoyu
来源:https://zhuanlan.zhihu.com/p/424609116
参考:https://bookdown.org/gary_a_napier/time_series_lecture_notes/ChapterOne.html#time-series-modelling

编辑:黄继彦

校对:林亦霖

终于把时间序列分析的关键点全讲清楚了!相关推荐

  1. 金融相关时间序列分析全指南

    来源:yv.l1.pnn - kesci.com 原文链接:时间序列分析入门,看这一篇就够了 点击以上链接

  2. 数学建模时间序列分析_时间序列分析建模验证

    数学建模时间序列分析 时间序列预测 (Time Series Forecasting) 背景 (Background) This article is the fourth in the series ...

  3. 水稻微生物组时间序列分析精讲1-模式图与主坐标轴分析

    写在前面 上周五我们分享了3月底发表的的 <水稻微生物组时间序列分析>的文章,大家对其中图绘制过程比较感兴趣.一上午收到了超30条留言,累计收到41个小伙伴的留言求精讲. 我们也争取花时间 ...

  4. python时间序列小波分析_python时间序列分析

    什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值.在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的(这里 ...

  5. 时间序列 线性回归 区别_时间序列分析的完整介绍(带R)::线性过程I

    时间序列 线性回归 区别 In the last tutorial , we saw how we could express the probabilistic form of the best l ...

  6. r软件时间序列分析论文_高度比较的时间序列分析-一篇论文评论

    r软件时间序列分析论文 数据科学 , 机器学习 (Data Science, Machine Learning) In machine learning with time series, using ...

  7. python方差分析模型的预测结果中endog表示_python时间序列分析

    题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下.在此也要特别 ...

  8. python 单位根检验代码_python时间序列分析

    什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值.在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的(这里 ...

  9. ARIMA时间序列分析

    简介 ARIMA算法流程步骤(算法数学推导自行查阅相关论文),本文只讲工程技术和方法. 参考文章 标题:ARIMA模型 地址:http://wiki.mbalib.com/wiki/ARIMA%E6% ...

最新文章

  1. CSS的单位及css3的calc()及line-height百分比
  2. C#委托的介绍(delegate、Action、Func、predicate)
  3. android opengl es 纹理 不同设备 白色,android – OpenGL ES 2.0纹理没有在某些设备上显示...
  4. 搜狗输入法Android5.1,ESXI 服务器断电之后一直 LOADING MODULE IPMI_SI_DRV 的解决办法...
  5. ubuntu 18.04 conda 环境中编译 pytorch
  6. Spring with multiple transaction managers
  7. RCC BUCK变压器设计
  8. 张朝阳“削藩”后,搜狐会走向何处?
  9. 计算机创造奇迹的英语作文,大学英语作文:创造奇迹-Creating-Miracle.docx
  10. 云杰恒指:6.18恒指期货实盘指导交易复盘
  11. 多渠道打包,生成不同包名的包
  12. 【2021-01-05】JS逆向之B站模拟登入(含极验点选)
  13. Linux—使用doc2unix进行文件格式转换
  14. 视频在H5页面在微信浏览器不能自动播放问题
  15. 求解佩尔方程的基本解
  16. JavaGUI编程 -- Swing之Icon、ImageIcon标签获取当前类同一级文件路径的资源
  17. 光模块COB工艺之耦合激光焊
  18. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现
  19. 平板电脑装深度linux,在酷比魔方iWork10 Pro平板上装Deepin 20.1后触摸无反应的解决...
  20. 梯度下降法-学习率选取

热门文章

  1. 社会关系分析_【图文】室外游乐设施典型案例优势分析
  2. 求s = k ! + n ! / m !的值
  3. 详解 RestTemplate 操作
  4. 使用JDBC改变Oracle的session參数 NLS_DATE_FORMAT
  5. 行业新价值 看物联网的那些“后续力量”
  6. RedHat 7.0 Chrome浏览器 安装
  7. AngularJs中的directives(指令part1)
  8. 记录JVM垃圾回收算法
  9. 如何 判断 设备 是否 连接 上 了 wifi
  10. boost program_options