Làm thế nào để đánh giá sức mạnh dự đoán của tập hợp các dự đoán phân loại về kết quả nhị phân? Tính xác suất hay hồi quy logistic?


10

Tôi đang cố gắng xác định xem các xác suất đơn giản sẽ hoạt động cho vấn đề của tôi hay liệu sử dụng (và tìm hiểu về) các phương pháp tinh vi hơn như hồi quy logistic sẽ tốt hơn.

Biến phản hồi trong bài toán này là phản hồi nhị phân (0, 1). Tôi có một số biến dự đoán là tất cả phân loại và không có thứ tự. Tôi đang cố gắng xác định tổ hợp các biến dự đoán nào mang lại tỷ lệ cao nhất là 1 '. Tôi có cần hồi quy logistic không? Làm thế nào sẽ là một lợi thế khi chỉ tính toán tỷ lệ trong tập mẫu của tôi cho mỗi kết hợp của các yếu tố dự đoán phân loại?


Nếu bạn có nhiều hơn 1 yếu tố dự đoán, có thể khó thực hiện việc này mà không có mô hình hồi quy nào đó. Bạn đã nghĩ gì vậy? Chỉ cần một bảng tiếp giáp -chiều lớn ( là số lượng dự đoán)? kkk
Macro

Là các loại dự đoán được nhóm thành nhiều hơn một yếu tố, và nếu vậy chúng được lai hoặc lồng nhau? Ngoài ra, bạn chỉ quan tâm đến việc đưa ra một tuyên bố mô tả? Nếu dữ liệu của bạn phức tạp, mô hình LR có thể thuận tiện hơn, và nếu bạn muốn thực hiện suy luận thì LR rất thích hợp, tôi nghĩ vậy.
gung - Phục hồi Monica

@Macro - Vâng, tôi đã nghĩ rằng về cơ bản nó sẽ là một bảng lớn, với một cột hiển thị # điểm mẫu tương ứng với kịch bản và một cột khác hiển thị tỷ lệ 1 '. Tôi có năm dự đoán phân loại, mỗi dự đoán có 10-30 giá trị có thể, vì vậy tôi biết danh sách các kịch bản sẽ cao. Tôi đã suy nghĩ để kịch bản một vòng lặp trong R đi qua từng vòng và đưa ra kết quả quan trọng (tỷ lệ cao của 1 cộng với số điểm mẫu lớn trong kịch bản).
Rachel

@gung - Các yếu tố chỉ được vượt qua một phần. Không có yếu tố nào được coi là lồng nhau. Tôi quan tâm đến việc tìm kiếm sự kết hợp của các yếu tố (ví dụ: Nhà nước, Khách hàng, Nhân viên) có thể sẽ có xác suất cao của biến phản hồi bằng 1.
Rachel

1
@EmreA - Thật không may, các biến phân loại không hoàn toàn độc lập. Một số kết hợp sẽ có nhiều khả năng hơn những kết hợp khác ...
Rachel

Câu trả lời:


11

Hồi quy logistic sẽ, đến mức không chính xác về số, sẽ đưa ra chính xác sự phù hợp với tỷ lệ phần trăm được lập bảng. Do đó, nếu các biến độc lập của bạn là các đối tượng yếu tốfactor1 , v.v. và kết quả phụ thuộc (0 và 1) là x, thì bạn có thể thu được các hiệu ứng với một biểu thức như

aggregate(x, list(factor1, <etc>), FUN=mean)

So sánh điều này với

glm(x ~ factor1 * <etc>, family=binomial(link="logit"))

Ví dụ: hãy tạo một số dữ liệu ngẫu nhiên:

set.seed(17)
n <- 1000
x <- sample(c(0,1), n, replace=TRUE)
factor1 <- as.factor(floor(2*runif(n)))
factor2 <- as.factor(floor(3*runif(n)))
factor3 <- as.factor(floor(4*runif(n)))

Tóm tắt thu được với

aggregate.results <- aggregate(x, list(factor1, factor2, factor3), FUN=mean)
aggregate.results

Đầu ra của nó bao gồm

   Group.1 Group.2 Group.3         x
1        0       0       0 0.5128205
2        1       0       0 0.4210526
3        0       1       0 0.5454545
4        1       1       0 0.6071429
5        0       2       0 0.4736842
6        1       2       0 0.5000000
...
24       1       2       3 0.5227273

Để tham khảo trong tương lai, ước tính cho các yếu tố ở các mức (1,2,0) trong hàng 6 của đầu ra là 0,5.

Hồi quy logistic từ bỏ các hệ số của nó theo cách này:

model <- glm(x ~ factor1 * factor2 * factor3, family=binomial(link="logit"))
b <- model$coefficients

Để sử dụng chúng, chúng ta cần chức năng logistic:

logistic <- function(x) 1 / (1 + exp(-x))

Để có được, ví dụ: ước tính cho các yếu tố ở cấp độ (1,2,0), hãy tính toán

logistic (b["(Intercept)"] + b["factor11"] + b["factor22"] + b["factor11:factor22"])

(Lưu ý cách bao gồm tất cả các tương tác trong mô hình và tất cả các hệ số liên quan phải được áp dụng để có được ước tính chính xác.) Đầu ra là

(Intercept) 
        0.5

đồng ý với kết quả của aggregate. (Tiêu đề "(Chặn)" trong đầu ra là một dấu tích của đầu vào và thực sự vô nghĩa đối với phép tính này.)


Thông tin tương tự ở dạng khác xuất hiện trong đầu ra củatable . Ví dụ: đầu ra (dài) của

table(x, factor1, factor2, factor3)

bao gồm bảng này:

, , factor2 = 2, factor3 = 0

   factor1
x    0  1
  0 20 21
  1 18 21

Cột cho factor1= 1 tương ứng với ba yếu tố ở các mức (1,2,0) và cho thấy trong các giá trị bằng , đồng ý với những gì chúng ta đọc được và .121/(21+21)=0.5x1aggregateglm


Cuối cùng, sự kết hợp của các yếu tố mang lại tỷ lệ cao nhất trong bộ dữ liệu được lấy một cách thuận tiện từ đầu ra của aggregate:

> aggregate.results[which.max(aggregate.results$x),]
  Group.1 Group.2 Group.3         x
4       1       1       0 0.6071429

1
Đây là rất nhiều thông tin và sẽ khiến tôi mất một thời gian để tiêu hóa, nhưng tôi rất vui khi nghe tỷ lệ phần trăm được lập bảng và hồi quy logistic về cơ bản sẽ cho tôi kết quả tương tự. Tôi đã chạy hàm tổng hợp trên hai trong số các dự đoán và nó đã kết thúc ngay lập tức ... kết quả cho sự phù hợp logistic đã chạy trong một vài phút và chưa kết thúc. Tôi sẽ tiếp tục điều chỉnh mọi thứ, nhưng cuối cùng tôi có thể chỉ sử dụng tỷ lệ phần trăm được lập bảng. Cảm ơn bạn!
Rachel

(+1), Tắt còng Tôi tự hỏi liệu các lỗi tiêu chuẩn trong bối cảnh này từ hồi quy logistic có thể được đưa vào tóm tắt cốt truyện khảm đồ họa mà tôi đề xuất không. Tôi cũng nghi ngờ đây có thể là một cách tốt để nhanh chóng "lọc" kết quả cho các tương tác thú vị (đây chỉ là suy nghĩ của tôi!)
Andy W

"Hồi quy logistic sẽ, đến mức không chính xác về số, sẽ đưa ra chính xác mức độ phù hợp với tỷ lệ phần trăm được lập bảng": Không phải cô ấy lập bảng tỷ lệ phần trăm cho mọi cấu hình của các yếu tố dự đoán? Trong trường hợp đó, hồi quy logistic không thể mã hóa tất cả các mối quan hệ có thể.
Neil G

@Neil Chắc chắn rằng nó có thể mã hóa tất cả các "mối quan hệ" (kết hợp các yếu tố): sử dụng tất cả các tương tác có thể. Xem mã R cho một ví dụ. Khi các yếu tố là rất nhiều, trong thực tế sẽ có nhiều kết hợp trống, nhưng phần mềm phong nha sẽ không có vấn đề gì khi xử lý vấn đề đó. Thậm chí phần mềm tốt hơn sẽ xử lý các kết hợp không có biến thể trong phản hồi.
whuber

@Andy Tôi thích câu trả lời của bạn về đồ họa - chúng ta cần tìm cách tạo ra một chủ đề trong đó chính xác là câu trả lời đúng! Có lẽ suy nghĩ của bạn về việc kết hợp các ước tính lỗi vào các ô khảm sẽ là cách để tiếp cận nó: làm thế nào bạn thể hiện các ước tính logistic, dữ liệu thực tế và / hoặc lỗi đồng thời trong chúng?
whuber

6

Để xem nhanh tỷ lệ phản hồi nhị phân trong mỗi danh mục và / hoặc có điều kiện trên nhiều danh mục, các sơ đồ đồ họa có thể là dịch vụ. Đặc biệt, để đồng thời hình dung tỷ lệ dựa trên nhiều biến độc lập phân loại, tôi sẽ đề xuất các lô khảm .

Dưới đây là một ví dụ được lấy từ một bài đăng trên blog, Tìm hiểu các ô dựa trên khu vực: Các ô khảm từ đồ họa Thống kê và nhiều blog hơn . Ví dụ này hình dung tỷ lệ những người sống sót trên tàu Titanic màu xanh lam, có điều kiện trên lớp của hành khách. Người ta có thể đồng thời đánh giá tỷ lệ người sống sót, trong khi vẫn đánh giá cao tổng số hành khách trong mỗi nhóm phụ (thông tin hữu ích chắc chắn, đặc biệt là khi một số nhóm phụ nhất định thưa thớt và chúng ta sẽ mong đợi sự thay đổi ngẫu nhiên nhiều hơn).

Âm mưu khảm của Titanic
(nguồn: theusrus.de )

Sau đó, người ta có thể thực hiện các ô khảm tiếp theo có điều kiện trên nhiều biến độc lập phân loại. Ví dụ tiếp theo từ cùng một bài đăng trên blog trong một bản tóm tắt trực quan nhanh chóng chứng minh rằng tất cả hành khách trẻ em trong khoang hạng nhất và hạng hai đều sống sót, trong khi ở lớp ba, trẻ em cũng không bị phạt gần như vậy. Điều đó cũng cho thấy rõ rằng những người trưởng thành nữ có tỷ lệ sống sót cao hơn nhiều so với nam giới trong mỗi lớp, mặc dù tỷ lệ nữ sống sót giữa các lớp giảm đáng kể từ lớp thứ nhất đến thứ ba (và sau đó là tương đối cao đối với phi hành đoàn, mặc dù vậy một lần nữa lưu ý rằng không có nhiều thành viên phi hành đoàn nữ tồn tại, cho biết mức độ hẹp của thanh).

Khảm có điều kiện trên biến thứ ba
(nguồn: theusrus.de )

Thật đáng ngạc nhiên khi có nhiều thông tin được hiển thị, đây là tỷ lệ theo bốn chiều (Lớp, Người lớn / Trẻ em, Giới tính và Tỷ lệ của những người sống sót)!

Tôi đồng ý nếu bạn quan tâm đến dự đoán hoặc giải thích nguyên nhân nhiều hơn nói chung, bạn sẽ muốn chuyển sang mô hình chính thức hơn. Đồ thị đồ họa có thể là đầu mối trực quan rất nhanh mặc dù về bản chất của dữ liệu và có thể cung cấp những hiểu biết khác thường bị bỏ qua khi chỉ ước tính mô hình hồi quy (đặc biệt là khi xem xét tương tác giữa các biến phân loại khác nhau).


+1, đây là điểm tôi đã cố gắng đưa ra trong nhận xét của mình ở trên về việc mục tiêu là mô tả đơn giản hay suy luận. Nb, điểm đó rõ ràng hơn và làm tốt hơn w / số liệu!
gung - Tái lập Monica

@gung cảm ơn, những gì không đại diện Nbcho? Tôi luôn luôn nói tốt hơn với số liệu là tốt!
Andy W

2
Không phải bất cứ điều gì liên quan đến số liệu thống kê, "nb" là viết tắt của nota bene , mà lần lượt là tiếng Latin có nghĩa là 'ghi chú tốt' (theo nghĩa đen) hoặc 'lưu ý rằng' / 'thông báo' (thông tục hơn).
gung - Phục hồi Monica

3

Tùy thuộc vào nhu cầu của bạn, bạn có thể thấy rằng chia tay đệ quy cung cấp một phương pháp dễ diễn giải để dự đoán một biến kết quả. Để biết giới thiệu về R về các phương thức này, hãy xem trang mô hình dựa trên cây của Quick-R . Tôi thường ủng hộ ctree()việc triển khai trong gói `` party của R vì người ta không phải lo lắng về việc cắt tỉa và nó tạo ra đồ họa đẹp theo mặc định.

Điều này sẽ rơi vào danh mục các thuật toán lựa chọn tính năng được đề xuất trong câu trả lời trước đó và thường mang lại kết quả tốt nếu không dự đoán tốt hơn như hồi quy logistic.


2

Đưa ra năm dự đoán phân loại của bạn với giả sử 20 kết quả, mỗi giải pháp với một dự đoán khác nhau cho mỗi cấu hình của các dự đoán cần tham số. Mỗi tham số cần nhiều ví dụ đào tạo để được học tốt. Bạn có ít nhất mười triệu ví dụ đào tạo trải rộng trên tất cả các cấu hình? Nếu vậy, hãy tiếp tục và làm theo cách đó.205

Nếu bạn có ít dữ liệu hơn, bạn muốn tìm hiểu ít tham số hơn. Bạn có thể giảm số lượng tham số bằng cách giả sử, ví dụ, cấu hình của các yếu tố dự đoán riêng lẻ có tác động nhất quán đến biến phản ứng.

Nếu bạn tin rằng các yếu tố dự đoán của bạn độc lập với nhau, thì hồi quy logistic là thuật toán duy nhất thực hiện đúng. (Ngay cả khi chúng không độc lập, nó vẫn có thể hoạt động khá tốt.)

Tóm lại, hồi quy logistic đưa ra một giả định về ảnh hưởng độc lập của các yếu tố dự đoán, làm giảm số lượng tham số mô hình và mang lại một mô hình dễ học.


1

Bạn nên nhìn vào các thuật toán lựa chọn tính năng. Một phương pháp phù hợp với trường hợp của bạn (phân loại nhị phân, biến phân loại) là phương pháp "Mức tối thiểu dự phòng tối thiểu" (mRMR). Bạn có thể nhanh chóng dùng thử trực tuyến tại http://penglab.janelia.org/proj/mRMR/


Có thể chạy chương trình này với nhiều hơn một dự đoán phân loại? Trên trang tải lên, có vẻ như chỉ cột đầu tiên có thể là "lớp" dữ liệu ... Có lẽ tôi không hiểu dữ liệu được định dạng như thế nào.
Rachel

Hoặc "lớp" được coi là biến đầu ra, trong trường hợp này là 0 hoặc 1? Nếu vậy, điều quan trọng là biến các biến phân loại thành biến giả để hiển thị các chỉ số cho từng biến?
Rachel

Bạn có thể có nhiều dự đoán như bạn muốn. Hàng đầu tiên của tệp dữ liệu của bạn phải là tên tính năng và cột đầu tiên phải là các lớp (biến phản hồi) cho các mẫu. Vì vậy, một ví dụ là: response,predictor1,predictor2,predictor3 <line break here> 1,5,4,3 <line break here> 0,5,3,-1 <line break here> 1,1,2,3
emrea

1

Tôi làm việc trong lĩnh vực chấm điểm tín dụng, trong đó những gì ở đây đang được trình bày như một trường hợp kỳ lạ là chuẩn mực.

Chúng tôi sử dụng hồi quy logistic và chuyển đổi cả hai biến phân loại và biến liên tục thành trọng số của bằng chứng (WOE), sau đó được sử dụng làm công cụ dự đoán trong hồi quy. Rất nhiều thời gian được dành để nhóm các biến phân loại và phân biệt (binning / phân loại) các biến liên tục.

Trọng lượng của bằng chứng là một phép tính đơn giản. Đó là nhật ký tỷ lệ cược cho lớp, trừ nhật ký tỷ lệ cược cho dân số:
WOE = ln (Tốt (Lớp) / Xấu (Lớp)) - ln (Tốt (TẤT CẢ) / Xấu (TẤT CẢ)) Đây là phương pháp chuyển đổi tiêu chuẩn cho hầu hết tất cả các mô hình chấm điểm tín dụng được xây dựng bằng phương pháp hồi quy logistic. Bạn có thể sử dụng các số tương tự trong một cách tiếp cận từng phần.

Cái hay của nó là bạn sẽ luôn biết liệu các hệ số được gán cho mỗi WOE có hợp lý hay không. Các hệ số âm là trái với các mẫu trong dữ liệu và thường là kết quả của tính đa hình; và hệ số trên 1.0 biểu thị mức bù quá mức. Hầu hết các hệ số sẽ xuất hiện ở đâu đó giữa 0 và 1.


Cảm ơn bạn cho một bài viết thú vị và thông tin. Tôi không thể tìm ra làm thế nào nó trả lời câu hỏi trong chủ đề này, mặc dù. "Trường hợp lạ" mà bạn đề cập đến là gì? Có lẽ bạn có ý định sử dụng điều này để trả lời một câu hỏi khác ở nơi khác?
whuber
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.