Cập nhật: Mấu chốt của vấn đề là để đạt được độ phức tạp thời gian O(nlog(n)) , người ta cần theo thứ tự lưu trữ O(n) .
Không, O(nlog(n)) là giới hạn lý thuyết thấp hơn cho độ phức tạp thời gian của (xem (1)) chọn phần tử kth trong số tất cả n(n−1)2 có thể|xi−xj|:1≤i<j≤n.
Bạn có thể nhận được không gian O(1) , nhưng chỉ bằng cách kiểm tra ngây thơ tất cả các kết hợp của xi−xj trong thời gian O(n2) .
Tin vui là bạn có thể sử dụng τ cụ ước tính tỷ lệ (xem (2) và (3) cho phiên bản cải tiến và một số so sánh thời gian), được triển khai trong chức năng
scaleTau2()
trong R
gói robustbase
. Các đơn biến τ ước lượng là một hai bước (tức là tái-weighted) ước lượng quy mô. Nó có hiệu suất Gaussian 95 phần trăm, điểm phân tích 50 phần trăm và độ phức tạp của thời gian O(n) và không gian O(1) (cộng với nó có thể dễ dàng thực hiện 'trực tuyến', loại bỏ một nửa chi phí tính toán khi sử dụng nhiều lần - mặc dù bạn sẽ phải đào sâu vào R
mã để thực hiện tùy chọn này, nó khá đơn giản để làm).
- Sự phức tạp của việc lựa chọn và xếp hạng trong X + Y và ma trận với các cột được sắp xếp GN Frederickson và DB Johnson, Tạp chí Khoa học Máy tính và Hệ thống Tập 24, Số 2, Tháng 4 năm 1982, Trang 197-208.
- Yohai, V. và Zamar, R. (1988). Ước tính điểm phân tích cao của hồi quy bằng phương pháp tối thiểu hóa thang đo hiệu quả. Tạp chí của Hiệp hội Thống kê Hoa Kỳ 83 406 Từ413.
- Maronna, R. và Zamar, R. (2002). Ước tính mạnh mẽ về vị trí và độ phân tán cho các tập dữ liệu chiều cao. Kỹ thuật 44 307 Điện317
Chỉnh sửa Để sử dụng
- Bật lên
R
(miễn phí và có thể tải xuống từ đây )
- Cài đặt gói bằng cách gõ:
install.packages("robustbase")
- Tải gói bằng cách gõ:
library("robustbase")
- Tải tệp dữ liệu của bạn và chạy chức năng:
mydatavector <- read.table("address to my file in text format", header=T)
scaleTau2(mydatavector)