R
當模型裝有縮放數據時,如何縮放新的觀察結果以進行預測?
我理解縮放數據矩陣以在線性回歸模型中使用的概念。例如,在 R 中,您可以使用:
scaled.data <- scale(data, scale=TRUE)
我唯一的問題是,對於我想要預測輸出值的新觀察,它們如何正確縮放?會不會,
scaled.new <- (new - mean(data)) / std(data)
?
對您的問題的簡短回答是,是的 - scaled.new 的表達式是正確的(除了您想要
sd
而不是std
)。可能值得注意的是 scale 具有您可以使用的可選參數:
scaled.new <- scale(new, center = mean(data), scale = sd(data))
此外,由 scale (scaled.data) 返回的對象具有保存使用的數字居中和縮放(如果有)的屬性,您可以使用:
scaled.new <- scale(new, attr(scaled.data, "scaled:center"), attr(scaled.data, "scaled:scale"))
當原始數據包含多於一列時,就會出現這種優勢,因此需要考慮多種均值和/或標準偏差。