使用R的多元回归预测负面预测

时间:2014-08-12 07:17:48

标签: r gam

我在使用R中的Multiple Regression- GAM 预测预测时遇到问题。目标是使用各种自变量和虚拟变量预测因变量的预测,我有大约2年多的时间我在测试和培训数据之间分配的数据。但在预测因变量时,它预测为负值,这是错误的。作为输入给出的数据,从属变量和独立变量都没有负值。因变量(被预测)通常是一个很小的值,大多数在0到25之间。其中作为因子使用的自变量很少,为0-20,很少有数百万。

有人可以帮我这个吗?问题是什么?如何纠正? 提前谢谢。

@Oliver - 我一直在使用的代码:

setwd("C:/Users/11th Aug")
ImpZs <- read.table("Train2.csv",sep=",",quote="\"",header=TRUE)
ImpZs <- ImpZs[complete.cases(ImpZs),]
PredZs <- read.table("Test2.csv",sep=",",quote="\"",header=TRUE)
library(base)
Zs <- unique(ImpZs$Z)
attach(PredZs)
attach(ImpZs)
ZsPred <- unique(PredZs$Z)
length(ZsPred)
bP <- 1
PGW2 <- data.frame(cbind(bP,1))
GResults1 <- data.frame(cbind(b,summary(GAM)$adj.r.squared,Accur))
Predict <- Accuracy
for (i in 1:length(Zs)){ 
  b <- Zs[i]
  temp <- ImpZs[ImpZs$Z==Zs[i],]
  temp <- temp[complete.cases(temp),]
  attach(temp)
  GAM <- lm(X~ns(TU,df=10)+ns(OU,df=10)+ ns(TPO,df=9)+ ns(OPO,df=9)+ ns(XT,df=5)+ V + Oct + Nov+ Dec +Jan+Feb + Mar +Apr+May+June+July+ Aug+ Sep+ WK1+ WK2 +WK3 +WK4+WK5+Year)
  Accuracy <- data.frame(cbind(b,round(GAM$fitted,digits=1),X, Week))
  Predict <- rbind(Predict,Accuracy)
  Accur <- round((1-(sum(abs((round((GAM$fitted),digits=0))-(X))))/sum(X)),digits=2)
  t1 <- data.frame(cbind(b,summary(GAM)$adj.r.squared,Accur))
  GResults1 <- rbind(GResults1,t1)
  predP <- PredZs[PredZs$Z==Zs[i],]
  bP <- Zs[i]
  AG <- predict(GAM, newdata = predP , type = "response", se.fit = TRUE)
  PGW1 <- data.frame(cbind(bP,AG$fit))
  PGW2 <- rbind(PGW2,PGW1)
}

0 个答案:

没有答案