Làm thế nào để tính toán hiệu quả công cụ ước tính Theil-Sen?


8

Công cụ ước tính Theil-Sen khiến tôi quan tâm, tuy nhiên khi tôi tự thực hiện nó, tôi kết thúc với một cái gì đó có tỷ lệ là O (n ^ 2). Theo wikipedia, nó có thể được tính chính xác trong O (n log (n)). Ai đó có thể chỉ cho tôi một triển khai hiệu quả (python hoặc mathicala sẽ là tốt nhất, Matlab hoặc R có thể chấp nhận được) hoặc giải thích theo cách đơn giản là các phiên bản hiệu quả hoạt động như thế nào?

Câu trả lời:


3

Theo wikipedia, nó có thể được tính chính xác trong O (n log (n)).

Wikipedia chỉ ra không dưới sáu bài viết chi tiết các thuật toán xác định hoặc ngẫu nhiên khác nhau với hiệu suất , ngay trong phần họ đề cập đến sự tồn tại của các thuật toán đó (cũng như đề cập đến một thuật toán thậm chí còn nhanh hơn trong các trường hợp cụ thể).O(nlogn)

Quyết đoán:

Cole, Richard; Salowe, Jeffrey S.; Steiger, WL; Szemerédi, Endre (1989), Thuật toán thời gian tối ưu để lựa chọn độ dốc, Tạp chí SIAM về máy tính 18 (4): 792 Lỗi810, doi: 10.1137 / 0218055, MR 1004799.

Katz, Matthew J.; Sharir, Micha (1993), Lựa chọn độ dốc tối ưu thông qua các bộ mở rộng, Thư xử lý thông tin 47 (3): 115 Tiết22, doi: 10.1016 / 0020-0190 (93) 90234-Z, MR 1237287.

Brönnimann, Hervé; Chazelle, Bernard (1998), Lựa chọn độ dốc tối ưu thông qua các phần cắt, Lý thuyết hình học tính toán và ứng dụng 10 (1): 23 mật29, doi: 10.1016 / S0925-7721 (97) 00025-4, MR 1614381.

 

Ngẫu nhiên:

Dillencourt, Michael B.; Núi, David M.; Netanyahu, Nathan S. (1992), Một thuật toán ngẫu nhiên để lựa chọn độ dốc, Tạp chí quốc tế về hình học và ứng dụng tính toán 2 (1): 1 mật27, doi: 10.1142 / S0218195992000020, MR 1159839.

Matoušek, Jiří (1991), Thuật toán tối ưu ngẫu nhiên để lựa chọn độ dốc, Thư xử lý thông tin 39 (4): 183 Hồi187, doi: 10.1016 / 0020-0190 (91) 90177-J, MR 1130747.

Blunck, Henrik; Vahrenhold, Jan (2006), "Lựa chọn độ dốc ngẫu nhiên tại chỗ", Hội thảo quốc tế về thuật toán và độ phức tạp, Ghi chú bài giảng trong Khoa học máy tính 3998, Berlin: Springer-Verlag, trang 30 .4141, doi: 10.1007 / 11758471_6, MR .

Mà bạn muốn


3
Vâng, tôi biết làm thế nào để thông báo khi tài liệu tham khảo được thực hiện. Tôi muốn một trong những điều có thể được giải thích TẠI ĐÂY trong các điều khoản tương đối ĐƠN GIẢN. Ngoài ra, một trong đó đã được thực hiện để người ta chỉ có thể sử dụng mã.
mdeceglie

Tôi thích một phương pháp tính toán chính xác hơn là phương pháp đưa ra câu trả lời hơi khác nhau mỗi lần.
mdeceglie

Tại sao các downvote?
COOLSerdash

3
Ý, bạn nhầm ý nghĩa của "thuật toán ngẫu nhiên": đây là những thuật toán ngẫu nhiên hóa đầu vào của chúng để tránh các tình huống xấu nhất xảy ra. Họ có thời gian tính toán dự kiến - nhưng họ tạo ra các giải pháp tối ưu chính xác, chính xác, có thể lặp lại . Các thuật toán xác định Glen_b trích dẫn ở đây có xu hướng phức tạp, trong khi một số thuật toán ngẫu nhiên tương đối đơn giản. Bình luận ban đầu trong bài báo cuối cùng (Henrik Blunck và Jan Vahrenhold) giải thích điều này và cung cấp một cái nhìn tổng quan về một số thuật toán. O(nlog(n))
whuber

2
tiếng Ý - Không có thuật toán nào là rất đơn giản; các giấy tờ giải thích chúng để lại khá nhiều chi tiết (rõ ràng là đủ để một chuyên gia có thể điền vào các chi tiết bị bỏ qua); tất cả những điều đó sẽ cần được giải thích - tôi không thể nhìn thấy ngay cả những điều đơn giản nhất được bao phủ trong ít hơn nhiều, hàng ngàn từ (có thể là hàng chục ngàn, cộng với sơ đồ). Theo như tôi có thể thấy, tất cả đều liên quan đến hình học tính toán theo một cách nào đó. Các thuật toán ngẫu nhiên có xu hướng đơn giản hơn một chút, nhưng điều đó không nói nhiều. Nếu bạn thực sự cần điều này, đặt cược tốt nhất của bạn có thể là tìm kiếm một triển khai.
Glen_b -Reinstate Monica
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.