Hồi quy logistic với R


7

Tôi đang tiến hành hồi quy logistic Tôi đã tạo dữ liệu thử nghiệm sau (hai yếu tố dự đoán và tiêu chí là biến nhị phân):

   UV1 UV2 AV
1    1   1  1
2    1   1  1
3    1   1  1
4    1   1  1
5    1   1  1
6    1   1  1
7    1   1  1
8    0   0  1
9    0   0  1
10   0   0  1
11   1   1  0
12   1   1  0
13   1   0  0
14   1   0  0
15   1   0  0
16   1   0  0
17   1   0  0
18   0   0  0
19   0   0  0
20   0   0  0

AV =dependentvmộtrTôimộtbtôiecrTôiterTôion

BạnV1BạnV2= =bothTôindependmộtntvmộtrTôimộtbtôieSpredTôictorS

Để đo hiệu ứng UV trên AV, cần phải có hồi quy logistic, vì AV là biến nhị phân. Do đó tôi đã sử dụng đoạn mã sau

> lrmodel <- glm(AV ~ UV1 + UV2, data = lrdata, family = "binomial")

bao gồm "gia đình =" nhị thức "" . Điều này có đúng không?

Về dữ liệu thử nghiệm của tôi, tôi đã tự hỏi về toàn bộ mô hình, đặc biệt là các công cụ ước tính và tầm quan trọng:

> summary(lrmodel)


Call:
glm(formula = AV ~ UV1 + UV2, family = "binomial", data = lrdata)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.7344  -0.2944   0.3544   0.7090   1.1774  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)
(Intercept) -4.065e-15  8.165e-01   0.000    1.000
UV1         -1.857e+01  2.917e+03  -0.006    0.995
UV2          1.982e+01  2.917e+03   0.007    0.995

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 27.726  on 19  degrees of freedom
Residual deviance: 17.852  on 17  degrees of freedom
AIC: 23.852

Number of Fisher Scoring iterations: 17
  1. Tại sao UV2 không đáng kể. Do đó, hãy xem nhóm AV = 1 có 7 trường hợp có UV2 = 1 và đối với nhóm AV = 0, chỉ có 3 trường hợp có UV2 = 1. Tôi đã hy vọng rằng UV2 là một phân biệt đối xử quan trọng.

  2. Mặc dù không có ý nghĩa quan trọng đối với các tia cực tím, các công cụ ước tính - theo ý kiến ​​của tôi - rất cao (ví dụ: đối với UV2 = 1.982e + 01). Sao có thể như thế được?

  3. Tại sao không phải là chặn 0,5 ?? Chúng tôi có 5 trường hợp với AV = 1 và 5 trường hợp với AV = 0.

Hơn nữa: Tôi đã tạo UV1 như một công cụ dự đoán mà tôi dự đoán sẽ không có ý nghĩa: đối với nhóm AV = 1, có 5 trường hợp với UV1 = 1 và đối với nhóm AV = 0 cũng có 5 trường hợp với UV1 = 1.

Toàn bộ "bức tranh" tôi thu được từ logistic đang làm tôi bối rối ...

Điều gì đã tiêu tốn của tôi nhiều hơn: Khi tôi chạy hồi quy "KHÔNG logistic" (bằng cách bỏ qua "Family =" binomial " )

> lrmodel <- glm(AV ~ UV1 + UV2, data = lrdata,)

Tôi nhận được kết quả mong đợi

Call:
glm(formula = AV ~ UV1 + UV2, data = lrdata)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.7778  -0.1250   0.1111   0.2222   0.5000  

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   0.5000     0.1731   2.889  0.01020 * 
UV1          -0.5000     0.2567  -1.948  0.06816 . 
UV2           0.7778     0.2365   3.289  0.00433 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for gaussian family taken to be 0.1797386)

    Null deviance: 5.0000  on 19  degrees of freedom
Residual deviance: 3.0556  on 17  degrees of freedom
AIC: 27.182

Number of Fisher Scoring iterations: 2
  1. UV1 không đáng kể! :-)
  2. UV2 có tác động tích cực đến AV = 1! :-)
  3. Chặn là 0,5! :-)

Câu hỏi chung của tôi: Tại sao không phải hồi quy logistic (bao gồm "gia đình =" nhị thức ") tạo ra kết quả như mong đợi, nhưng hồi quy" KHÔNG logistic "(không bao gồm" gia đình = "nhị thức") thì sao?

Cập nhật: là những quan sát được mô tả ở trên vì mối tương quan giữa UV1 và UV 2. Corr = 0.56 Sau khi thao tác dữ liệu của UV2

AV: 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

UV1: 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0

UV2: 0, 0, 0, 1, 1, 1, 1, 1, 1, 1 , 1, 1, 0, 0, 0, 0, 0, 0, 0, 0

(Tôi đã thay đổi vị trí của ba số 0 bằng ba số 1 trong UV2 để đạt được mối tương quan <0,1 giữa UV1 và UV2) do đó:

UV1 UV2 AV
1    1   0  1
2    1   0  1
3    1   0  1
4    1   1  1
5    1   1  1
6    1   1  1
7    1   1  1
8    0   1  1
9    0   1  1
10   0   1  1
11   1   1  0
12   1   1  0
13   1   0  0
14   1   0  0
15   1   0  0
16   1   0  0
17   1   0  0
18   0   0  0
19   0   0  0
20   0   0  0

để tránh sự tương quan, kết quả của tôi đến gần hơn với mong đợi của tôi:

Call:
glm(formula = AV ~ UV1 + UV2, family = "binomial", data = lrdata)

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-1.76465  -0.81583  -0.03095   0.74994   1.58873  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -1.1248     1.0862  -1.036   0.3004  
UV1           0.1955     1.1393   0.172   0.8637  
UV2           2.2495     1.0566   2.129   0.0333 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 27.726  on 19  degrees of freedom
Residual deviance: 22.396  on 17  degrees of freedom
AIC: 28.396

Number of Fisher Scoring iterations: 4

Nhưng tại sao mối tương quan lại ảnh hưởng đến kết quả của hồi quy logistic mà không phải là kết quả của hồi quy "không logistic"?


2
Khi bạn không biết làm thế nào phản hồi được tạo ra từ các biến hồi quy, dữ liệu của bạn sẽ gần như vô dụng để thử nghiệm. Tại sao không tạo AV theo một mô hình được chỉ định dựa trên UV1 và UV2 (với các hệ số đã biết)? Sau đó, bạn sẽ có dữ liệu đáng xem và học hỏi.
whuber

thx cho đề xuất này, nhưng: Tôi biết cách tạo các giá trị cho AV theo các hệ số đã biết cho UV1 và UV2 cho hồi quy tuyến tính / bội . Thật dễ dàng để xác định, ví dụ, y = 5 + 10 * UV1 + 20 * UV2 (đối với phương trình hồi quy tuyến tính y = b0 + b1 * UV1 + b2 * UV2) và, dựa trên phương trình này, để tạo ra một bộ dữ liệu cho X và Y. Nhưng ở đây là tất cả về một hậu cần hồi quy.
flobrr

Làm cách nào tôi có thể điều chỉnh quy trình này thành hồi quy logistic, đặc biệt là xem xét hồi quy logistic là chính xác t calculating an exact y-value but an value which can be defined as the probability to be part of group AV = 1 (and not part of group AV = 0); and this value isn0 hoặc 1 nhưng nằm trong khoảng từ 0 đến 1 và bạn phải chọn ngưỡng cho mô hình của mình, để gán trường hợp cho nhóm AV = 1, khi vượt quá ngưỡng. Do đó, có một giá trị "trừu tượng" hơn trong hồi quy logistic và không phải là giá trị y rõ ràng như trong hồi quy tuyến tính. Làm thế nào để xử lý với điều này?
flobrr

Hồi quy logistic sử dụng một mô hình toán học cụ thể mô tả chính xác cách tạo dữ liệu. Tôi đã đăng một Rví dụ hoạt động trong một giải pháp tại stats.stackexchange.com/a/40609/919 : xem dòng mã bên dưới nhận xét "Thực hiện mô phỏng".
whuber

Câu trả lời:


1

Câu hỏi chung của tôi: Tại sao không phải hồi quy logistic (bao gồm "gia đình =" nhị thức ") tạo ra kết quả như mong đợi, nhưng hồi quy" KHÔNG logistic "(không bao gồm" gia đình = "nhị thức") thì sao?

Bạn nhận được kết quả khác nhau khi các mô hình tuyến tính giảm thiểu

ΣTôi= =1n(yTôi-ηTôi)2
trong khi hồi quy logistic giảm thiểu:

ΣTôi= =1nyTôiđăng nhập(11+điểm kinh nghiệm(-ηTôi))+(1-yTôi)đăng nhập(1-11+điểm kinh nghiệm(-ηTôi))
Ở đâu
ηTôi= =β0+β1BạnV1+β2BạnV2

Không có lý do kết quả nên giống nhau.

Nhưng tại sao mối tương quan lại ảnh hưởng đến kết quả của hồi quy logistic mà không phải là kết quả của hồi quy "không logistic"?

Nó sẽ ảnh hưởng đến cả hai. Tôi đoán bạn cũng thấy Std. Errors thấp hơn trong mô hình tuyến tính. Đây là một vấn đề với tính đa hình mặc dù bạn có thể không gọi đây là tính đa hình khi bạn chỉ có hai biến có tương quan0,56.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.