• 机器学习笔记 - 自相关和偏自相关简介


    1、概述 

            自相关和偏自相关图在时间序列分析和预测中大量使用。

            这些图表以图形方式总结了与时间序列中的观测值的关系强度以及先前时间步长的观测值。对于时间序列预测的初学者来说,自相关和偏自相关之间的区别可能很让人困惑。

            我们将了解如何使用 Python 计算和绘制自相关和偏相关图。以及了解以下内容

            如何绘制和查看时间序列的自相关函数。

            如何绘制和查看时间序列的偏自相关函数。

            用于时间序列分析的自相关函数和偏自相关函数之间的区别。

    2、最低每日温度数据集

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

            单位为摄氏度,有 3,650 个观测值。数据来源为澳大利亚气象局。

            数据集下载地址

    1. 链接:https://pan.baidu.com/s/19G9YsOKtRDXNYAKdOwBq6A
    2. 提取码:ateb

            下面加载最低每日温度并绘制时间序列图。

    1. from pandas import read_csv
    2. from matplotlib import pyplot
    3. series = read_csv('daily-minimum-temperatures.csv', header=0, index_col=0)
    4. series.plot()
    5. pyplot.show()

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

    最低每日温度数据集图

    3、相关和自相关

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

            Pearson 相关系数是介于 -1 和 1 之间的数字,分别描述负相关或正相关。零值表示没有相关性。

            我们可以计算时间序列观测值与先前时间步长的观测值的相关性,称为滞后。因为时间序列观测值的相关性是使用先前时间相同序列的值计算的,所以这称为序列相关性或自相关性。

            时间序列自相关的滞后图称为AutoCorrelation Function,或首字母缩写词 ACF。该图有时称为相关图或自相关图。

            下面是使用 statsmodels 库中的plot_acf()函数计算和绘制最低每日温度的自相关图的示例。

    1. from pandas import read_csv
    2. from matplotlib import pyplot
    3. from statsmodels.graphics.tsaplots import plot_acf
    4. series = read_csv('daily-minimum-temperatures.csv', header=0, index_col=0)
    5. plot_acf(series)
    6. pyplot.show()

            运行该示例会创建一个 2D 图,显示沿 x 轴的滞后值以及在 -1 和 1 之间的 y 轴上的相关性。

            置信区间绘制为圆锥。默认情况下,这设置为 95% 的置信区间,这表明此代码之外的相关值很可能是相关性而不是统计侥幸。

    最低日温度数据集的自相关图

             默认情况下,会打印所有滞后值,这会使绘图变得嘈杂。我们可以将 x 轴上的滞后数限制为 50,以使绘图更易于阅读。

    最低日温度数据集滞后较少的自相关图

    4、偏自相关函数

            偏自相关是时间序列中的观察与先前时间步的观察之间的关系的总结,而干预观察的关系被删除。

            观测值和前一时间步的观测值的自相关由直接相关和间接相关组成。这些间接相关性是观察相关性的线性函数,在干预时间步上观察。

            偏自相关函数试图消除的正是这些间接相关性。

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

    1. from pandas import read_csv
    2. from matplotlib import pyplot
    3. from statsmodels.graphics.tsaplots import plot_pacf
    4. series = read_csv('daily-minimum-temperatures.csv', header=0, index_col=0)
    5. plot_pacf(series, lags=50)
    6. pyplot.show()
    最低日温度数据集的偏自相关图

  • 相关阅读:
    android studio导入android源码模块开发总结
    针对舆情分析近五年参考文献的分析报告
    vivo 手机云服务建设之路-平台产品系列04
    038Node.js后端服务处理端口号被占用的解决方案portfinder
    射频信号处理知识点点滴滴
    uni-simple-router
    ETHERNET/IP转RS485/RS232自由协议网关连接AB系统的简单配置方法
    混沌系统在图像加密中的应用(时滞混沌系统)
    Django(6):详解Django路由设计
    简单记录关于Velocity的一些想法
  • 原文地址:https://blog.csdn.net/bashendixie5/article/details/125474077