Sự phức tạp của tính toán hệ số tương quan xếp hạng của Spearman là gì?


10

Tôi đã nghiên cứu hệ số tương quan xếp hạng của Spearman

ρ=i(xix¯)(yiy¯)i(xix¯)2i(yiy¯)2 .

cho hai danh sách và . Sự phức tạp của thuật toán là gì?x1,,xny1,,yn

Vì thuật toán chỉ nên tính phép trừ, nên có thể là không?nO(n)

Câu trả lời:


8

Bạn phải tính toán

  • hai trung bình,
  • 2n khác biệt,
  • ba tổng với summands - có thể được tính trong thời gian không đổi - mỗi vàn
  • một phép chia, một phép nhân và một căn bậc hai.

Tất cả điều này có thể được thực hiện trong thời gian tuyến tính nếu chúng ta giả sử các phép toán số học cơ bản chạy trong thời gian không đổi, do đó tổng thời gian trong là chắc chắn có thể. Lưu ý rằng tính toán gốc có thể làm hỏng mọi thứ.O(n)

Về không gian, bạn có một số tùy chọn:

  • Chỉ lưu trữ trung bình, đó là hai số ( với là số tối đa). Bạn phải tính toán lại tất cả các khác biệt, đó là thực hiện tổng cộng phép trừ.O(logM)M6n
  • Lưu trữ trung bình sự khác biệt, đó là số ( ). Điều này giúp bạn tiết kiệm trừ.2n+2O(nlogM)4n

Cái nào thích hợp hơn phụ thuộc vào ngữ cảnh của bạn.


6

Bạn đã bỏ qua một bước quan trọng ... Công thức bạn có là tương quan với quả lê. Điều làm cho nó spearman là x và y là các cấp bậc cho hai biến ban đầu. Bước xếp hạng này phải được tính đến cho sự phức tạp của hệ số tương quan mũi nhọn. Về cơ bản, bạn phải sắp xếp từng trong hai biến số, điều này sẽ phụ thuộc vào thuật toán sắp xếp đã chọn của bạn, theo sau là phép tính được đề cập ở trên.

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.