R 中 xts 的回归

标签 r time-series xts zoo lm

是否有一个实用程序可以使用以下类型的 xts 对象运行回归:

lm(y ~ lab(x, 1) + lag(x, 2) + lag(x,3), data=as.data.frame(coredata(my_xts)))

其中 my_xts 是一个 xts 对象,其中包含 xy。问题的关键是有没有一种方法可以避免进行一堆滞后并合并以获得具有所有滞后的 data.frame ?我认为 dyn 包适用于 zoo 对象,因此我希望它能以与 xts 相同的方式工作,但尽管可能有一些更新.

最佳答案

dyn 和 dynlm 包可以对 Zoo 对象执行此操作。对于 dyn,只需编写 dyn$lm 而不是 lm 并传递给它一个 Zoo 对象而不是数据帧。

请注意,xts 中的 lag 与通常的 R 约定相反,因此如果 x 属于 xts 类,那么如果 x 属于 Zoo 或 ts 类,则 lag(x, 1) 与 lag(x, -1) 相同。

> library(xts)
> library(dyn)
> x <- xts(anscombe[c("y1", "x1")], as.Date(1:11)) # test data
> dyn$lm(y1 ~ lag(x1, -(1:3)), as.zoo(x))

Call:
lm(formula = dyn(y1 ~ lag(x1, -(1:3))), data = as.zoo(x))

Coefficients:
     (Intercept)  lag(x1, -(1:3))1  lag(x1, -(1:3))2  lag(x1, -(1:3))3  
         3.80530           0.04995          -0.12042           0.46631  

关于R 中 xts 的回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893138/

相关文章:

r - 是否有解决 R 2.15.2 中 do.call(cbind.xts,...) 性能缓慢的解决方法?

r - ggplot2的二分网络图

r - 如何使用 purrr 匹配查找表中的记录?

r - 在 xyplot 中用误差线绘制 SE

r - 使用 facet_wrap 在 ggplot2 中绘制时间序列数据

python - Keras LSTM 训练。如何调整我的输入数据?

python - 如何使用神经网络预测峰值(最好在 python 中使用 neurolab 或 pybrain)

R生成一个1分钟的间隔时间序列

R : Tick data adding value when tick data is missing

r - 在 R 中使用 plyr 制作更好的汇总统计表