R'de orantılı olasılık varsayımı olmadan bir sıralı lojistik regresyonda bir katsayı nasıl düzeltilir?


11

Orantılılık olasılıkları varsayımı olmadan R'de sıralı bir lojistik regresyon yapmak istiyorum. Bu ayarı kullanarak vglm()fonksiyonu kullanarak doğrudan yapılabilir biliyorum .Rparallel=FALSE

Ama benim sorunum, bu regresyon düzeninde belirli bir katsayı setinin nasıl düzeltileceği? Örneğin, bağımlı değişken ayrık ve sıralı olduğunu ve Y = 1 , 2 veya 3 değerlerini alabileceğini varsayalım . Regresörler X 1 ve X 2 ise , regresyon denklemleriYY=123X1X2

lÖgbent(P(Y1))=α1+β11X1+β12X2lÖgbent(P(Y2))=α2+β21X1+β22X2

Sette istiyorum ve p 22 için 1 . Lütfen bunu nasıl başarabileceğimi bana bildirin. Ayrıca bunu yapamazsanız, lütfen bunu başka herhangi bir istatistiksel yazılımda başarabilir miyim?β11β221R


Mi , sürekli veya kategorik? İkincisi, tabakalı analiz yaparak istediğiniz şeye yakın bir şey elde edebilirsiniz. X1
Peter Flom

Cevabınız için teşekkürler Peter. Hem X1 hem de X2 süreklidir.
Shanker

Öyleyse, bu modelin alfa'ya uyumunu optimize etmek istediğiniz nokta mı?
gung - Monica'yı eski durumuna döndürün

2
@Shanker, katsayıyı sabitlemek istiyorsanız, modelde istemezsiniz - denklemin sağ tarafına karşılık gelen değişkeni eklemek istersiniz, ki bu ofsetin yaptığı şeydir. 1
Makro

1
@Shanker, üzgünüm - ben senin alıntı yanlış yorumlamak "Ben sette istiyorum ve β 22 ile 1 "β11β221 diye düşündüm bunlar hem denklemlerde aynı değişkene karşılık ama bu böyle değildir görebilirsiniz -. Birisi Rburada size yardımcı olmak için doğru kodu olabilir ama böyle bir kod var şüpheli ve sorunun cevabı (ki duymak istemeyebilirsiniz), bu modele uyacak kendi kodunu yazmaktır. Bu çok karmaşık olmayacaktır ve olasılık denklemlerini vb. Elde etmek için yardıma ihtiyacınız varsa, bunu ayrı bir soru olarak göndermeyi düşünebilirsiniz.
Makro

Yanıtlar:


2

OP'nin "İlgili offsetregresörü regresyondan tamamen çıkardığı için kullanamam" dediğinde ne anlama geldiğinden emin değilim . offset()R'deki işlevi kullanarak bir parametreyi düzeltebilirsiniz. lm()Aşağıda kullanıyorum , ancak modelinizde de çalışmalıdır.

dat  <- data.frame(x=rnorm(30))
dat$y <- dat$x * 2 + rnorm(30) 
free <- lm(y ~ x,dat)
fixed1<- lm(y ~ offset(2 * x),dat)

summary(free)
#Coefficients:
#            Estimate Std. Error t value Pr(>|t|)    
#(Intercept)  0.03899    0.17345   0.225    0.824    
#x            2.17532    0.18492  11.764 2.38e-12 ***

summary(fixed1)
#Coefficients:
#            Estimate Std. Error t value Pr(>|t|)
#(Intercept)  0.05043    0.17273   0.292    0.772

Sabit parametre çıktıda görünmez, ancak yine de 2 olarak sabitlenir. Sonra xparametreyi freemodeldeki tahmini değerine sabitleyeceğim

fixed2<- lm(y ~ offset(2.17532 * x),dat)
summary(fixed2)
#Coefficients:
#            Estimate Std. Error t value Pr(>|t|)
#(Intercept)  0.03899    0.17002   0.229     0.82

İçindeki kesmenin modeldeki fixed2ile aynı değerle hesaplandığına dikkat edin free.

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.