Saya memahami konsep penskalaan matriks data untuk digunakan dalam model regresi linier. Misalnya, dalam R Anda dapat menggunakan:
scaled.data <- scale(data, scale=TRUE)
Satu-satunya pertanyaan saya adalah, untuk pengamatan baru yang ingin saya prediksi nilai outputnya, bagaimana mereka diskalakan dengan benar? Apakah itu , scaled.new <- (new - mean(data)) / std(data)
?
r
regression
prediction
scales
SamuelNLP
sumber
sumber
y = y_esc * sd(y) + mean(y)
, tapi itu akan mengacaukan properti model saya kira, jadi saya juga menunggu jawaban yang lebih teknis juga!Jawaban:
Jawaban singkat untuk pertanyaan Anda adalah, ya - ekspresi untuk scaled.new benar (kecuali Anda ingin
sd
bukanstd
).Mungkin perlu dicatat bahwa skala memiliki argumen opsional yang dapat Anda gunakan:
Juga, objek yang dikembalikan oleh skala (scaled.data) memiliki atribut yang memegang pemusatan angka dan skala yang digunakan (jika ada), yang bisa Anda gunakan:
Keuntungan yang muncul ketika data asli memiliki lebih dari satu kolom, sehingga ada beberapa cara dan / atau standar deviasi untuk dipertimbangkan.
sumber
scaled.new <- scale(new, use.attrs = scaled.data)