Ich habe verschiedene neuronale Netzwerkpakete innerhalb des Caret Pakets für meine Vorhersagen verwendet. Code mit nnet
Paket verwendet wird, istBerechne Vorhersageintervalle eines vorhergesagten Wertes unter Verwendung des Caret-Pakets von R
library(caret)
# training model using nnet method
data <- na.omit(data)
xtrain <- data[,c("temperature","prevday1","prevday2","prev_instant1","prev_instant2","prev_2_hour")]
ytrain <- data$power
train_model <- train(x = xtrain, y = ytrain, method = "nnet", linout=TRUE, na.action = na.exclude,trace=FALSE)
# prediction using training model created
pred_ob <- predict(train_model, newdata=dframe,type="raw")
Die einfach vorhersagen Funktion berechnet den Vorhersagewert. Aber ich brauche auch Vorhersageintervalle (2-Sigma). Beim Suchen fand ich eine relevante Antwort unter stackoverflow Link, aber dies ergibt sich nicht wie benötigt. Die Lösung schlägt finalModel
Variable als
predict(train_model$finalModel, newdata=dframe, interval = "confidence",type=raw)
Gibt es eine andere Art und Weise Intervalle zu berechnen Vorhersage zu benutzen? Die Trainingsdaten verwendet, ist die dput()
meiner vorherigen Frage auf stackoverflow link und die dput()
meiner Vorhersage Datenrahmen (Testdaten) ist
dframe <- structure(list(temperature = 27, prevday1 = 1607.69296666667,
prevday2 = 1766.18103333333, prev_instant1 = 1717.19306666667,
prev_instant2 = 1577.168915, prev_2_hour = 1370.14983583333), .Names = c("temperature",
"prevday1", "prevday2", "prev_instant1", "prev_instant2", "prev_2_hour"
), class = "data.frame", row.names = c(NA, -1L))
****************** ********** UPDATE ***********************
Ich verwendete nnetpredint
Paket wie vorgeschlagen bei link. Zu meiner Überraschung führt dies zu einem Fehler, den ich nur schwer beheben kann. Hier ist meine aktualisierte Code bis jetzt,
library(nnetpredint)
nnetPredInt(train_model, xTrain = xtrain, yTrain = ytrain,newData = dframe)
Es ergibt sich folgende Fehler:
Error: Number of observations for xTrain, yTrain, yFit are not the same
[1] 0
Ich kann überprüfen, ob xtrain
, ytrain
und dframe
mit korrekten Abmessungen sind, aber ich habe keine Ahnung, über yFit
. Ich brauche das nicht nach den Beispielen nnetpredint
Vignette
Ich habe das schon versucht, aber es ergibt sich ein seltsamer Fehler. Ich habe diesen Code in meiner Frage als Update-Abschnitt aktualisiert. –