Je comprends le concept de mise à l'échelle de la matrice de données à utiliser dans un modèle de régression linéaire. Par exemple, dans R, vous pouvez utiliser:
scaled.data <- scale(data, scale=TRUE)
Ma seule question est, pour les nouvelles observations pour lesquelles je veux prédire les valeurs de sortie, comment sont-elles correctement mises à l'échelle? Serait-ce scaled.new <- (new - mean(data)) / std(data)
?
r
regression
prediction
scales
SamuelNLP
la source
la source
y = y_esc * sd(y) + mean(y)
, faites-le , mais cela dérangerait les propriétés du modèle, je suppose, alors j'attends aussi une réponse plus technique!Réponses:
La réponse courte à votre question est oui - cette expression pour scaled.new est correcte (sauf que vous vouliez
sd
au lieu destd
).Il peut être utile de noter que l'échelle a des arguments facultatifs que vous pouvez utiliser:
De plus, l'objet renvoyé par scale (scaled.data) possède des attributs contenant le centrage numérique et les échelles utilisées (le cas échéant), que vous pouvez utiliser:
L'avantage de cela apparaît lorsque les données d'origine ont plus d'une colonne, donc il y a plusieurs moyennes et / ou écarts-types à considérer.
la source
scaled.new <- scale(new, use.attrs = scaled.data)