Hồi quy logistic: tối đa hóa dương tính thật - dương tính giả


9

Tôi có một mô hình hồi quy logistic (phù hợp thông qua glmnet trong R với chính quy hóa mạng đàn hồi) và tôi muốn tối đa hóa sự khác biệt giữa dương tính thật và dương tính giả. Để làm điều này, các thủ tục sau đây đã xuất hiện:

  1. Phù hợp với mô hình hồi quy logistic tiêu chuẩn
  2. Sử dụng ngưỡng dự đoán là 0,5, xác định tất cả các dự đoán tích cực
  3. Gán trọng số 1 cho các quan sát dự đoán tích cực, 0 cho tất cả các quan sát khác
  4. Mô hình hồi quy logistic có trọng số

Điều gì sẽ là sai sót với phương pháp này? Điều gì sẽ là cách chính xác để tiến hành với vấn đề này?

Lý do muốn tối đa hóa sự khác biệt giữa số lượng dương tính thật và âm tính giả là do thiết kế ứng dụng của tôi. Là một phần của dự án đẳng cấp, tôi đang xây dựng một người tham gia tự chủ trong một thị trường trực tuyến - nếu mô hình của tôi dự đoán nó có thể mua một cái gì đó và bán nó sau đó với giá cao hơn, nó sẽ đặt giá thầu. Tôi muốn bám sát hồi quy logistic và kết quả nhị phân đầu ra (thắng, thua) dựa trên chi phí cố định và tăng đơn giá (tôi có được hoặc mất cùng số tiền trên mỗi giao dịch). Một dương tính giả làm tổn thương tôi vì điều đó có nghĩa là tôi mua một thứ gì đó và không thể bán nó với giá cao hơn. Tuy nhiên, một âm tính giả không làm tổn thương tôi (chỉ về chi phí cơ hội) bởi vì điều đó chỉ có nghĩa là nếu tôi không mua, nhưng nếu tôi có, tôi sẽ kiếm được tiền. Tương tự

Tôi đồng ý rằng mức cắt 0,5 là hoàn toàn tùy ý và khi tôi tối ưu hóa mô hình từ bước 1 trên ngưỡng dự đoán mang lại sự khác biệt cao nhất giữa dương tính thật / sai, hóa ra là gần hơn 0,4. Tôi nghĩ rằng điều này là do bản chất sai lệch của dữ liệu của tôi - tỷ lệ giữa tiêu cực và tích cực là khoảng 1: 3.

Ngay bây giờ, tôi đang làm theo các bước sau:

  1. Phân chia dữ liệu intto training / test
  2. Mô hình phù hợp về đào tạo, đưa ra dự đoán trong bộ kiểm tra và tính toán sự khác biệt giữa dương tính đúng / sai
  3. Điều chỉnh mô hình đầy đủ, đưa ra dự đoán trong tập kiểm tra và tính toán sự khác biệt giữa các kết quả dương tính / sai

Sự khác biệt giữa dương tính đúng / sai nhỏ hơn ở bước 3 so với bước 2, mặc dù tập huấn luyện là tập con của tập hợp đầy đủ. Vì tôi không quan tâm liệu mô hình trong # 3 có nhiều âm bản đúng hơn và ít âm tính giả hơn không, tôi có thể làm gì mà không làm thay đổi chức năng khả năng không?


Trước khi hỏi điều gì sẽ là sai sót với phương pháp này, có lẽ bạn nên viết lý do tại sao phương pháp này nên hoạt động, theo ý kiến ​​của bạn. Tại sao bạn nghĩ rằng các bước 2-4 cải thiện kết quả?
user31264

Ngoài ra, tôi có đúng không khi cuối cùng bạn thả mô hình từ bước 1 và chỉ sử dụng mô hình từ bước 4?
user31264

Có, tôi đã dự định sử dụng mô hình được trang bị toàn bộ tập dữ liệu, nhưng sẽ không có ý nghĩa gì vì nó hoạt động kém so với mô hình được trang bị tập huấn luyện.
tmakino

2
Tôi không có nguồn về điều này ngay bây giờ ... nhưng bạn có biết rằng bạn có thể tối ưu hóa mô hình hồi quy logistic để tối đa hóa Vùng dưới Đường cong (Đặc tính hoạt động của người nhận) (hoặc AUC) không? Không cần phải phát minh lại bánh xe.
AdamO

2
Điều tôi không hiểu lắm ở đây là tại sao bạn chưa bao gồm bất cứ điều gì về giá tương lai được dự đoán trong mô hình của bạn, cũng như bạn chưa bao gồm mức độ lãi / lỗ trong tối ưu hóa. Chắc chắn một quyết định "mua" dẫn đến thua lỗ 99% còn tồi tệ hơn nhiều so với quyết định "mua" dẫn đến thua lỗ 1%, mặc dù cả hai đều là dương tính giả.
xác suất

Câu trả lời:


24

Bạn dường như không muốn hồi quy logistic cả. Điều bạn nói là "Tôi muốn tối đa hóa sự khác biệt giữa dương tính thật và dương tính giả". Đó là một hàm mục tiêu tốt, nhưng nó không phải là hồi quy logistic. Chúng ta hãy xem nó là gì.

Đầu tiên, một số ký hiệu. Biến phụ thuộc sẽ là : Y iYTôi

YTôi= ={1Mua, tựa vào, bám vào Tôi đã có lãi0Mua, tựa vào, bám vào Tôi không có lãi

XTôiβXTôiβ>0TôiXTôiβ>01XTôiβ>0= =1

TôiYTôi= =11XTôiβ>0= =1TôiYTôi= =01XTôiβ>0= =1β

mmộtxβΣTôi= =1NYTôi1XTôiβ>0-ΣTôi= =1N(1-YTôi)1XTôiβ>0

Đây không phải là một hàm mục tiêu đặc biệt quen thuộc để ước tính một mô hình phản hồi rời rạc, nhưng hãy đồng ý với tôi trong khi tôi thực hiện một số đại số nhỏ về hàm mục tiêu:

ΣTôi= =1NYTôi1XTôiβ>0-ΣTôi= =1N(1-YTôi)1XTôiβ>0= =ΣTôi= =1NYTôi1XTôiβ>0-ΣTôi= =1N1XTôiβ>0+ΣTôi= =1NYTôi1XTôiβ>0= =ΣTôi= =1NYTôi1XTôiβ>0-ΣTôi= =1N1XTôiβ>0+ΣTôi= =1NYTôi1XTôiβ>0+ΣTôi= =1N1-ΣTôi= =1N1+ΣTôi= =1NYTôi-ΣTôi= =1NYTôi= =ΣTôi= =1NYTôi1XTôiβ>0+ΣTôi= =1N(1-YTôi)(1-1XTôiβ>0)-ΣTôi= =1N1+ΣTôi= =1NYTôi

β

mmộtxβΣTôi= =1NYTôi1XTôiβ>0+ΣTôi= =1N(1-YTôi)(1-1XTôiβ>0)

Bây giờ, ước tính đó có một tên! Nó được đặt tên là công cụ ước tính điểm tối đa. Đây là một cách rất trực quan để ước tính tham số của mô hình phản hồi rời rạc. Tham số được chọn để tối đa hóa số lượng dự đoán chính xác. Thuật ngữ đầu tiên là số lượng tích cực thực sự, và thuật ngữ thứ hai là số lượng tiêu cực thực sự.

βββNNhội tụ. (Kim và Pollard, 1990, Ann of Stat) Cuối cùng, bạn không thể sử dụng bootstrapping để suy luận về nó. (Abrevaya & Huang, 2005, Kinh tế lượng) Có một số bài viết sử dụng công cụ ước tính này --- có một điều thú vị về dự đoán kết quả trong giải đấu bóng rổ NCAA của Caudill, Tạp chí Dự báo Quốc tế, tháng 4/2003, v. 19, v. 2, trang 313-17.

N


βTx>0p>0,5p<=0,5βTx
tmakino

(tiếp theo) bằng cách xác định nó trong hàm chi phí (và sửa ngưỡng dự đoán ở mức 0,5), do đó bỏ qua bước trung gian tôi đã thực hiện. Tuy nhiên, AUC đã tồn tại trong gói hồi quy tôi đang sử dụng (glmnet) trong khi esimator điểm tối đa thì không. Bạn có nghĩ rằng cách tiếp cận của tôi là hợp lý cho mục tiêu của tôi?
tmakino

1
pXTôiβ>0β

15

Có một số điều sai với cách tiếp cận đó, bao gồm:

  • Tìm kiếm một điểm dừng cho xác suất liên tục
  • Sử dụng mức cắt tùy ý 0,5
  • Giả sử rằng chi phí của "dương tính giả" và "âm tính giả" là như nhau cho tất cả các đối tượng
  • Sử dụng các trọng số không phải là phân số
  • Sử dụng trọng lượng được ước tính
  • Ghi đè ước tính khả năng tối đa
  • Không sử dụng lý thuyết quyết định tối ưu Bayes, điều này cho thấy rằng các quyết định tối ưu dựa trên thông tin đầy đủ (không phải là liệu cái gì đó có vượt quá thứ khác không) và các hàm tiện ích / mất / chi phí

1
Cảm ơn bạn, có cách nào để đạt được điều này trong khi gắn bó với hồi quy logistic (tức là không chạm vào chức năng khả năng) không?
tmakino

Nó phụ thuộc vào "cái này" là gì. Mục tiêu cuối cùng là gì và mô hình sẽ được sử dụng như thế nào?
Frank Harrell

Tôi đã chỉnh sửa câu hỏi của mình để cung cấp chi tiết về những gì tôi đang cố gắng đạt được.
tmakino

1
Trừ khi tôi thiếu một cái gì đó, không có gì bạn thêm vào sẽ ngụ ý việc sử dụng một điểm dừng. Lưu ý rằng một xác suất dự đoán cung cấp tỷ lệ lỗi riêng của nó.
Frank Harrell

8

Cách tiếp cận tốt nhất để đạt được những gì bạn đang cố gắng mô tả có lẽ là trực tiếp tối ưu hóa các tham số hồi quy logistic với hàm mất AUC. Sách giáo khoa "Phương pháp thống kê trong y học chẩn đoán" của Zhou mô tả phương pháp này.

AUC (khu vực dưới đường cong đặc tính vận hành của máy thu-- hoặc ROC) được hiểu đại khái là xác suất một "trường hợp" được lấy mẫu ngẫu nhiên có giá trị đánh dấu cao hơn "điều khiển". Đây là thước đo phân biệt mô hình hoặc khả năng phân loại chính xác kết quả. ROC là một đường cong trong mặt phẳng đơn vị cho thấy độ nhạy so với độ đặc hiệu 1 cho tất cả các giá trị đánh dấu có thể có (kết quả được trang bị) trong mô hình hồi quy.

Bằng cách sử dụng công thức truyền thống của mô hình hồi quy logistic,

đăng nhập Pr(Y= =1|X)= =α+βX

với tỷ lệ cược log cho các tham số mô hình, bạn có thể định nghĩa đại khái hàm mất dựa trên AUC để thu được các tham số tối ưu. Không giống như hồi quy logistic dựa trên khả năng, hồi quy AUC không thường xuyên và có thể hội tụ đến cực đại cục bộ trong không gian tham số.


1
Tôi đã nghĩ rằng AUC không phải là tốt nhất ở đây bởi vì có tổn thất nhỏ cho âm tính giả, nhưng tổn thất lớn cho dương tính giả.
xác suất

Vâng, vấn đề thực sự là OP có kết quả liên tục (ROI) và đang phân đôi nó thành một khoản lỗ / lãi. Nhưng tách tóc sang một bên, với hồi quy ROC nói chung các vùng cắt đánh dấu "ngu ngốc" thực sự được tính vào AUC. Bạn có thể sử dụng AUC một phần nếu bạn quy định giá trị nào là giá trị đánh dấu có ý nghĩa so với ngu ngốc và hồi quy AUC một phần có tất cả các khả năng thực hiện (và các vấn đề) giống nhau.
AdamO
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.