全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
22519 2
2014-03-13
各位大侠,我在做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、但是——这两种方法得到的结果是不相同的。


因此我想请教大家,这两种方法哪一种方法对,还是都不对或有更好的方法?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-1-26 15:53:14
因为你第一个命令里面没有写“selectlags”,所以第一种默认情况下用的是Fixed又算了一遍,而不是AIC准则而第二个写了,就用的是AIC

这函数里面全套的是——
ur.df(y, type = c("none", "drift", "trend"), lags = 1,
selectlags = c("Fixed", "AIC", "BIC"))

lags = 1是默认的,可以修改

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-2-2 14:37:58
DM小菜鸟 发表于 2015-1-26 15:53
因为你第一个命令里面没有写“selectlags”,所以第一种默认情况下用的是Fixed又算了一遍,而不是AIC准则而 ...
那可以请教下lags该如何选择吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群