Hồi quy tuyến tính nhanh mạnh mẽ để vượt trội


50

Tôi đang xử lý dữ liệu tuyến tính với các ngoại lệ, một số trong đó có nhiều hơn 5 độ lệch chuẩn so với đường hồi quy ước tính. Tôi đang tìm kiếm một kỹ thuật hồi quy tuyến tính làm giảm ảnh hưởng của những điểm này.

Cho đến nay, những gì tôi đã làm là ước tính đường hồi quy với tất cả dữ liệu, sau đó loại bỏ điểm dữ liệu với phần dư bình phương rất lớn (giả sử 10% trên cùng) và lặp lại hồi quy mà không có các điểm đó.

Trong tài liệu có rất nhiều cách tiếp cận khả thi: bình phương tối thiểu, hồi quy lượng tử, ước lượng m, v.v. Tôi thực sự không biết nên tiếp cận phương pháp nào, vì vậy tôi đang tìm kiếm gợi ý. Điều quan trọng đối với tôi là phương pháp được chọn phải nhanh vì hồi quy mạnh sẽ được tính toán ở mỗi bước của một thói quen tối ưu hóa. Cảm ơn rất nhiều!


2
Một phương pháp mà bạn không đề cập đến là việc sử dụng Student- t lỗi với độ rõ của tự do. Tuy nhiên, điều này có thể không nhanh như bạn cần.

@Procrastinator: (Thật dễ dàng để tưởng tượng một cấu hình của các ngoại lệ ở đâu) điều này sẽ không hoạt động.
user603

@ user603 Điều đó đúng với bất kỳ phương pháp nào, không có Panacea;). Tôi chỉ đơn giản là chỉ ra một phương pháp khác. +1 cho câu trả lời của bạn.

3
@Procrastinator: Tôi đồng ý rằng tất cả các phương pháp sẽ thất bại đối với một số tỷ lệ ô nhiễm . Và "thất bại" trong bối cảnh này có thể được định nghĩa một cách định lượng và theo kinh nghiệm. Nhưng ý tưởng là vẫn ủng hộ những phương pháp sẽ chỉ thất bại ở mức độ ô nhiễm cao hơn.
user603

4
Vì điều này đang được thực hiện lặp đi lặp lại trong một thói quen tối ưu hóa, có lẽ dữ liệu trong hồi quy (cuối cùng) thay đổi chậm. Điều này cho thấy một thuật toán thích ứng với tình huống của bạn: bắt đầu bằng một số hình thức hồi quy mạnh mẽ, nhưng khi thực hiện các bước nhỏ trong quá trình tối ưu hóa, chỉ cần giả định trong bước tiếp theo rằng bất kỳ ngoại lệ nào trước đó sẽ vẫn là ngoại lệ. Sử dụng OLS trên dữ liệu, sau đó kiểm tra xem các ngoại lệ được cho là có còn tồn tại không. Nếu không, hãy khởi động lại với quy trình mạnh mẽ, nhưng nếu vậy - điều có thể xảy ra thường xuyên - bạn sẽ tiết kiệm được rất nhiều tính toán.
whuber

Câu trả lời:


55

Nếu dữ liệu của bạn chứa một ngoại lệ duy nhất, thì nó có thể được tìm thấy một cách đáng tin cậy bằng cách sử dụng phương pháp bạn đề xuất (mặc dù không có các lần lặp). Một cách tiếp cận chính thức cho điều này là

Nấu, R. Dennis (1979). Quan sát ảnh hưởng trong hồi quy tuyến tính . Tạp chí của Hiệp hội Thống kê Hoa Kỳ (Hiệp hội Thống kê Hoa Kỳ) 74 (365): 169 Hàng174.

MMMρ

  • 11+pp
  • hoặc nếu các ngoại lệ không xuất hiện trong không gian thiết kế (Ellis và Morgenthaler (1992)).

Ml1robustbasequantregR

np+1Mρ

Trong 20 năm qua (và đặc biệt là 10 năm qua), một khối lượng lớn các thuật toán phát hiện ngoại lệ nhanh và đáng tin cậy đã được thiết kế để giải quyết xấp xỉ vấn đề tổ hợp này. Hiện tại chúng được triển khai rộng rãi trong các gói thống kê phổ biến nhất (R, Matlab, SAS, STATA, ...).

O(2p)pn

pp<20

Rousseeuw, PJ và van Zomeren BC (1990). Bộc lộ các ngoại lệ đa biến và các điểm đòn bẩy . Tạp chí của Hiệp hội Thống kê Hoa Kỳ , Tập. 85, số 411, trang 633-639.

Rousseeuw, PJ và Van Driessen, K. (2006). Tính toán hồi quy LTS cho các tập dữ liệu lớn . Khai thác dữ liệu và kho lưu trữ kiến thức khám phá Tập 12 Số 1, Trang 29 - 45.

Hubert, M., Rousseeuw, PJ và Van Aelst, S. (2008). Phương pháp đa biến mạnh mẽ phân tích cao . Khoa học thống kê , Tập. 23, số 1, 92

Ellis SP và Morgenthaler S. (1992). Đòn bẩy và sự cố trong hồi quy L1. Tạp chí của Hiệp hội Thống kê Hoa Kỳ , Tập. 87, số 417, trang 143-148

Một cuốn sách tham khảo gần đây về vấn đề nhận dạng ngoại lệ là:

Maronna RA, Martin RD và Yohai VJ (2006). Thống kê mạnh mẽ: Lý thuyết và phương pháp . Wiley, New York.

Các phương thức này (và nhiều biến thể khác của các phương thức này) được triển khai (trong số các phương thức khác) trong gói.robustbase R


4
Bây giờ đó là một câu trả lời tuyệt vời!
Peter Flom - Tái lập Monica

p<10p

2
p<10M

1
"Một lợi thế lớn là hầu hết các thuật toán này song song lúng túng ." Tôi thích từ ngữ. ;)
Mateen Ulhaq


19

Đối với hồi quy đơn giản (đơn x), có một điều gì đó được nói cho dòng Theil-Sen về độ mạnh mẽ đối với các ngoại lệ và các điểm ảnh hưởng cũng như hiệu quả chung (ở mức bình thường) so với LS cho độ dốc. Điểm phá vỡ cho độ dốc là gần 30%; miễn là việc chặn (có nhiều loại chặn mà mọi người đã sử dụng) không có sự cố thấp hơn, toàn bộ quy trình đối phó với một phần nhiễm bẩn khá lớn.

Tốc độ của nó nghe có vẻ tệ - trung bình của sườn có vẻ là ngay cả với trung vị - nhưng hồi ức của tôi là nó có thể được thực hiện nhanh hơn nếu tốc độ thực sự là một vấn đề ( , tôi tin) O(n2)O(n)(n2)O(n2)O(n)O(nlogn)

Chỉnh sửa: user603 đã yêu cầu một lợi thế của hồi quy Theil so với hồi quy L1. Câu trả lời là một điều khác mà tôi đã đề cập - những điểm có ảnh hưởng:

Theil_vs_L1

Đường màu đỏ là phù hợp (từ chức năng trong gói). Màu xanh lá cây phù hợp với độ dốc Theil. Tất cả chỉ là một lỗi đánh máy trong giá trị x - như gõ 533 thay vì 53 - và điều này có thể xảy ra. Vì vậy, sự phù hợp không mạnh mẽ đối với một lỗi đánh máy trong không gian x.L 1L1rqquantregL1


nó thực sự có thể được tính toán trong thời gian . Bạn có thể giải thích về lợi thế nào (trong trường hợp x đơn) công cụ ước tính TS đã vượt qua, giả sử, hồi quy không? l 1nlognl1
dùng603

1
@ user603 Xem chỉnh sửa.
Glen_b

(+1) cảm ơn vì đã chỉnh sửa. Điều quan trọng là chỉ ra tính năng này.
dùng603

1
Và lợi thế so với ước tính MM, chẳng hạn như lmrob () từ gói R mạnh mẽ hoặc thậm chí {không cần cài đặt gì ngoài 'cơ sở R'} rlm (*, ... method = "MM") từ gói MASS? Chúng có điểm phân tích đầy đủ (~ 50%) và có lẽ thậm chí còn hiệu quả hơn ở mức bình thường.
Martin Mächler

1
@ MartinMächler Có vẻ như bạn đang tranh cãi với một yêu cầu mà tôi chưa đưa ra ở đó. Nếu bạn muốn đưa ra một câu trả lời cũng bao gồm so sánh các công cụ ước tính mạnh mẽ phân tích cao khác, đặc biệt là các công cụ ước tính đơn giản dễ hiểu đối với ai đó ở cấp độ OP, tôi mong được đọc nó.
Glen_b

12

Bạn đã xem RANSAC (Wikipedia) chưa?

Điều này sẽ tốt trong việc tính toán một mô hình tuyến tính hợp lý ngay cả khi có nhiều ngoại lệ và nhiễu, vì nó được xây dựng dựa trên giả định rằng chỉ một phần dữ liệu sẽ thực sự thuộc về cơ chế.


yea nhưng thêm một đơn giản bước lãi suất tái trọng số một ước lượng (LTS) mà cũng không kém phần mạnh mẽ và rất nhiều ổn định hơn và hiệu quả về mặt thống kê. Tại sao không làm?
user603

1

Tôi thấy hồi quy lỗi bị phạt tốt nhất. Bạn cũng có thể sử dụng nó các mẫu lặp và lặp lại, không phù hợp với giải pháp. Ý tưởng cơ bản là làm tăng mô hình của bạn với các lỗi: trong đó là vectơ lỗi không xác định. Bây giờ bạn thực hiện hồi quy trên . Điều thú vị là tất nhiên bạn có thể sử dụng "lasso hợp nhất" cho việc này khi bạn có thể ước tính độ chắc chắn của các phép đo của mình trước và đặt giá trị này thành trọng số vào và để giải quyết nhiệm vụ hơi khác mới y = A x + e e y - Một x - e 2 2 + bước sóng e 1 W = d i một g ( w i ) y - Một x - e 2 2 + bước sóng W e 1l1

y=Ax+e
e
yAxe22+λe1
W=diag(wi)
yAxe22+λWe1

Thông tin chi tiết có thể được tìm thấy ở đây: http://statweb.stanford.edu/~candes/ con / GoldErrorsSmallErrors.pdf


Bạn đã thử điều đó trên ví dụ Glen_b (nếu bạn thêm một ngoại lệ thứ hai bên cạnh nơi anh ấy đặt) hoặc tôi đã đăng?
user603

@ user603 không, tôi chỉ áp dụng điều này trên các trường hợp thực tế hơn cho mô hình 3D từ hình ảnh camera. Ở đó nó đã giúp rất nhiều. Tuy nhiên, một bài học kinh nghiệm là: Nếu bạn có nhiều khả năng để loại bỏ các ngoại lệ của mình, hãy sử dụng chúng.
mojovski
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.