我需要编写一个程序,它将执行多个模型和预测。 首先,程序选择最佳变量。 然后,他做了一个模型并进行了预测(有几个时期)
我在第一步中收到多个x时遇到问题
(来源: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,此过程应该是什么样子