回归和预测几个变量

时间:2019-07-29 11:02:07

标签: r

我需要编写一个程序,它将执行多个模型和预测。 首先,程序选择最佳变量。 然后,他做了一个模型并进行了预测(有几个时期)

我在第一步中收到多个x时遇到问题

data
(来源:matma4u.pl

我写了整个代码,但它并不总是有效

for(yi in 13:18)
{
  DH_Data=cbind(Data_Merge[,c(3:11,yi)])
  H_Data=cbind(Data_Merge[11:15,c(3:11,yi)])#first variables, later yi

  N=length(H_Data)-1     
  M=2^N-1              


  zm_obj=H_Data[,1:N]    
  r=cor(zm_obj)               
  r=as.matrix(abs(r))         
  R=cor(zm_obj,H_Data[,N+1])   
  R=as.vector(R)              

    tab=as.matrix(expand.grid(rep(list(0:1), N)))[-1,]     #possible combinations of variables

  wyniki=matrix(0,M,N)        #clean blackboard

  for(i in 1:M)
  {
    for(j in 1:N)
    {
      if(tab[i,j]!=0){wyniki[i,j]=(R[j]^2)/(tab[i,]%*%(as.vector(r[,j])))}
    }
  } 
  Duze_H=cbind(wyniki,rowSums(wyniki))
  maks=which.max(rowSums(wyniki))
  wybrane_wektor=tab[maks,]

  X_do_model=H_Data[,which(tab[maks,]==1)]

  #------------

  model_flash=lm(Data_Merge[11:15,yi]~X_do_model)
  summary(model_flash)$r.squared

  summary(model_flash)$coefficient[1]

  new.df <- data.frame(X_do_model=DH_Data[16:17,which(tab[maks,]==1)])

  predict(model_flash, new.df)

  Data_Merge[16:17,yi]=predict(model_flash, new.df)
}

选择两个或更多解释变量时不起作用。 您应该尽可能多地进行预测。 请说明如何解决

我还可以通过什么其他方式为模型选择变量? 如果我想使用ARIMAX,此过程应该是什么样子

0 个答案:

没有答案