时间序列自相关性检验方法

时间序列的自相关是指一个给定时间点的时间序列中的值可能与另一个时间点的值具有相关性,也可以指序列数据中具有固定距离的任意两点之间是否存在相关性。

import wooldridge as woo
import pandas as pd
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf

barium = woo.dataWoo('barium')
T = len(barium)
barium.index = pd.date_range(start='1978-02', periods=T, freq='M')
# print(barium.head())

reg = smf.ols(formula='np.log(chnimp) ~ np.log(chempi) + np.log(gas) +'
                      'np.log(rtwex) + befile6 + affile6 + afdec6',
              data=barium)
results = reg.fit()
resid = results.resid#获取残差

1.图示法

由于残差ete_tet可以作为扰动项μt\mu_tμt的估计,因此,如果存在序列相关性,必然会由残差项ete_tet反映出来,因此可以用ete_tet的变化图形来判断随机干扰项的序列相关性。

1.1 滞后图

滞后图,就是将残差ete_tet和残差滞后nnn阶的散点图,需要用到pandaslag_plot函数。

from pandas.plotting import lag_plot
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style='whitegrid')
plt.figure(dpi=160)
lag_plot(resid, lag=1)
<Axes: xlabel='y(t)', ylabel='y(t + 1)'>

在这里插入图片描述

# 残差与滞后1-4阶的图
fig, axes = plt.subplots(1, 4, figsize=(16,5), dpi=300, sharex=True, sharey=True)

for i in range(4):
    lag_plot(resid, lag=i+1, ax=axes[i])
    axes[i].set_title(f'Lag{
     
     i+1}')

在这里插入图片描述

1.2 自相关图

自相关图的绘制,可以使用pandasautocorrelation_plot函数

from pandas.plotting import autocorrelation_plot

plt.figure(dpi=160)
autocorrelation_plot(resid)
plt.show
<function matplotlib.pyplot.show(close=None, block=None)>

在这里插入图片描述

1.3 自相关图和偏自相关图

自相关系数和偏自相关系数的区别

  • 假设时间序列数据yty_tyt
  • yt=α0+α1yt−1y_t=\alpha_0 + \alpha_1y_{t-1}yt=α0+α1yt1α1\alpha_1α1就是yty_ty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值