Making a function to build a database including inputsTest(denormalized), targetsTest, prediction values of 6 models,and the “timeDif” varialbe which means the time that daily maxinum occured(HORA.x) minus the time of inputs values happend(from 1 to 12) for 12 matrix
# predict the inputsTest values
prdReal <- function(model) {
prd <- predict(model, newdata = inputsTest)
return(prd)
}
library(RSNNS)
library(caretEnsemble)
library(pbapply)
# denoramilized inputsTest database into original data
timeDifTest <- function(inputs, hora) {
load("NormData.RData")
load("lmFit.RData")
load("svmFit.RData")
load("nnetFit.RData")
load("rfFit.RData")
load("linearFit.RData")
load("greedyFit.RData")
# denormalizeData
deNormInputsTest <- denormalizeData(inputsTest, getNormParameters(inputsNorm))
colnames(deNormInputsTest) <- colnames(inputs)
# cbind the originial inputTest data,targetTest(nomiliazed data),and
# predicton values of 6 models(nomilized data) together
timeDifTestData <- cbind(deNormInputsTest, targetsTest, as.data.frame(prdReal(lmFit)))
timeDifTestData <- cbind(timeDifTestData, as.data.frame(prdReal(svmFit)))
timeDifTestData <- cbind(timeDifTestData, as.data.frame(prdReal(rfFit)))
timeDifTestData <- cbind(timeDifTestData, as.data.frame(prdReal(nnetFit)))
timeDifTestData <- cbind(timeDifTestData, as.data.frame(prdReal(greedyFit)))
timeDifTestData <- cbind(timeDifTestData, as.data.frame(prdReal(linearFit)))
a <- ncol(inputs)
# add a new colum(timeDifTestData$HORA.x-hora),which is the clock that
# maxmium happend minus the 1-12 oclock seperately
timeDifTestData <- cbind(timeDifTestData, (timeDifTestData$HORA.x - hora))
colnames(timeDifTestData)[(a + 1):(a + 8)] <- c("realO3", "lmFit", "svmFit",
"rfFit", "nnetFit", "greedyFit", "linearFit", "timeDif")
save(timeDifTestData, file = "timeDifTestData.RData")
}