Model ölçeklendirilmiş verilerle donatıldığında tahminler yapmak için yeni gözlemler nasıl ölçeklendirilir?


13

Doğrusal regresyon modelinde kullanılacak veri matrisini ölçeklendirme kavramını anlıyorum. Örneğin, R'de şunları kullanabilirsiniz:

scaled.data <- scale(data, scale=TRUE)

Tek sorum, çıktı değerlerini tahmin etmek istediğim yeni gözlemler için, bunlar nasıl doğru bir şekilde ölçeklendiriliyor? Olur scaled.new <- (new - mean(data)) / std(data)mu?


1
Değerleri geri almak için sadece yapmak y = y_esc * sd(y) + mean(y), ama sanırım model özellikleri ile karışıklık olur, bu yüzden ben de daha teknik bir cevap bekliyorum!
— Fernando

Değerleri geri istemiyorum, yeni örneklerin aynı şekilde nasıl doğru ölçeklendirilebileceğini bilmek istiyorum. Sorumu yorumunuza dayanarak düzenledim.
— SamuelNLP

Yanıtlar:


13

Sorunuzun kısa cevabı, evet - scaled.new ifadesi doğrudur (istediğiniz sdyerine hariç std).

Ölçeğin kullanabileceğiniz isteğe bağlı argümanlar olduğunu belirtmek gerekebilir:

scaled.new <- scale(new, center = mean(data), scale = sd(data))

Ayrıca, scale (scaleed.data) tarafından döndürülen nesnenin kullanabileceğiniz sayısal merkezlemeyi ve kullanılan ölçekleri (varsa) tutan öznitelikleri vardır:

scaled.new <- scale(new, attr(scaled.data, "scaled:center"), attr(scaled.data, "scaled:scale"))

Bunun avantajı, orijinal veriler birden fazla sütuna sahip olduğunda ortaya çıkar, bu nedenle dikkate alınması gereken birden fazla araç ve / veya standart sapma vardır.


Keşke bunu yapmak için biraz daha basit bir yol olsaydıscaled.new <- scale(new, use.attrs = scaled.data)
— wordsforthewise

@wordsforthewise scale.default bunu başarmak için bir sarıcı yazmak zor olmaz. R-core'un yüksek önceliğe sahip olacağından şüpheliyim.
— user20637

Evet. R çekirdeğine nasıl katkıda bulunacağımı anlayabilir ve bunu yapmak için zaman bulabilirsem, bunu yapabilirim.
— Mayıs 19:33
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.