Berapa jarak antar variabel yang membuat matriks kovarians?

11

Saya memiliki matriks kovariansi dan ingin variabel partisi ke k cluster menggunakan hirarki pengelompokan (misalnya, untuk memilah matriks kovarians).n×nk

Apakah ada fungsi jarak yang khas antara variabel (yaitu antara kolom / baris dari matriks kovarians kuadrat)?

Atau jika ada lebih banyak, apakah ada referensi yang bagus tentang topik tersebut?

Piotr Migdal
sumber
Mengapa Anda ingin menggunakan pengelompokan hierarkis pada variabel? Secara umum, kami memikirkan matriks data , w / variabel dalam kolom & pengamatan dalam baris. Jika Anda ingin mencari pengelompokan laten, Anda dapat mencoba, misalnya, pengelompokan hierarkis pada baris / pengamatan, atau, misalnya, analisis faktor pada kolom / variabel. X
gung - Reinstate Monica
@Piotr, Ya, kovarians (atau korelasi atau kosinus) dapat dengan mudah dan alami diubah menjadi jarak euclidean, karena ini adalah produk skalar (= kesamaan tipe sudut). Mengetahui kovarians antara dua variabel serta varians mereka secara otomatis menyiratkan mengetahui d antara variabel: . d2=σ12+σ22-2cHaiv
ttnphns
Perhatikan rumus ini berarti kovarians negatif adalah jarak yang lebih besar daripada kovarians positif (dan memang demikian halnya dari sudut pandang geometri). Jika Anda tidak ingin tanda kovarians berperan, hapus tanda negatif.
ttnphns
@ung Ini adalah matriks simetris, jadi baris ~ kolom. Bagi saya, sangat penting untuk membaginya ke dalam set variabel, bukan untuk 'memutarnya' dengan analisis faktor (sebenarnya, saya tidak bekerja dengan matriks kov standar, tetapi yang rumit (matriks kerapatan dalam mekanika kuantum)).
Piotr Migdal
@ttnphns Terima kasih. Hal yang mengganggu saya adalah bahwa saya ingin memisahkan variabel yang tidak berkorelasi - korelasi negatif bagi saya (hampir) sebaik yang positif.
Piotr Migdal

Jawaban:

13

Kovarian (atau korelasi atau kosinus) dapat dengan mudah dan alami diubah menjadi jarak euclidean dengan menggunakan hukum cosinus , karena itu adalah produk skalar (= kesamaan berbasis sudut) di ruang euclidean. Mengetahui kovarians antara dua variabel i dan j serta varians mereka secara otomatis menyiratkan mengetahui d antara variabel: . (Itu d 2 i jdsayaj2=σsaya2+σj2-2cHaivsayajdsayaj2berbanding lurus dengan jarak Euclidean kuadrat yang biasa : Anda memperoleh yang terakhir jika Anda menggunakan jumlah-dari-kuadrat dan jumlah-produk-silang di tempat varian dan kovarians. Kedua variabel harus tentu saja berpusat pada awalnya: berbicara tentang "kovarian" adalah alias memikirkan data dengan cara yang dihapus.)

Catatan, rumus ini berarti bahwa kovarians negatif adalah jarak yang lebih besar daripada kovarians positif (dan ini memang merupakan kasus dari sudut pandang geometri, yaitu ketika variabel dilihat sebagai vektor dalam ruang subjek ). Jika Anda tidak ingin tanda kovarians berperan, hapus tanda negatif. Mengabaikan tanda negatif bukanlah operasi "menambal dengan tangan" dan dibenarkan, bila diperlukan: jika matriks cov pasti positif, matriks abs (cov) juga akan pasti positif; dan karenanya jarak yang diperoleh dengan rumus di atas akan menjadi jarak euclidean yang sebenarnya (jarak euclidean adalah semacam jarak metrik tertentu ).

Jarak Euclidean bersifat universal dalam hal pengelompokan hierarkis : metode pengelompokan seperti apa pun itu berlaku dengan euclidean atau kuadrat euclidean d . Tetapi beberapa metode, misalnya hubungan rata-rata atau hubungan lengkap, dapat digunakan dengan perbedaan atau kesamaan apa pun (bukan hanya jarak metrik). Jadi Anda dapat menggunakan metode tersebut secara langsung dengan matriks cov atau abs (cov) atau - hanya misalnya - dengan max (abs (cov)) - matriks jarak abs (cov) . Tentu saja, hasil pengelompokan berpotensi tergantung pada sifat persis dari (dis) kesamaan yang digunakan.

ttnphns
sumber
dsayaj2dsayaj2
@ HaloGoodbye, ya saya menyiratkan dua variabel (vektor) dengan cara yang sama - sebenarnya, dengan cara dihapus, dalam contoh pertama.
ttnphns
3

Mengapa tidak menggunakan matriks korelasi untuk melakukan pengelompokan? Dengan asumsi variabel acak Anda terpusat, dengan menghitung korelasi antara variabel Anda menghitung jarak kesamaan cosinus . Jarak ini juga disebutkan dalam tautan Anda. Jarak ini dapat digunakan untuk pengelompokan hierarkis. Semakin kecil 1 - | cosine similarity |, semakin mirip variabel Anda.

Jorge Banuelos
sumber
d(saya,j)=1-SEBUAHsayaj2/(SEBUAHsayasayaSEBUAHjj)
3
Ah, maaf atas kesalahpahaman ini. Sumber terbaik yang saya tahu adalah ini . Mereka mempelajari kualitas beberapa metrik (yang menggunakan korelasi) dengan pengelompokan hierarkis. Untuk pengelompokan hierarkis, saya biasanya mencoba banyak metrik dan melihat mana yang paling cocok untuk tujuan dan data saya.
Jorge Banuelos
tampaknya tautan tidak berfungsi lagi?
Matifou