題:
與無序分類變量的相關性
Clément F
2014-07-15 17:18:27 UTC
view on stackexchange narkive permalink

我有一個包含很多觀察值和多個變量的數據框。其中一些是分類的(無序的),其他是數字的。

我正在尋找這些變量之間的關聯。我已經能夠計算數值變量的相關性(斯皮爾曼相關性),但是:

  • 我不知道如何測量無序分類變量之間的相關性。
  • 我不知道不知道如何測量無序分類變量和數值變量之間的相關性。

有人知道如何做到這一點嗎?如果是這樣,是否有R函數實現這些方法?

http://stats.stackexchange.com/q/119835/3277;http://stats.stackexchange.com/q/73065/3277;http://stats.stackexchange.com/q/103253/3277。
六 答案:
gung - Reinstate Monica
2014-08-21 00:40:27 UTC
view on stackexchange narkive permalink

這取決於您想要哪種相關感。當您運行典型的皮爾遜乘積矩相關性時,您會得到關聯強度的度量,並且會測試該關聯的重要性。但是,更典型地,重要性檢驗效應量的量度是不同的。

顯著性測試:

效果大小(關聯強度):

可以在這裡找到有關連續與名義情況的非常詳盡的解釋:[名義(IV)和連續(DV)變量之間的相關性](http://stats.stackexchange.com/a/124618/)。
在二進制vs間隔的情況下,存在[點-雙數相關](https://en.wikipedia.org/wiki/Point-biserial_correlation_coefficient)。
對於大樣本卡方檢驗,哪種方法更好?
@WaldirLeoncio,“更好”在什麼意義上?如果您想測試獨立性,卡方有什麼問題?什麼構成您的“大樣本”?
好吧,根據我的閱讀和經驗,例如,當樣本數量在數以萬計時,與預期頻率的偏差甚至很小(例如,視覺分析認為與實際無關),通常會導致非常小的$ \left(10 ^ {-16} \ right)$ p值。
@WaldirLeoncio,是,但如果null為true,則$ p $將是$ <。05 $的時間,只有$ 5 \%$的時間。那就是它應該起作用的方式。如果您想知道效果的大小以及對零值的檢驗,則可能需要與卡方檢驗一起計算Cramer的V。
正如@gung所指出的,[標稱(IV)和連續(DV)變量之間的相關性](http://stats.stackexchange.com/questions/119835/correlation-between-a-nominal-iv-and-a-Continuous-dv-variable / 124618#124618)是實現混合變量相關性的絕佳鏈接。`Hmisc :: rcorr`可以很好地做到這一點,我們可以如下檢查它(對於混合變量數據幀):`as.data.frame(rcorr(as.matrix(data_frame),type =“ pearson”)$ P)`$ \:$ as.data.frame(rcorr(as.matrix(data_frame),type =“ pearson”)$ r)`
@gung,我的老師告訴我“在標稱值與標稱值時使用L,C,Lambda,但是您說使用” chisq.test”。
@kittygirl,我不知道L,C,Lambda是什麼(對於名義還是名義,或其他)。我確實說過要使用卡方檢驗來測試兩個名義變量之間的關聯,就像您在上面看到的&可以看到的。
-1
對於使用偏差校正的Cramer V計算名義與名義之間的關聯強度,使用Spearman(默認)或Pearson相關性來計算數值與數字以及使用方差分析來計算名義與數字的關聯強度的R實現,請參閱https://stackoverflow.com/a/ 56485520/590437
DSea
2014-07-15 21:01:15 UTC
view on stackexchange narkive permalink

我之前看到過以下鏈接的備忘單:

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

這可能對您有用。它甚至具有指向特定R庫的鏈接。

該備忘單的問題在於它僅涉及類別/順序/區間變量。我正在尋找一種允許我同時使用數字和分類獨立變量的方法。
Dan
2016-09-21 04:26:31 UTC
view on stackexchange narkive permalink

如果需要分類變量的相關矩陣,則可以使用以下包裝函數(需要'vcd'程序包):

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

其中:

vars 是要關聯的分類變量的字符串向量

dat 是包含變量的data.frame

結果是Cramer V的矩陣。

kjetil b halvorsen
2014-07-15 19:20:19 UTC
view on stackexchange narkive permalink

取決於您要實現的目標。假設$ X $為連續的數字變量,$ K $為(無序)分類變量。然後,一種可能的方法是將數字分數$ t_i $分配給$ K $,$ i = 1,\ dots,p $的每個可能值。一種可能的標準是最大化$ X $和分數$ t_i $之間的相關性。僅使用一個連續變量和一個分類變量,這可能不是很有用,因為最大相關將始終為1(為了證明並找到一些這樣的分數,這是使用拉格朗日乘數的一種練習!對於多個變量,我們嘗試使用找出分類變量的折衷分數,也許試圖最大化多重相關性$ R ^ 2 $,那麼各個相關性將不會等於(除非是非常特殊的情況!)等於一個。

這樣的分析是R的實現是在 homals 包中(在CRAN上),它被看作是多種對應關係分析的概括,並且以許多名稱而聞名,例如規範相關性分析,同質性分析等。谷歌搜索其中的一些名稱將提供大量信息,有一本完整的書:Albert Gifi,“非線性多元分析”。祝您好運!

(+1)為什麼要使用拉格朗日乘數?只需使用連續變量的值對分類變量進行評分即可。這也揭示了為什麼最大相關性不一定是$ 1 $,只有當每個類別都與連續變量的一組不變值配對時才可以實現。
我將進行編輯以考慮到此評論。
Sohsum
2014-11-17 15:22:52 UTC
view on stackexchange narkive permalink

我有一個類似的問題,我按照建議嘗試了卡方檢驗,但是在針對NULL假設評估P值時感到非常困惑。

我將解釋如何解釋分類變量。我不確定這與您的情況是否相關。我有響應變量Y和兩個預測變量X1和X2,其中X2是具有兩個級別的分類變量,分別為1和2。我試圖擬合線性模型

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

但是我想了解不同級別的X2如何滿足上述等式。我碰到一個R函數by()

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

此代碼的作用是,它試圖將線性模型適合X2的每個級別。這給了我所有P值和R平方,我理解並可以解釋的殘差標準誤差。

同樣,我不確定這是否是您想要的。我比較了X2在預測Y時的不同值。

Da Silva Lionel
2016-06-15 21:16:43 UTC
view on stackexchange narkive permalink

要測量兩個類別變量之間的鏈接強度,我寧願建議使用帶有卡方統計量的交叉表

來測量數值變量和類別變量之間的鏈接強度,您可以使用均值比較一下,看看它是否從一個類別顯著改變到另一個類別

歡迎來到@DaSilvaLionel網站。您可能會注意到,上面已經建議對兩個類別變量使用卡方檢驗。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...