用python做时间序列预测六:相关函数图、偏相关函数图、滞后图

经典的时间序列预测方法都是假设如果一个时间序列有显著的自相关性,那么历史值对预测当前值会很有帮助,但是究竟取多少阶的历史值,就需要通过分析相关函数图和偏相关函数图来得到。本文介绍如何什么是相关函数图和偏相关函数图,另外还会介绍一下滞后图。

什么是自相关和偏自相关函数?

  • 先来解释下滞后阶数n,如果当前值和前2期的值有关,则n=2,那么可以用时间序列和它的2阶滞后序列来训练一个自回归模型,预测未来的值。
  • 自相关函数(ACF)表达了时间序列和n阶滞后序列之间的相关性(考虑了中间时刻的值的影响,比如t-3对t的影响中,就同时考虑了t-2,t-1对t的影响)。
  • 偏自相关函数(PACF)表达了时间序列和n阶滞后序列之间的纯相关性(不考虑中间时刻的值的影响,比如t-3对t的影响中,不会考虑t-2,t-1对t的影响)。如果用自回归方程来预测t时刻的值,则各滞后阶数的系数就是各滞后阶数下的偏自相关值,比如下面方程的α1,α2,α3,分别是1阶滞后,2阶滞后,3阶滞后下的偏自相关值。

ACF 和 PACF 可视化


  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在进行时间序列预测时,通常需要先对时间序列进行分析和建模。其中,相关函数偏相关函数滞后是非常有用的工具。 首先,相关函数(Correlogram)是用来研究时间序列的自相关性的。它显示了时间序列在不同滞后期的自相关系数。在Python中,可以使用statsmodels库的plot_acf函数绘制相关函数。例如: ```python import pandas as pd import statsmodels.api as sm import matplotlib.pyplot as plt # 读取时间序列数据 data = pd.read_csv('data.csv', index_col='date', parse_dates=True) # 绘制相关函数 fig, ax = plt.subplots(figsize=(10, 5)) sm.graphics.tsa.plot_acf(data['value'], lags=50, ax=ax) plt.show() ``` 接着,偏相关函数(Partial Correlogram)是用来研究时间序列的偏自相关性的。它显示了时间序列在不同滞后期的偏自相关系数。在Python中,可以使用statsmodels库的plot_pacf函数绘制偏相关函数。例如: ```python import pandas as pd import statsmodels.api as sm import matplotlib.pyplot as plt # 读取时间序列数据 data = pd.read_csv('data.csv', index_col='date', parse_dates=True) # 绘制偏相关函数 fig, ax = plt.subplots(figsize=(10, 5)) sm.graphics.tsa.plot_pacf(data['value'], lags=50, ax=ax) plt.show() ``` 最后,滞后(Lag Plot)是用来研究时间序列的自相关性的。它显示了时间序列与其自身在一个或多个滞后期的散点。在Python中,可以使用pandas库的lag_plot函数绘制滞后。例如: ```python import pandas as pd import matplotlib.pyplot as plt # 读取时间序列数据 data = pd.read_csv('data.csv', index_col='date', parse_dates=True) # 绘制滞后 pd.plotting.lag_plot(data['value']) plt.show() ``` 以上就是用Python绘制时间序列分析中常用的相关函数偏相关函数滞后的方法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值