En la "Guía de un practicante de modelos lineales generalizados" en el párrafo 1.83 se afirma que:
"En el caso particular de un GLM multiplicativo de Poisson, se puede demostrar que el reclamo de modelado cuenta con un término de compensación igual al logaritmo de la exposición que produjo resultados idénticos a las frecuencias de reclamo de modelado con pesos previos establecidos para ser igual a la exposición de cada observación. "
No puedo encontrar ninguna otra referencia de estos resultados, así que realicé algunas pruebas empíricas en las que no pude encontrar pruebas de que la afirmación es correcta. ¿Alguien puede proporcionar alguna idea de por qué estos resultados pueden ser correctos / incorrectos?
Para su información, utilicé el siguiente código R para probar la hipótesis, en la que no pude obtener resultados similares para los dos casos mencionados:
n=1000
m=10
# Generate random data
X = matrix(data = rnorm(n*m)+1, ncol = m, nrow = n)
intercept = 2
coefs = runif(m)
offset = runif(n)
## DGP: exp of Intercept + linear combination X variables + log(offset)
mu = exp(intercept + X%*%coefs + log(offset))
y = rpois(n=n, lambda=mu)
df = data.frame('y'=y, 'X'=X, 'offset' = offset)
formula = paste("y ~",paste(colnames(df)[grepl("X", colnames(df))], collapse = "+"))
#First model using log(offset) as offset
fit1 = glm(formula, family = "poisson", df, offset = log(offset))
#Second model using offset as weights for individual observations
fit2 = glm(formula, family = "poisson", df, weights = offset)
#Third model using poisson model on y/offset as reference
dfNew = df
dfNew$y = dfNew$y/offset
fit3 = glm(formula, family = "poisson", dfNew)
#Combine coefficients with the true coefficients
rbind(fit1$coefficients, fit2$coefficients, fit3$coefficients, c(intercept,coefs))
Las estimaciones de coeficientes resultantes de ejecutar este código se dan a continuación:
>
(Intercept) X.1 X.2 X.3 X.4 X.5 X.6
[1,] 1.998277 0.2923091 0.4586666 0.1802960 0.11688860 0.7997154 0.4786655
[2,] 1.588620 0.2708272 0.4540180 0.1901753 0.07284985 0.7928951 0.5100480
[3,] 1.983903 0.2942196 0.4593369 0.1782187 0.11846876 0.8018315 0.4807802
[4,] 2.000000 0.2909240 0.4576965 0.1807591 0.11658183 0.8005451 0.4780123
X.7 X.8 X.9 X.10
[1,] 0.005772078 0.9154808 0.9078758 0.3512824
[2,] -0.003705015 0.9117014 0.9063845 0.4155601
[3,] 0.007595660 0.9181014 0.9076908 0.3505173
[4,] 0.005881960 0.9150350 0.9084375 0.3511749
>
y podemos observar que los coeficientes no son idénticos.
rm(list=ls() )
en el código R que publicas aquí! Eso podría sorprender a alguien que lo ejecuta y hacer que se enfaden contigo. Lo quité. También edité para incluir los resultados de ejecutar el código. Si lo hubiera hecho originalmente, tal vez haya recibido una respuesta más rápida, ya que pocos lectores ejecutarán el código ellos mismos.