Box Cox Regresyon için Dönüşümler


9

Sadece bir öngörücü (örneğin (x, y)) ile bazı verilere doğrusal bir model sığdırmaya çalışıyorum. Veriler, küçük x değerleri için, y değerlerinin düz bir çizgiye sıkıca oturduğu, ancak x değerleri arttıkça y değerlerinin daha uçucu hale geleceği şekildedir. İşte bu tür verilere bir örnek (R kodu)

y = c(3.2,3.4,3.5,3.8,4.2,5.5,4.5,6.8,7.4,5.9)
x = seq(1,10,1)

Aşağıda gösterildiği gibi sadece doğrusal bir uyum yapmaktan ziyade veriler için daha iyi bir uyum sağlamamı sağlayan herhangi bir güç dönüşümü (Kutu cox?) Olup olmadığını merak ediyorum.

fit = lm(y ~ x)

Anladığım kadarıyla Box Cox gibi dönüşümlerin amacı daha iyi bir uyum sağlamak değil, modelin varsayımlarını karşılamaktır. Bu daha iyi bir uyum, daha kötü bir uyum veya çok fazla değişiklik olmayabilir, ancak varsayımları ihlal etmeyen bir uyum olacaktır.
Peter Flom

doğrusal olmayan bir dönüşüm doğrusal olmayan bir ilişkiyi doğrusal olmayan yapar (bazen x'i de dönüştürebilir ve düzeltebilirsiniz). Bununla birlikte, dönüşüm kavisli olanı da düzeltebilir ve aynı zamanda heteroskedastisiteyi azaltabilir (her ikisini de aynı dönüşümle yapmak her zaman mümkün değildir). Bu veriler için bir günlük dönüşümü biraz yardımcı olur.
Glen_b -Monica'yı geri yükle

4
İki uç ve orta (beşinci) değerlerini kullanarak , gösterilen yöntem stats.stackexchange.com/questions/35711/... bir logaritmasını (parametre 0 ile Cox-Box) için uygun olacaktır gösterir linearize ilişkisi. İlk, altıncı ve son değerleri kullanmak karşılıklı (parametre -1) iyi olacağını gösterir. Bu, 0 ile -1 arasındaki hemen hemen tüm parametrelerin işe yarayabileceğini gösterir. Ne kadar az veri olduğu göz önüne alındığında, aralık sürpriz değildir. Hiçbir monotonik yeniden ifade bu veriler için varyasyonu stabilize etmez. y
whuber

Yanıtlar:


6

Zaten R yüklü olarak gelen MASS paketi boxcox()kullanabileceğiniz işleve sahiptir: Verileri okuduktan sonra şunları yapın:

library(MASS)
boxcox(y ~ x)

Ardından, boxcox dönüşüm parametresi için grafiksel olarak% 95 güven aralığı gösteren, bunun ürettiği grafiğe bakın. Ancak bunu yapmak için gerçekten yeterli veriye sahip değilsiniz (n = 10), elde edilen güven aralığı neredeyse -2'den 2'ye gider, maksimum olasılık tahmini yaklaşık 0'dır (daha önce de belirtildiği gibi bir günlük dönüşümü). Gerçek verilerinizde daha fazla gözlem varsa, bunu denemelisiniz.

Diğerlerinin söylediği gibi, bu dönüşüm gerçekten varyansları dengelemeye çalışıyor. Bu teoriden çok açık değildir, yaptığı şey, sürekli varyans varsayımıyla normal dağılıma dayalı bir olasılık fonksiyonunu en üst düzeye çıkarmaktır. Normal tabanlı bir olasılığın en üst düzeye çıkarılmasının, artıkların dağılımını normalleştirmeye çalışacağını düşünebilirsiniz, ancak pratikte olasılığı en üst düzeye çıkarmanın ana katkısı, varyansların dengelenmesinden gelir. Bu belki de şaşırtıcı değil, maksimize etme olasılığımızın sürekli bir varyans normal dağılım ailesine dayandığı göz önüne alındığında!

Bir keresinde XLispStat'ta bunu açıkça gösteren kaydırıcı tabanlı bir demo yazdım!


3

Doğrusal bir ilişkiniz varsa, ancak eşit olmayan varyanslarınız varsa, genellikle eşit varyanslarla doğrusal bir ilişki elde etmek için hem x hem de y'yi dönüştürmeniz gerekir (veya yalnızca dönüştürülmemiş değişkenler üzerinde ağırlıklı en küçük kareler regresyonunu kullanın).

AVAS prosedürü olası dönüşümleri önermek için kullanılabilir.


Verilere bir göz atın: y için monoton eğilimler x itibaren 1 için 5, sonra sistematik olarak x arasında 5 ve 10. Bu, sürekli monotonik bir yeniden ifadeninyvaryansları stabilize etmeyi başaracaktır. Ağırlıklı en küçük kareler öneriniz bu sınırlama ışığında ümit verici görünüyor, ancak ağırlıkları nasıl seçmelisiniz?
whuber

@Whuber
brokoli

1
Bu özel veri kümesi için @whuber ile aynı fikirdeyim, bu verilerin hızlı bir şekilde gösterilmesi için oluşturulduğunu varsaydım (ve bu nedenle insanın rastgele / gerçeklik eksikliğini gösterdiğini). Benim cevabım daha genel eşitsiz varyanslar için genel tavsiye.
Greg Snow

Varyansın x ile arttığı göz önüne alındığında, glmPoisson bağlantı fonksiyonuna sahip bir çerçeve onu keser mi?
Roman Luštrik

3
@ RomanLuštrik, bir Poisson regresyonu göz önünde bulundurulması gereken bir şeydir, ancak seçim verilere değil bilime dayanarak yapılmalıdır. Yukarıdaki veriler için tamsayı yokybu nedenle, tam sayı olmayanların bir Poisson regresyonunda anlamlı olması için bir tür ağırlık veya gözlem penceresi olması gerekir. Sadece yanıt değişkeni sayıları temsil ediyorsa ve verinin arkasındaki bilim Poisson dağılımı ile tutarlıysa dikkate alınmalıdır.
Greg Snow

1

Eh, R'de bunu deneyebilirsiniz:

library(MASS)
boxcox(y~x)
plot(1/y^2~x) # since the profile likelihood has a maximum near 2

resim açıklamasını buraya girin

Ama gerçekten 'verilere daha iyi uyum' ile ne demek istediğinize bağlı


-2

Eğer x için tüm verileriniz negatif değilse, o zaman matx kullanarak dönüşüm lambda parametresinin ideal değerini tahmin etmek için kutu cox dönüşümü ... kullanabilirsiniz ... http://www.mathworks.in/ yardım / finans / boxcox.html


1
"İdeal" burada soruda istenenden başka bir şey ifade eder. Soru varyansları stabilize etmeyi hedeflerken, Matlab çözümü bunları mümkün olduğunca normal dağılıma yakın hale getirmeyi amaçlıyor.
whuber
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.