Koefisien korelasi biasa (dalam 2d) mengukur seberapa baik sekumpulan poin dapat digambarkan oleh suatu garis, dan jika ya, tandanya memberi tahu kita apakah kita memiliki korelasi positif atau negatif. Tetapi ini mengasumsikan bahwa koordinat titik sebenarnya dapat ditafsirkan secara kuantitatif misalnya sebagai pengukuran.
Jika Anda tidak bisa melakukan itu tetapi Anda masih bisa memesan koordinat, ada koefisien korelasi peringkat : Ini mengukur seberapa baik poin dapat dijelaskan oleh fungsi monoton .
Tantangan
Diberikan daftar poin 2d, tentukan koefisien korelasi peringkat mereka .
Detail
- Anda dapat menganggap input sebagai bilangan bulat positif (tetapi Anda tidak harus), atau nilai "sortable" lainnya.
- Poin dapat diambil sebagai daftar poin, atau dua daftar untuk koordinat x dan y atau matriks atau array 2d dll.
- Output harus berupa floating point atau tipe rasional, karena harus mewakili bilangan real antara 0 dan 1.
Definisi
Rangking: Diberikan daftar angka X=[x(1),...,x(n)]
kita dapat menetapkan angka positif yang rx(i)
disebut peringkat untuk setiap entri x(i)
. Kami melakukannya dengan mengurutkan daftar dan menetapkan indeks x(i)
dalam daftar yang diurutkan rx(i)
. Jika dua atau lebih x(i)
memiliki nilai yang sama, maka kami hanya menggunakan rata-rata aritmatika dari semua indeks yang sesuai sebagai peringkat. Contoh:
List: [21, 10, 10, 25, 3]
Indices sorted: [4, 2, 3, 5, 1]
Angka 10
muncul dua kali di sini. Dalam daftar yang disortir itu akan menempati indeks 2
dan 3
. Rata-rata aritmatika dari mereka 2.5
begitu peringkatnya
Ranks: [4, 2.5, 2.5, 5, 1]
Peringkat Koefisien Korelasi : Let [(x(1),y(1)),(x(2),y(2)),...,(x(n),y(n))]
menjadi poin yang diberikan di mana masing-masing x(i)
dan y(i)
adalah bilangan real Untuk setiap (wlog Anda dapat menganggap itu adalah bilangan bulat.) i=1,...,n
Kita menghitung pangkat rx(i)
dan ry(i)
dari x(i)
dan y(i)
masing-masing.
Biarkan d(i) = rx(i)-ry(i)
menjadi perbedaan pangkat dan biarkan S
menjadi jumlah S = d(1)^2 + d(2)^2 + ... + d(n)^2
. Kemudian koefisien korelasi pangkat rho
diberikan oleh
rho = 1 - 6 * S / (n * (n^2-1))
Contoh
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
.