Ben ağırlığın aile = "binom" ile glm nasıl çalıştığı ile çok karışık. Anladığım kadarıyla glm'nin family = "binomial" ile olasılığı şu şekilde belirtilir: select {ny}} p ^ {ny} (1-p) ^ {n (1-y )} = \ exp \ left (n \ sol [y \ log \ frac {p} {1-p} - \ left (- \ log (1-p) \ right) \ right] + \ log {n \ seçin ny} \ right)
Benim anlayış, başarı olasılığı bazı lineer katsayıları ile parametrelenmişse olarak ve aile = "binom" ile glm fonksiyonu için arama:
Bu nedenle , tüm i = 1, ..., N için bazı sabit c için n_i ^ * = n_ic'ye izin verirsek , şu şekilde de doğru olmalıdır: \ textrm {arg} \ max _ {\ beta} \ sum_i \ log f (y_i) = \ textrm {arg} \ max _ {\ beta} \ sum_i n ^ * _ i \ sol [y_i \ log \ frac {p (\ beta)} {1-p (\ beta)} - \ left (- \ log (1-p (\ beta)) \ right) \ right] \\ Bundan, n_i deneme sayısının ölçeklendirilmesini düşündüm
Glm yardım dosyası şöyle diyor:
"For a binomial GLM prior weights are used to give the number of trials
when the response is the proportion of successes"
Bu nedenle , yanıtın başarı oranı göz önüne alındığında, ağırlığın ölçeklendirilmesinin tahmini \ beta'yı etkilememesini bekledim . Ancak, aşağıdaki iki kod farklı katsayı değerleri döndürür:
Y <- c(1,0,0,0) ## proportion of observed success
w <- 1:length(Y) ## weight= the number of trials
glm(Y~1,weights=w,family=binomial)
Bu şu sonuçları verir:
Call: glm(formula = Y ~ 1, family = "binomial", weights = w)
Coefficients:
(Intercept)
-2.197
tüm ağırlıkları 1000 ile çarparsam, tahmin edilen katsayılar farklıdır:
glm(Y~1,weights=w*1000,family=binomial)
Call: glm(formula = Y ~ 1, family = binomial, weights = w * 1000)
Coefficients:
(Intercept)
-3.153e+15
Ağırlıklardaki bazı orta ölçekli ölçeklemelerde bile bunun gibi birçok örnek gördüm. Burada neler oluyor?
weights
argümanglm.fit
fonksiyonun içinde iki yerde ( glm.R'de ) sona erer , bu da R fonksiyonu: R: 1'deki sapma kalıntılarında, C fonksiyonu aracılığıylabinomial_dev_resids
( family.c ). ve 2) IWLS'de adım adımCdqrls
( lm.c cinsinden ). Mantık izlemede daha fazla yardım için yeterli C bilmiyorum