关于时间序列分析的协整检验、脉冲响应图、方差分解图和格兰杰因果检验

1、关于时间序列中分的析过程

step1. 单位根检验。一般来说,时间序列进行分析之前应该先检验是否存在单位根,如是,则需要进行差分转换,否则可以直接进行var(vector autoregression),这里不讨论arma(Autoregressive moving average model,自回归滑动平均模型)。

step2. 协整检验,这里推荐使用stata的vecrank秩检验。一般需要至少存在一个协整关系检验显著(常用5%水平)。如果不存在协整,后续步骤没有意义。本步骤及以下步骤都应该采用原始时间序列数据,而非差分后数据。

step3. vecm误差修正模型估计,stata命令vec,得出长期协整方程和短期vecm模型

step4. vec模型检验包括:残差自相关检验、残差是否服从正态分布以及模型平稳性检验。

step5. 基于以上工作,可以得到脉冲响应函数图和预测方差分解图。本步骤目的是分析影响response变量的因素是哪些?为最终结果分析提供参考。stata中的irf命令,impulse是脉冲变量,response是响应变量,主要是分析脉冲变量对响应变量的影响。

2、格兰杰检验

格兰杰检验中要求时间序列有两个条件,一是应该平稳序列,二是同阶协整。这两个符合一个就可以进行格兰杰检验(注意,有资料说,不需要这两个条件,也可以直接进行granger test!!!!!,建议根据自己研究目标来确定。)

如果是非平稳序列,对于格兰杰检验来说,则需要首先进行差分得到平稳序列后再进行分析。注意这里的分析数据是差分后的数据,而不是原始时间序列数据。

格兰杰检验首先要做var,之后直接使用vargranger,也可以使用test命令。如下

3、总结

以上没有给出具体太多概念和理论,重在过程和步骤,理论方面的在很多计量书中可以查询得到。按照以上大致步骤可以满足大部分实证研究需要。

此外,应该注意的是,格兰杰test和协整test并不是非要放到一起,可以根据需要只做其中一个。

  • 11
    点赞
  • 153
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,您提出的这些问题都是关于时间序列分析方面的,非常专业。以下是我的回答: 1、单位根检验协整检验时间序列分析中一种非常重要的方法,可以用来检测时间序列数据的平稳性和协整性。在Python中,可以使用statsmodels库中的adfuller()和coint()函数来进行单位根检验协整检验。 例如,可以通过以下代码进行单位根检验: from statsmodels.tsa.stattools import adfuller result = adfuller(data) print('ADF Statistic: %f' % result[0]) print('p-value: %f' % result[1]) print('Critical Values:') for key, value in result[4].items(): print('\t%s: %.3f' % (key, value)) 其中,data是你需要进行单位根检验的时间序列数据。 同样地,协整检验可以使用以下代码实现: from statsmodels.tsa.stattools import coint result = coint(y1, y2) print('Cointegration test p-value: %f' % (result[1])) 其中,y1和y2是你需要进行协整检验的两个时间序列数据。 2、协整估计和ECM建立是在协整检验的基础上进行的,可以使用statsmodels库中的OLS()函数来进行估计和建模。 例如,可以通过以下代码实现: import statsmodels.api as sm X = sm.add_constant(data1) model = sm.OLS(data2, X) results = model.fit() print(results.summary()) 其中,data1和data2是你需要进行协整估计和ECM建立的两个时间序列数据。 3、VAR模型分析是时间序列分析中常用的一种方法,可以用来探索时间序列之间的因果关系。在Python中,可以使用statsmodels库中的VAR()函数来进行VAR模型分析。 例如,可以通过以下代码实现: from statsmodels.tsa.vector_ar.var_model import VAR model = VAR(data) results = model.fit(maxlags=2, ic='aic') print(results.summary()) 其中,data是你需要进行VAR模型分析的时间序列数据。 在VAR模型分析中,Granger因果性检验脉冲响应方差分解是非常有用的工具。在Python中,可以使用statsmodels库提供的不同函数来实现这些分析。 例如,可以通过以下代码实现Granger因果性检验: from statsmodels.tsa.stattools import grangercausalitytests result = grangercausalitytests(data, maxlag=2, verbose=False) print(result) 其中,data是你需要进行Granger因果性检验的时间序列数据。 还可以使用以下代码实现脉冲响应分析: irf = results.irf(10) irf.plot(orth=False) 其中,results是你进行VAR模型分析后得到的结果。 最后,可以使用以下代码实现方差分解分析: from statsmodels.tsa.vector_ar.var_model import VARResults fevd = results.fevd(10) print(fevd) 其中,results是你进行VAR模型分析后得到的结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值