5

我的问题有两个。

如何为我的回归方程选择合适的滞后?我有房价的因变量,租金、房屋供应、全国股市指数、抵押贷款利率和房屋空置率的自变量。

我做了一些阅读,发现VARselect(data,lag.max=1 or 2 or 3 etc)可以帮助我选择合适的延迟。

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

我想,简而言之,我想知道的是——我应该将租金、房屋供应、全国股市指数、抵押贷款利率和房屋空置率分别滞后多少才能创建一个“足够好”的模型.

我愿意接受其他方法来帮助我找出我应该做什么,但请帮助我解决代码。谢谢。

4

2 回答 2

5

查看包的文档vars特别是VARselect函数的文档(与 相同的信息?VARselect,但格式很好)。

$selection对象告诉您的是通过最小化 4 个标准(Akaike Hannan -QuinnSchwarz最终预测误差)中的每一个选择的总滞后顺序;

对象告诉您$criteria的是在给定滞后下每个标准的值($criteria[3L, p]例如,告诉您第一个p滞后规范的 Schwarz 标准是什么)。如果有很多滞后具有相似的标准值,这可能很有用,如果最小化器p非常高,则允许您选择更简约的规范,但低得多的值会p为您提供类似的标准。

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

于 2015-04-16T20:19:02.103 回答
4

我相信 AIC 和 SC 测试是实践中最常用的,尤其是 AIC 有据可查(参见:Helmut Lütkepohl,多时间序列分析新介绍)。

正确的答案是没有一种方法可以给出最好的结果——这就是为什么它们都仍然在 vars 包中,大概。

为您自己的模型获得一个好主意的一种方法是对所有变量/特定子集进行上述测试,然后查看四个测试中的哪个测试给出了一致的值。然后将这一点与您的数据频率(每天、每周、每月、每年?)一起考虑,并做出明智的决定。如果您有月度数据,那么您上面提到的因素很可能确实会在 6 个月后产生影响,例如房屋供应与房价的关系——因为房屋的建造/腾出速度不是很快。

如果您不确定滞后信息标准在 VAR 模型中的位置 - 在包“vars”的函数 VAR 中有一个输入字段,您可以在其中输入 AIC、SC 等。

于 2014-01-21T18:23:14.313 回答