选择适当的滞后回归方程和如何解释VARselect结果

5
我的问题有两个。
如何为我的回归方程选择适当的滞后? 我有一个房价的因变量,独立变量包括租金、房屋供应、国家股票指数、抵押利率和房屋空置率。
我阅读了一些资料,并发现VARselect(data,lag.max=1或2或3等)可以帮助我选择适当的滞后。 data是一个包含以上变量的CSV文件。下面是我得到的内容。我该如何解释它?
> var=VARselect(data,lag.max=8)
> var
$selection
AIC(n)  HQ(n)  SC(n) FPE(n) 
     3      3      1      3 

$criteria
          1        2        3        4        5        6        7        8
AIC(n) 1.716881 1.575052 1.474927 1.543878 1.493210 1.651975 1.624066 1.773173
HQ(n)  1.807505 1.726093 1.686385 1.815752 1.825500 2.044682 2.077189 2.286712
SC(n)  1.962629 1.984634 2.048341 2.281125 2.394289 2.716887 2.852810 3.165750
FPE(n) 5.569664 4.841214 4.396341 4.741887 4.556023 5.424803 5.393498 6.451249

我想说的是,我想找出租金、房屋供应量、国家股市指数、抵押贷款利率和房屋空置率与房价之间应该有多少滞后期,以创建一个“足够好”的模型。

如果有其他方法可以帮助我找出应该怎么做,请告诉我代码。谢谢。


我对这种方法的不灵活感到失望——它只评估1:p滞后选择,而不是选择比如说滞后1、3、6、12,这些选择提供的拟合效果比1:6所有滞后一起更好。我仍在手动编写更“复杂”的滞后选择代码——有没有人能为R提供更强大的滞后选择方法建议? - MichaelChirico
2个回答

6

请查看vars包的文档,特别是VARselect函数(与?VARselect提供相同的信息,但格式更易读)。

$selection对象告诉您通过最小化四个标准(AkaikeHannan-QuinnSchwarzFinal Prediction Error)选择的总滞后阶数;

$criteria对象告诉您给定滞后阶数的每个标准的值(例如,$criteria[3L, p]告诉您第p 个滞后规范的Schwarz准则值)。如果有许多具有类似准则值的滞后阶数,则此信息可能很有用,允许您选择更简洁的规范,如果最小化器将p设置得非常高,则较低的p值会给您提供类似的准则。

还请注意,如果只运行VARselect(data),它将评估联合拟合模型的准则--我不确定您的目标是什么,但从您的问题中看来,您可能想要分别为数据中的每个列评估滞后选择过程。为此,您需要运行lapply(data, VARselect)


4
我认为AIC和SC测试是实践中最常用的方法,特别是AIC有良好的文献记录(参见:Helmut Lütkepohl,《多元时间序列分析的新介绍》)。
正确的答案是没有一种方法被知道能给出最好的结果 - 这就是它们都还在vars包中的原因。
为了得到你自己模型的好想法,可以对所有变量/特定子集进行上述测试,然后看哪个测试得到一致的值。然后考虑你数据的频率(每日、每周、每月、每年?),并做出明智的决策。如果你有每月的数据,那么你上面提到的因素确实会影响6个月后的情况,比如房屋供应与房价 - 因为房屋建造/空置的速度不是很快。
如果你不确定滞后信息准则在VAR模型中的作用 - 在'vars'包的VAR函数中有一个输入字段,你可以直接输入AIC、SC等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接