Memahami perhitungan korelasi jarak


15

Sejauh yang saya mengerti, korelasi jarak adalah cara yang kuat dan universal untuk memeriksa apakah ada hubungan antara dua variabel numerik. Misalnya, jika kita memiliki satu set pasangan angka:

(x1, y1)
(x2, y2)
...
(xn, yn)

kita dapat menggunakan korelasi jarak untuk memeriksa apakah ada hubungan (tidak harus linier) antara kedua variabel ( xdan y). Apalagi, xdan ybisa menjadi vektor dimensi yang berbeda.

Ini relatif mudah untuk menghitung korelasi jarak. Pertama kita menggunakan untuk menghitung matriks jarak. Kemudian kita menghitung matriks jarak menggunakan . Dua matriks jarak akan memiliki dimensi yang sama karena jumlah dan adalah sama (karena mereka berpasangan).xiyixiyi

Sekarang kami memiliki banyak jarak yang bisa dipasangkan. Misalnya elemen (2,3)dari matriks jarak pertama dipasangkan dengan elemen (2,3)dari matriks jarak kedua. Jadi, kita memiliki satu set pasangan jarak dan kita dapat menggunakannya untuk menghitung korelasi (korelasi antar jarak).

Jika dua jenis jarak berkorelasi, maka itu berarti bahwa penutupan Xs biasanya berarti penutupan Ys. Misalnya jika dekat dengan x_ {13} daripada artinyax 13 y 7 y 13x7x13y7 cenderung dekat dengan . Jadi, kita dapat menyimpulkan bahwa Xs dan Ys tergantung.y13

Kedengarannya masuk akal, namun ada dua aspek yang saya tidak mengerti .

Pertama , untuk menghitung korelasi jarak kita tidak menggunakan dua matriks jarak secara langsung. Kami menerapkannya pada prosedur pemusatan ganda (sehingga jumlah semua elemen di setiap baris (atau kolom) sama dengan nol). Saya tidak mengerti mengapa kita perlu melakukannya. Apa logika (atau intuisi) di balik langkah ini?

Kedua , dalam matriks jarak asli kita memiliki nol pada diagonal. Jadi, jika kita menghitung korelasi antara jarak, kita akan memiliki korelasi yang signifikan secara statistik hanya karena banyak nol dari matriks pertama dipasangkan dengan nol yang sesuai dalam matriks kedua. Bagaimana mengatasi masalah ini?

Jawaban:


16

Jarak kovarians / korelasi (= kovarians / korelasi Brown) dihitung dalam langkah-langkah berikut:

  1. Hitung matriks jarak euclidean antara Nkasus oleh variabel , dan lain juga matriks dengan variabel Y . Salah satu dari dua fitur kuantitatif, X atau Y , mungkin multivarian, bukan hanya univariat.XYXY
  2. Lakukan pemusatan ganda pada setiap matriks. Lihat bagaimana pemusatan ganda biasanya dilakukan. Namun, dalam kasus kami, ketika melakukan hal itu jangan tidak alun-alun jarak awalnya dan tidak membagi dengan pada akhirnya. Baris, rata-rata kolom, dan rata-rata keseluruhan elemen menjadi nol.-2
  3. Lipat gandakan dua matriks yang dihasilkan dengan elemen dan hitung jumlahnya; atau dengan cara yang sama, buka matriks menjadi dua vektor kolom dan hitung produk silangnya yang dijumlahkan.
  4. Rata-rata, dibagi dengan jumlah elemen N^2,.
  5. Ambil akar kuadrat. Hasilnya adalah kovarians jarak antara dan Y .XY
  6. Varians jarak adalah kovariansi jarak , Y dengan diri sendiri, Anda menghitungnya juga, poin 3-4-5.XY
  7. Korelasi jarak diperoleh dari tiga angka secara analog bagaimana korelasi Pearson diperoleh dari kovarians biasa dan pasangan varian: bagi kovarians dengan akar kuadrat dari produk dua varian.

Jarak kovarians (dan korelasi) bukanlah kovarians (atau korelasi) antara jarak itu sendiri. Ini adalah kovarians (korelasi) antara produk skalar khusus (produk titik) yang terdiri dari matriks "double centered".

Dalam ruang euclidean, produk skalar adalah kemiripan yang terikat secara univokal dengan jarak yang sesuai. Jika Anda memiliki dua titik (vektor), Anda dapat menyatakan kedekatannya sebagai produk skalar alih-alih jaraknya tanpa kehilangan informasi.

Namun, untuk menghitung produk skalar Anda harus merujuk ke titik asal ruang (vektor berasal dari titik asal). Secara umum, seseorang dapat menempatkan asal di mana ia suka, tetapi sering dan nyaman adalah menempatkannya di tengah geometris dari awan titik, rerata. Karena rata-rata milik ruang yang sama dengan yang direntang oleh awan, dimensi tidak akan membengkak.

Sekarang, pemusatan ganda biasa dari matriks jarak (antara titik-titik awan) adalah operasi mengubah jarak ke produk skalar sambil menempatkan asal pada tengah geometris itu. Dengan melakukan itu, "jaringan" jarak secara ekuivalen diganti dengan "ledakan" vektor, dengan panjang tertentu dan sudut berpasangan, dari titik asal:

masukkan deskripsi gambar di sini

[Konstelasi pada contoh gambar saya adalah planar yang memberikan bahwa "variabel", katakan itu , setelah dihasilkan itu dua dimensi. Ketika X adalah variabel satu kolom, semua titik terletak pada satu baris, tentu saja.]XX

Sedikit formal tentang operasi pemusatan ganda. Biarkan memiliki n points x p dimensionsdata (dalam kasus univariat, ). Biarkan D menjadi matriks jarak euclidean antara titik - titik. Biarkan C menjadi X dengan kolomnya berada di tengah. Kemudian S = D -berpusat-ganda  D 2 sama dengan C C , produk skalar antara baris setelah awan titik terpusat. Properti utama dari pemusatan ganda adalah 1Xp=1Dn x nnCXS=berpusat ganda D2CC, dan jumlah ini sama dengan jumlah yang dinegasikan darielemenoff-diagonalS12nD2=trace(S)=trace(CC)S .

Kembali ke korelasi jarak. Apa yang kita lakukan ketika menghitung kovarians jarak? Kami telah mengonversi kedua jaring jarak menjadi tandan vektor yang sesuai. Dan kemudian kita menghitung kovarisasi (dan selanjutnya korelasi) antara nilai yang sesuai dari dua kelompok: masing-masing nilai produk skalar (nilai jarak sebelumnya) dari satu konfigurasi dikalikan dengan konfigurasi yang sesuai dari konfigurasi lainnya. Itu dapat dilihat sebagai (seperti yang disebutkan dalam poin 3) menghitung kovarians biasa antara dua variabel, setelah membuat vektor dua matriks dalam "variabel" tersebut.

Dengan demikian, kami mengovariasikan dua set kesamaan (produk skalar, yang merupakan jarak yang dikonversi). Segala jenis kovarians adalah produk silang dari momen: Anda harus menghitung momen itu, penyimpangan dari mean, pertama, - dan double centering adalah perhitungan itu. Ini adalah jawaban untuk pertanyaan Anda: kovarian perlu didasarkan pada momen tetapi jarak bukanlah momen.

Pengambilan tambahan akar kuadrat setelah (titik 5) tampaknya logis karena dalam kasus kami saat ini sudah menjadi semacam kovarians (produk skalar dan kovarians adalah komparator) struktural) dan karena itu muncullah Anda semacam kovarian berganda dua kali. Oleh karena itu untuk turun kembali pada tingkat nilai data asli (dan untuk dapat menghitung nilai korelasi) kita harus mengambil root setelahnya.

Satu catatan penting akhirnya harus pergi. Jika kita melakukan double centering dengan cara klasiknya - yaitu, setelah mengkuadratkan jarak euclidean - maka kita akan berakhir dengan kovarians jarak yang bukan kovarians jarak sejati dan tidak berguna. Ini akan muncul terdegenerasi menjadi jumlah yang persis terkait dengan kovarians biasa (dan korelasi jarak akan menjadi fungsi korelasi Pearson linier). Apa yang membuat kovarians jarak / korelasi unik dan mampu mengukur bukan hubungan linier tetapi bentuk ketergantungan generik , sehingga dCov = 0 jika dan hanya jika variabel independen, - adalah kurangnya kuadrat jarak saat melakukan pemusatan ganda (lihat poin 2). Sebenarnya, setiap kekuatan jarak dalam kisaran akan melakukan, bagaimanapun, bentuk standar adalah melakukannya pada daya 1 . Mengapa kekuatan ini dan bukan kekuatan 2 memfasilitasi koefisien untuk menjadi ukuran saling ketergantungan nonlinear cukup rumit (bagi saya) masalah matematika yang mengandungfungsi karakteristikdistribusi, dan saya ingin mendengar seseorang yang lebih terdidik menjelaskan di sini mekanisme jarak kovarians / korelasi dengan kata-kata yang mungkin sederhana (saya pernahberusaha, tidak berhasil).(0,2)12


dengan "menyimpulkan produk silang" pada langkah 3, apakah maksud Anda produk skalar normal?
kram1032

1
@ kram1032, ya scp dan produk skalar adalah sinonim stats.stackexchange.com/a/22520/3277
ttnphns

8

Saya pikir kedua pertanyaan Anda sangat terkait. Sementara diagonal asli dalam matriks jarak adalah 0, yang digunakan untuk kovarians (yang menentukan pembilang korelasi) adalah nilai jarak terpusat dua kali lipat - yang, untuk vektor dengan variasi apa pun, berarti bahwa diagonal akan menjadi negatif.

Jadi mari kita melangkah melalui kasus independen sederhana dan melihat apakah itu memberi kita intuisi mengapa korelasinya adalah 0 ketika kedua variabel independen.

(X,Y)=[(0,0),(0,1),(1,0),(1,1)]

XY

a=[0011001111001100]

b=[0101101001011010]

A

A=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

B=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

.5.5=.25.5.5=.25.5.5=.250 , yang kami inginkan.

0

0ab0.25 keterpusatan memiliki sifat ini: apakah ini juga berfungsi untuk melakukan pemusatan tunggal (dengan baris, kolom, atau rata-rata besar)? Tidak bisakah kita menyesuaikan jarak nyata dan hanya mengatur diagonal ke negatif dari jumlah baris, jumlah kolom, atau jumlah besar?

(Seperti yang ditunjukkan oleh ttnphns, dengan sendirinya ini tidak cukup, karena kekuatan juga penting. Kita dapat melakukan pemusatan ganda yang sama tetapi jika kita menambahkannya dalam quadrature kita akan kehilangan properti if dan only if.)


1
Apakah Anda keberatan jika saya mengedit matriks dalam jawaban ini?
shadowtalker

@ssdecontrol terima kasih atas tawarannya! Saya telah melalui dan melakukannya sendiri, tetapi merasa bebas untuk membuat perubahan format lainnya.
Matius Graves

1
Saya tidak begitu mengerti apa yang Anda maksud dengan "lajang" dalam kasus ini (apakah itu yang dikatakan Mattew atau lainnya?) Apa yang benar-benar misterius / penting bagi saya (seperti yang saya ungkapkan di akhir jawaban saya) adalah mengapa ( secara teoritis) ketika kita melakukan pemusatan ganda tanpa mengkuadratkan jarak terlebih dahulu kita memfasilitasi dCov untuk memiliki sifat yang unik dan berguna.
ttnphns

1
@ttnphns: Dengan pemusatan tunggal yang saya maksud mengurangi mean grand dari setiap nilai jarak. Bagaimanapun, saya setuju bahwa kovarians jarak adalah misterius.
Amoeba mengatakan Reinstate Monica

1
@amoeba saya berharap penulis akan menulis tindak lanjut dengan semacam penjelasan intuitif dan implementasi yang efisien untuk beberapa pasang variabel. Ini mendekati satu dekade sejak kertas asli dan kovarians jarak mereka masih sebagian besar hanya pengalih perhatian untuk mahasiswa pascasarjana. satu-satunya waktu saya pernah melihatnya digunakan dalam praktek adalah dalam fitur yang saat itu tidak diterapkan di Stan untuk mendiagnosis rantai MC
shadowtalker
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.