Soru:
R'de lm ve glm işlevi
Cedroh
2019-04-22 19:54:02 UTC
view on stackexchange narkive permalink

glm ()

kullanarak r'de lojistik regresyon çalıştırıyordum
  glm (Y ~ X1 + X2 + X3, data = mydata, family = binomial (link = "logit"))
 

Tesadüfen modeli lm kullanarak çalıştırdım:

  lm (Y ~ X1 + X2 + X3, data = mydata, family = binomial (link = "logit"))
 

lm () kullanan modeldeki katsayıların glm () kullanan modeldeki marjinallere çok iyi bir yaklaşım olduğunu fark ettim ( 0,005 $ ).

Bu tesadüf eseri mi yoksa lojistik regresyonların marjinallerini tahmin etmek için belirttiğim gibi lm () kodunu kullanabilir miyim?

Bu konudaki anlayışınız için ikinize de teşekkür ederim.
Katsayıların çok farklı olmaması biraz tesadüf.Diğer şeylerin yanı sıra, bu, bağlantı işlevinin açıklayıcı değişkenler aralığı içindeki özdeşlik işlevi ile hemen hemen aynı olmasını gerektirir.
Iki yanıtlar:
StatsStudent
2019-04-22 20:29:53 UTC
view on stackexchange narkive permalink

R yardım belgelerine bakarsanız, lm işlevi için hiçbir aile bağımsız değişkeni olmadığını fark edeceksiniz.Tanım olarak, R'deki lm modelleri (sıradan doğrusal regresyon), modelinizin hata terimlerinin normal olarak dağıtıldığını varsayan sıradan en küçük kareler regresyonu (OLS) kullanılarak uygundur (ör. family = gaussian ) ortalama sıfır ve ortak bir varyans ile.Bir lm modelini diğer bağlantı işlevlerini kullanarak çalıştıramazsınız (bunu yapmak için başka işlevler de vardır, ancak isterseniz - lm kullanamazsınız).Aslında, yukarıda sunduğunuz lm kodunu çalıştırmayı denediğinizde, R şuna benzer bir uyarı oluşturacaktır:

  > > Uyarı mesajı: lm.fit (x, y, ofset = ofset, singular.ok =
> > singular.ok, ...): "aile" ekstra argüman dikkate alınmaz.
 

Modelinizi glm kullanarak uydurduğunuzda, diğer yandan, modelinizdeki hata terimlerinin bir logit bağlantı işlevi kullanarak iki terimli olduğunu belirttiniz. Bu, temelde modelinizi, sabit bir hata varyansı olmadığını varsayacak şekilde sınırlar ve hata koşullarının her gözlem için yalnızca 0 veya 1 olabileceğini varsayar. lm kullandığınızda böyle bir varsayımda bulunmadınız, ancak bunun yerine uygun modeliniz, hatalarınızın gerçek sayı doğrusundaki herhangi bir değeri alabileceğini varsaydı. Başka bir deyişle, lm özel bir glm durumudur (hata terimlerinin normal olduğu varsayılır). glm yerine lm kullanarak iyi bir yaklaşım elde etmeniz tamamen mümkündür, ancak bu sorunsuz olmayabilir. Örneğin, lm modelinizdeki hiçbir şey tahmin edilen değerlerin [0, 1] $ içinde $ y \ dışında kalmasını engellemez. Öyleyse, örneğin 1.05'lik tahmini bir değeri nasıl ele alırsınız (veya belki daha da karmaşık olan 0.5)? Basit bir doğrusal model kullanmak yerine genellikle verilerinizi en iyi tanımlayan modeli seçmeniz için bir dizi başka neden daha vardır, ancak bunları burada yeniden hashingimden ziyade, bu, bu veya belki bu.

Elbette, isterseniz her zaman doğrusal bir model kullanabilirsiniz - bu, tahminlerinizde ne kadar kesin olmanız gerektiğine ve tahminler veya tahminler kullanmanın sonuçlarına bağlıdır. sakıncaları not edin.

Tim
2019-04-22 20:29:42 UTC
view on stackexchange narkive permalink

Doğrusal regresyon (R'de lm ) bağlantı işlevine sahip değildir ve normal dağılım olduğunu varsayar.Doğrusal modeli, doğrusal regresyonun varsaydığının ötesinde genelleyen ve bu tür değişikliklere izin veren genelleştirilmiş doğrusal modeldir (R'de glm ).Sizin durumunuzda, family parametresi ... yöntemine ve yok sayan kullanılmayan parametre.Yani temel olarak, verilerinizde doğrusal regresyon çalıştırıyorsunuz.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 4.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...