滞后因变量

时间:2015-04-28 21:15:36

标签: r time-series

我想使用R计算以下时间序列回归:

$ \ Delta y_t = \ beta_1 \ Delta x_t + \ beta_2 \ Delta z_t + \ beta_3 \ Delta m_t + \ beta_4 \ Delta y_ {t-1} $

由于我没有那么多R的经验,我想问下面的R代码是否能给我我想要的东西:

y <- ts(diff(YY))
x <- ts(diff(XX))
z <- ts(diff(ZZ))
m <- ts(diff(MM))
l1 <- lag(y, k=-1)
int <- ts.intersect(y, x, z, m, l1)
reg1 <- lm(y~x+z+m+l1, data=int)
summary(reg1)` 

很抱歉,但我的公式中找不到拼写错误。

以下是数据样本:

Date         YY     XX       ZZ      MM
03.01.2005  2.154   2.089   0.001   344999
04.01.2005  2.151   2.084   0.006   344999
05.01.2005  2.151   2.087   -0.007  333998
06.01.2005  2.15    2.085   -0.005  333998
07.01.2005  2.146   2.086   -0.006  333998
10.01.2005  2.146   2.087   -0.007  333998
11.01.2005  2.146   2.089   -0.009  333998
12.01.2005  2.145   2.085   -0.005  339999
13.01.2005  2.144   2.084   -0.004  339999
14.01.2005  2.144   2.085   -0.005  339999
17.01.2005  2.143   2.085   -0.005  339999
18.01.2005  2.144   2.085   -0.005  347999
19.01.2005  2.143   2.086   -0.006  354499
20.01.2005  2.144   2.087   -0.007  354499
21.01.2005  2.143   2.087   -0.007  354499
24.01.2005  2.143   2.086   -0.006  354499
25.01.2005  2.144   2.086   -0.006  354499
26.01.2005  2.143   2.086   -0.006  347999
27.01.2005  2.144   2.085   -0.005  352998
28.01.2005  2.144   2.084   -0.004  352998
31.01.2005  2.142   2.084   -0.004  352998
01.02.2005  2.142   2.083   -0.003  352998
02.02.2005  2.141   2.083   -0.003  357499
03.02.2005  2.144   2.088   -0.008  357499
04.02.2005  2.142   2.084   -0.004  357499
07.02.2005  2.142   2.084   -0.004  359999
08.02.2005  2.141   2.083   -0.003  355500

我尝试了fg nu回答我原来的问题,但收到错误信息。 1. zooX = zoo(test4[, -1], order.by = test4$Date)这个命令工作正常。 (我的数据集的第一列是日期列,因此我的数据集看起来与我的问题中的数据样本完全相同。) 2.我运行了回归:lmX = dynlm(d(YY) ~ d(XX) + d(ZZ) + d(MM) + L(YY, 1), data = zooX)这里我收到以下错误消息:Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases In addition: Warning message: In dynlm(d(YY) ~ d(XX) + d(ZZ) + d(MM) + L(YY, 1), data = zooX) : empty model frame specified我监督的错误是什么?

1 个答案:

答案 0 :(得分:1)

使用dynlm包。以下是使用您提供的数据的示例:

library(dynlm)

dfX = read.table(
  textConnection(
    "Date         YY     XX       ZZ      MM
  03.01.2005  2.154   2.089   0.001   344999
  04.01.2005  2.151   2.084   0.006   344999
  05.01.2005  2.151   2.087   -0.007  333998
  06.01.2005  2.15    2.085   -0.005  333998
  07.01.2005  2.146   2.086   -0.006  333998
  10.01.2005  2.146   2.087   -0.007  333998
  11.01.2005  2.146   2.089   -0.009  333998
  12.01.2005  2.145   2.085   -0.005  339999
  13.01.2005  2.144   2.084   -0.004  339999
  14.01.2005  2.144   2.085   -0.005  339999
  17.01.2005  2.143   2.085   -0.005  339999
  18.01.2005  2.144   2.085   -0.005  347999
  19.01.2005  2.143   2.086   -0.006  354499
  20.01.2005  2.144   2.087   -0.007  354499
  21.01.2005  2.143   2.087   -0.007  354499
  24.01.2005  2.143   2.086   -0.006  354499
  25.01.2005  2.144   2.086   -0.006  354499
  26.01.2005  2.143   2.086   -0.006  347999
  27.01.2005  2.144   2.085   -0.005  352998
  28.01.2005  2.144   2.084   -0.004  352998
  31.01.2005  2.142   2.084   -0.004  352998
  01.02.2005  2.142   2.083   -0.003  352998
  02.02.2005  2.141   2.083   -0.003  357499
  03.02.2005  2.144   2.088   -0.008  357499
  04.02.2005  2.142   2.084   -0.004  357499
  07.02.2005  2.142   2.084   -0.004  359999
  08.02.2005  2.141   2.083   -0.003  355500"
  ), header = TRUE)
dfX$Date = as.Date(dfX$Date, format = "%d.%m.%Y")

# convert to zoo format
zooX = zoo(dfX[, -1], order.by = dfX$Date)

# run a regression with time transformed regressors
lmX = dynlm(d(YY) ~ d(XX) + d(ZZ) + d(MM) + d(L(YY, 1)), data = zooX)
summary(lmX)

这给出了输出:

> summary(lmX)

Time series regression with "zoo" data:
Start = 2005-01-05, End = 2005-02-08

Call:
dynlm(formula = d(YY) ~ d(XX) + d(ZZ) + d(MM) + d(L(YY, 1)), 
    data = zooX)

Residuals:
       Min         1Q     Median         3Q        Max 
-0.0039592 -0.0003746  0.0000854  0.0006254  0.0018715 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)  
(Intercept) -5.008e-04  2.766e-04  -1.811   0.0853 .
d(XX)        2.943e-01  2.409e-01   1.222   0.2359  
d(ZZ)        2.038e-03  1.715e-01   0.012   0.9906  
d(MM)        7.808e-08  8.251e-08   0.946   0.3553  
d(L(YY, 1)) -1.677e-01  2.103e-01  -0.797   0.4346  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.001248 on 20 degrees of freedom
Multiple R-squared:  0.2579,    Adjusted R-squared:  0.1095 
F-statistic: 1.738 on 4 and 20 DF,  p-value: 0.1813