Thêm trọng số vào hồi quy logistic cho dữ liệu mất cân bằng


21

Tôi muốn mô hình một hồi quy logistic với dữ liệu mất cân bằng (9: 1). Tôi muốn thử tùy chọn trọng số trong glmhàm trong R, nhưng tôi không chắc chắn 100% nó làm gì.

Hãy nói biến đầu ra của tôi là c(0,0,0,0,0,0,0,0,0,1). bây giờ tôi muốn tăng cân gấp "1" 10 lần. Vì vậy, tôi đưa ra các đối số trọng số weights=c(1,1,1,1,1,1,1,1,1,1,1,10).

Khi tôi làm điều đó, nó sẽ được xem xét trong tính toán khả năng tối đa. Tôi có đúng không phân loại sai của "1" chỉ tệ hơn 10 lần sau đó phân loại sai "0".

Câu trả lời:


10

Chính, bạn không cần phải làm cho bộ dữ liệu của mình được cân bằng theo các giá trị 1 và 0. Tất cả những gì bạn cần là đủ số 1 để có khả năng hội tụ tối đa. Nhìn vào phân phối của 1 (100.000) trong tập dữ liệu của bạn, bạn không nên có bất kỳ vấn đề nào. Bạn có thể làm một thí nghiệm đơn giản ở đây

  1. Lấy mẫu 10% của 1 và 10% của 0 và sử dụng trọng số 10 cho cả hai
  2. Lấy mẫu 100% của 1 và 10% của 0 và sử dụng trọng số 10 cho 0

Trong cả hai trường hợp, bạn sẽ nhận được ước tính giống hệt nhau. Một lần nữa ý tưởng về trọng số có liên quan đến lấy mẫu. Nếu bạn đang sử dụng toàn bộ tập dữ liệu, bạn không nên cân nó. Nếu tôi là bạn, tôi sẽ chỉ sử dụng 10% nếu 1 và 10% của 0.

Trong R, bạn sẽ sử dụng glm. Đây là một mã mẫu:

glm(y ~ x1 + x2, weights = wt, data =data, family = binomial("logit"))

Trong tập dữ liệu của bạn nên có một biến wtcho trọng số.

Nếu bạn sử dụng 10% của cả 0 và 1, wtbiến của bạn sẽ có giá trị là 10.

Nếu bạn sử dụng 10% của 0 và 100% của 1: wtbiến sẽ có giá trị 10 cho các quan sát với y = 0 và 1 cho các quan sát với y = 1


11

Trọng số là một thủ tục có trọng số dữ liệu để bù cho sự khác biệt về mẫu và dân số (King 2001). Ví dụ: trong các sự kiện hiếm gặp (như gian lận rủi ro tín dụng, tử vong trong tài liệu y khoa), chúng tôi có xu hướng lấy mẫu tất cả 1 (sự kiện hiếm) và một phần 0 (không phải sự kiện). Trong những trường hợp như vậy, chúng ta phải cân nhắc các quan sát cho phù hợp.

Ví dụ: Chúng ta hãy nói, trong một dân số 500.000 giao dịch có 50 giao dịch gian lận. Trong trường hợp này bạn sẽ

  1. Mẫu tất cả 50 giao dịch gian lận (100% gian lận)
  2. 10% giao dịch tốt (10% trong số 500.000 là 50.000 giao dịch tốt)

Trong trường hợp này, bạn sẽ chỉ định trọng số 1 cho các giao dịch gian lận và trọng số 10 cho các giao dịch tốt. Đây được gọi là phương pháp Khả năng tối đa có trọng số. Điểm quan trọng là trọng số có liên quan đến tỷ lệ lấy mẫu

Tham khảo: Hồi quy logistic trong dữ liệu sự kiện hiếm (King 2001)


chào tiểu thư !!! cảm ơn bạn rất nhiều vì cách tiếp cận của nhà vua !! chưa từng nghe về nó! trong trường hợp của tôi, tôi có 1 triệu giao dịch! (900.000 là "0" và 100.000 là "1"). vậy tôi có nên lấy mẫu 10% số "0" của mình không? sau đó tôi có gần như một bộ dữ liệu cân bằng. sau đó tôi phải cân "0" gấp mười lần so với "1" phải không? và hàm trong R glm () trong gói MASS chính xác phải không? Nếu tôi cân nhắc các quan sát của mình, tôi sẽ tính khả năng tối đa có trọng số? cảm ơn bạn! thực sự đánh giá cao câu trả lời và sự giúp đỡ của bạn
ching

tôi thực sự nghĩ rất nhiều về vấn đề này Điều gì xảy ra nếu tôi nói: bây giờ sử dụng tất cả dữ liệu của tôi để xây dựng mô hình logit (với dữ liệu không cân bằng 9: 1). và sau đó tôi cân nhắc "1" của mình mười lần, thậm chí tho trong thực tế tôi không có nhiều dữ liệu hơn và nó KHÔNG phải là 10% dữ liệu của tôi. Nó giống như, tôi hành động như tôi có ..... vì vậy bây giờ khi R tính toán mô hình, nó nghĩ rằng tôi chỉ sử dụng 10% số "1" của mình và xem xét nó trong tính toán khả năng. Điều đó có ý nghĩa gì?
ching
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.