【发布时间】:2017-10-03 23:27:54
【问题描述】:
对于一个不同的问题,建议采用这种对 Y 进行递归回归的过程,从前 20 个观察值开始,将回归窗口一次增加一个观察值,直到覆盖整个样本:
X1 <- runif(50, 0, 1)
X2 <- runif(50, 0, 10)
Y <- runif(50, 0, 1)
df <- data.frame(X1,X2,Y)
rolling_lms <- lapply( seq(20,nrow(df) ), function(x) lm( Y ~ X1+X2, data = df[1:x , ]) )
这很好用,但是有没有办法:
- 获取前 20 个观测值的残差。
- 为每个回归一个一个地添加残差。
那么 21. 残差是来自回归的一个,包括 21 个观察值,22. 残差是来自回归的一个,包括 22 个观察值等等?
【问题讨论】:
-
lapply(rolling_lms, function(x) coef(summary(x))[,"Std. Error"]) -
一般来说,使用
str()查看对象会很有帮助。例如,大量信息存储在lm对象中,附加信息由summary计算。要查看存储的内容并了解如何访问它,我通常会查看str(object)。
标签: r recursion regression lm