自相关与偏自相关的简单介绍

自相关和偏自相关图在时间序列分析和预测中经常使用。这些图生动的总结了一个时间序列的观察值与他之前的时间步的观察值之间的关系强度。初学者要理解时间序列预测中自相关和偏自相关之间的差别很困难。

在本教程中,您将发现如何使用Python来计算和绘制自相关图和偏自相关图。

完成本教程后,您将知道:

  • 如何绘制和检查时间序列的自相关函数。
  • 如何绘制和检查时间序列的偏自相关函数。
  • 时间序列分析中自相关函数和偏自相关函数之间的差异。

让我们开始吧。

每日最低气温数据集

该数据集描述了澳大利亚墨尔本市10年(1981 – 1990年)的最低每日气温。

单位为摄氏度,观测值为3650次。数据来源于澳大利亚气象局。

点击这里了解更多信息并从Dara Market下载数据集。

下载数据集并将其放在您当前的工作目录中,文件名为“ daily-minimum-thermometer.csv ”。

注意:下载的文件包含一些问号(“?”)字符,必须先删除它然后才能使用数据集。在文本编辑器中打开文件,并删除“?”字符。同时删除文件中的任何页脚信息。

下面的示例将加载最低每日温度并绘制时间序列。

from pandasimport Series
from matplotlibimport pyplot
series= Series.from_csv('daily-minimum-temperatures.csv', header=0)
series.plot()
pyplot.show()

运行该示例将数据集加载为Pandas序列,并创建时间序列的折线图。

相关和自相关

统计相关性总结了两个变量之间的关系强度。我们可以假设每个变量的分布都符合高斯(钟形曲线)分布。如果是这样,我们可以使用皮尔逊相关系数(Pearson correlation coefficient)来总结变量之间的相关性。

皮尔逊相关系数是-1和1之间的数字分别描述负相关或正相关。值为零表示无相关。

我们可以使用以前的时间步长来计算时间序列观测的相关性。由于时间序列的相关性与之前的相同系列的值进行了计算,这被称为序列相关或自相关。

一个时间序列的自相关系数被称为自相关函数,或简称ACF。这个图被称为相关图或自相关图。

以下是利用statsmodels库中使用plot_acf()函数计算和绘制“每日最低气温”自相关图的一个例子。

from pandasimport Series
from matplotlibimport pyplot
from statsmodels.graphics.tsaplotsimport plot_acf
series= Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_acf(series)
pyplot.show()

运行示例创建一个2D平面图,显示沿x轴的延迟值以及y轴上的相关性(-1到1之间)。

置信区间被画成圆锥形。默认情况下,置信区间这被设置为95%,这表明,这段代码之外的相关值很可能是相关的,而不是统计上的意外。

默认情况下,打印所有延迟值,这让显得图表有些杂乱。我们可以将x轴上的延迟值限制为50,让图更容易看懂。

偏自相关函数

偏自相关是剔除干扰后时间序列观察与先前时间步长时间序列观察之间关系的总结。

在滞后k处的偏自相关是在消除由于较短滞后条件导致的任何相关性的影响之后产生的相关性。

– 第81页,第4.5.6节偏自相关,Introductory Time Series with R。

一项观察的自相关和在先验时间步上的观测包括直接相关和间接相关。这些间接相关是线性函数观察(这个观察在两个时间步长之间)的相关。

偏自相关函数试图移除这些间接相关。没有进入数学,这就是偏自相关的直觉。????

下面的示例使用statsmodels库中的plot_pacf()来计算和绘制最低每日温度数据集里的前50个滞后的偏自相关函数。

from pandasimport Series
from matplotlibimport pyplot
from statsmodels.graphics.tsaplotsimport plot_pacf
series= Series.from_csv('daily-minimum-temperatures.csv', header=0)
plot_pacf(series, lags=50)
pyplot.show()

运行这个示例创建了前50个滞后的偏自相关的平面图。

ACF和PACF图的直觉

时间序列的自相关函数和偏自相关函数的平面图描述了完全不同的情形。我们可以使用ACF和PACF的直觉来探索一些理想实验。

自回归直觉

由具有滞后k的自回归(AR)过程生成的时间序列。我们知道ACF描述了自相关在这个时间步的观察和前一个时间步的观察之间存在直接依赖信息和间接依赖信息。这意味着,我们期望AR(k)时间序列里的ACF对k的滞后有很强的影响,并且这种关系的惯性将会延续到后来的滞后值中,在某种程度上随着效果的减弱而逐渐减弱。

我们知道,PACF仅描述观察与其滞后之间的直接关系。这表明除了k之外的滞后值没有相关性。这正是ACF和PACF计划在AR(k)过程中的期望。

移动平均线的直觉

k的滞后的移动平均(MA)过程产生的时间序列。移动平均过程是先前预测中时间序列剩余误差的自回归模型。考虑移动平均模型的另一种方法是根据最近预测的错误来纠正对未来的预测。我们预计ACF在MA(k)的过程中与最近的值显示出强相关性直到k的滞后,然后急剧下降到低或没有相关性。这就是生成该过程的方法。

我们预计绘图将显示出与滞后的密切关系,以及与滞后的相关性减弱。这正是MA(k)过程的ACF和PACF图的预计。

总结

在本教程中,您发现了如何使用Python计算时间序列数据的自相关和偏自相关图。

具体来说,您学到了:

  • 如何计算并创建时间序列数据的自相关图。
  • 如何计算和创建时间序列数据的偏自相关图。
  • 解释ACF和PACF图的差异和直觉。

原文发布于微信公众号 - ATYUN订阅号(atyun_com)

原文发表时间:2017-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏图形学与OpenGL

CG实验2 二维几何变换

请参考教材博客有关WebGL变换文章,具体见:http://blog.csdn.net/wpxu08

1152
来自专栏机器学习算法与理论

调用Dlib库进行人脸关键点标记

       昨天调试了人脸识别(classifier_webcam)这个程序,效果不错,响应速度也挺快。按照http://blog.csdn.net/u011...

4669
来自专栏人工智能

使用10几行Python代码,快速建立视觉模型识别图像

视觉 进化的作用,让人类对图像的处理非常高效。 这里,我给你展示一张照片。 ? 如果我这样问你: 你能否分辨出图片中哪个是猫,哪个是狗? 你可能立即会觉得自己遭...

3979
来自专栏吕晟的专栏

机器学习库初探之 Caffe

Caffe 是一个清晰而高效的深度学习框架,其作者是博士毕业于 UC Berkeley 的贾扬清,目前在 Facebook 工作。Caffe 是纯粹的 C++/...

1.4K2
来自专栏IT派

Github 推荐项目 | 用 TensorFlow 简单地实现 StarGAN

StarGAN 是一种新颖且可扩展的方法,可以仅使用一个模型来执行多个域的图像到图像的转换。StarGAN 这样一个统一的模型体系架构让开发者可以同时训练单个网...

861
来自专栏Python中文社区

基于RNN自动生成古诗

專 欄 ❈ 作者:yonggege,Python中文社区专栏作者 GitHub地址:https://github.com/wzyonggege ❈ 0. ch...

2815
来自专栏深度学习之tensorflow实战篇

关于决策树ID3算法,熵,信息增益率的权威解释,稍后奉上python代码

决策树分类算法概述 决策树算法是从数据的属性(或者特征)出发,以属性作为基础,划分不同的类。 看了本书,叫知识发现,内容很好,果断扫描 这里...

3594
来自专栏ATYUN订阅号

Deep Photo Styletransfer的一种纯Tensorflow实现,教你如何转换图片风格

通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移。项目已开源,名字叫「Deep ...

5985
来自专栏专知

【干货】TensorFlow实战——图像分类神经网络模型

Learn how to classify images with TensorFlow 使用TensorFlow创建一个简单而强大的图像分类神经网络模型 by...

4756
来自专栏企鹅号快讯

能在不同的深度学习框架之间转换模型?微软的MMdnn做到了

Microsoft/MMdnn:深度学习框架随心切换 学习深度学习的各位同学都希望自己的模型能在不同的深度学习框架之间随意转换,比如,斯坦福大学CVGL实验室的...

5945

扫码关注云+社区

领取腾讯云代金券