Две категориальные переменные
Проверка, являются ли две категориальные переменные независимыми, может быть выполнена с помощью критерия независимости по критерию Хи-квадрат.
Это типичный тест хи-квадрат : если предположить, что две переменные независимы, то значения таблицы сопряженности для этих переменных должны быть распределены равномерно. И затем мы проверяем, насколько далеки от униформы фактические значения.
Также существует V Краммера, который является мерой корреляции, которая следует из этого теста
пример
Предположим, у нас есть две переменные
- пол: мужской и женский
- город: Блуа и Тур
Мы наблюдали следующие данные:
Являются ли пол и город независимыми? Давайте выполним тест Chi-Squred. Нулевая гипотеза: они независимы, Альтернативная гипотеза заключается в том, что они каким-то образом коррелированы.
При нулевой гипотезе мы предполагаем равномерное распределение. Итак, наши ожидаемые значения следующие
Таким образом, мы запускаем тест хи-квадрат, и результирующее значение p здесь можно рассматривать как меру корреляции между этими двумя переменными.
Чтобы вычислить V Краммера, мы сначала находим нормирующий коэффициент chi-squared-max, который обычно равен размеру выборки, делим на него хи-квадрат и берем квадратный корень
р
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)
Здесь значение p составляет 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))
Значение p составляет 0,72, что намного ближе к 1, а v равно 0,03 - очень близко к 0
Категориальные и числовые переменные
Для этого типа мы обычно выполняем односторонний тест ANOVA : мы вычисляем внутригрупповую дисперсию и внутригрупповую дисперсию, а затем сравниваем их.
пример
Мы хотим изучить взаимосвязь между поглощенным жиром из пончиков и типом жира, используемого для производства пончиков (пример взят здесь )
Есть ли зависимость между переменными? Для этого мы проводим тест ANOVA и видим, что значение p составляет всего 0,007 - между этими переменными нет корреляции.
р
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
Таким образом, мы можем принять значение p как меру корреляции и здесь.
Рекомендации