Bagaimana cara mendapatkan korelasi antara dua variabel kategori dan variabel kategori dan variabel kontinu?


63

Saya sedang membangun model regresi dan saya perlu menghitung di bawah ini untuk memeriksa korelasi

  1. Korelasi antara 2 variabel kategori multi level
  2. Korelasi antara variabel kategori Multi level dan variabel kontinu
  3. VIF (variance inflation factor) untuk variabel kategori multi level

Saya percaya salah menggunakan koefisien korelasi Pearson untuk skenario di atas karena Pearson hanya bekerja untuk 2 variabel kontinu.

Harap jawab pertanyaan di bawah ini

  1. Koefisien korelasi mana yang paling cocok untuk kasus-kasus di atas?
  2. Perhitungan VIF hanya berfungsi untuk data kontinu jadi apa alternatifnya?
  3. Apa asumsi yang perlu saya periksa sebelum saya menggunakan koefisien korelasi yang Anda sarankan?
  4. Bagaimana cara mengimplementasikannya di SAS & R?

4
Saya akan mengatakan CV.SE adalah tempat yang lebih baik untuk pertanyaan tentang statistik yang lebih teoritis seperti ini. Jika tidak, saya akan mengatakan bahwa jawaban untuk pertanyaan Anda tergantung pada konteks. Terkadang masuk akal untuk meratakan banyak level menjadi variabel dummy, di lain waktu layak memodelkan data Anda sesuai dengan distribusi multinomial, dll.
berteman

Apakah variabel kategori Anda dipesan? Jika ya, ini dapat memengaruhi jenis korelasi yang ingin Anda cari.
nassimhddd

Saya harus menghadapi masalah yang sama dalam penelitian saya. tetapi saya tidak dapat menemukan metode yang tepat untuk menyelesaikan masalah ini. jadi jika Anda bisa berbaik hati beri saya referensi yang Anda temukan.
user89797

maksud Anda p-value sama dengan koefisien korelasi r?
Ayo Emma

Solusi di atas dengan ANOVA untuk kategori vs berkelanjutan baik. Cegukan kecil. Semakin kecil nilai p, semakin baik "kesesuaian" antara kedua variabel. Bukan sebaliknya.
myudelson

Jawaban:


73

Dua Variabel Kategorikal

Memeriksa apakah dua variabel kategori independen dapat dilakukan dengan uji independensi Chi-Squared.

Ini adalah tes Chi-Square yang khas : jika kita mengasumsikan bahwa dua variabel independen, maka nilai tabel kontingensi untuk variabel-variabel ini harus didistribusikan secara seragam. Dan kemudian kita periksa seberapa jauh dari seragam nilai sebenarnya.

Ada juga Crammer's V yang merupakan ukuran korelasi yang mengikuti dari tes ini

Contoh

Misalkan kita memiliki dua variabel

  • gender: pria dan wanita
  • kota: Blois dan Tur

Kami mengamati data berikut:

nilai-nilai yang diamati

Apakah gender dan kota mandiri? Mari kita lakukan tes Chi-Squred. Hipotesis kosong: mereka independen, hipotesis alternatif adalah bahwa mereka berkorelasi dalam beberapa cara.

Di bawah hipotesis Null, kami menganggap distribusi seragam. Jadi nilai yang kami harapkan adalah sebagai berikut

nilai yang diharapkan

Jadi kita menjalankan uji chi-squared dan nilai-p yang dihasilkan di sini dapat dilihat sebagai ukuran korelasi antara kedua variabel ini.

Untuk menghitung V Crammer, pertama-tama kita temukan faktor normalisasi chi-squared-max yang biasanya ukuran sampel, bagi chi-square dengan itu dan ambil akar kuadrat

crammers v

R

tbl = matrix(data=c(55, 45, 20, 30), nrow=2, ncol=2, byrow=T)
dimnames(tbl) = list(City=c('B', 'T'), Gender=c('M', 'F'))

chi2 = chisq.test(tbl, correct=F)
c(chi2$statistic, chi2$p.value)

Di sini nilai p adalah 0,08 - cukup kecil, tetapi masih belum cukup untuk menolak hipotesis independensi. Jadi kita dapat mengatakan bahwa "korelasi" di sini adalah 0,08

Kami juga menghitung V:

sqrt(chi2$statistic / sum(tbl))

Dan dapatkan 0,14 (semakin kecil v, semakin rendah korelasinya)

Pertimbangkan dataset lain

    Gender
City  M  F
   B 51 49
   T 24 26

Untuk ini, itu akan memberikan yang berikut

tbl = matrix(data=c(51, 49, 24, 26), nrow=2, ncol=2, byrow=T)
dimnames(tbl) = list(City=c('B', 'T'), Gender=c('M', 'F'))

chi2 = chisq.test(tbl, correct=F)
c(chi2$statistic, chi2$p.value)

sqrt(chi2$statistic / sum(tbl))

Nilai-p adalah 0,72 yang jauh lebih dekat dengan 1, dan v adalah 0,03 - sangat dekat dengan 0

Variabel Kategorikal vs Variabel

Untuk jenis ini kami biasanya melakukan uji ANOVA satu arah : kami menghitung varians dalam grup dan varians intra-grup dan kemudian membandingkannya.

Contoh

Kami ingin mempelajari hubungan antara lemak yang diserap dari donat dengan jenis lemak yang digunakan untuk menghasilkan donat (contoh diambil dari sini )

donat

Apakah ada ketergantungan antar variabel? Untuk itu kami melakukan uji ANOVA dan melihat bahwa nilai-p hanya 0,007 - tidak ada korelasi antara variabel-variabel ini.

R

t1 = c(164, 172, 168, 177, 156, 195)
t2 = c(178, 191, 197, 182, 185, 177)
t3 = c(175, 193, 178, 171, 163, 176)
t4 = c(155, 166, 149, 164, 170, 168)

val = c(t1, t2, t3, t4)
fac = gl(n=4, k=6, labels=c('type1', 'type2', 'type3', 'type4'))

aov1 = aov(val ~ fac)
summary(aov1)

Output adalah

            Df Sum Sq Mean Sq F value  Pr(>F)   
fac          3   1636   545.5   5.406 0.00688 **
Residuals   20   2018   100.9                   
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

Jadi kita dapat mengambil nilai-p sebagai ukuran korelasi di sini juga.

Referensi


1
Terima kasih Alexey untuk detailnya. Berdasarkan penelitian lebih lanjut saya menemukan tentang korelasi poliserial dan poliklorik. Bagaimana pendekatan Anda lebih baik dari ini? Tolong jelaskan
GeorgeOfTheRF

1
Saya tidak mengetahui hal-hal ini, maaf.
Alexey Grigorev

Jawaban Fasntastic oleh @Alexey. Saya membaca korelasi polikorik / poliseri secara online setelah membaca komentar Anda. Mereka adalah teknik untuk memperkirakan korelasi antara dua variabel laten, dari dua variabel yang diamati. Saya tidak berpikir itu yang Anda minta, dan itu tidak sebanding dengan jawaban Alexey.
KarthikS

1
Contoh pertama Anda BUKAN tentang kategoris vs kategoris, melainkan kategorikal vs numerik, bahkan Anda melihat kota terhadap jumlah laki-laki (perempuan, masing-masing) yang numerik. Kategorikal vs kategorikal adalah, katakanlah, kota vs warna mata atau bentuk atau apa pun, tetapi tidak berarti apakah itu jumlah perwakilan dari jenis kelamin.
gented

1
@AlexeyGrigorev Jika data kami tidak terdistribusi secara normal, haruskah kruskal-wallicdigunakan one-way anova? Terima kasih sebelumnya.
ebrahimi
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.