Pearson korelasi set data dengan mungkin nol standar deviasi?

12

Saya mengalami masalah menghitung koefisien korelasi pearson dari kumpulan data dengan kemungkinan nol standar deviasi (yaitu semua data memiliki nilai yang sama).

Misalkan saya memiliki dua set data berikut:

float x[] = {2, 2, 2, 3, 2};
float y[] = {2, 2, 2, 2, 2};

Koefisien korelasi "r", akan dihitung menggunakan persamaan berikut:

float r = covariance(x, y) / (std_dev(x) * std_dev(y));

Namun, karena semua data dalam kumpulan data "y" memiliki nilai yang sama, std_dev standar deviasi (y) akan menjadi nol dan "r" akan tidak ditentukan.

Apakah ada solusi untuk masalah ini? Atau haruskah saya menggunakan metode lain untuk mengukur hubungan data dalam kasus ini?

Andree
sumber
Tidak ada "hubungan data" dalam contoh ini karena y tidak bervariasi. Menetapkan nilai numerik apa pun ke r akan menjadi kesalahan.
whuber
1
@whuber - itu adalah benar bahwa tidak terdefinisi, tetapi belum tentu bahwa "benar" korelasi diketahui tidak dapat diperkirakan. Hanya harus menggunakan sesuatu yang berbeda untuk memperkirakannya. ρrρ
probabilityislogic
@probability Anda mengira ini adalah masalah estimasi dan bukan hanya salah satu dari karakterisasi. Tetapi menerima itu, estimator apa yang akan Anda usulkan dalam contoh? Tidak ada jawaban yang bisa benar secara universal karena itu tergantung pada bagaimana estimator akan digunakan (fungsi kerugian, efeknya). Dalam banyak aplikasi, seperti PCA, sepertinya menggunakan prosedur apa pun yang memberikan nilai kepada mungkin lebih buruk daripada prosedur lain yang mengenali tidak dapat diidentifikasi. ρρρ
Whuber
1
@whuber - perkiraan adalah pilihan yang buruk kata-kata untuk saya (Anda mungkin telah memperhatikan aku bukan wordsmith terbaik), apa yang saya maksudkan adalah bahwa meskipun mungkin tidak diidentifikasi secara unik, ini tidak berarti bahwa data yang di sia-sia memberi tahu kami tentang . Jawaban saya memberikan (jelek) demonstrasi ini dari sudut pandang aljabar. ρρρ
probabilityislogic
PProbabilitas Tampaknya analisis Anda bertentangan: jika memang y dimodelkan dengan distribusi normal, maka sampel lima 2 menunjukkan model ini tidak pantas. Pada akhirnya, Anda tidak mendapatkan sesuatu untuk apa-apa: hasil Anda sangat bergantung pada asumsi yang dibuat tentang prior. Masalah awal dalam mengidentifikasi masih ada tetapi disembunyikan oleh semua asumsi tambahan ini. Itu tampaknya IMHO hanya untuk mengaburkan masalah daripada memperjelasnya. ρ
whuber

Jawaban:

9

"Teori sampel" orang akan memberi tahu Anda bahwa tidak ada perkiraan seperti itu. Tapi Anda bisa mendapatkannya, Anda hanya perlu masuk akal tentang informasi sebelumnya, dan melakukan pekerjaan matematika yang lebih sulit.

Jika Anda menentukan metode estimasi Bayesian, dan posterior sama dengan sebelumnya, maka Anda dapat mengatakan data tidak mengatakan apa pun tentang parameter. Karena hal-hal mungkin menjadi "tunggal" pada kita, maka kita tidak dapat menggunakan spasi parameter tak terbatas. Saya berasumsi bahwa karena Anda menggunakan korelasi Pearson, Anda memiliki kemungkinan normal bivariat:

p(D|μx,μy,σx,σy,ρ)=(σxσy2π(1ρ2))Nexp(iQi2(1ρ2))
mana
Qi=(xiμx)2σx2+(yiμy)2σy22ρ(xiμx)(yiμy)σxσy

Sekarang untuk menunjukkan bahwa satu set data mungkin memiliki nilai yang sama, tulis , dan kemudian kita dapatkan:yi=y

s2x=1

iQi=N[(yμy)2σy2+sx2+(x¯μx)2σx22ρ(x¯μx)(yμy)σxσy]
mana
sx2=1Ni(xix¯)2

Dan kemungkinan Anda tergantung pada empat nomor, . Jadi Anda menginginkan perkiraan , jadi Anda perlu mengalikannya dengan sebelumnya, dan mengintegrasikan parameter gangguan . Sekarang untuk mempersiapkan integrasi, kita "menyelesaikan kotak" sx2,y,x¯,Nρμx,μy,σx,σy

iQi1ρ2=N[(μy[y(x¯μx)ρσyσx])2σy2(1ρ2)+sx2σx2(1ρ2)+(x¯μx)2σx2]

Sekarang kita harus berbuat salah di sisi kehati-hatian dan memastikan probabilitas dinormalisasi dengan benar. Dengan begitu kita tidak bisa mendapat masalah. Salah satu opsi tersebut adalah dengan menggunakan prior informatif yang lemah, yang hanya menempatkan batasan pada kisaran masing-masing. Jadi kita memiliki untuk sarana dengan flat sebelum dan untuk standar deviasi dengan jeffreys sebelumnya. Batasan ini mudah diatur dengan sedikit "akal sehat" untuk memikirkan masalahnya. Saya akan mengambil yang tidak ditentukan sebelumnya untuk , dan jadi kami mendapatkan (seragam harus bekerja ok, jika tidak memotong singularitas ):Lμ<μx,μy<UμLσ<σx,σy<Uσρ±1

p(ρ,μx,μy,σx,σy)=p(ρ)Aσxσy

Di mana . Ini memberikan posterior dari:A=2(UμLμ)2[log(Uσ)log(Lσ)]2

p(ρ|D)=p(ρ,μx,μy,σx,σy)p(D|μx,μy,σx,σy,ρ)dμydμxdσxdσy

=p(ρ)A[2π(1ρ2)]N2LσUσLσUσ(σxσy)N1exp(Nsx22σx2(1ρ2))×
LμUμexp(N(x¯μx)22σx2)LμUμexp(N(μy[y(x¯μx)ρσyσx])22σy2(1ρ2))dμydμxdσxdσy

Sekarang integrasi pertama di atas dapat dilakukan dengan membuat perubahan variabel dan integral pertama lebih dari menjadi:μyz=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμyμy

σy2π(1ρ2)N[Φ(Uμ[y(x¯μx)ρσyσx]σyN1ρ2)Φ(Lμ[y(x¯μx)ρσyσx]σyN1ρ2)]

Dan Anda dapat melihat dari sini, tidak ada solusi analitik yang mungkin. Namun, perlu juga dicatat bahwa nilai belum keluar dari persamaan. Ini berarti bahwa data dan informasi sebelumnya masih memiliki sesuatu untuk dikatakan tentang korelasi yang sebenarnya. Jika data tidak mengatakan apa pun tentang korelasinya, maka kita hanya akan dibiarkan dengan sebagai satu-satunya fungsi dalam persamaan ini.ρp(ρ)ρ

Ini juga menunjukkan bagaimana itu melewati batas batas tak terbatas untuk "membuang" beberapa informasi tentang , yang terkandung dalam fungsi CDF normal yang tampak rumit . Sekarang jika Anda memiliki banyak data, maka melewati batas itu baik-baik saja, Anda tidak kehilangan banyak, tetapi jika Anda memiliki informasi yang sangat langka, seperti dalam kasus Anda - penting untuk menyimpan setiap memo yang Anda miliki. Ini berarti matematika jelek, tetapi contoh ini tidak terlalu sulit untuk dilakukan secara numerik. Jadi kita dapat mengevaluasi kemungkinan terintegrasi untuk pada nilai-nilai katakanlah cukup mudah. Cukup ganti integral dengan penjumlahan dalam interval yang cukup kecil - sehingga Anda memiliki penjumlahan tiga kali lipatμyρΦ(.)ρ0.99,0.98,,0.98,0.99

probabilityislogic
sumber
@probabilityislogic: Wow. Cukup wow. Setelah melihat beberapa jawaban Anda, saya benar-benar bertanya-tanya: apa yang harus dilakukan oleh doofus seperti saya untuk mencapai kondisi bayesian yang fleksibel?
steffen
1
@steffen - lol. Ini tidak terlalu sulit, Anda hanya perlu berlatih. Dan selalu selalu ingat bahwa produk dan jumlah aturan probabilitas adalah satu-satunya aturan yang Anda butuhkan . Mereka akan mengekstrak informasi apa pun yang ada di sana - apakah Anda melihatnya atau tidak. Jadi Anda menerapkan aturan jumlah dan produk, lalu lakukan perhitungannya. Itu saja yang saya lakukan di sini.
probabilityislogic
@steffen - dan aturan lainnya - lebih merupakan aturan matematis daripada statistik satu - jangan melewati batas tak terhingga terlalu dini dalam perhitungan Anda, hasil Anda dapat berubah-ubah, atau detail kecil dapat dibuang. Model kesalahan pengukuran adalah contoh sempurna dari ini (seperti pertanyaan ini).
probabilityislogic
@probabilityislogic: Terima kasih, saya akan mengingatnya ... segera setelah saya selesai mengerjakan "Bayesian Analysis" -copy;).
steffen
@probabilityislogic: Jika Anda bisa mengolok-olok ahli statistik / peneliti non-matematis ... mungkinkah untuk merangkum atau menerjemahkan jawaban Anda ke sekelompok dokter gigi atau kepala sekolah menengah atau siswa statistik pengantar?
rolando2
6

Saya setuju dengan sesqu bahwa korelasinya tidak ditentukan dalam kasus ini. Bergantung pada jenis aplikasi Anda, misalnya Anda dapat menghitung Kesamaan Gower antara kedua vektor, yaitu: mana mewakili kronecker-delta , diterapkan sebagai fungsi pada . δv1,v2gower(v1,v2)=i=1nδ(v1i,v2i)nδv1,v2

Jadi misalnya jika semua nilai sama, gower (.,.) = 1. Jika di sisi lain mereka hanya berbeda dalam satu dimensi, gower (.,.) = 0,9. Jika mereka berbeda di setiap dimensi, gower (.,.) = 0 dan seterusnya.

Tentu saja ini bukan ukuran untuk korelasi, tetapi memungkinkan Anda untuk menghitung seberapa dekat vektor dengan s> 0 dengan yang dengan s = 0. Tentu saja Anda dapat menerapkan metrik lain juga, jika metrik tersebut melayani tujuan Anda dengan lebih baik.

steffen
sumber
+1 Itu ide yang kreatif. Kedengarannya seperti "Gower Similarity" adalah jarak Hamming yang diskalakan .
whuber
@whuber: Memang benar!
steffen
0

Korelasi tidak ditentukan dalam kasus itu. Jika Anda harus mendefinisikannya, saya akan mendefinisikannya sebagai 0, tetapi pertimbangkan perbedaan mutlak rata-rata sederhana sebagai gantinya.

sesqu
sumber
0

Pertanyaan ini datang dari programmer, jadi saya sarankan memasukkan nol. Tidak ada bukti korelasi, dan hipotesis nol akan menjadi nol (tidak ada korelasi). Mungkin ada pengetahuan konteks lain yang akan memberikan korelasi "khas" dalam satu konteks, tetapi kode tersebut mungkin digunakan kembali dalam konteks lain.

zbicyclist
sumber
2
Tidak ada bukti kurangnya korelasi juga, jadi mengapa tidak pasang 1? Atau -1? Atau apa saja di antaranya? Mereka semua mengarah ke kode yang dapat digunakan kembali!
whuber
@whuber - Anda memasukkan nol karena data "kurang dibatasi" ketika independen - ini sebabnya distribusi maksimal adalah independen kecuali jika Anda secara eksplisit menentukan korelasi dalam kendala. Kemandirian dapat dipandang sebagai asumsi konservatif ketika Anda tahu tidak ada korelasi seperti itu - secara efektif Anda meratakan semua korelasi yang mungkin .
probabilityislogic
1
@prob Saya mempertanyakan mengapa masuk akal sebagai prosedur umum untuk rata-rata semua korelasi. Akibatnya prosedur ini menggantikan jawaban yang pasti dan mungkin salah "nol!" untuk jawaban yang benar "data tidak memberi tahu kami." Perbedaan itu bisa penting untuk pengambilan keputusan.
whuber
Hanya karena pertanyaannya mungkin dari seorang programmer, tidak berarti Anda harus mengubah nilai yang tidak ditentukan menjadi nol. Nol berarti sesuatu yang spesifik dalam perhitungan korelasi. Lempar pengecualian. Biarkan penelepon memutuskan apa yang harus terjadi. Fungsi Anda harus menghitung korelasi, bukan memutuskan apa yang harus dilakukan jika tidak dapat dihitung.
Jared Becksfort