私はこれを解決するために今日一日を費やしました..私を助けてください. ここでは非常に簡単な例を書いていますが、元のデータには膨大な数の変数があり、約 2,000 です。したがって、回帰を実行するには、特定の変数を選択する必要があります。多くのモデルを開発する必要があるため、この手順を自動的に行う必要があります。
- 私はステップウィーを実行します。
- 段階的に選択された変数の数がわかりません。
変数を選択した後、予測のためにローリング回帰を実行します。
library(car) library(zoo) # run regression m <- lm(mpg~., data=mtcars) # run stepwise s<-step(m, direction="both") # select variables variable<- attr(s$terms,"term.labels") b<-paste(dep,paste(s, collapse="+"),sep = "~") rollapply(mtcars, width = 2, FUN = function(z) coef(lm(b, data = as.data.frame(z))), by.column = FALSE, align = "right")
#これが私が開発した自動モデルです..
models2 <- lapply(1:11, function(x) { dep<-names(mtcars)[x] ind<-mtcars[-x] w<-names(ind) indep<-paste(dep,paste(w, collapse="+"),sep = "~") m<-lm(indep,data=mtcars) s<-step(m, direction="both") b<-paste(dep,paste(s, collapse="+"),sep = "~") rollapply(mtcars, width = 2, FUN = function(z) coef(lm(b, data = as.data.frame(z))), by.column = FALSE, align = "right")})
ローリング回帰から予測を計算したい..
ただし、独立変数に関する事前知識なしに data.frame をセットアップするのは非常に困難です。