如何用R做向量自回归模型

Python09

如何用R做向量自回归模型,第1张

请问如何用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的名字

不确定最优滞后阶数的时候按默认的1 2建立VAR,然后在var估计结果窗口中点击view/lag structure/lag length criteria 输入最大滞后阶数,以*号最多的阶数确定滞后阶数。如果是5的话重新建立VAR,lags intervals for endogenous为 1 5.

先将VAR回归(QUICk下拉选项的最后一项)——在回归窗口选VIEW选项——lag Structure——lag Length Criteria——在显示的结果中选择数据下面带星号最多的那一行对应的阶数即是最优滞后阶数

Eviews是Econometrics Views的缩写,直译为计量经济学观察,通常称为计量经济学软件包。它的本意是对社会经济关系与经济活动的数量规律,采用计量经济学方法与技术进行“观察”。另外Eviews也是美国QMS公司研制的在Windows下专门从事数据分析、回归分析和预测的工具。使用Eviews可以迅速地从数据中寻找出统计关系,并用得到的关系去预测数据的未来值。Eviews的应用范围包括:科学实验数据分析与评估、金融分析、宏观经济预测、仿真、销售预测和成本分析等。L