Verileri dönüştürürken kaçınılması gereken tuzaklar?


15

Yanıtı iki kez dönüştürdükten sonra X ve Y değişkenim arasında güçlü bir doğrusal ilişki elde ettim . Model YX ama bunu dönüştürülmüş iyileştirilmesi .19 den .76 için. R2YXXR2

Açıkçası bu ilişki üzerinde iyi bir ameliyat yaptım. Aşırı dönüşüm tehlikeleri veya istatistiksel ilkelerin olası ihlalleri gibi bunu yapmanın tuzaklarını tartışan var mı?


1
Sahip olduğunuz şeyden, sadece cebirden sadece benziyor YX2. Verileri gönderebilir veya bir grafik gösterebilir misiniz? X = 0 olduğunda olmasını beklemek için bilimsel nedenler var mı? Y=0X=0
Nick Cox

1
@NickCox: Sanırım YX , için alışılmadık gösterimdir EY=β0+β1X; belki de OP matematikten ziyade R konuşuyor (elbette caydırılması gereken bir şey).
Scortchi - Monica'yı eski durumuna döndürün

@Scortchi Haklı olmasından korkuyorum. Verileri görmek her iki şekilde de yardımcı olacaktır.
Nick Cox

Bu durumda, Y, ölümler sürerken ve X, tüm sürücüler tarafından yönlendirilen toplam KM'ler olduğu için, 0 X, 0 Y anlamına gelir.
Info5ek

2
Denklem değildir @AaronHall mutlaka ile (çarpılması arka yana, gereksiz öyle , da bazı durumlarda potansiyel olarak makul bir model olabilen ). Bununla birlikte, soruda verilen denklem formundaki çok fazla kullanılmaz, farklı bir ölçekte takılmış bir şeyle karşılaştıramazsınız. (Bu arada, cevabımdaki downvote'unuz olsaydı, cevapta neyin yanlış olduğunu düşündüğünüzün açıklaması yararlı olacaktır.)XR2Y=β0X+β1X+XϵR2
Glen_b-Monica

Yanıtlar:


20

Gerçekten karşılaştırmak olamaz R2 de altta yatan değişkenlik nedeniyle, önce ve sonra Y farklıdır. Kelimenin tam anlamıyla alabilir Yani ne olursa olsun hiçbir konfor içinde değişimden R2 . Bu, iki modeli karşılaştırırken size hiçbir değer ifade etmiyor.

İki model çeşitli şekillerde farklıdır, bu yüzden farklı şeyler ifade ederler - ilişkinin şekli ve hata teriminin değişkenliği hakkında çok farklı şeyler varsayarlar ( Y ve arasındaki ilişki açısından değerlendirildiğinde X). Dolayısıyla, modellemekle ilgileniyorsanız Y( Y kendisi anlamlıysa), bunun için iyi bir model üretin. Modelleme ile ilgileniyorsanız Y (/Y anlamlı), bunun için iyi bir model üretin. EğerY/X anlam taşır, bunun için iyi bir model yapın. Ancak karşılaştırılabilir ölçeklerde rakip modelleri karşılaştırın. R2farklı yanıtlar sadece karşılaştırılabilir değildir.

Eğer sadece yüksek bir dönüşüm bulma umuduyla farklı ilişkiler çalışıyorsanız R2 ya da 'iyi bir uyum' başka bir önlem - - hiç çıkarsama özelliklerinin sen varlığına etkilenecek davranış isteyeceğini bu arama süreci.

Tahminler sıfırdan uzaklaşmaya eğilimli olacak, standart hatalar çok küçük olacak, p değerleri çok küçük olacak, güven aralıkları çok dar olacak. Modelleriniz ortalama olarak 'çok iyi' görünecektir (örnek dışı davranışlarının örnek içi davranışlara kıyasla hayal kırıklığı yaratacağı anlamında).

Bu tür bir fazla sığmayı önlemek için, mümkünse, verilerin farklı alt kümelerinde (ve üçte birinde model değerlendirmesinde) model tanımlama ve tahmin yapmanız gerekir. Bu tür bir prosedürü rasgele alınan verilerin birçok "bölünmesinde" tekrarlarsanız, sonuçlarınızın ne kadar tekrar üretilebilir olduğuna dair daha iyi bir fikir edinebilirsiniz.

Burada bu konularla ilgili önemli noktaları içeren birçok yayın var: bazı aramaları denemeye değer olabilir.

( Belirli bir dönüşümü seçmek için iyi bir nedeniniz varsa , bu farklı bir konudur. Ancak, uygun bir şey bulmak için dönüşüm alanında arama yapmak, onunla ilgili her türlü 'veri gözetleme' tipi problemi taşır.)


Yanıt için teşekkürler Glen. Bu dönüşümü yapmamın nedeni, bana önyargılı artıklar vermeyen tek dönüşüm olması. Standart y / x, log (y), sqrt (y) ve bunların çeşitli kombinasyonlarını denedim. Sonuçta eğimli bir arsa ortaya çıktı. Sadece iki aşamalı bir dönüşüm yaptıktan sonra rastgele görünen kalıntılar elde ettim. Bununla birlikte, bu modelin örnek verisi verisi için potansiyel olarak bilgi vermediğini belirtiyorsunuz, çünkü verilerin üzerine biraz fazla sığabilirim, değil mi?
Info5ek

Evet, ama verilere bakarken herhangi bir model spesifikasyonu ile ilgili bir problem, bu yüzden çok şey oluyor. Birçok durumda kaçınmak zordur, bu da örnek ayırmanın gelebileceği yerdir. (Çapraz doğrulama bu gibi durumlar için kullanışlı bir araç olabilir.)
Glen_b-Monica

Downvote nedenlerini bilmek faydalı olacaktır. Cevabın nesi var? Belki de geliştirilebilir. (Eğer geliştirilemezse, neden iniş vekili?)
Glen_b-Monica

1
@Glen_b: Kötü tanımlanmış bir prosedürü çapraz doğrulamak zor - her katta, tanılamaya bakmak, beğenmediğinizde başka bir dönüşüm düşünmek, bunu denemek vb.
Scortchi - Eski durumuna getirin Monica

1
@Scortchi Evet, eğer dönüşümler bilinen bir aday havuzundan basit bir kuralla seçilmiyorsa, bu imkansız olabilir.
Glen_b

16

@Glen_b tarafından tanımlananlardan daha büyük bir sorun var.

set.seed(123)
x <- rnorm(100, 20, 2)
y <- rnorm(100, 20, 2)
dv <- (y/x)^.5
iv <- x^.5
m1 <- lm(dv~iv)
summary(m1)

Ve, bir elde 0.49 ve bir p değeri 5.5 x 10 - 16 .R25.5×1016

You have denklemin her iki tarafında.X


2
Bunun, modeli diğerinden ziyade bir şekilde ifade etmek için iyi bir nedene sahip olmamanın farklı bir sorun olduğundan emin değilim. W = √ 'a izin verirseniz veZ=W=YX o zaman sadece de ilk modeli (söyleyebilirizY~X) bulunurZ2denklemin her iki tarafında. Z=XYXZ2
Scortchi - Monica'yı eski durumuna döndürün

4
Eğer ve Z, gerileme rastgele gürültü vardır Y ile X güçlü bir ilişki sağlar. Değişkenlerin ne anlama geldiğini düşünmeden bir regresyonu diğerinden ziyade sahte etiketleyen asimetri nereden geliyor? Bu tür bir şey Pearson ve Yule ( Aldrich (1995) ) arasında tartışıldı ve ben Yule ile birlikteyim: sahte olan korelasyon değil, o korelasyona dayalı nedensel bir ilişki iddiası. WZYX
Scortchi - Monica'yı eski durumuna döndürün

1
Evet, fakat burada, hangi değişkenlerin önemli değil X ve Y. Does ile başladı regresyon, tabiri caizse, değişkenler?
Peter Flom - Monica'yı eski durumuna döndürün

2
@Glen_b'in ilk cümlesinde belirttiği gibi neden olması gerektiğini göremiyorum, eğer hedefiniz tahmin etmekse , o zaman W için bir modelin yüksek bir belirleme katsayısı kargaşa edecek bir şey değildir. Ve elbette, hata teriminin nasıl göründüğü hakkında güçlü fikirleriniz varsa, bir model diğerinden daha izlenebilirdir. YW
Scortchi - Monica'yı eski durumuna döndürün

4
W & Z, @Scortchi hakkında iyi bir noktaya değiniyorsunuz, ancak bana göre, önem verdiğiniz değişkenleri düşündüğünüz ve daha iyi bir model elde etmek için hangi değişkenleri oluşturduğunuz önemli. Gerçek değişkenler hangileri, esaslı soru bağlamında X vb. OP'nin b / t X & Y ilişkisini anlamak istediği metinden çıkarıyorum ve model uyumunu iyileştirmek için W & Z oluşturdum. Yani, bu somut durumda, bana öyle geliyor ki Peter haklı, X'i her iki tarafa koyarak modelinizi geliştirmeye çalışamazsınız.
gung - Monica'yı eski

4

@ Peter'ın örneğinde, çözülmesinin faydalı olabileceği iki öğe vardır:

(1) Modelin yanlış tanımlanması. Modeller

yi=β0+β1xi+εi(1)

&

wi=γ0+γ1zi+ζi(2)

, burada &zi=wi=yixi , her ikisi de doğru olamaz. Her birini diğerinin yanıtı açısından yeniden ifade ederseniz, heteroskedastik hatalarla parametrelerde lineer olmazlar.zi=xi

wi=β0zi2+β1+εizi2(1)

yi=(γ0xi+γ1xi+ζixi)2(2)

Eğer bir Gauss rastgele değişken bağımsız olduğu varsayılır , X olan Model 1 özel bir durum, daha sonra p 1 = 0 , ve Model 2 kullanılarak ama gereken eşit ise W, bir Gauss rastgele olduğu varsayılır Z değişkeninden bağımsız olarak , Model 1'i kullanmamalısınız. Bir modelden diğeri yerine herhangi bir tercih, temel teoriden veya verilere uyumundan gelmelidir.YXβ1=0WZ

(2) Yanıtın dönüşümü. Eğer varsa biliyordu & X bağımsız Gauss rasgele değişkenler olmak, neden arasındaki ilişki olmalıdır W & Z hala sana sürpriz, ya da bunu sahte denir ki? W'nun koşullu beklentisi delta yöntemiyle yaklaşık olarak tahmin edilebilir:YXWZW

EYx=EYzβ0+VarY8β03/2z

Gerçekten bir fonksiyonudur .z

Aşağıdaki örnek üzerinden ...

set.seed(123)
x <- rnorm(100, 20, 2)
y <- rnorm(100, 20, 2)
w <- (y/x)^.5
z <- x^.5
wrong.model <- lm(w~z)
right.model <- lm(y~x)
x.vals <- as.data.frame(seq(15,25,by=.1))
names(x.vals) <- "x"
z.vals <- as.data.frame(x.vals^.5)
names(z.vals) <- "z"
plot(x,y)
lines(x.vals$x, predict(right.model, newdata=x.vals), lty=3)
lines(x.vals$x, (predict(wrong.model, newdata=z.vals)*z.vals)^2, lty=2)
abline(h=20)
legend("topright",legend=c("data","y on x fits","w on z fits", "truth"), lty=c(NA,3,2,1), pch=c(1,NA,NA,NA))
plot(z,w)
lines(z.vals$z,sqrt(predict(right.model, newdata=x.vals))/as.matrix(z.vals), lty=3)
lines(z.vals$z,predict(wrong.model, newdata=z.vals), lty=2)
lines(z.vals$z,(sqrt(20) + 2/(8*20^(3/2)))/z.vals$z)
legend("topright",legend=c("data","y on x fits","w on z fits","truth"),lty=c(NA,3,2,1), pch=c(1,NA,NA,NA))

enter image description here

enter image description here

yxwzwzzw

Aldrich (2005), "Pearson ve Yule'de Hakiki ve Sahte Korelasyonlar", İstatistik Bilimi , 10 , 4 bu konularda ilginç bir tarihsel bakış açısı sunmaktadır.


3

The earlier answer of @Glen_b is all important. Playing with transformations distorts every part of statistical inference and results in R2 that is biased high. In short, not having a parameter in the model for everything you don't know will give a false sense of precision. That's why regression splines are now so popular.

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.