0

Rで多重回帰-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)
}
4

0 に答える 0