Trong "Hướng dẫn của người quảng cáo cho các mô hình tuyến tính tổng quát" trong đoạn 1.83, có ghi rằng:
"Trong trường hợp cụ thể của GLM nhân bội số có thể chỉ ra rằng yêu cầu mô hình tính với thời hạn bù bằng với nhật ký phơi nhiễm tạo ra kết quả giống hệt với tần số mô hình hóa với các trọng số trước được đặt bằng với độ phơi sáng của mỗi quan sát. "
Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào thêm về kết quả này, vì vậy tôi đã thực hiện một số thử nghiệm thực nghiệm trong đó tôi không thể tìm thấy bằng chứng cho thấy tuyên bố này là chính xác. Bất cứ ai cũng có thể cung cấp một số cái nhìn sâu sắc tại sao kết quả này có thể đúng / sai.
FYI, tôi đã sử dụng mã R sau đây để kiểm tra giả thuyết, trong đó tôi không thể có được kết quả tương tự cho hai trường hợp được đề cập:
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))
Các ước tính hệ số do chạy mã này được đưa ra dưới đây:
>
(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
>
và chúng ta có thể quan sát các hệ số không giống nhau.
rm(list=ls() )
trong mã R bạn đăng ở đây! Điều đó có thể gây ngạc nhiên cho ai đó chạy nó, làm cho họ tức giận với bạn. Tôi đã gỡ bỏ nó. Tôi cũng chỉnh sửa để bao gồm các kết quả từ việc chạy mã. Nếu bạn đã thực hiện điều này ban đầu, có thể bạn đã nhận được phản hồi nhanh hơn, vì một số độc giả sẽ tự chạy mã.