In "A Practioner's Guide to Generalized Linear Models" in Absatz 1.83 heißt es:
"Im speziellen Fall eines multiplikativen Poisson-GLM kann gezeigt werden, dass die Modellierungsanspruchszahlen mit einem Versatzterm gleich dem Logarithmus der Exposition zu identischen Ergebnissen führen wie die Modellierungsanspruchshäufigkeiten mit vorherigen Gewichten, die gleich der Exposition jeder Beobachtung eingestellt sind. ""
Ich kann keine weiteren Referenzen zu diesen Ergebnissen finden, daher habe ich einige empirische Tests durchgeführt, bei denen ich keinen Beweis dafür finden konnte, dass die Aussage korrekt ist. Kann jemand einen Einblick geben, warum diese Ergebnisse richtig / falsch sein können.
Zu Ihrer Information, ich habe den folgenden R-Code verwendet, um die Hypothese zu testen, bei der ich für die beiden genannten Fälle keine ähnlichen Ergebnisse erzielen konnte:
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))
Die Koeffizientenschätzungen, die sich aus der Ausführung dieses Codes ergeben, sind nachstehend aufgeführt:
>
(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
>
und wir können beobachten, dass die Koeffizienten nicht identisch sind.
rm(list=ls() )
in den R-Code aufnehmen, den Sie hier posten! Das könnte jemanden überraschen, der es betreibt, und ihn wütend auf dich machen. Ich habe es entfernt. Ich habe auch bearbeitet, um die Ergebnisse der Ausführung des Codes aufzunehmen. Wenn Sie dies ursprünglich getan hätten, hätten Sie möglicherweise eine schnellere Antwort erhalten, da nur wenige Leser den Code selbst ausführen.