Lấy mẫu cho dữ liệu mất cân bằng trong hồi quy


22

Đã có những câu hỏi hay về việc xử lý dữ liệu mất cân bằng trong bối cảnh phân loại , nhưng tôi tự hỏi mọi người làm gì để lấy mẫu cho hồi quy.

Nói rằng miền vấn đề rất nhạy cảm với dấu hiệu nhưng chỉ hơi nhạy cảm với độ lớn của mục tiêu. Tuy nhiên, cường độ đủ quan trọng để mô hình phải là hồi quy (mục tiêu liên tục) không phân loại (các lớp dương so với âm). Và nói trong lĩnh vực vấn đề này rằng bất kỳ tập hợp dữ liệu đào tạo nào sẽ có tiêu cực gấp 10 lần so với các mục tiêu tích cực.

Trong kịch bản này, tôi có thể chồng chéo các ví dụ mục tiêu tích cực để khớp với số lượng ví dụ mục tiêu tiêu cực, sau đó huấn luyện một mô hình để phân biệt hai trường hợp. Rõ ràng phương pháp đào tạo không tốt đối với dữ liệu mất cân bằng, vì vậy tôi cần phải lấy mẫu một số loại. Điều gì sẽ là một cách tốt để "hoàn tác" sự quá khổ này khi đưa ra dự đoán? Có lẽ dịch theo nghĩa (âm) hoặc trung bình của mục tiêu của dữ liệu huấn luyện tự nhiên?

Câu trả lời:


15

Mất cân bằng không nhất thiết là một vấn đề, nhưng làm thế nào bạn có thể có được. Sẽ không có cơ sở để dựa trên chiến lược lấy mẫu của bạn trên biến mục tiêu. Bởi vì biến này kết hợp tính ngẫu nhiên trong mô hình hồi quy của bạn, nếu bạn lấy mẫu dựa trên điều này, bạn sẽ gặp vấn đề lớn khi thực hiện bất kỳ loại suy luận nào. Tôi nghi ngờ có thể "hoàn tác" những vấn đề đó.

Bạn có thể vượt quá hoặc dưới mẫu một cách hợp pháp dựa trên các biến dự đoán . Trong trường hợp này, với điều kiện bạn kiểm tra cẩn thận rằng các giả định mô hình có vẻ hợp lệ (ví dụ: đồng nhất hóa có ý nghĩa quan trọng trong tình huống này, nếu bạn có hồi quy "thông thường" với các giả định thông thường), tôi không nghĩ bạn cần phải hoàn tác quá khổ khi dự đoán. Trường hợp của bạn bây giờ sẽ tương tự như một nhà phân tích đã thiết kế một thử nghiệm rõ ràng để có một phạm vi cân bằng của các biến dự đoán.

Chỉnh sửa - bổ sung - mở rộng về lý do tại sao nó xấu khi lấy mẫu dựa trên Y

y= =Xb+eeeXb) e sẽ không còn có giá trị trung bình bằng 0 hoặc được phân phối giống hệt nhau. Ví dụ: các giá trị thấp của y có thể bao gồm các giá trị rất thấp của e có thể ít được chọn hơn. Điều này làm hỏng bất kỳ suy luận dựa trên các phương tiện thông thường để phù hợp với các mô hình như vậy. Sửa chữa có thể được thực hiện tương tự như thực hiện trong kinh tế lượng để phù hợp với các mô hình cắt ngắn, nhưng chúng là một nỗi đau và yêu cầu các giả định bổ sung, và chỉ nên được sử dụng khi không có sự thay thế.

Hãy xem xét minh họa cực đoan dưới đây. Nếu bạn cắt bớt dữ liệu của mình ở một giá trị tùy ý cho biến phản hồi, bạn đưa ra các sai lệch rất đáng kể. Nếu bạn cắt nó cho một biến giải thích, thì không nhất thiết phải có vấn đề. Bạn thấy rằng đường màu xanh lá cây, dựa trên tập hợp con được chọn vì giá trị dự đoán của chúng, rất gần với đường được trang bị thực sự; điều này không thể nói về đường màu xanh, chỉ dựa trên các điểm màu xanh.

Điều này mở rộng cho trường hợp ít nghiêm trọng hơn của quá mức hoặc quá khổ (bởi vì cắt ngắn có thể được xem như là lấy mẫu dưới mức cực đoan logic của nó).

nhập mô tả hình ảnh ở đây

# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)

# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
    "Fitted - subset based on y"), lty=1, col=1:4, bty="n")

Cảm ơn câu trả lời, Peter. Bạn có thể giải thích rõ hơn về ý của bạn bởi "Bởi vì biến này kết hợp tính ngẫu nhiên trong mô hình hồi quy của bạn"? Mục tiêu là một quan sát trong môi trường, vì vậy bạn có nghĩa là lỗi đo lường?
someben

1
Đây là một bài báo từ một giáo sư NYU có tên Foster Provost về vấn đề này: Pages.stern.nyu.edu/~fprovost/Papers/skew.PDF Trong trường hợp của tôi, tôi đang thực hiện hồi quy với dữ liệu không cân bằng và không phân loại. Do đó câu hỏi của tôi.
someben

1
@someben - Tôi đã xây dựng và thêm một ví dụ. Nó được mô tả tốt trong tài liệu hồi quy mà bạn không thể lấy mẫu dựa trên biến phụ thuộc. Điều này nên áp dụng cho các mô hình khác quá. Một mẫu "không cân bằng" là một loại khác nhau và không phải là một vấn đề; trừ khi bạn đã cố tình tạo ra nó bằng một chiến lược lấy mẫu không thể thực hiện được. Đó không phải là sự cân bằng hay thiếu đó mới là vấn đề, mà là cách bạn lấy dữ liệu của mình.
Peter Ellis

2
@someben, không tôi không nghĩ nó làm cho bất kỳ sự khác biệt. Vấn đề là cơ bản hơn thế.
Peter Ellis

1
Ví dụ hay! Biểu đồ của bạn làm tôi nhớ đến một bài báo của Richard Berk (1983) về xu hướng chọn mẫu . Cũng cần lưu ý, bạn có thể "hoàn tác" những vấn đề đó nếu bạn biết rõ cơ chế chọn mẫu và có một loạt các mô hình kinh tế lượng được xây dựng xung quanh khái niệm đó (như mô hình quỹ đạo hoặc công việc của James Heckman).
Andy W

2

Đó là một câu hỏi về việc bạn đang làm phân tích nguyên nhân hoặc dự đoán. Đọc http://m.statistichorizons.com/?ref=http%3A%2F%2Ft.co%2F54MWZrVAyX&url=http%3A%2F%2Fstatistichorizons.com%2Fpredtions-vs-causation-

Lấy mẫu lại trên biến mục tiêu để huấn luyện cho mục đích dự đoán hoạt động miễn là một thử nghiệm trên một mẫu không được lấy mẫu lại. Biểu đồ hiệu suất cuối cùng phải chỉ dựa trên cơ sở. Để có độ chính xác cao nhất trong việc xác định khả năng dự đoán của mô hình, nên sử dụng các kỹ thuật xác nhận chéo.

Bạn "hoàn tác" bằng phân tích cuối cùng của mô hình hồi quy và trên tập dữ liệu mất cân bằng.


2

Đây không phải là một nỗ lực cung cấp giải pháp thực tế cho vấn đề của bạn, nhưng tôi chỉ nghiên cứu một chút về việc xử lý các bộ dữ liệu mất cân bằng trong các vấn đề hồi quy và muốn chia sẻ kết quả của mình:

  • Về cơ bản, đây dường như là một vấn đề ít nhiều mở, với rất ít nỗ lực giải pháp được công bố (xem Krawchot 2016, "Học từ dữ liệu mất cân bằng: thách thức mở và hướng đi trong tương lai" ).
  • Các chiến lược lấy mẫu dường như là cách tiếp cận giải pháp được theo đuổi phổ biến nhất (duy nhất?), Nghĩa là, quá mức của lớp dưới đại diện hoặc gạch dưới của lớp được đại diện quá mức. Xem ví dụ: "SMOTE for Regression" của Torgo, Ribeiro và cộng sự, 2013 .
  • Tất cả các phương thức được mô tả dường như hoạt động bằng cách thực hiện phân loại dữ liệu (được phân phối liên tục) thành các lớp riêng biệt theo một phương thức nào đó và sử dụng phương thức cân bằng lớp tiêu chuẩn.

1

trước hết, tỷ lệ 1:10 không tệ chút nào. có những cách đơn giản để hoàn tác lấy mẫu-

1) đối với bài toán phân loại, Nếu bạn đã lấy mẫu phụ bất kỳ lớp âm nào bằng 10. thì xác suất kết quả là gấp 10 lần so với mức cần thiết. bạn có thể đơn giản chia xác suất kết quả cho 10. (được gọi là hiệu chuẩn lại mô hình)

2) Facebook cũng lấy mẫu phụ (để dự đoán nhấp chuột trong hồi quy logistic) và thực hiện lấy mẫu âm bản. recalibartion được thực hiện bằng công thức đơn giản p / (p + (1-p) / w); Trong đó p là dự đoán trong downsampling, nw là tỷ lệ lấy mẫu âm.


Tôi không nghĩ nó đơn giản thế, Arpit. Nhiều thuật toán phi tuyến không nhìn thấy đủ các trường hợp của lớp bị thiếu và bị lệch về phía lớp phủ ngoài, và do tính phi tuyến của chúng, bạn sẽ không có cách nào khắc phục điều đó.
Anatoly Alekseev

1

Tôi nghĩ những gì có thể giúp bạn đưa ra vấn đề của mình là Kỹ thuật lấy mẫu quá mức tổng hợp cho thiểu số (SMOTER). Có một số nghiên cứu về chủ đề này. Tuy nhiên, nó vẫn ít được khám phá hơn so với đối tác phân loại của nó, như bạn có thể gặp phải.

Tôi có thể đề xuất bài báo được trích dẫn dưới đây (và hội thảo được trình bày tại http://proceedings.mlr.press/v74/ ) tùy thuộc vào mức độ quan tâm của bạn trong việc hiểu nó từ góc độ nghiên cứu. Tôi thực sự đánh giá cao sự ra đời của nhiễu Gaussian trong việc tạo ra các quan sát tổng hợp.

Nếu bạn quan tâm hơn đến một giải pháp thực tế, tác giả đầu tiên có triển khai R có sẵn trên trang Github của cô ấy. https://github.com/paobranco/SMOGN-LIDTA17

Nếu Python thuyết phục bạn nhiều hơn, gần đây tôi đã phân phối một triển khai hoàn toàn Pythonic của thuật toán SMOGN hiện có sẵn và hiện đang được thử nghiệm. https://github.com/nickkunz/smogn

Tôi hy vọng điều này sẽ giúp!

Branco, P., Torgo, L., Ribeiro, R. (2017). "SMOGN: Cách tiếp cận tiền xử lý cho hồi quy mất cân bằng". Kỷ yếu nghiên cứu về máy học, 74: 36-50. http://proceedings.mlr.press/v74/branco17a/branco17a.pdf .

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.