Khi mô hình hóa tỷ lệ liên tục (ví dụ độ che phủ thực vật theo tỷ lệ tại tứ giác khảo sát hoặc tỷ lệ thời gian tham gia vào một hoạt động), hồi quy logistic được coi là không phù hợp (ví dụ Warton & Hui (2011) arcsine là asinine: phân tích tỷ lệ trong hệ sinh thái ). Thay vào đó, hồi quy OLS sau khi chuyển đổi tỷ lệ logit, hoặc có lẽ là hồi quy beta, là phù hợp hơn.
Trong các điều kiện nào các ước tính hệ số của hồi quy tuyến tính và hồi quy logistic khác nhau khi sử dụng R's lm
và glm
?
Lấy tập dữ liệu mô phỏng sau, trong đó chúng tôi có thể giả sử đó p
là dữ liệu thô của chúng tôi (nghĩa là tỷ lệ liên tục, thay vì đại diện cho ):
set.seed(1)
x <- rnorm(1000)
a <- runif(1)
b <- runif(1)
logit.p <- a + b*x + rnorm(1000, 0, 0.2)
p <- plogis(logit.p)
plot(p ~ x, ylim=c(0, 1))
Lắp một mô hình tuyến tính logit, chúng tôi có được:
summary(lm(logit.p ~ x))
##
## Call:
## lm(formula = logit.p ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.64702 -0.13747 -0.00345 0.15077 0.73148
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.868148 0.006579 131.9 <2e-16 ***
## x 0.967129 0.006360 152.1 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## Residual standard error: 0.208 on 998 degrees of freedom
## Multiple R-squared: 0.9586, Adjusted R-squared: 0.9586
## F-statistic: 2.312e+04 on 1 and 998 DF, p-value: < 2.2e-16
Năng suất hồi quy logistic:
summary(glm(p ~ x, family=binomial))
##
## Call:
## glm(formula = p ~ x, family = binomial)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.32099 -0.05475 0.00066 0.05948 0.36307
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.86242 0.07684 11.22 <2e-16 ***
## x 0.96128 0.08395 11.45 <2e-16 ***
## ---
## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 176.1082 on 999 degrees of freedom
## Residual deviance: 7.9899 on 998 degrees of freedom
## AIC: 701.71
##
## Number of Fisher Scoring iterations: 5
##
## Warning message:
## In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!
Các ước tính hệ số hồi quy logistic sẽ luôn không thiên vị đối với các ước tính của mô hình tuyến tính logit?
family=binomial
ngụ ý rằng biến phụ thuộc đại diện cho số nhị thức - không phải tỷ lệ. Và làm thế nào để glm
biết đó 0.1
giống như "một phần mười" chứ không phải "mười phần trăm"? Mặc dù tỷ lệ tự nó không khác nhau, nhưng điều này có ý nghĩa chính đối với cách tính sai số chuẩn.
weights
(mặc dù đây không phải là điều tôi đã cố gắng trong bài viết của mình, nơi tôi đã cố tình phân tích dữ liệu không chính xác).
0.1
đó là "đã", giả sử, 10 thử nghiệm độc lập mang lại một thành công. Đối với mô hình tuyến tính,0.1
chỉ đơn giản là một giá trị, một số biện pháp tùy ý.