Lihatlah dan Anda akan menemukan (korelasi)

66

Saya memiliki beberapa ratus pengukuran. Sekarang, saya mempertimbangkan untuk menggunakan beberapa jenis perangkat lunak untuk menghubungkan setiap ukuran dengan setiap ukuran. Ini berarti ada ribuan korelasi. Di antara ini harus ada (secara statistik) ada korelasi yang tinggi, bahkan jika data benar-benar acak (masing-masing ukuran hanya memiliki sekitar 100 titik data).

Ketika saya menemukan korelasi, bagaimana saya memasukkan informasi tentang seberapa keras saya mencari korelasi, ke dalamnya?

Saya tidak berada pada level tinggi dalam statistik, jadi tolong tahan dengan saya.

David
sumber
5
Ini adalah contoh yang bagus mengapa seseorang perlu pengujian hipotesis berganda.
Agaknya seseorang dapat menggunakan prosedur permutasi untuk menghasilkan distribusi nol untuk ambang batas signifikansi untuk korelasi terbesar, ambang batas berbeda untuk korelasi terbesar kedua, dan seterusnya. Mudah-mudahan ini hanya akan memakan waktu beberapa jam dalam Python atau R. (Ha! Kata-kata terakhir yang terkenal.) Tapi tentunya seseorang pasti sudah melakukan ini dan menyimpan kode di suatu tempat?
4
@tmo Rpada mesin ini membutuhkan waktu 18 detik untuk memperoleh 1000 realisasi distribusi permutasi nol dari koefisien korelasi maksimum untuk 300 oleh 100 matriks x:correl <- function(x, k=1) { n <- dim(x)[2] * (dim(x)[2]-1) / 2; v <- cor(x); sort(v[lower.tri(v)])[(n-k+1):n] }; sim <- replicate(1000, correl(apply(x,2,sample)))
whuber

Jawaban:

74

Ini adalah pertanyaan yang sangat bagus, layak bagi seseorang yang merupakan pemikir statistik yang jelas, karena ia mengakui aspek halus tetapi penting dari pengujian berganda.

Ada metode standar untuk menyesuaikan nilai-p dari koefisien korelasi berganda (atau, yang setara, untuk memperluas interval kepercayaan mereka), seperti metode Bonferroni dan Sidak ( qv ). Namun, ini terlalu konservatif dengan matriks korelasi besar karena hubungan matematika yang melekat yang harus dimiliki antara koefisien korelasi secara umum. (Untuk beberapa contoh hubungan seperti itu lihat pertanyaan terakhir dan utas berikutnya .) Salah satu pendekatan terbaik untuk menangani situasi ini adalah dengan melakukan tes permutasi (atau resampling). Sangat mudah untuk melakukan ini dengan korelasi: dalam setiap iterasi tes, hanya secara acak mengacak urutan nilai masing-masing bidang (dengan demikian menghancurkan setiap korelasi yang melekat) dan menghitung ulang matriks korelasi penuh. Lakukan ini untuk beberapa ribu iterasi (atau lebih), kemudian rangkum distribusi entri dari matriks korelasi dengan, misalnya, memberikan 97,5 dan 2,5 persennya: ini akan berfungsi sebagai interval kepercayaan 95% dua sisi simetris yang saling menguntungkan di bawah nol hipotesis tidak ada korelasi. (Pertama kali Anda melakukan ini dengan sejumlah besar variabel Anda akan kagum pada seberapa tinggi beberapa koefisien korelasi dapat bahkan ketika tidak ada korelasi yang melekat.)

Saat melaporkan hasil, apa pun perhitungan yang Anda lakukan, Anda harus memasukkan yang berikut:

  • Ukuran matriks korelasi ( yaitu , berapa banyak variabel yang telah Anda lihat).

  • Bagaimana Anda menentukan nilai-p atau "signifikansi" dari salah satu koefisien korelasi ( misalnya , biarkan apa adanya, menerapkan koreksi Bonferroni, melakukan tes permutasi, atau apa pun).

  • Apakah Anda melihat langkah-langkah alternatif korelasi, seperti korelasi peringkat Spearman . Jika ya, tunjukkan juga mengapa Anda memilih metode yang Anda laporkan dan gunakan.

whuber
sumber
1
Ini adalah deskripsi yang cukup menyeluruh dari metode penyesuaian nilai-p tetapi yang tidak terungkap adalah kriteria untuk penyesuaian. Secara tradisional itu adalah tingkat kesalahan yang bersifat kekeluargaan. Tetapi itu adalah kriteria yang ketat dan tidak berguna ketika Anda melihat ribuan perbandingan. Dalam hal ini tingkat penemuan palsu yang pertama kali disarankan oleh Benjamini sekarang umum digunakan.
Michael Chernick
corr(x1,y1)corr(xn,yn)xiyicorr(xi,yj) ij)? Apakah kita masih perlu koreksi?
Jase
@Jas Ya, Anda tahu. Jumlah koreksi tergantung pada keterkaitan antar variabel. Metode berbasis simulasi adalah satu-satunya cara praktis untuk menentukan koreksi ini.
Whuber
Wow bagus. Apakah metode ini yang Anda diskusikan juga memperbaiki kesalahan standar untuk masalah korelasi serial dan heteroskedastisitas?
Jase
@Jase Akan sulit untuk menafsirkan koefisien korelasi dalam model heteroskedastik. Komentar Anda tampaknya merujuk pada model linier dalam pengaturan deret waktu, bukan estimasi koefisien korelasi multivariat.
Whuber
10

Dari respons tindak lanjut Anda terhadap pertanyaan Peter Flom, sepertinya Anda mungkin lebih baik dilayani oleh teknik yang melihat struktur tingkat yang lebih tinggi dalam matriks korelasi Anda.

Teknik seperti analisis faktor, PCA, penskalaan multidimensi, dan analisis cluster variabel dapat digunakan untuk mengelompokkan variabel Anda ke dalam set variabel yang relatif lebih terkait.

Juga, Anda mungkin ingin berpikir secara teoritis tentang struktur apa yang harus ada. Ketika jumlah variabel Anda besar dan jumlah pengamatan kecil, Anda seringkali lebih mengandalkan harapan sebelumnya.

Jeromy Anglim
sumber
1
(+1) Nasihat bagus mengingat komentar OP untuk tanggapan @Peter Flom.
Whuber
7

Ini adalah contoh beberapa perbandingan. Ada banyak literatur tentang ini.

Jika Anda memiliki, katakanlah, 100 variabel, maka Anda akan memiliki 100 * 99/2 = 4950 korelasi.

Jika data hanya noise, maka Anda akan mengharapkan 1 dari 20 ini menjadi signifikan pada p = 0,05. Itu 247,5

Sebelum melangkah lebih jauh, akan lebih baik jika Anda bisa mengatakan MENGAPA Anda melakukan ini. Apa variabel-variabel ini, mengapa Anda menghubungkannya, apa ide substantif Anda?

Atau, apakah Anda hanya memancing korelasi tinggi?

Peter Flom - Pasang kembali Monica
sumber
3
Alasan mengapa saya ingin melakukannya seperti ini adalah untuk memiliki pikiran terbuka untuk memahami data saya, jadi mungkin dengan cara saya mencari korelasi, yang tidak saya pikirkan sebelumnya, dengan tujuan untuk mendapatkan pencerahan. Saya tentu saja tidak melakukan ini untuk memuaskan bos saya atau sesuatu yang kejam. Saya lebih suka tidak masuk ke spesifik data, karena saya ingin jawaban umum untuk pertanyaan ini, sehingga saya dapat menggunakannya dalam semua situasi di masa depan.
David
7

Mungkin Anda bisa melakukan analisis awal pada bagian acak dari data untuk membentuk hipotesis, dan kemudian menguji beberapa hipotesis yang menarik menggunakan sisa data. Dengan begitu Anda tidak perlu mengoreksi beberapa tes berulang. (Kupikir...)

Tentu saja, jika Anda menggunakan prosedur seperti itu, Anda akan mengurangi ukuran dataset yang digunakan untuk analisis akhir sehingga mengurangi kekuatan Anda untuk menemukan efek nyata. Namun, koreksi untuk beberapa perbandingan juga mengurangi daya, jadi saya tidak yakin Anda akan kehilangan apa pun.

Michael Lew
sumber
5
(+1) Ini umumnya ide bagus. Untuk matriks korelasi besar, bagaimanapun, ada begitu banyak statistik dan begitu banyak dari mereka secara simultan bisa sangat besar sehingga biasanya membayar untuk menyesuaikan. Kalau tidak, Anda akhirnya mengejar sejumlah besar korelasi "signifikan" menyesatkan yang hilang begitu saja dalam data tahan. (Jalankan simulasi dengan, katakanlah, beberapa ratus gambar dari 50 varian normal standar yang tidak berkorelasi. Ini adalah pembuka mata.)
whuber