Saya ingin menentukan yang mana dari dua set data (B1, B2) berkorelasi lebih baik (pearsons r) ke set lain (A). Ada data yang hilang di semua set data. Bagaimana saya bisa menentukan apakah korelasi yang dihasilkan berbeda secara signifikan atau tidak?
Misalnya, nilai-nilai 8426 hadir dalam A dan B1, r = 0,74. 8798 hadir dalam A dan B2, r = 0,72.
Saya pikir pertanyaan ini mungkin membantu tetapi tidak dijawab: Bagaimana mengetahui satu sistem secara signifikan lebih baik daripada yang lain?
Jawaban:
Kadang-kadang satu mungkin bisa mencapai hal ini dalam regresi berganda, di mana A adalah DV, B adalah skor orang memiliki pada skala, dan C adalah kode dummy yang mengatakan itu adalah baik B1 atau B2:
lm(A~B+C+B*C)
. Istilah interaksiB*C
,, akan memberi tahu Anda jika korelasinya berbeda, sementara kemiringan sederhana antara A dan B pada kedua tingkat C akan memberi tahu Anda korelasinya.Namun, tidak mungkin untuk mencocokkan semua jenis perbandingan antara kondisi dalam kerangka kerja ini. The
cocor
paket R sangat berguna, dan memiliki sangat sederhana antarmuka point-and-klik di web. Perhatikan bahwa, dengan data hilang yang berbeda, Anda tidak memiliki sampel independen maupun tergantung. Saya akan menggunakan penghapusan listwise di sini, untuk membuatnya tetap sederhana (dan kekuasaan bukan masalah bagi Anda).sumber
Oh kekuatan bootstrap. Mari kita lihat tiga vektor untuk ilustrasi: , dan mana:SEBUAH B1 B2 Co r ( A , B1) = 0,92
Co r ( A , B2) = 0,86
Tujuannya adalah untuk menentukan apakah korelasi dari dua set data ini berbeda secara signifikan. Dengan mengambil sampel bootstrap seperti:
Kami dapat merencanakan distribusi bootstrap dari dua korelasi:
Kami juga dapat memperoleh Interval Kepercayaan 95% untuk .Co r ( A , Bsaya)
95% CI untuk :Co r r ( A , B1) ( 0,897 , 0,947 )
95% CI untuk :Co r r ( A , B2) ( 0,810 , 0,892 )
Fakta bahwa interval tidak tumpang tindih (nyaris) memberi kita beberapa bukti bahwa perbedaan dalam korelasi sampel yang kami amati memang signifikan secara statistik.
Seperti yang ditunjukkan amuba dalam komentar, hasil yang lebih "kuat" berasal dari perbedaan untuk masing-masing sampel bootstrap.
A 95% CI untuk perbedaan antara keduanya adalah:( 0,019 , 0,108 )
Memperhatikan bahwa interval (nyaris) tidak termasuk 0, kami memiliki bukti yang sama seperti sebelumnya.
Untuk menangani masalah data yang hilang, cukup pilih sampel bootstrap Anda dari pasangan yang terkandung dalam kedua set data.
sumber
Maka karena itu, karena variabel Fisher berubah sekarang terdistribusi secara normal dan jumlah variabel acak yang terdistribusi normal masih terdistribusi normal:
-
Setelah komentar oleh @Josh , kita bisa menggabungkan kemungkinan saling ketergantungan antara sampel (ingat kedua korelasi tergantung pada distribusi A). Tanpa mengasumsikan sampel independen dan menggunakan ketidaksetaraan Cauchy-Schwarz kita bisa mendapatkan batas atas berikut (lihat: Bagaimana cara menemukan standar deviasi perbedaan antara dua cara? ):
sumber
Diedit setelah umpan balik bermanfaat dari Mark White (terima kasih!)
Salah satu opsi adalah untuk menghitung kedua hubungan (B1 dengan A, dan B2 dengan A) dalam model tunggal yang juga memperkirakan perbedaan di antara mereka. Ini mudah dicapai dengan regresi berganda . Anda akan menjalankan model dengan A sebagai variabel dependen, dan kemudian satu variabel kontinu dengan semua skor untuk B1 dan B2, variabel kategori yang menunjukkan variabel mana itu (B1 atau B2), dan interaksi di antara mereka. Dalam r:
Berikut adalah korelasi dari data yang saya hasilkan:
Mengubah format data untuk memenuhi kebutuhan model (format ulang ke "panjang"):
Inilah modelnya:
Hasil di sini (dari data buatan saya) menunjukkan bahwa ada hubungan yang signifikan antara B1 dan A (tes dari koefisien "nilai", karena B1 adalah kelompok referensi untuk koefisien "var"), tetapi perbedaannya adalah antara hubungan B1 dengan A dan hubungan B2 dengan A tidak signifikan (uji koefisien "value: varB2").
Jika Anda suka berpikir dalam hal korelasi daripada koefisien regresi, cukup standarisasi semua variabel Anda (A, B1, dan B2) sebelum menjalankan model dan koefisien regresi yang akan Anda dapatkan akan distandarisasi (tidak sama persis dengan korelasi zero-order, tetapi lebih dekat dalam hal interpretasi).
Juga mencatat bahwa ini akan membatasi analisis Anda hanya kasus-kasus yang memiliki baik B1 dan B2 ( listwise penghapusan ). Selama itu membuat Anda memiliki data yang cukup untuk tidak kekurangan tenaga, dan selama data yang hilang hilang secara acak (atau proporsi yang cukup kecil dari total data tidak menjadi masalah bahkan jika mereka hilang secara non-acak), maka itu tidak masalah.
Fakta bahwa Anda membatasi analisis Anda ke dataset yang sama untuk memperkirakan efek untuk B1 dan B2 (daripada menggunakan dataset yang sedikit berbeda, berdasarkan pada pola-pola yang hilang) memiliki keuntungan dalam membuat interpretasi perbedaan antara korelasi sedikit sedikit. lebih mudah. Jika Anda menghitung korelasi secara terpisah untuk masing-masing dan kemudian menguji perbedaan di antara mereka , Anda mengalami masalah bahwa data yang mendasarinya sedikit berbeda dalam setiap kasus --- setiap perbedaan yang Anda lihat bisa disebabkan oleh perbedaan dalam sampel sebanyak perbedaan dalam hubungan aktual antar variabel.
sumber
lm(A~B1*B2)
akan menguji apakah korelasi antaraB1
danA
tergantung padaB2
skor seseorang ? Istilah interaksi itu tidak menguji apakah korelasinya berbeda; itu menguji apakah kedua prediktor berinteraksi satu sama lain. Anda bisa membuat kode boneka,C
bahwa kode apakah skala untukB
adalahB1
atauB2
. Maka itu akan memberitahu Anda bahwa korelasi antaraB
danA
tergantung pada apakah ituB1
atauB2
, yaitu, jika korelasinya berbeda.