R语言做面板VAR例子

您所在的位置:网站首页 r语言var模型 R语言做面板VAR例子

R语言做面板VAR例子

2023-05-30 04:24| 来源: 网络整理| 查看: 265

面板VAR步骤:

(1)对各变量做平稳性检验(IPS、PP、ADF、LLC等方法检验)

是逐个变量检验??还是一起检验??

(2)面板数据的最优滞后阶数确定(AIC和SIC方法)

(3)在PVAR系统中进行Wald-Granger检验

(4)面板VAR估计

(5)脉冲效应

(6)面板方差分解

R语言例子:

文件pvar.csv数据结构如下:

数据包括4个内生变量("income","tax","inds","invest")、4个外生变量("cons","fin","open","profit"))以及2个指示变量("id"、“year”),两个指示变量分别为id和year分别标记样本数据点对应的地区和年份。

代码步骤:

1.读入数据文件,加载plm包

###读取外部数据pvar.csv,保存为.CSV格式的数据 data=read.csv("pvar.csv",head=T,sep=",") ###加载plm包 library(plm)

2.转换成plm包可识别的面板数据格式 

###使用pdata.frame()函数将外部读取的数据转换为plm包可以识别的面板格式, 使用index参数标记名为id和year的列,分别对应地区和时间。 注意,新版的plm包已经不再支持plm.data()函数来生成面板格式的数据, 基于plm包的其它包必须使用pdata.frame()生成可识别的面板格式的数据 pdata=pdata.frame(data,index=c("id","year"))

3.检验各个变量的平稳性,例如income变量

###使用plm包中的purtest()进行面板数据的平稳性检验。 其中,参数object设定待检验变量; exo参数设定是否包含截距项和趋势项,使用“intercept”和“trend”进行定义; test参数定义面板平稳性检验的方法,包括常用的IPS方法,该函数指定了5种不同的面板平稳性检验方法 lags参数定义信息准则,作为滞后标准,使用“AIC”和“SIC”进行定义; pmax参数定义最大滞后期; purtest(object=pdata[,3],exo="intercept",test="ips",lags="AIC",pmax=4)

 

P值小于0.05,说明income变量序列平稳。

4.加载进行面板VAR模型估计所用的包

###加载panelvar包进行面板VAR模型的估计,其中包括OLS估计方法和GMM估计方法。 library(panelvar)

5.用pvargmm()函数进行GMM-PVAR模型的分析

注:不知道怎么用R语言确定面板数据最优滞后阶数

###使用pvargmm()函数进行GMM-PVAR模型的分析。 其中,data参数定义数据集; dependent_vars参数定义内生变量,使用c()函数限定data数据集中的内生变量的变量名,注意字符必须使用“”; exog_vars参数定义外生变量,使用c()函数限定data数据集中的外生变量的变量名,注意字符必须使用“”; lags参数定义滞后期; transformation参数定义GMM模型的类型,包括水平模型和差分模型; steps参数定义GMM模型的估计程序,包括一步估计、两步估计和多步估计; max_instr_dependent_vars以及 max_instr_predet_vars定义GMM模型工具变量的滞后期,我们按照面板GMM的常规设置,设为99期。 gmmlag5=pvargmm(dependent_vars=c("income","tax","inds","invest"),data=pdata,lags=5,exog_vars=c("cons","fin","open","profit"),transformation="fd",steps="twostep",max_instr_dependent_vars=99,max_instr_predet_vars=99) gmmlag5

内生变量均当一次因变量,再加上外生变量(自变量) 

 

 

上表中:***代表 p < 0.001, **代表 p < 0.01, *代表 p < 0.05

6.对GMM估计结果进行过度识别检验(对于GMM估计,使用hansen_j_test()函数检验是否过度识别)

如果使用2sls估计估计,则用Sargan’s(1958)和Basman’s(1960)卡方统计量,这也是Wooldridge’(1995)稳健得分检验。如果采用liml估计方法,则用Anderson and Rubin’s(1950) 卡方统计量以及Basmann F统计量;如果采用GMM估计,则用hansen’s(1982)J统计量。

过度识别检验用来检验模型工具变量是否为外生变量。其原假设是:工具变量是外生的。若拒绝原假设,则说明存在工具变量与扰动项相关。

###使用hansen_j_test()函数对GMM估计结果进行过度识别检验 hansen_j_test(gmmlag5)

 

结果P值大于0.05,说明接受原假设,即模型选择的工具变量时外生的,这符合工具变量选择要求。

7.对VAR估计结果进行稳定性检验

###使用stability()函数对VAR估计结果进行稳定性检验 stability(gmmlag5)

 

所有特征值均在单位圆内,说明模型稳定。 

8.使用oirf()函数进行脉冲响应分析

###使用oirf()函数进行脉冲响应分析,$income为income是冲击变量,下面的数据框为对应变量的响应值。 oirf(gmmlag5,n.ahead=10)

 

上表为四个内生变量分别作因变量时,其他变量对因变量的脉冲响应值。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3