r语言dm.test在哪个包里

Python015

r语言dm.test在哪个包里,第1张

r语言dm.test在R包里。常用作图函数包:ggplot2:万能,基本上excel能画的图它都能画。rattle:fancyRpartPlot函数,决策树画图函数。基础包函数:barplot、pie、dotchart、hist、densityplot、boxplot、contour等等。正态检验:qqplot、qqline、qqnorm。

请问如何用R做向量自回归模型(VAR)

要实现以下的几个步骤,数据集已经有了,请高手们可以介绍下相关的函数吗?

halfyear_vector=data.frame(hsi_ir_h_ts,cenlhkl_ir_h_ts,m2_h_ts,ue_h_ts,cpi_h_ts,exp_h_ts,gdp_h_ts)

halfyear_vector=ts(halfyear_vector,start=c(1995,1),frequency=2)

halfyear_vector

plot(halfyear_vector,plot.type="single",lty=1:7,col=1:7)

title("key indicators")

legend("topleft",c("hsi_ir_h_ts","cenlhkl_ir_h_ts","m2_h_ts","ue_h_ts","cpi_h_ts","exp_h_ts","gdp_h_ts"),lty=1:7,col=1:7)

#稳定性检验

for (i in 1:7)

{

print(kpss.test(halfyear_vector[,i],null="Level"))

print(kpss.test(halfyear_vector[,i],null="Trend"))

print(kpss.test(diff(halfyear_vector[,i]),null="Level"))

print(kpss.test(diff(halfyear_vector[,i]),null="Trend"))

}

#需求一:进行ADF检验

#格兰杰因果检验

granger.test(halfyear_vector,p=7)

#需求二:进行指标共线性判断

#需求三:进行VAR阶数判断

#VAR模型拟合

halfyear_VAR=VAR(halfyear_vector,p=3,type="both")

halfyear_VAR

#需求四:价模型的稳定性、自相关性,异方差检验

#需求五:导出VAR模型

#VAR模型预测

halfyear_VAR_Predict=predict(halfyear_VAR,n.head=1,ci=0.9999)

plot(halfyear_VAR_Predict)

#需求六:计算95%,99%,99.9%分位数的预测取值

------------

DM小菜鸟

本帖最后由 DM小菜鸟 于 2015-2-26 15:27 编辑

1. 用tseries包里面的adf.test()

2. 可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用其他的X的线性组合表示;也可以计算条件数kappa(X),k<100,说明共线性程度小,如果100<k<1000,有较强的多重共线性,k>1000,存在严重的多重共线性。可以进行逐步回归,用step()命令,比如你一开始的模型是fm,step(fm)就可以了

3. adf.test()里面就可以设滞后项的判断,adf.test(x, alternative = c("stationary", "explosive"),

k = trunc((length(x)-1)^(1/3)))

AIC准则——

计算AIC统计量,模型的残差平方和(SS)除以样本容量(n),再取对数,加上2倍的解释变量个数(k)除以样本容量.

AIC=log(SS/n)+2*k/n

寻找某一k值是AIC达到极小值,则k就是最优滞后阶数。

SC准则——

SC=log(SS/n)+log(n)*k/n

4. R里有两种检验方法是常用的,LiMcLeod{portes}可以进行多元的Portmanteau Q检验。。。protest{portes}可以进行一元的Portmanteau Q检验,把函数中的参数SquaredQ=T

还可以把序列平方之后再检验自相关性。。。也相当于进行了异方差检验。。。

自相关检验可以通过ACF图,函数是acf{stats},或者单位根检验ur.df{urca}进行ADF检验或者ur.pp{urca}进行PP检验,或者进行白噪声检验Box.test{stats},相当于检验了序列的二阶自相关性。。。

{}里面的是package的名字

问:工具变量到什么程度才合适?

对短面板数据进行GMM回归的时候,遇到两种情况:

①工具变量通过了弱工具变量检验、识别不足和过度识别检验,再用DM检验的时候还是显著的;

②工具变量通过了弱工具变量检验、识别不足和过度识别检验,但用DM检验的时候不是显著的;

看到连玉君教授的一篇文章,选了两个工具变量,汇报了工具变量通过了识别不足和过度识别检验,DWH检验显著。

由此,认为符合第一种情况表明选取的工具变量合适;但也不太确定,想听听您的看法。

答:

工具变量方法经历了两个阶段的发展。传统的工具变量方法中,在线性模型设定下,工具变量需要满足工具变量 外生性 和工具变量 相关性 两个假设,这在本科层次的计量教科书中一般都有涉及。在这种情况下,满足这两个假设的变量才是合格的工具变量。Imbens and Angrist(1994)一文的发表则将工具变量方法推向了新的阶段,在这一发展阶段,允许异质性处理效应存在,工具变量方法识别假设的提出和估计量的推导都是在Donald Rubin提出的潜在结果分析框架下进行的,此时IV估计的是局部平均处理效应,IV估计的有效性要求工具变量满足四个条件:(1)工具变量是随机产生的;(2)满足排他性约束;(3)满足单调性假设;(4)满足工具变量相关性。严格的数学表达请参见Imbens and Angrist(1994)。提问中提到的的“工具变量到什么程度才合适?”,准确的回答应该是满足上述四条假设才合适。

提问中提到的弱工具变量检验用于检验假设(4);识别不足检验只需要满足工具变量的个数多余内生变量的个数,这个通常都是满足的;过度识别检验是在假设不存在异质性处理效应的情况下,检验工具变量是否外生的一种方法,该检验只有在存在过度识别(工具变量个数(用N表示)多于内生变量个数(用K表示))的情况下才可以做,并且要求至少有K个工具变量已经满足外生性条件,这样才能检验剩下的N-K个变量是否外生。因此,总结来看过度识别假设检验需要两个很强的假设:(1)至少有K个有效地工具变量;(2)不存在异质性处理效应,因此使用过度识别检验检验工具变量的外生性并不是一种可靠地方法,其检验结果能够提供的有效性信息并不多。DM检验(此处指的应该是Davidson-MacKinnon检验)则是用于检验OLS估计量是否是一致估计,即解释变量是否存在内生性的检验方法,同更常用的Hausman test类似。有观点认为,只有当DW检验或者Hausman检验拒绝原假设,即显示OLS估计存在内生性的时候,才需要使用IV估计,因为IV估计虽然和OLS估计一样是一致估计量的,但是有效性劣于OLS估计。但是,上述内生性检验依赖于我们已经拥有了有效的工具变量,从而能够得到一致估计量,这是很强的假设,很难实现,因为找到一个符合条件的IV实在太难了,更重要的是,我们无法保证我们所使用的工具变量是有效的,所以我们也无法保证DM检验或者Hausman检验的结论一定是有效的。在这种情况下,我本人更倾向于基于变量之间的理论关系和具体的模型设定来判断OLS估计是否内生,从而决定是否需要采用工具变量方法,而不是依赖于某个检验。

参考文献:Imbens and Angrist, 1994,“Identification and Estimation of Local Average Treatment Effects”, Econometrica, 62(2): 467-475.

问:如图,自变量与交乘项多重共线性过高,怎么办?

答:

解释变量之间存在高度的共线性本身并不一定影响方程的估计。首先,当前实证研究的核心目的在于实现因果推断,即估计某一个特定解释变量X对被解释变量Y的因果关系,如果高度共线性只是存在于控制变量之间,则既不会影响X参数估计的一致性,也不会影响有效性,我们完全无需担心;其次,如果我们关心的变量X同其他控制变量,例如变量Z之间存在高度共线,则共线性本身不影响我们估计的一致性,但是会影响估计的有效性。在第二种情况下,如果Z本身对Y有影响,遗漏Z会导致严重的遗漏变量偏误,因此,根据一致性优先于有效性的原则,我们仍然需要控制变量Z;如果Z本身对Y没有影响,则Z属于无关变量,遗漏Z不会影响一致性,但能够改善有效性,我们应该从方程中去掉Z。

学术指导:张晓峒老师

本期解答人:张川川老师

编辑:粥粥 小精灵 一个聪慧的人

统筹:芋头

技术:知我者