各位大侠,我在做VAR模型过程中,需要对变量进行单位根检验,利用ur.df函数,ur.df(x,type="",lags="",selectlags="")。关于滞后阶数的选择标准一般是AIC和SC准则。在ur.df()函数中,若selectlags不选择的话,内生变量的滞后阶数默认是lags;若selectlags选择的话,lags作为最大滞后阶数。
举个例子:
1、adf1 <- ur.df(x, type = "trend", lags = 2),lag=2是根据AIC准则确定的。过程是我分别从ar(1)模型拟合到ar(4)模型,选择AIC值最小的模型ar(2),因此设定lags=2;
2、直接用adf2 <- ur.df(x, type = "trend", lags = 4,selectlags="AIC")。
3、但是——这两种方法得到的结果是不相同的。
因此我想请教大家,这两种方法哪一种方法对,还是都不对或有更好的方法?