Mit nnet für die Vorhersage mache ich es richtig?

Ich bin noch ziemlich neu in R und AI /ML Techniken. Ich möchte eine neuronales Netz für die Vorhersage, und da ich neu bin möchte ich nur um zu sehen, ob dies ist, wie es getan werden sollte.

Als Testfall, ich bin Vorhersage der Werte von sin(), basierend auf 2 vorherigen Werte. Für das training erstelle ich eine Daten-frame mity = sin(x), x1 = sin(x-1), x2 = sin(x-2), dann verwenden Sie die Formel y ~ x1 + x2.

Scheint es zu funktionieren, aber ich Frage mich nur, ob dies der richtige Weg, es zu tun, oder wenn es mehr idiomatische Weise.

Dies ist der code:

require(quantmod) #for Lag()
requre(nnet)
x <- seq(0, 20, 0.1)
y <- sin(x)
te <- data.frame(y, Lag(y), Lag(y,2))
names(te) <- c("y", "x1", "x2")
p <- nnet(y ~ x1 + x2, data=te, linout=TRUE, size=10)
ps <- predict(p, x1=y)
plot(y, type="l")
lines(ps, col=2)

Dank

[Bearbeiten]

Ist dies besser für die Vorhersagen nennen?

t2 <- data.frame(sin(x), Lag(sin(x)))
names(t2) <- c("x1", "x2")
vv <- predict(p, t2)
plot(vv)

Ich glaube, ich würde gerne sehen, dass die nnet tatsächlich funktioniert, suchen Sie in seine Vorhersagen (die sollte ungefähr eine Sünde Welle.)

Kommentare dem Thema
Die predict() - Aufruf sieht verdächtig aus. Sie sind nicht nur die Vorhersage " y " mit "y"? Auf der anderen Seite könnte es scheitern, tatsächlich liefert newdata, da es nicht ein dataframe. So würden Sie nur "Vorhersage" mit der verzögerten Werte in 'te'. Könnte man auf erweitern zu vermeiden benötigen "pkg:quantmod" Kommentarautor: 42-
ich habe ein besseres Beispiel für die Vorhersage, denken Sie, wäre eigentlich die Verwendung der nnet-Modell? es scheint eine Sünde, wenn geplottet Kommentarautor: dizzy
Sie können überprüfen, durch auftragen der Vorlage auf der gleichen Skala wie die prognostizierte: plot(x, vv); lines(x, y), und Sie sehen, es ist ein lag (was es scheint, Sie erwarten.) Kommentarautor: 42-
Ein Beispiel in hier über R + DNN für besser zu verstehen. Kommentarautor: Patric

InformationsquelleAutor der Frage dizzy | 2011-10-12

Schreibe einen Kommentar