Кореляції з не упорядкованими категоричними змінними


123

У мене є кадр даних з багатьма спостереженнями та багатьма змінними. Деякі з них є категоричними (не упорядкованими), а інші - числовими.

Я шукаю асоціацій між цими змінними. Мені вдалося обчислити кореляцію для числових змінних (кореляція Спірмена), але:

  • Я не знаю, як виміряти співвідношення між невпорядкованими категоричними змінними.
  • Я не знаю, як виміряти співвідношення між невпорядкованими категоричними змінними та числовими змінними.

Хтось знає, як це можна зробити? Якщо так, то чи є R функції, що реалізують ці методи?


Відповіді:


113

Це залежить від того, яке відчуття кореляції ви хочете. Запускаючи взаємозв'язок моменту прототипічного Пірсона, ви отримуєте міру міцності асоціації, і ви отримуєте перевірку значущості цієї асоціації. Однак, як правило, тест на значимість та міру розміру ефекту відрізняються.

Тести значущості:

Розмір ефекту (сила асоціації):


5
Тут можна знайти дуже ретельне пояснення безперервного та номінального випадку: Кореляція між номінальною (IV) та безперервною (DV) змінною .
gung

3
У двійковому та інтервальному випадку існує кореляція точки-бісерія .
Glen_b

Що було б кращою альтернативою тесту чи-квадрата для великих зразків?
Вальдір Леонсіо

2
p<.055%

1
Як вказував @gung, кореляція між номінальною (IV) та безперервною змінною (DV) є чудовою ланкою для того, як можна зробити кореляцію для змішаних змінних. Hmisc::rcorrце прекрасно, і ми можемо перевірити це (для змішаного фрейму даних змінних) наступним чином:as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$P) as.data.frame(rcorr(as.matrix(data_frame),type = "pearson")$r)
KarthikS

15

Я бачив наступний чіт-лист, пов'язаний раніше:

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

Можливо, вам це стане в нагоді. Він навіть має посилання на конкретні бібліотеки R.


3
Проблема з цим шаблоном полягає в тому, що він стосується лише категоричних / порядкових / інтервальних змінних. Що я шукаю - це метод, що дозволяє мені використовувати як числові, так і категоричні незалежні змінні.
Clément F

6

Якщо ви хочете кореляційну матрицю категоричних змінних, ви можете використовувати таку функцію обгортки (що вимагає пакет 'vcd'):

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

Де:

vars - це рядковий вектор категоричних змінних, які ви хочете співвіднести

dat є data.frame, що містить змінні

Результат - матриця V's Cramer's.


6

ХКтiКi=1,,pХтiR2

Такий аналіз можна розглядати як узагальнення аналізу множинної кореспонденції і відомий під багатьма назвами, такими як канонічний кореляційний аналіз, аналіз гомогенності та багато інших. Реалізація в R знаходиться в homalsпакеті (на CRAN). Гуглінг для деяких з цих імен дасть багату інформацію, є повна книга: Альберт Гіфі "Нелінійний багатовимірний аналіз". Удачі!


1
1

Я відредагую, щоб врахувати цей коментар.
kjetil b halvorsen

2

У мене була подібна проблема, і я спробував тест Chi-квадрата, як було запропоновано, але я дуже заплутався в оцінці P-значень проти гіпотези NULL.

Я поясню, як я інтерпретував категоричні змінні. Я не впевнений, наскільки це актуально у вашому випадку. У мене була змінна відповіді Y та дві змінні предиктора X1 і X2, де X2 була категоричною змінною з двома рівнями, скажімо, 1 і 2. Я намагався встановити лінійну модель

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

Але я хотів зрозуміти, наскільки різний рівень X2 відповідає вищевказаному рівнянню. Я натрапив на функцію R ()

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

Цей код робить те, що він намагається вписатись у лінійну модель для кожного рівня X2. Це дало мені всю P-величину та R-квадрат, Залишкову стандартну помилку, яку я розумію і можу інтерпретувати.

Знову я не впевнений, чи цього ви хочете. Я ніби порівняв різні значення X2 при прогнозуванні Y.


1

Для вимірювання сили зв’язку між двома категоричними змінними я б запропонував скористатись поперечною вкладкою зі стаціонарним статусом

для вимірювання міцності зв’язку між числовою та категоріальною змінною ви можете використовувати середнє порівняння, щоб побачити, чи зміниться він сильно з однієї категорії на іншу


2
Ласкаво просимо на сайт, @DaSilvaLionel. Ви можете помітити, що використання тесту у квадратичному чи з двома категоричними змінними вже було запропоновано вище.
gung
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.