Hệ số tương quan thông thường (trong 2d) đo lường mức độ tập hợp các điểm có thể được mô tả bằng một dòng và nếu có, dấu hiệu của nó cho chúng ta biết liệu chúng ta có mối tương quan dương hay âm. Nhưng điều này giả định rằng tọa độ của các điểm thực sự có thể diễn giải định lượng ví dụ như các phép đo.
Nếu bạn không thể làm điều đó nhưng bạn vẫn có thể sắp xếp các tọa độ, có hệ số tương quan xếp hạng : Nó đo mức độ các điểm có thể được mô tả bằng một hàm đơn điệu .
Thử thách
Đưa ra một danh sách các điểm 2d, xác định hệ số tương quan xếp hạng của chúng .
Chi tiết
- Bạn có thể giả sử đầu vào là số nguyên dương (nhưng bạn không phải) hoặc bất kỳ giá trị "có thể sắp xếp" nào khác.
- Các điểm có thể được lấy dưới dạng danh sách các điểm hoặc hai danh sách cho tọa độ x và y hoặc ma trận hoặc mảng 2d, v.v.
- Đầu ra phải là một dấu phẩy động hoặc loại hợp lý, vì nó phải đại diện cho một số thực trong khoảng từ 0 đến 1.
Các định nghĩa
Xếp hạng: Đưa ra một danh sách các số X=[x(1),...,x(n)]
chúng ta có thể gán một số dương rx(i)
gọi là thứ hạng cho mỗi mục x(i)
. Chúng tôi làm như vậy bằng cách sắp xếp danh sách và gán chỉ mục x(i)
trong danh sách được sắp xếp rx(i)
. Nếu hai hoặc nhiều hơn x(i)
có cùng giá trị, thì chúng ta chỉ cần sử dụng giá trị trung bình số học của tất cả các chỉ số tương ứng làm thứ hạng. Thí dụ:
List: [21, 10, 10, 25, 3]
Indices sorted: [4, 2, 3, 5, 1]
Con số 10
xuất hiện hai lần ở đây. Trong danh sách được sắp xếp, nó sẽ chiếm các chỉ số 2
và 3
. Trung bình số học của những thứ đó là 2.5
thứ hạng
Ranks: [4, 2.5, 2.5, 5, 1]
Hệ số tương quan xếp hạng : Hãy [(x(1),y(1)),(x(2),y(2)),...,(x(n),y(n))]
là các điểm đã cho trong đó mỗi điểm x(i)
và y(i)
là một số thực (wlog. Bạn có thể giả sử đó là một số nguyên) Với mỗi i=1,...,n
chúng ta tính thứ hạng rx(i)
và ry(i)
của x(i)
vày(i)
tương ứng.
Hãy d(i) = rx(i)-ry(i)
là sự khác biệt thứ hạng và hãy S
là tổng S = d(1)^2 + d(2)^2 + ... + d(n)^2
. Sau đó, hệ số tương quan xếp hạng rho
được đưa ra bởi
rho = 1 - 6 * S / (n * (n^2-1))
Thí dụ
x y rx ry d d^2
21 15 4 5 -1 1
10 6 2&3 -> 2.5 2 0.5 0.25
10 7 2&3 -> 2.5 3 -0.5 0.25
25 11 5 4 1 1
3 5 1 1 0 0
rho = 1 - 6 * (1+0.25+0.25+1)/(5*(5^2-1)) = 0.875
2.5
.