博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python时间序列因果检验_用python做时间序列预测八:Granger causality test(格兰杰因果检验)...
阅读量:1529 次
发布时间:2019-04-21

本文共 1576 字,大约阅读时间需要 5 分钟。

如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验)。

Granger causality test的思想

如果使用时间序列X和Y的历史值来预测Y的当前值,比仅通过Y的历史值来预测Y的当前值得到的误差更小,并且通过了F检验,卡方检验,则X对Y的预测是有一定帮助的。

了解了Granger causality test的思想之后会发现,其实Granger causality test最多能推断出X对Y的预测是有一定帮助的,至于是否能说X和Y是因果关系,则不一定。

进一步了解可以去这里:https://www.zhihu.com/question/34787362

python代码

python的statsmodel包的grangercausalitytests函数中提供了很好的实现。

该方法接收一个包含2列的2维的数组作为主要参数:

第一列是当前要预测未来值的序列A,第二列是另一个序列B,该方法就是看B对A的预测是否有帮助。该方法的零假设是:B对A没有帮助。如果所有检验下的P-Values都小于显著水平0.05,则可以拒绝零假设,并推断出B确实对A的预测有用。

第二个参数maxlag是设定测试用的lags的最大值。

我们使用关于澳大利亚药物销售的数据集做预测,并利用Granger causality检测‘月份’这个序列是否对数据集的预测用。

from statsmodels.tsa.stattools import grangercausalitytests

df = pd.read_csv(‘https://raw.githubusercontent.com/selva86/datasets/master/a10.csv‘, parse_dates=[‘date‘])

df[‘month‘] = df.date.dt.month

grangercausalitytests(df[[‘value‘, ‘month‘]], maxlag=2)

输出结果:

Granger Causality

number of lags (no zero) 1

ssr based F test: F=54.7797 , p=0.0000 , df_denom=200, df_num=1

ssr based chi2 test: chi2=55.6014 , p=0.0000 , df=1

likelihood ratio test: chi2=49.1426 , p=0.0000 , df=1

parameter F test: F=54.7797 , p=0.0000 , df_denom=200, df_num=1

Granger Causality

number of lags (no zero) 2

ssr based F test: F=162.6989, p=0.0000 , df_denom=197, df_num=2

ssr based chi2 test: chi2=333.6567, p=0.0000 , df=2

likelihood ratio test: chi2=196.9956, p=0.0000 , df=2

parameter F test: F=162.6989, p=0.0000 , df_denom=197, df_num=2

每个检验的p值都小于5%,所以可以说月份对澳大利亚药物销售的预测有用,或者说药物的销售可能存在季节性。

ok,本篇就这么多内容啦~,下一篇将介绍时间序列预测常用的模型ARIMA,感谢阅读O(∩_∩)O。

原文:https://www.cnblogs.com/anai/p/13083048.html

你可能感兴趣的文章
牛客网 - [中南林业科技大学第十一届程序设计大赛]兑换零钱(背包问题)
查看>>
HDU - Robberies(01背包)
查看>>
HDU - 最大报销额(01背包|贪心)
查看>>
HDU - Coins(完全背包)
查看>>
JXFCZX — 砝码称重1(DFS+背包)
查看>>
JXFCZX — 质数和分解(完全背包)
查看>>
JXFCZX — 花店橱窗(动态规划)
查看>>
JXFCZX — 逃亡的准备(多重背包)
查看>>
JXFCZX — 庆功会(多重背包)
查看>>
AcWing - 扩展欧几里得算法(扩欧)
查看>>
AcWing - 高斯消元解线性方程组(高斯消元)
查看>>
AcWing - 求组合数 I(递推)
查看>>
AcWing - 求组合数 II(预处理&逆元)
查看>>
AcWing - 求组合数 III(lucas&逆元)
查看>>
AcWing - 求组合数 IV(分解质因数)
查看>>
AcWing - 满足条件的01序列(组合数学&卡特兰数)
查看>>
AcWing - 快速排序(快排)
查看>>
AcWing - 归并排序(归排)
查看>>
AcWing - 数的范围(二分)
查看>>
AcWing - 数的三次方根(二分)
查看>>