前言

略过介绍性的知识,直接怼重难点。

1. 平稳性 Stationarity

直观上看当数据没有明显的模式特征的话(趋势性、季节性),我们认为它是平稳的。定义上“平稳”指固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。其数学期望和方差这些参数也不随时间和位置变化。

在时间序列预测的过程中,我们首先要判断数据是否具有平稳性。如果非平稳,除去趋势性和季节性的特征,使其达到平稳状态对于准确地预测数据有至关重要的作用。

E(Yt) = μ 期望为常数

Var(Yt) =σ2 方差为常数

Cov(Yt , Yt+k) = E[( Yt - μ)( Yt+k - μ )]=rk 任意两个时期之间的协方差仅依赖于这两个时期的距离。当k确定,这也是常数,这条就是接下来重点理解的。

附:以上讲的严格来说都叫弱平稳性 Stationarity(weak),而强平稳性是要求 Yt 与 Yt+k 的概率分布完全一致。我们一般用弱平稳性的定义就足够了。

2. 自相关函数

因为时间序列这种数据的特点是一维,勇往直前永不回头。根据这种数据特点,形成了自协方差、自相关函数、偏自相关函数等。看到前面都加了一个自,原因是时间序列没法找到一个别的数据和自己来进行比较;只能自己和自己来比较(Yt , Yt+k)。

自协方差 autocovariance

首先回顾下协方差,是衡量两个随机变量X,Y的线性相关性或独立性的一个指标:

现实中,以样本协方差estimate协方差:

那么在平稳性的条件下,自协方差Cov( Xt, Xt+k )== E[( Xt - μ )( Xt+k - μ )] 的estimate:

当k确定,ck 也是个常数,无论 Xt 的位置。

在时间序列{ X1, X2, X3, ..., Xn }中,现实样本为{ x1, x2, x3, ..., xn }。

Xt 与 Xt+k 对应分别的两组样本。比如k=1时,

Xt 的 样本为 { x1, x2, x3, ..., xn },而 Xt+1 的样本为 { x2, x3, x4..., xn }。在平稳性条件下,这两组样本的均值都是:

自相关函数 autocorrelation function(ACF)

Xt 与 Xt+k 的自相关系数即(自协方差 / k=0时的自协方差),分母也等于 Xt 的方差。

所以自相关系数ρk的estimate:

r0 永远等于一, rk称为样本自相关函数(ACF)。

自相关图 correlogram

样本xt 与 xt+k,把k从0到n的自相关系数求出并直线如下图所示。 横坐标是lag,即k值。

3. 偏相关函数(PACF)

表达式为PCorr( Xt,Xt+k | Xt+1,...,Xt+k-1 )

滞后k自相关系数p(k)时,实际上得到并不是x(t)与x(t-k)之间单纯的相关关系。
因为x(t)同时还会受到中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的影响,而这k-1个随机变量又都和x(t-k)具有相关关系,所以自相关系数p(k)里实际掺杂了其他变量对x(t)与x(t-k)的影响。
为了能单纯测度x(t-k)对x(t)的影响,引进偏自相关系数的概念。对于平稳时间序列{x(t)},所谓滞后k偏自相关系数指在给定中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的条件下,或者说,在剔除了中间k-1个随机变量x(t-1)、x(t-2)、……、x(t-k+1)的干扰之后,x(t-k)对x(t)影响的相关程度。
参考: 请高手指点自相关函数和偏自相关函数的区别? - 计量经济学与统计软件 - 经管之家(原人大经济论坛)

具体estimate的公式较为复杂,因为软件都能求,就不贴上来了。同样也有类似自相关图的自偏相关图,之后会多次出现。

4. 混成检验/Ljung-Box test(LB 检验)

当k>0的自相关函数中所有的值都为0时,我们认为该序列是完全不相关的(白噪声)。我们经常需要检验多个自相关系数是否为0。

H0:ρ1=…=ρh=0

原本的数据都是独立的,能观察到的某些相关仅仅产生于随机抽样的误差。

H1:∃k∈1,…,h, ρk≠0

原本的数据不是独立的,即至少存在某个

,其中

构造的统计量是:

,其中n是样本数量,
是样本k阶滞后的相关系数,该统计量服从自由度为h的卡方分布。给定显著性水平
,则拒绝域是
。接受原假设意味着,认为原序列是白噪声序列,否则认为序列存在相关性。

可以先不用理解,因为大部分软件会给出Q(h)的p-value,则当p-value小于等于显著性水平 α时拒绝H0。

acf,q,p = sm.tsa.acf(data,nlags=10,qstat=True)  # 计算10个lag的自相关系数 及p-value
out = np.c_[range(1,11), acf[1:], q, p]
output=pd.DataFrame(out, columns=['lag', "AC", "Q", "P-value"])
output = output.set_index('lag')
output

我们取显著性水平为0.05,可以看出,所有的p-value都小于0.05;则我们拒绝原假设H0。

因此,我们认为该序列是序列相关的。

参考课程:

Coursera | Online Courses From Top Universities. Join for Free

如果常数项没有经过显著性检验_时间序列(一):平稳性、自相关函数与LB检验...相关推荐

  1. 时间序列的平稳性检验与随机性检验

    1. 时间序列的定义 1.1 什么是时间序列     在统计研究中,常用按时间顺序排列的一组随机变量X1,X2,⋯ ,Xt,⋯X _ { 1 } , X _ { 2 } , \cdots , X _ ...

  2. python时间序列平稳性检验_Python量化投资基础:时间序列的平稳性检验

    主要内容: 1. 自相关性和自相关系数 2. 强平稳和弱平稳 3. Python平稳性检验实战 重要性:10分 (1-10). 时间序列数据的平稳性对于我们采用什么样的分析方式.选择什么样的模型有着至 ...

  3. 时间序列平稳性分析和白噪声检验

    文章目录 一.时间序列平稳性 1.ADF检验 1.1.ADF检验原理 1.2.ADF的python实现 2.ACF和PACF 二.白噪声检验 原始的负荷时间序列曲线 一.时间序列平稳性 时间序列分析之 ...

  4. 理解时间序列的平稳性

    平稳性 平稳性是用来描述时间序列数据统计性态的特有术语. 时间序列平稳性理解 凭以推测经济系统(或其相关变量)在未来可能出现的状况,亦即预测经济系统(或其相关变量)的走势,是我们建立经济计量模型的主要 ...

  5. 计量经济学之时间序列的平稳性、单位根检验、协整检验、时间序列数据的一般处理流程

    时间序列的平稳性 为什么要把时间序列变成平稳的?--平稳性的意义 如何检验时间序列数据的平稳性?--单位根检验 数据不平稳怎么办?--协整检验 单整.协整(cointegration) 协整检验 总结 ...

  6. R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验、检验时序数据是否具有均值回归特性(平稳性)、不具有均值回归特性的案例

    R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验.检验时序数据是否具有均值回归特性(平稳性).不具有均值回归特性的案例 目录

  7. R语言检验时间序列的平稳性(tseries包adf.test):时间序列数据是zoo或xts对象,使用coredata函数提取原始数据,再将其传递给adf.test函数

    R语言检验时间序列的平稳性(tseries包adf.test):时间序列数据是zoo或xts对象,使用coredata函数提取原始数据,再将其传递给adf.test函数 目录

  8. R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验、检验时序数据是否具有均值回归特性(平稳性)、具有均值回归特性的案例

    R语言检验时间序列的平稳性:使用tseries包的adf.test函数实现增强的Dickey-Fuller(ADF)检验.检验时序数据是否具有均值回归特性(平稳性).具有均值回归特性的案例 目录

  9. 时间序列的平稳性与差分法

    1.时间序列 时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列.时间序列分析的主要目的是根据已有的历史数据对未来进行预测. 2.为什么要平稳 我们的拿到的数据可能是 ...

最新文章

  1. 14个Xcode中常用的快捷键操作
  2. php7 ext skel_基于PHP7的PHP扩展开发之一(hello word)
  3. 白话Elasticsearch50-深入聚合数据分析之doc values机制
  4. python global将结果存储起来给另外一个文件对象使用
  5. caffe 在 windows 使用
  6. 30jquery-qrcode生成二维码
  7. 阿姆斯特朗数_阿姆斯特朗的功能依赖公理 数据库管理系统
  8. Java 并发编程之读写锁 ReentrantReadWriteLock
  9. dubbo源码解析-spi(一)
  10. python networkx学习
  11. python修改系统时间_python修改操作系统时间的方法
  12. 怎么发送电子邮件到别人邮箱?手把手教你!
  13. 开源数据分析平台Countly
  14. Android虚拟机和类加载机制
  15. 服务器里文件表格如何自动备份,Excel电子表格自动备份的两种方法
  16. 网络营销实验报告SEO综合实践
  17. python动画库_创造生动有趣的动画,Matplotlib库大显身手
  18. 基于SSM的物料管理系统(源码+文档+数据库)
  19. OpenAL播放pcm或wav数据流-windows/ios/android(一)
  20. TMS WEB Core开发Web应用优势说明

热门文章

  1. 60-10-050-命令-kafka-broker-api-versions.sh
  2. Spark Structured : HIve jdbc方式访问待下划线的表,找不到表的错误
  3. 【算法】LSM-tree 基本原理及应
  4. 95-241-100-源码-Flink语义-Flink的exectly-once系列之两阶段提交概述
  5. drools 7.x 领域语言dsl详细语法
  6. Git 不能只会 pull 和 push,试试这5条提高效率的命令吧!
  7. 东半球最全的 postman 使用教程
  8. RocketMQ入门到入土(七 )为什么同一个消费组设置不同tag会出现奇怪现象
  9. linux ftp 警告暗号话,ssh,FTP到远程服务器时,显示自定义的警告信息
  10. easyui页内跳转