Sırasız kategorik değişkenlerle korelasyonlar


123

Birçok gözlem ve değişken içeren bir veri çerçevem ​​var. Bazıları kategoriktir (sıralanmamış), bazıları sayısaldır.

Bu değişkenler arasındaki ilişkileri arıyorum. Sayısal değişkenler için korelasyon hesaplayabildim (Spearman korelasyonu) ama:

  • Sırasız kategorik değişkenler arasındaki ilişkiyi nasıl ölçeceğimi bilmiyorum.
  • Sırasız kategorik değişkenler ile sayısal değişkenler arasındaki ilişkiyi nasıl ölçeceğimi bilmiyorum.

Bunun nasıl yapılabileceğini bilen var mı? Öyleyse, bu yöntemleri uygulayan R işlevleri var mı?


Yanıtlar:


113

İstediğiniz bir korelasyon duygusu bağlıdır. Prototipik Pearson'un ürün momenti korelasyonunu çalıştırdığınızda, ilişkinin gücünü ölçüp, bu ilişkinin önemini test edersiniz. Bununla birlikte, daha tipik olarak, anlamlılık testi ve etki büyüklüğü ölçüsü farklılık gösterir.

Önemlilik testleri:

Etki büyüklüğü (derneğin gücü):


5
Sürekli ve nominal durumun çok ayrıntılı bir açıklamasını burada bulabilirsiniz: Nominal (IV) ve sürekli (DV) değişken arasındaki korelasyon .
gung

3
İkili ve aralıklı durumda ikili -biserial korelasyonu var .
Glen_b

Büyük numuneler için ki-kare testine daha iyi bir alternatif ne olabilir?
Waldir Leoncio

2
@WaldirLeoncio, evet, ancak null doğruysa, , < % .05 zamanın yalnızca % 5 ' i olacak. Çalışması gereken yol budur. Efektin büyüklüğünün yanı sıra bir boş değer testini bilmek istiyorsanız, Cramer's V'yi ki-kare testi ile birlikte hesaplamak isteyebilirsiniz. p<.055%
gung

1
Gung'ın belirttiği gibi, bir nominal (IV) ve bir sürekli (DV) değişken arasındaki korelasyon, karışık değişkenler için korelasyonun nasıl yapılabileceği için mükemmel bir bağlantıdır. Hmisc::rcorrbunu çok güzel yapar ve bunu (karışık değişkenler veri çerçevesi için) aşağıdaki gibi kontrol edebiliriz:as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P) as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
KarthikS

15

Daha önce bağlantılı olan aşağıdaki kopya sayfasını gördüm:

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

Senin için faydalı olabilir. Hatta belirli R kütüphanelerine bağlantıları vardır.


3
Bu sayfa ile ilgili sorun yalnızca kategorik / sıralı / aralık değişkenleriyle ilgilidir. Aradığım şey hem sayısal hem de kategorik bağımsız değişkenleri kullanmamı sağlayan bir yöntem.
Clément F

6

Kategorik değişkenlerin bir korelasyon matrisi istiyorsanız, aşağıdaki sarmalayıcı işlevini kullanabilirsiniz ('vcd' paketini gerektirir):

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

Nerede:

vars ilişkilendirmek istediğiniz kategorik değişkenlerin bir dize vektörüdür

dat değişkenleri içeren bir data.frame dosyasıdır

Sonuç, Cramer'in V'sinin bir matrisidir.


6

XKtbenKben=1,...,pXtbenR,2 . Ardından bireysel korelasyon (çok özel durumlar hariç!) olmaz daha eşit bir.

Böyle bir analiz, çoklu yazışma analizinin genelleştirilmesi olarak görülebilir ve kanonik korelasyon analizi, homojenlik analizi ve diğerleri gibi birçok isim altında bilinir. R'deki bir uygulama homalspakettedir (CRAN'da). Bu isimlerden bazıları için googling bol miktarda bilgi verecek, eksiksiz bir kitap var: Albert Gifi, "Doğrusal Olmayan Çok Değişkenli Analiz". İyi şanslar!


1
1

Bu yorumu göz önünde bulundurmak için düzenleme yapacağım.
kjetil b halvorsen

2

Benzer bir problemim vardı ve önerildiği gibi Ki-kare Testini denedim, ancak P-Değerlerini NULL Hipotezine karşı değerlendirirken kafam çok karıştı.

Kategorik değişkenleri nasıl yorumladığımı açıklayacağım. Sizin durumunuzla ne kadar alakalı olduğundan emin değilim. Yanıt Değişkeni Y ve iki Tahmin Değişkeni X1 ve X2'ye sahiptim, burada X2 iki ve 1 seviyeli bir kategorik değişkendir. Doğrusal bir Model yerleştirmeye çalışıyordum.

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

Ancak, farklı düzeylerde X2'nin yukarıdaki denkleme ne kadar uyduğunu anlamak istedim. () Tarafından bir R işlevine rastladım

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

Bu kodun yaptığı, X2'nin her seviyesi için Doğrusal Model'e uymaya çalışıyor. Bu bana tüm P-değeri ve R-kare, Anladığım ve yorumlayabildiğim Kalan standart hata verdi.

Yine, istediğinin bu olup olmadığından emin değilim. Y'yi tahmin etmede X2'nin farklı değerlerini karşılaştırdım.


1

İki kategorik değişken arasındaki bağlantı gücünü ölçmek için, chisquare stat ile çapraz tab kullanılmasını öneririm.

Sayısal ve kategorik bir değişken arasındaki bağlantı gücünü ölçmek için, anlamlı bir kategoriden diğerine anlamlı bir şekilde değişip değişmediğini görmek için ortalama bir karşılaştırma kullanabilirsiniz.


2
Siteye Hoşgeldiniz @ DaSilvaLionel. Ki-kare testinin iki kategorik değişkenle kullanılmasının yukarıda önerilmiş olduğunu fark edebilirsiniz.
gung
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.