Làm cách nào để xử lý các biến dự đoán từ các phân phối khác nhau trong hồi quy logistic?


8

Tôi đang sử dụng hồi quy logistic để dự đoán y cho x1 và x2:

z = B0 + B1 * x1 + B2 * x2
y = e^z / (e^z + 1)

Làm thế nào là hồi quy logistic được cho là để xử lý các trường hợp trong đó các biến của tôi có quy mô rất khác nhau? Mọi người có bao giờ xây dựng mô hình hồi quy logistic với các hệ số bậc cao hơn cho các biến không? Tôi đang tưởng tượng một cái gì đó như thế này (cho hai biến):

z = B0 + B1 * x1 + B2 * x1^2 + B3 * x2 + B4 * x2^2

Ngoài ra, là câu trả lời đúng để đơn giản hóa, chuẩn hóa hoặc bán lại các giá trị x1 và x2 trước khi sử dụng hồi quy logistic?

Câu trả lời:


6

Tất nhiên bạn có thể bình thường hóa các tham số của mình, điều này cũng sẽ tăng tốc độ của thuật toán học tập.

Để có thể so sánh khi kết thúc thực thi thuật toán, với mỗi tính năng , hãy tính trung bình của nó và phạm vi của nó . Sau đó, bạn thay đổi từng giá trị , tức là giá trị của tính năng cho bản ghi , với: Bây giờ giá trị nằm trong khoảng [- 1,1], vì vậy bạn có thể so sánh với độ tin cậy cao hơn và do đó tỷ lệ cược của bạn. Điều này cũng rút ngắn thời gian để tìm bộ tốt nhấtβxiμiri=maximinir[xi]xir

r[xi]μiri
r[xi]ββnếu bạn đang sử dụng giảm dần độ dốc. Chỉ cần nhớ bình thường hóa các tính năng của bạn nếu bạn muốn dự đoán lớp của một bản ghi mới .r

Bạn cũng có thể thêm các tính năng bậc cao hơn nhưng điều này dẫn đến quá mức. Thông thường, miễn là bạn thêm nhiều tham số sẽ tốt hơn để thêm tính chính quy, điều đó cố gắng tránh bị quá mức bằng cách giảm cường độ của . Điều này có được khi thêm thuật ngữ này vào hàm chi phí hồi quy logistic trong đó điều chỉnh sức mạnh của chính quy hóa.β

λi=0nβi2
λ

Tôi muốn đề nghị xem các lớp học của Stanford về học máy ở đây: http : //www.ml- class.org/cference/video/preview_list , Bài 6 và 7.


chỉ để làm rõ, khi bạn nói để bình thường hóa một bản ghi mới r ', bạn sử dụng và cũ có nguồn gốc từ dữ liệu gốc, đúng không? Cảm ơnmuiri
FMZ

Vâng, đúng vậy. Bạn nên sử dụng và tính trên tập huấn luyện để chuẩn hóa các giá trị của một bản ghi mới. Bạn cũng có thể sử dụng độ lệch chuẩn của tính năng thay vì . μirixiri
Simone

6

@Simone làm cho một số điểm tốt, vì vậy tôi sẽ chỉ ném vào một vài mẩu tin bổ sung. Mặc dù chuẩn hóa có thể giúp với những thứ như tốc độ, hồi quy logistic không đưa ra các giả định về phân phối các biến dự đoán của bạn. Do đó, bạn không cần phải bình thường hóa. Thứ hai, trong khi thêm một thuật ngữ bình phương có thể dẫn đến quá mức (và bạn cần thận trọng về điều đó), nó được cho phép. Điều đó có nghĩa là xác suất thành công ở giữa phạm vi của người dự đoán cao hơn ở cực trị (hoặc ngược lại).


4

Về lý thuyết, quy mô đầu vào của bạn không liên quan đến hồi quy logistic. Về mặt lý thuyết, bạn có thể nhân với và ước tính cho sẽ điều chỉnh tương ứng. Nó sẽ nhỏ hơn lần so với ban đầu , do thuộc tính bất biến của MLE.X110101010β110101010β1

Nhưng hãy thử để R thực hiện hồi quy được điều chỉnh ở trên - nó sẽ bị hỏng (thậm chí sẽ không thể xây dựng ma trận X).

Điều này hơi giống với thuật toán phân rã cholesky để tính toán căn bậc hai ma trận. Đúng, trong toán học chính xác , phân rã cholesky không bao giờ liên quan đến việc lấy căn bậc hai của số âm, nhưng làm tròn các lỗi và số học dấu phẩy động có thể dẫn đến các trường hợp như vậy.

Bạn có thể lấy bất kỳ tổ hợp tuyến tính nào của các biến X của mình và các giá trị dự đoán sẽ giống nhau.

Nếu chúng tôi thực hiện lời khuyên của @ simone và sử dụng các biến X được chia tỷ lệ lại để phù hợp với mô hình . Nhưng chúng ta có thể sử dụng thuộc tính bất biến của MLE để có được bản beta mà chúng ta muốn, sau khi sử dụng các biến X đầu vào ổn định về số. Có thể là bản beta trên thang đo ban đầu có thể dễ hiểu hơn bản beta trên bản chuyển đổi của @ simone. Vì vậy, chúng ta có đã chuyển đổi ( quan sát thứ cho biến thứ ), gọi nó là , được định nghĩa bởi:xijijx~ij

x~ij=ajxij+bj

Sự lựa chọn của @ simone tương ứng với và (sử dụng để biểu thị thống kê thứ tự thứ của biến thứ , tức là ). Có thể và là tham số thuật toán (được chọn để làm cho thuật toán ổn định hơn và / hoặc chạy nhanh hơn). Sau đó, chúng tôi điều chỉnh hồi quy logistic bằng cách sử dụng và lấy ước tính tham số . Vì vậy, chúng tôi viết ra dự đoán tuyến tính:aj=1x[N]jx[1]jbj=x¯jx[N]jx[1]jx[i]jijx[N]jx[N1]jx[1]jajbjx~ijβ~j

zi=β~0+jx~ijβ~j

Bây giờ thay thế phương trình cho và bạn nhận được:x~ij

zi=β~0+j(ajxij+bj)β~j=β0+jxijβj
Trường hợp
β0=β~0+jbjβ~jβj=ajβ~j

Về mặt lý thuyết, bạn có thể thấy rằng các tham số không có sự khác biệt nào cả: bất kỳ lựa chọn nào (ngoài ) sẽ dẫn đến khả năng tương tự, bởi vì bộ dự báo tuyến tính không thay đổi. Nó thậm chí hoạt động cho các phép biến đổi tuyến tính phức tạp hơn, chẳng hạn như biểu diễn ma trận X bằng các thành phần chính của nó (bao gồm các phép quay). Vì vậy, chúng tôi có thể chuyển đổi lại kết quả để có được các betas mà chúng tôi muốn giải thích.aj,bjaj=0


Đẹp bằng chứng lý thuyết. Không có chuẩn hóa, tỷ lệ cược có ý nghĩa thực tế. Tuy nhiên, đôi khi các học viên sử dụng các tỷ lệ cược đó để đánh giá tầm quan trọng của tính năng đó và nó gây hiểu nhầm bằng cách nào đó bởi vì một tính năng có thể có ý nghĩa nhưng cũng có thể thay đổi trên phạm vi lớn và do đó có tỷ lệ chênh lệch thấp. Với việc chuẩn hóa chúng ngay lập tức có thể so sánh ngay cả khi mất đi ý nghĩa thực tế của chúng. Tất nhiên, một bài kiểm tra thống kê phải được thực hiện để đánh giá tầm quan trọng của một tính năng.
Simone
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.