İki glm modelini R'de birleştirmenin kolay bir yolu var mı?


9

R'de yapılmış iki lojistik regresyon modelim var glm(). Her ikisi de aynı değişkenleri kullanır, ancak bir matrisin farklı alt kümeleri kullanılarak yapılmıştır. Katsayıların ortalamalarını veren ortalama bir model elde etmenin ve bunu predict () fonksiyonuyla kullanmanın kolay bir yolu var mı?

[bu tür bir sorunun bir programlama sitesine gönderilmesi gerekiyorsa özür dilerim, bana bildirin, orada göndereceğim]

Teşekkürler


1
Stat.stackexchange.com/q/8502/919 adresindeki ilgili konuda bazı yararlı bilgiler bulabilirsiniz .
whuber

R'de, caretpaket modelleri birleştirmek için bazı harika özelliklere sahiptir.
screechOwl

Yanıtlar:


2

Öngörülen olasılıkların ortalamasını mı yoksa katsayıların ortalamasını mı almak istiyorsunuz? Farklı sonuçlar vereceklerdir, çünkü lojistik regresyon doğrusal öngörücünün doğrusal olmayan bir dönüşümünü içerir.

Her ikisini de yapan bir işlev böyle bir şey olacaktır. Set avgiçin "prob"eski olsun, ya da ikincisi için başka bir şey.

pred_comb <- function(mod1, mod2, dat, avg="prob", ...)
{
    xb1 <- predict(mod1, dat, type="link", ...)
    xb2 <- predict(mod2, dat, type="link", ...)
    if(avg == "prob")
        (plogis(xb1) + plogis(xb2))/2
    else plogis((xb1 + xb2)/2)
}

@Hong Ooi: Teşekkürler! Bu kod gerçekten kullanışlı ve hile yapacak, ama esas olarak hedeflediğim, daha sonra iş akışında tahmin () yapabileceğim yeni bir R modeli verecek bir işlevdi. Ancak, işlevinizin oldukça zarif olduğunu ve olasılıkları ayarlamak için ayarlayabileceğiniz gibi düşünüyorum.
Andrew

@Andrew, bunun için R'nin nesne yönelimli programlamasından yararlanabilirsiniz. İki modelinizi bir listeye yerleştirin ve bir sınıf verin, diyelim glm_2. Yukarıdaki işlevi çağırın predict.glm_2ve daha sonra predict()nesneniz üzerinde gerektiği gibi kullanabilirsiniz .
Hong Ooi

2
Katsayıların ortalaması neden uygundur? İki veri kümesinin farklı boyutları varsa, elbette en azından bir tür ağırlıklı ortalama kullanılmalıdır.
whuber

@ Hong - teşekkürler, bunu deneyeceğim. @whuber - bunu işaret ettiğiniz için teşekkürler. Benim iki veri setim aynı boyutta ise, bir konuyu ağırlıklandırıyor (bunu daha önce düşünmemiştim). Farklıysa, sadece boyutların oranına göre ağırlık mı veririm (örneğin, iki kat daha büyükse, ağırlığı iki katına verir miyim)?
Andrew

@Andrew Yalnızca bağımsız değişkenlerin değerleri her iki alt kümede de aynıysa veri sayısına göre ağırlıklandırılması doğrudur. Daha iyi bir yaklaşım için (teorik olarak da geçerlidir), sorunuzun yorumunda başvuruda bulunduğum konuya bakın.
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.