Xem xét hồi quy logistic trên các dữ liệu này:
X1 X2 Y
1 0 0
1 0 1
0 1 0
0 1 0
0 1 0
0 1 1
1 1 1
R chấp nhận ba biểu diễn khác nhau của dữ liệu: một hàng cho mỗi mục nhập bảng và hai biểu diễn cô đọng (một biểu đồ có trọng số, một biểu thị thành công và thất bại). Trong suy nghĩ của tôi, ba thông số kỹ thuật này đều phải giống nhau về mặt toán học: dữ liệu là 7 quan sát giống nhau và chúng được trình bày cho R ở các định dạng khác nhau.
data1 <- data.frame(x1=c(1,1,0,0,0,0,1), x2=c(0,0,1,1,1,1,1), y=c(0,1,0,0,0,1,1))
data2 <- data.frame(x1=c(0,1,0,1), x2=c(0,0,1,1), y=c(0,0.5,0.25,1), w=c(0,2,4,1))
data3x <- data.frame(x1=c(0,1,0,1), x2=c(0,0,1,1))
data3y <- cbind(c(0,1,1,1), c(0,1,3,0))
model1 <- glm(y~x1+x2, data=data1, family="binomial")
model2 <- glm(y~x1+x2, data=data2, family="binomial", weight=w)
model3 <- glm(data3y~data3x$x1+data3x$x2, family="binomial")
Mô hình 2 và 3 giống nhau, điều này có ý nghĩa. Nhưng Mô hình 1 khác với mô hình 2 và 3 và tôi không thể giải thích được tại sao cùng một dữ liệu sẽ trả về các thống kê mô hình khác nhau (hệ số, độ lệch và độ lệch dư) so với các mô hình khác. Mô hình 2 và 3 chỉ sử dụng một cách biểu diễn khác nhau của cùng một dữ liệu.
Đây có thể là cá trích đỏ, nhưng Mô hình 1 có hệ số thay đổi 4 đơn vị so với Mô hình 2, đây chính xác là sự khác biệt về số lượng hàng (dân số) / mức độ tự do còn lại giữa hai đơn vị.
> model1
Call: glm(formula = y ~ x1 + x2, family = "binomial", data = data1)
Coefficients:
(Intercept) x1 x2
-19.66 19.66 18.57
Degrees of Freedom: 6 Total (i.e. Null); 4 Residual
Null Deviance: 9.561
Residual Deviance: 7.271 AIC: 13.27
> model2
Call: glm(formula = y ~ x1 + x2, family = "binomial", data = data2,
weights = w)
Coefficients:
(Intercept) x1 x2
-23.66 23.66 22.57
Degrees of Freedom: 2 Total (i.e. Null); 0 Residual
Null Deviance: 2.289
Residual Deviance: 3.167e-10 AIC: 9.112
[1, 0, .5]
phản hồi nhận được trọng số là 2 chỉ ra 2 mức vớiy
lấy 0 và 1 làm phản hồi trung bình. Tuy nhiên, không có[1,0,.5]
mức phản hồi trong dữ liệu bạn hiển thị.