No "Guia do praticante para modelos lineares generalizados" no parágrafo 1.83, afirma-se que:
"No caso particular de um GLM multiplicativo de Poisson, pode ser demonstrado que a reivindicação de modelagem conta com um termo de compensação igual ao logaritmo da exposição produziu resultados idênticos aos da modelagem de frequências de reivindicação com pesos anteriores configurados para serem iguais à exposição de cada observação. "
Não consigo encontrar mais referências desses resultados, por isso fiz alguns testes empíricos nos quais não consegui encontrar provas de que a afirmação está correta. Alguém pode fornecer algumas dicas sobre por que esses resultados podem estar certos / errados.
Para sua informação, usei o seguinte código R para testar a hipótese, na qual não foi possível obter resultados semelhantes para os dois 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))
As estimativas do coeficiente resultantes da execução desse código são fornecidas abaixo:
>
(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
>
e podemos observar que os coeficientes não são idênticos.
rm(list=ls() )
código R postado aqui! Isso poderia surpreender alguém executando, deixando-os com raiva de você. Eu removi isso. Também editei para incluir os resultados da execução do código. Se você fez isso originalmente, talvez tenha obtido uma resposta mais rápida, pois poucos leitores executam o código por si mesmos.Respostas:
(com seu código R, você pode substituir "poisson" por "quasipoisson" para evitar todos os avisos gerados. Nada mais será importado. Consulte (*) abaixo). Sua referência usa o termo "glm multiplicativo", que eu acho que significa apenas um glm com link de log, pois um link de log pode ser pensado como um modelo multiplicativo. Seu próprio exemplo mostra que a afirmação é falsa, pelo menos como a interpretamos (como os parâmetros estimados não são iguais). Você pode escrever os autores e perguntar o que eles significaram. Abaixo discutirei por que a alegação é falsa.
(*) Nota da ajuda da
glm
função de R :A resposta dada aqui pode ser relevante: Como uma regressão da taxa de Poisson é igual a uma regressão de Poisson com o termo de deslocamento correspondente? e é muito interessante.
fonte
Desculpe por não simplesmente adicionar um comentário acima, mas eu não tenho representante suficiente.
A reivindicação original - mas modificada um pouco - é de fato correta.
Os dois modelos a seguir dão exatamente a mesma resposta em R usando um poisson glm com log-link:
o ajuste do código original mostra respostas idênticas:
Espero que isso dê respostas idênticas.
É possível mostrar que os dois modelos são estatisticamente equivalentes (há um documento CAS em algum lugar que mostra isso - eu postarei um link se tiver tempo).
Aliás, se você estiver fazendo regressão penalizada, a maneira como diferentes pacotes, como glmnet e H2o, medem o desvio para as duas maneiras diferentes de definir um modelo, pode levar a resultados diferentes.
fonte