Estoy muy confundido con cómo funciona el peso en glm
con family="binomial"
. A mi entender, la probabilidad de que el glm
con family = "binomial"
se especifica del siguiente modo: f(y) = {n\choose{ny}} p^{ny} (1-p)^{n(1-y)} = \exp \left(n \left[ y \log \frac{p}{1-p} - \left(-\log (1-p)\right) \right] + \log {n \choose ny}\right) donde y es la "proporción de éxito observada" y n es el número conocido de ensayos.
A mi entender, la probabilidad de éxito p se parametriza con unos coeficientes lineales \beta como p=p(\beta) y glm
con family = "binomial"
buscar: \textrm{arg}\max_{\beta} \sum_i \log f(y_i). Entonces este problema de optimización se puede simplificar como:
\textrm{arg}\max_{\beta} \sum_i \log f(y_i)= \textrm{arg}\max_{\beta} \sum_i n_i \left[ y_i \log \frac{p(\beta)}{1-p(\beta)} - \left(-\log (1-p(\beta))\right) \right] + \log {n_i \choose n_iy_i}\\ = \textrm{arg}\max_{\beta} \sum_i n_i \left[ y_i \log \frac{p(\beta)}{1-p(\beta)} - \left(-\log (1-p(\beta))\right) \right] \\
Por lo tanto, si dejamos que n_i^*=n_ic para todos i=1,...,N para alguna constante c entonces también debe ser cierto que: \textrm{arg}\max_{\beta} \sum_i \log f(y_i) = \textrm{arg}\max_{\beta} \sum_i n^*_i \left[ y_i \log \frac{p(\beta)}{1-p(\beta)} - \left(-\log (1-p(\beta))\right) \right] \\ A partir de esto, pensé que Escalado del número de ensayos n_i con una constante NO afecta a las estimaciones de máxima verosimilitud de \beta dada la proporción de éxito y_i .
El archivo de ayuda de glm
dice:
"For a binomial GLM prior weights are used to
give the number of trials when the response is
the proportion of successes"
Por lo tanto, esperaba que el escalado del peso no afectara a la estimación del \beta dada la proporción de éxito como respuesta. Sin embargo, los dos códigos siguientes devuelven valores de coeficiente diferentes:
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)
Esto produce:
Call: glm(formula = Y ~ 1, family =
"binomial", weights = w)
Coefficients:
(Intercept)
-2.197
mientras que si multiplico todas las ponderaciones por 1000, los coeficientes estimados son diferentes:
glm(Y~1,weights=w*1000,family=binomial)
Call: glm(formula = Y ~ 1, family = binomial,
weights = w * 1000)
Coefficients:
(Intercept)
-3.153e+15
He visto muchos otros ejemplos como este, incluso con un escalado moderado en los pesos. ¿Qué ocurre aquí?