Nó có vẻ phản trực giác, nhưng sử dụng cách tiếp cận mà bạn mô tả không có ý nghĩa (để hiểu từ ngữ của bạn, tôi thà viết "có thể dẫn đến kết quả rất khác so với dự định") và người ta không bao giờ nên làm điều đó: những rủi ro của nó không hoạt động là hệ quả và bên cạnh đó, tồn tại một giải pháp thay thế đơn giản hơn, an toàn hơn và được thiết lập tốt hơn mà không phải trả thêm phí.
Đầu tiên, đúng là nếu có một ngoại lệ duy nhất , thì cuối cùng bạn sẽ tìm thấy nó bằng cách sử dụng thủ tục mà bạn đề xuất. Nhưng, nói chung (khi có thể có nhiều hơn một ngoại lệ trong dữ liệu), thuật toán bạn đề xuất bị phá vỡ hoàn toàn, theo nghĩa có khả năng dẫn đến việc bạn từ chối một điểm dữ liệu tốt như một ngoại lệ hoặc giữ ngoài các điểm dữ liệu tốt với những hậu quả thảm khốc.
Dưới đây, tôi đưa ra một ví dụ bằng số đơn giản trong đó quy tắc bạn đề xuất bị phá vỡ và sau đó tôi đề xuất một giải pháp thay thế an toàn hơn và thiết lập hơn nhiều, nhưng trước đây tôi sẽ giải thích a) điều gì sai với phương pháp bạn đề xuất và b) điều gì thường được ưa thích thay thế cho nó là.
Về bản chất, bạn không thể sử dụng khoảng cách quan sát từ mức trung bình và độ lệch chuẩn của dữ liệu để phát hiện các ngoại lệ một cách đáng tin cậy vì các ước tính bạn sử dụng (bỏ qua một giá trị trung bình và độ lệch chuẩn) vẫn có thể bị kéo về phía còn lại outliers: đây được gọi là hiệu ứng mặt nạ.
Tóm lại, một cách đơn giản để phát hiện các ngoại lệ một cách đáng tin cậy là sử dụng ý tưởng chung mà bạn đề xuất (khoảng cách từ ước tính vị trí và tỷ lệ) nhưng thay thế các công cụ ước tính bạn đã sử dụng (bỏ qua một nghĩa trung bình, sd) bằng các ước tính mạnh mẽ - nghĩa là ước tính được thiết kế để ít bị ảnh hưởng bởi các ngoại lệ.
Xem xét ví dụ này, trong đó tôi thêm 3 ngoại lệ vào 47 quan sát chính hãng được rút ra từ 0,1 Bình thường:
n <- 50
set.seed(123) # for reproducibility
x <- round(rnorm(n,0,1), 1)
x[1] <- x[1]+1000
x[2] <- x[2]+10
x[3] <- x[3]+10
Mã dưới đây tính toán chỉ số ngoại lệ dựa trên độ lệch trung bình và độ lệch chuẩn (ví dụ: phương pháp bạn đề xuất).
out_1 <- rep(NA,n)
for(i in 1:n){ out_1[i] <- abs( x[i]-mean(x[-i]) )/sd(x[-i]) }
và mã này tạo ra cốt truyện bạn nhìn thấy bên dưới.
plot(x, out_1, ylim=c(0,1), xlim=c(-3,20))
points(x[1:3], out_1[1:3], col="red", pch=16)
Hình 1 mô tả giá trị của chỉ số ngoại lệ của bạn như là một hàm của giá trị của các quan sát (cách xa nhất của các ngoại lệ nằm ngoài phạm vi của âm mưu này nhưng hai phần còn lại được hiển thị dưới dạng các chấm đỏ). Như bạn có thể thấy, ngoại trừ trường hợp cực đoan nhất, chỉ số ngoại lệ được xây dựng như bạn đề xuất sẽ không tiết lộ các ngoại lệ: thực sự các ngoại lệ thứ hai và thứ ba (nhẹ hơn) thậm chí còn có giá trị (về chỉ số ngoại lệ của bạn) nhỏ hơn tất cảnhững quan sát chân thực! ... Theo cách tiếp cận mà bạn đề xuất, người ta sẽ giữ hai ngoại lệ cực đoan này trong tập hợp các quan sát chân thực, dẫn bạn sử dụng 49 quan sát còn lại như thể chúng đến từ cùng một quá trình đồng nhất, cho bạn một kết quả cuối cùng ước tính giá trị trung bình và sd dựa trên 49 điểm dữ liệu 0,45 và 2,32 này, một mô tả rất kém về một phần của mẫu của bạn!
xTôiX
Ô ( xTôi, X) = | xTôi- med ( X) |điên (X)
trung gian (X)Xđiên (X)
Trong R, chỉ số ngoại lệ thứ hai này có thể được tính là:
out_2 <- abs( x-median(x) )/mad(x)
và vẽ (như trước) bằng cách sử dụng:
plot(x, out_2, ylim=c(0,15), xlim=c(-3,20))
points(x[1:3], out_2[1:3], col="red", pch=16)
Hình 2 vẽ giá trị của chỉ số ngoại lệ thay thế này cho cùng một tập dữ liệu. Như bạn có thể thấy, bây giờ cả ba ngoại lệ đều được tiết lộ rõ ràng như vậy. Hơn nữa, quy tắc phát hiện ngoại lệ này có một số thuộc tính thống kê được thiết lập. Điều này dẫn đến, trong số những thứ khác, các quy tắc cắt có thể sử dụng. Ví dụ: nếu phần chính của dữ liệu có thể được giả sử được rút ra từ phân phối đối xứng với giây thứ hai hữu hạn, bạn có thể từ chối tất cả các điểm dữ liệu
|xTôi- med ( X) |điên ( X)> 3,5
như ngoại lệ. Trong ví dụ trên, việc áp dụng quy tắc này sẽ dẫn bạn đánh dấu chính xác quan sát 1,2 và 3. Từ chối các giá trị này, giá trị trung bình và sd của các quan sát còn lại là 0,021 và 0,93, mô tả chính xác hơn về phần chính hãng của mẫu !