Apakah ada fungsi untuk menguji hipotesis bahwa korelasi dua vektor sama dengan angka yang diberikan, katakanlah 0,75? Dengan menggunakan cor.test saya dapat menguji cor = 0 dan saya dapat melihat apakah 0,75 berada di dalam interval kepercayaan. Tetapi apakah ada fungsi untuk menghitung nilai p untuk cor = 0,75?
x <- rnorm(10)
y <- x+rnorm(10)
cor.test(x, y)
r
correlation
mosaik
sumber
sumber
Jawaban:
Menggunakan varians menstabilkan transformasi atan Fisher , Anda bisa mendapatkan nilai-p sebagai
atau versi apa pun dari nilai p satu sisi / dua sisi yang Anda minati. Tentunya, Anda memerlukan ukuran sampel
n
dan koefisien korelasi sampelr
sebagai masukan untuk ini.sumber
Distribusi r_hat di sekitar rho diberikan oleh fungsi R ini yang diadaptasi dari kode Matlab di halaman web Xu Cui . Tidaklah sulit untuk mengubahnya menjadi perkiraan untuk probabilitas bahwa nilai yang diamati "r" tidak mungkin diberikan dengan ukuran sampel "n" dan nilai sebenarnya hipotetis "ro".
Kemudian dengan fungsi itu Anda dapat memplot distribusi nol nol 0,75, menghitung probabilitas bahwa r_hat akan kurang dari 0,6 dan teduh di area itu pada plot:
sumber
Pendekatan lain yang mungkin kurang tepat daripada tranformasi Fisher, tapi saya pikir bisa lebih intuitif (dan bisa memberikan ide tentang signifikansi praktis selain signifikansi statistik) adalah tes visual:
Ada implementasi ini dalam
vis.test
fungsi dalamTeachingDemos
paket untuk R. Salah satu cara untuk menjalankannya sebagai contoh adalah:Tentu saja jika data asli Anda tidak normal atau hubungannya tidak linier maka itu akan dengan mudah diambil dengan kode di atas. Jika Anda ingin menguji secara simultan untuk itu, maka kode di atas akan melakukan itu, atau kode di atas dapat disesuaikan untuk lebih mewakili sifat data.
sumber