python实现格兰杰因果关系检验

格兰杰因果关系检验的结论是一种统计估计,它先假设时间序列之间没有因果关系, 然后检验能否否定,如果能否定这个检验,那么这就可以验证这份时间序列数据对想要预测的目标是有效的。

目标使用b预测a,a是要得出预测结果的序列:

from statsmodels.tsa.stattools import grangercausalitytests
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0, 100, size=(10, 2)), columns=[‘a’, ‘b’])
grangercausalitytests(df[[‘a’, ‘b’]], maxlag=2)

结果:

ssr based F test: F=1.8500 , p=0.2227 , df_denom=6, df_num=1
ssr based chi2 test: chi2=2.7750 , p=0.0957 , df=1
likelihood ratio test: chi2=2.4188 , p=0.1199 , df=1
parameter F test: F=1.8500 , p=0.2227 , df_denom=6, df_num=1

Granger Causality
number of lags (no zero) 2
ssr based F test: F=0.5091 , p=0.6451 , df_denom=3, df_num=2
ssr based chi2 test: chi2=2.7152 , p=0.2573 , df=2
likelihood ratio test: chi2=2.3377 , p=0.3107 , df=2
parameter F test: F=0.5091 , p=0.6451 , df_denom=3, df_num=2

含义:
number of lags (no zero) 1:当lags为1时的检测结果
ssr based F test:残差平方和F检验
ssr based chi2 test:残差平方和卡方检验
likelihood ratio test:似然比检验结果
parr F testamete:参数 F 检验结果

参考值:主要看p值,p小于0.05才能证明b对a有效

其他参考文章
https://www.biaodianfu.com/granger-causality-test.html

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值