Korelasi dengan variabel kategori tidak teratur


123

Saya memiliki dataframe dengan banyak pengamatan dan banyak variabel. Beberapa dari mereka adalah kategoris (tidak teratur) dan yang lainnya numerik.

Saya mencari hubungan antara variabel-variabel ini. Saya sudah bisa menghitung korelasi untuk variabel numerik (korelasi Spearman) tetapi:

  • Saya tidak tahu bagaimana mengukur korelasi antara variabel kategori tidak teratur.
  • Saya tidak tahu bagaimana mengukur korelasi antara variabel kategori tidak teratur dan variabel numerik.

Adakah yang tahu bagaimana ini bisa dilakukan? Jika demikian, apakah ada fungsi R yang menerapkan metode ini?


Jawaban:


113

Itu tergantung pada arti korelasi yang Anda inginkan. Ketika Anda menjalankan korelasi momen produk Pearson yang prototipikal, Anda mendapatkan ukuran kekuatan asosiasi dan Anda mendapatkan uji signifikansi asosiasi tersebut. Namun yang lebih khas, uji signifikansi dan ukuran ukuran efek berbeda.

Tes signifikansi:

Ukuran efek (kekuatan asosiasi):


5
Penjelasan yang sangat menyeluruh tentang kasus kontinu vs nominal dapat ditemukan di sini: Korelasi antara variabel nominal (IV) dan variabel kontinu (DV) .
gung

3
Dalam kasus biner vs interval ada korelasi titik-biserial .
Glen_b

Apa yang akan menjadi alternatif yang lebih baik untuk uji chi-square untuk sampel besar?
Waldir Leoncio

2
p<.055%

1
Seperti @gung tunjukkan, Korelasi antara variabel nominal (IV) dan variabel kontinu (DV) adalah tautan yang sangat baik untuk bagaimana korelasi untuk variabel campuran dapat dilakukan. Hmisc::rcorrmelakukan ini dengan indah dan kita dapat memeriksanya (untuk dataframe variabel campuran) sebagai berikut:as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P) as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
KarthikS

15

Saya telah melihat cheatsheet berikut ini ditautkan sebelumnya:

https://stats.idre.ucla.edu/other/mult-pkg/whatstat/

Mungkin bermanfaat bagi Anda. Bahkan memiliki tautan ke perpustakaan R tertentu.


3
Masalah dengan lembar contekan ini adalah hanya menyangkut variabel kategori / ordinal / interval. Apa yang saya cari adalah metode yang memungkinkan saya untuk menggunakan variabel independen numerik dan kategoris.
Clément F

6

Jika Anda ingin matriks korelasi variabel kategorikal, Anda dapat menggunakan fungsi wrapper berikut (membutuhkan paket 'vcd'):

catcorrm <- function(vars, dat) sapply(vars, function(y) sapply(vars, function(x) assocstats(table(dat[,x], dat[,y]))$cramer))

Dimana:

vars adalah vektor string dari variabel kategori yang ingin Anda korelasikan

dat adalah data.frame yang berisi variabel

Hasilnya adalah matriks Cramer's V's.


6

XKtiKi=1,,pXtiR2

Analisis semacam itu dapat dilihat sebagai generalisasi dari analisis korespondensi berganda, dan dikenal dengan banyak nama, seperti analisis korelasi kanonik, analisis homogenitas, dan banyak lainnya. Implementasi dalam R ada dalam homalspaket (pada CRAN). googling untuk beberapa nama ini akan memberikan banyak informasi, ada buku lengkap: Albert Gifi, "Analisis Multivariat Nonlinear". Semoga berhasil!


1
1

Saya akan mengedit untuk memperhitungkan komentar ini.
kjetil b halvorsen

2

Saya memiliki masalah yang sama dan saya mencoba Chi-squared-Test seperti yang disarankan tetapi saya menjadi sangat bingung dalam menilai Nilai-P terhadap Hipotesis NULL.

Saya akan menjelaskan bagaimana saya menafsirkan variabel kategori. Saya tidak yakin seberapa relevan hal ini dalam kasus Anda. Saya memiliki Variabel Respons Y dan dua Variabel Prediktor X1 dan X2 di mana X2 menjadi variabel kategorikal dengan dua level mengatakan 1 dan 2. Saya mencoba menyesuaikan Model Linear

ols = lm(Y ~ X1 + X2, data=mydata)

Tetapi saya ingin memahami bagaimana tingkat X2 yang berbeda sesuai dengan persamaan di atas. Saya menemukan fungsi R oleh ()

by(mydata,X2,function(x) summary(lm(Y~X1,data=x)))

Apa yang dilakukan kode ini adalah, ia mencoba menyesuaikan Model Linear untuk setiap level X2. Ini memberi saya semua P-value dan R-square, kesalahan standar residual yang saya mengerti dan dapat menafsirkan.

Sekali lagi saya tidak yakin apakah ini yang Anda inginkan. Saya semacam membandingkan nilai X2 yang berbeda dalam memprediksi Y.


1

Untuk mengukur kekuatan tautan antara dua variabel kategori saya lebih suka menyarankan penggunaan tab silang dengan stat chisquare

untuk mengukur kekuatan tautan antara variabel numerik dan variabel, Anda dapat menggunakan perbandingan rata-rata untuk melihat apakah itu berubah secara signifikan dari satu kategori ke kategori lainnya.


2
Selamat datang di situs ini, @DaSilvaLionel. Anda mungkin memperhatikan bahwa menggunakan uji chi-squared dengan dua variabel kategori telah disarankan di atas.
gung
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.