Ich verstehe das Konzept der Skalierung der Datenmatrix zur Verwendung in einem linearen Regressionsmodell. In R könnten Sie beispielsweise Folgendes verwenden:
scaled.data <- scale(data, scale=TRUE)
Meine einzige Frage ist, für neue Beobachtungen, für die ich die Ausgabewerte vorhersagen möchte, wie sie richtig skaliert werden. Wäre es scaled.new <- (new - mean(data)) / std(data)
?
r
regression
prediction
scales
SamuelNLP
quelle
quelle
y = y_esc * sd(y) + mean(y)
, aber das würde die Modelleigenschaften durcheinander bringen, also warte ich auch auf eine technischere Antwort!Antworten:
Die kurze Antwort auf Ihre Frage lautet: Ja - dieser Ausdruck für skaliert.neu ist korrekt (außer Sie wollten
sd
stattstd
).Es kann erwähnenswert sein, dass die Skala optionale Argumente enthält, die Sie verwenden können:
Das von scale (scaled.data) zurückgegebene Objekt verfügt auch über Attribute mit den verwendeten numerischen Zentrierungen und Skalierungen (falls vorhanden), die Sie verwenden können:
Der Vorteil davon ergibt sich, wenn die Originaldaten mehr als eine Spalte haben, sodass mehrere Mittelwerte und / oder Standardabweichungen zu berücksichtigen sind.
quelle
scaled.new <- scale(new, use.attrs = scaled.data)