0

私はこれを解決するために今日一日を費やしました..私を助けてください. ここでは非常に簡単な例を書いていますが、元のデータには膨大な数の変数があり、約 2,000 です。したがって、回帰を実行するには、特定の変数を選択する必要があります。多くのモデルを開発する必要があるため、この手順を自動的に行う必要があります。

  1. 私はステップウィーを実行します。
  2. 段階的に選択された変数の数がわかりません。
  3. 変数を選択した後、予測のためにローリング回帰を実行します。

     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 をセットアップするのは非常に困難です。

ここにも似たようなものがありますが、このモデルでは独立変数は既知です。

4

1 に答える 1