Tôi có thể sử dụng một biến có mối quan hệ phi tuyến tính với biến phụ thuộc trong hồi quy logistic không?


9

Giả sử tôi đang xây dựng mô hình hồi quy logistic trong đó biến phụ thuộc là nhị phân và có thể lấy các giá trị hoặc . Đặt các biến độc lập là - có m biến độc lập. Giả sử với biến độc lập thứ k , phân tích bivariate cho thấy xu hướng hình chữ U - nghĩa là, nếu tôi nhóm x_k thành 20 thùng mỗi thùng chứa số lượng quan sát gần bằng nhau và tính 'tỷ lệ xấu' cho mỗi thùng - # quan sát trong đó y = 0 / tổng số quan sát trong mỗi thùng - sau đó tôi nhận được một đường cong hình chữ U.01x1,x2,...,xmmkxk20

Câu hỏi của tôi là:

  1. Tôi có thể trực tiếp sử dụng làm đầu vào trong khi ước tính các tham số beta không? Có bất kỳ giả định thống kê nào bị vi phạm có thể gây ra lỗi đáng kể trong việc ước tính các tham số không?xk
  2. Có nhất thiết phải 'tuyến tính hóa' biến này thông qua một phép biến đổi (log, vuông, sản phẩm với chính nó, v.v.) không?

3
phải là một trong những yếu tố dự đoán bạn muốn đưa vào mô hình không? Có vẻ như bạn đang nói rằng là hàm hình chữ U của . Một đường cong hình chữ U thường có thể được xấp xỉ bằng một hàm bậc hai (đặc biệt là gần thung lũng) - bạn đã xem xét bao gồm một thuật ngữ tuyến tính bậc hai trong biến đó vào mô hình chưa? XkP(Y= =1)Xk
Macro

@Macro cảm ơn lời đề nghị của bạn. Tôi đã thấy một số bộ điều biến phù hợp với hàm tuyến tính piecewise (giả sử hình chữ U sắc nét) - trong đó mỗi dòng được ước tính từ dữ liệu với các ngắt được xác định trực quan và sau đó đầu ra của phương trình tuyến tính được cung cấp làm đầu vào cho hồi quy logistic. Tôi không phải là một fan hâm mộ lớn của cách tiếp cận mặc dù.
Mozan Sykol

Câu trả lời:


12

Bạn sẽ muốn sử dụng một công thức linh hoạt có thể tự động nắm bắt phi tuyến tính, ví dụ: một số phiên bản của mô hình phụ gia tổng quát . Sự lựa chọn của một người nghèo là đa thức , x 2 k , ..., x p k k , nhưng các đa thức như vậy tạo ra sự bội thực khủng khiếp ở cuối phạm vi của các biến tương ứng. Một công thức tốt hơn nhiều sẽ là sử dụng B-splines (khối) (xem một ghi chú giới thiệu ngẫu nhiên từ trang đầu tiên của Google ở đây , và một cuốn sách hay ở đây ). B-splines là một chuỗi các bướu cục bộ:xkxk2xkpk

http://ars.scTHERirect.com/content/image/1-s2.0-S0169743911002292-gr2.jpg

Chiều cao của bướu được xác định từ hồi quy (tuyến tính, logistic, GLM khác) của bạn, vì chức năng bạn đang lắp chỉ đơn giản là

θ= =β0+Σk= =1KβkB(x-xkhk)

đối với hình thức chức năng theo quy định của bướu của bạn . Cho đến nay phiên bản phổ biến nhất là một spline hình khối trơn hình chuông:B()

B(z)= ={14(z+2)3,-2z-114(3|x|3-6x2+4),-1<x<114(2-x)3,1x20,nếu không thì

Về mặt triển khai, tất cả những gì bạn cần làm là thiết lập 3-5-10 - bất kỳ số nút nào sẽ hợp lý cho ứng dụng của bạn và tạo các biến 3-5-10 tương ứng trong tập dữ liệu với giá trị của B ( x - x kxk. Thông thường, một lưới các giá trị đơn giản được chọn, vớihkgấp đôi kích thước của lưới, do đó tại mỗi điểm, có hai B-splines chồng chéo, như trong sơ đồ trên.B(x-xkhk)hk


2
Làm thế nào bạn có thể nói rằng anh ấy cần một cái gì đó phức tạp? Chắc chắn một thuật ngữ bậc hai trong một hiệp phương trình x có vẻ như có hình dạng đó có thể được kết hợp trong mô hình hồi quy logistic theo cách mà OP dường như muốn nó.
Michael R. Chernick

1
@MichaelCécick Có Tôi đã chấp nhận câu trả lời vì nó đã dạy cho tôi một khái niệm mới, nhưng tôi có thể sẽ không cần một giải pháp phức tạp như vậy.
Mozan Sykol

3
@Michael Đó là một điểm quan trọng. Mặc dù vậy, tôi được khuyến khích bởi một bình luận của OP khi đề cập đến một quy trình lắp tuyến tính phù hợp với quảng cáo . Splining hoạt động trong cùng một tinh thần nhưng với sự linh hoạt và nghiêm ngặt hơn. Các thuật ngữ bậc hai có thể hoạt động nhưng có vẻ như rất nhiều hy vọng.
whuber

Trông giống như hằng số piecewise đối với tôi: giá trị trung bình của phản hồi trong thùng tương đương với hồi quy trên biến / chỉ báo giả của thùng đó, và đó là hằng số piecewise ... nói chung, nhưng tôi không nói vẫn chưa thấy một ứng dụng trong đó B-splines sẽ kém hơn so với sự phù hợp đa thức.
StasK

@StasK Nếu kém hơn có nghĩa là nó không phù hợp với dữ liệu thì tôi nghĩ rằng một cỡ mẫu nhỏ sẽ tạo ra một đa thức đơn giản.
Michael R. Chernick


1

Một lựa chọn khả thi khác mà cửa hàng mô hình mà tôi làm việc thường xuyên sử dụng, là tạo ra các biến độc lập liên tục và thay thế 'tỷ lệ xấu'. Điều này buộc một mối quan hệ tuyến tính.


Tôi cũng đã thấy điều này. Làm thế nào để bạn chọn thùng?
Adam Ryczkowski

1
Có nhiều phương pháp khác nhau mà bạn có thể sử dụng. R có discogói. Tôi đã tạo ra thuật toán của riêng mình để phân chia đệ quy một biến liên tục dựa trên giá trị thông tin. Tôi đặt nó trong gói R ở đây: github.com/Zelazny7/binnr (công việc đang tiến hành!). Tôi cũng sẽ thay thế trọng lượng của bằng chứng thay vì trung bình. Khi kết hợp với hồi quy LASSO, kết quả thật tuyệt vời!
Zelazny7

Cảm ơn bạn! Bạn có thể so sánh binnrthuật toán với CRAN smbinningkhông?
Adam Ryczkowski

'binnr' được viết bằng C và rất nhanh. Nó cũng hỗ trợ các điều kiện trong thế giới thực như ghi đè các giá trị và tính đơn điệu. Có thể nói 'binnr' chỉ thực hiện các vết cắt rời rạc khi tỷ lệ xấu là đơn điệu. 'smbinning' sử dụng cây suy luận có điều kiện, theo kinh nghiệm của tôi, mất nhiều thời gian trên các tập dữ liệu có kích thước phù hợp vì chúng dựa vào hoán vị. 'binnr' cũng cho phép bạn tương tác điều chỉnh các thùng bằng giao diện dòng lệnh
Zelazny7

Bạn đã sử dụng nó trong sản xuất? Bạn có biết về bất kỳ lỗi ẩn hoặc trường hợp góc không được kiểm tra? Tôi nghĩ về việc sử dụng nó cho một khách hàng lớn và tôi sẽ chỉ có 1 ngày để kiểm tra nó trước khi áp dụng mã của bạn.
Adam Ryczkowski
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.