Як отримати кореляцію між двома категоріальною змінною та категоріальною змінною та безперервною змінною?


63

Я будую регресійну модель, і мені потрібно розрахувати нижче, щоб перевірити наявність кореляцій

  1. Кореляція між двома багаторівневими категоричними змінними
  2. Кореляція між багаторівневою категоріальною змінною та безперервною змінною
  3. VIF (коефіцієнт дисперсії дисперсії) для багаторівневих категоричних змінних

Я вважаю неправильним використання коефіцієнта кореляції Пірсона для вищезазначених сценаріїв, оскільки Пірсон працює лише для двох безперервних змінних.

Будь ласка, дайте відповіді на наведені нижче питання

  1. Який коефіцієнт кореляції найкраще працює у зазначених випадках?
  2. Розрахунок VIF працює лише для безперервних даних, тож яка альтернатива?
  3. Які припущення мені потрібно перевірити, перш ніж використовувати запропонований вами коефіцієнт кореляції?
  4. Як їх реалізувати в SAS & R?

4
Я б сказав, що CV.SE - це краще місце для запитань щодо таких теоретичних статистик, як ця. Якщо ні, то я б сказав, що відповідь на ваші запитання залежить від контексту. Іноді має сенс вирівняти декілька рівнів у фіктивних змінних, інший раз варто моделювати свої дані відповідно до багаточленного розподілу тощо
ffriend

Чи впорядковані ваші категоричні змінні? Якщо так, це може вплинути на тип кореляції, який ви хочете шукати.
nassimhddd

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

ви маєте на увазі значення р те саме, що коефіцієнт кореляції r?
Айо Емма

Наведене вище рішення з ANOVA для категоричного проти безперервного є хорошим. Маленький гикавка. Чим менше р-значення, тим краще "вміщення" між двома змінними. Не навпаки.
мюдельсон

Відповіді:


73

Дві категоріальні змінні

Перевірка незалежності двох категоричних змінних може бути здійснена за допомогою тесту Chi-Squared на незалежність.

Це типовий тест Chi-Square : якщо припустити, що дві змінні є незалежними, то значення таблиці надзвичайних ситуацій для цих змінних слід розподілити рівномірно. А потім ми перевіряємо, наскільки далеко від рівномірних фактичні значення.

Також існує V V Краммера, який є мірою кореляції, що випливає з цього тесту

Приклад

Припустимо, у нас є дві змінні

  • стать: чоловік та жінка
  • місто: Блуа і Тур

Ми спостерігали такі дані:

спостережувані значення

Чи незалежні гендер і місто? Давайте проведемо тест Chi-Squred. Нульова гіпотеза: вони незалежні, Альтернативна гіпотеза полягає в тому, що вони певним чином співвідносяться.

Під гіпотезою Нуля ми припускаємо рівномірний розподіл. Тож наші очікувані значення такі

очікуване значення

Отже, ми запускаємо тест чи-квадрата і отримане тут значення p може розглядатися як міра кореляції між цими двома змінними.

Щоб обчислити V Краммера, спочатку знаходимо нормалізуючий коефіцієнт chi-kvadrat-max, який зазвичай є розміром вибірки, ділимо на нього квадрат-chi і беремо квадратний корінь

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)

Тут значення р становить 0,08 - досить мало, але все ж недостатньо, щоб відкинути гіпотезу про незалежність. Тож можна сказати, що "кореляція" тут становить 0,08

Ми також обчислюємо V:

sqrt(chi2$statistic / sum(tbl))

І отримаємо 0,14 (чим менша v, тим нижча кореляція)

Розглянемо інший набір даних

    Gender
City  M  F
   B 51 49
   T 24 26

Для цього було б дано наступне

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))

Значення р 0,72, що набагато ближче до 1, а v 0,03 - дуже близьке до 0

Категоричні та числові змінні

Для цього типу ми зазвичай проводимо однобічний тест ANOVA : ми обчислюємо дисперсію в групі та внутрішню групу, а потім порівнюємо їх.

Приклад

Ми хочемо вивчити взаємозв'язок поглиненого жиру з пончиків та типу жиру, який використовується для отримання пончиків (приклад наведено звідси )

пончики

Чи є залежність між змінними? Для цього ми проводимо тест ANOVA і бачимо, що значення p становить всього 0,007 - немає кореляції між цими змінними.

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)

Вихід є

            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

Таким чином, ми також можемо взяти р-значення як міру кореляції і тут.

Список літератури


1
Дякую Олексію за деталі. На основі додаткових досліджень я виявив, що стосується полісеріальної та поліхлорної кореляції. Наскільки ваш підхід кращий за ці? Поясніть, будь ласка,
GeorgeOfTheRF

1
Я не знаю цих речей, вибачте.
Олексій Григорьов

Фантастична відповідь від @Alexey. Після читання Вашого коментаря я прочитав онлайн-співвідношення поліхорій / полісерій в Інтернеті. Вони є методикою оцінки кореляції між двома прихованими змінними з двох спостережуваних змінних. Я не думаю, що це ви просили, і це не можна порівняти з відповіддю Олексія.
KarthikS

1
Ваш перший приклад НЕ про категоричне проти категоричне, а це категоричне проти числове, адже ви дивитесь на місто проти кількості чоловіків (жінок відповідно), що є числовими. Категоричним проти категоричним було б, скажімо, місто проти кольору очей або форм чи іншого, але це аж ніяк не число представниць статі.
позначено

1
@AlexeyGrigorev Якщо наші дані звичайно не поширюються, їх слід kruskal-wallicвикористовувати замість one-way anova? Заздалегідь спасибі.
ebrahimi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.