Корреляция между номинальной (IV) и непрерывной (DV) переменной


77

У меня есть номинальная переменная (разные темы разговора, закодированные как topic0 = 0 и т. Д.) И ряд масштабных переменных (DV), таких как продолжительность разговора.

Как я могу получить корреляции между номинальными и масштабными переменными?


3
Наиболее естественной мерой ассоциации / корреляции между номинальной (взятой как IV) и шкалой (взятой как DV) переменных является эта.
ttnphns

Если я правильно понимаю, вы хотите сказать что-то о связи темы разговора (как IV?) И продолжительности разговора (DV). «Например, hypo = тема 1 означает значительно более короткую беседу, чем тема 2», если этот пример имеет в виду то, что вы имели в виду: вы бы использовали ANOVA для этого (если больше DV MANOVA или несколько anova) Это то, что вы имеете в виду? предложение с вашим вопросом довольно неоднозначно ..
Стивен Б. Пеутц


Ответы:


160

Название этого вопроса предполагает фундаментальное недоразумение. Самая основная идея корреляции заключается в том, что «когда одна переменная увеличивается, увеличивается ли другая переменная (положительная корреляция), уменьшается (отрицательная корреляция) или остается такой же (без корреляции)» с такой шкалой, что идеальная положительная корреляция равна +1, нет корреляции 0, а идеальная отрицательная корреляция равна -1. Значение «идеально» зависит от того, какая мера корреляции используется: для корреляции Пирсона это означает, что точки на графике рассеяния лежат прямо на прямой линии (наклон вверх для +1 и вниз для -1), для корреляции Спирмена, что ранги точно совпадают (или совершенно не согласны, поэтому сначала в паре с последним, для -1), и для тау Кендаллачто все пары наблюдений имеют согласованные ранги (или дискордантные для -1). Интуицию о том, как это работает на практике, можно почерпнуть из корреляций Пирсона для следующих диаграмм рассеяния ( изображение предоставлено ):

Корреляция Пирсона для различных графиков рассеяния

xy

Разброс сюжетов для квартета Анскомба

x

data.df <- data.frame(
    topic = c(rep(c("Gossip", "Sports", "Weather"), each = 4)),
    duration  = c(6:9, 2:5, 4:7)
)
print(data.df)
boxplot(duration ~ topic, data = data.df, ylab = "Duration of conversation")

Который дает:

> print(data.df)
     topic duration
1   Gossip        6
2   Gossip        7
3   Gossip        8
4   Gossip        9
5   Sports        2
6   Sports        3
7   Sports        4
8   Sports        5
9  Weather        4
10 Weather        5
11 Weather        6
12 Weather        7

Графики для поддельных данных

Используя «Сплетни» в качестве контрольного уровня для «Темы» и определяя двоичные фиктивные переменные для «Спорт» и «Погода», мы можем выполнить множественную регрессию.

> model.lm <- lm(duration ~ topic, data = data.df)
> summary(model.lm)

Call:
lm(formula = duration ~ topic, data = data.df)

Residuals:
   Min     1Q Median     3Q    Max 
 -1.50  -0.75   0.00   0.75   1.50 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)    7.5000     0.6455  11.619 1.01e-06 ***
topicSports   -4.0000     0.9129  -4.382  0.00177 ** 
topicWeather  -2.0000     0.9129  -2.191  0.05617 .  
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.291 on 9 degrees of freedom
Multiple R-squared: 0.6809,     Adjusted R-squared: 0.6099 
F-statistic:   9.6 on 2 and 9 DF,  p-value: 0.005861 

R2=0.6809R2R

> rsq <- summary(model.lm)$r.squared
> rsq
[1] 0.6808511
> sqrt(rsq)
[1] 0.825137

Обратите внимание, что 0.825 не является корреляцией между Длительностью и Темой - мы не можем соотнести эти две переменные, потому что Тема является номинальной. То, что он фактически представляет, является корреляцией между наблюдаемыми длительностями и теми, которые предсказаны (установлены) нашей моделью. Обе эти переменные являются числовыми, поэтому мы можем соотнести их. Фактически подобранные значения - это просто средние значения продолжительности для каждой группы:

> print(model.lm$fitted)
  1   2   3   4   5   6   7   8   9  10  11  12 
7.5 7.5 7.5 7.5 3.5 3.5 3.5 3.5 5.5 5.5 5.5 5.5 

Просто чтобы проверить, корреляция Пирсона между наблюдаемыми и подобранными значениями:

> cor(data.df$duration, model.lm$fitted)
[1] 0.825137

Мы можем представить это на графике рассеяния:

plot(x = model.lm$fitted, y = data.df$duration,
     xlab = "Fitted duration", ylab = "Observed duration")
abline(lm(data.df$duration ~ model.lm$fitted), col="red")

Визуализируйте множественный коэффициент корреляции между наблюдаемыми и подобранными значениями

Сила этих отношений визуально очень похожа на те, что были на сюжетах Квартета Анскомба, что неудивительно, поскольку все они имели корреляции Пирсона около 0,82.

Вы можете быть удивлены тем, что с категориальной независимой переменной я решил сделать (множественную) регрессию, а не одностороннюю ANOVA . Но на самом деле это оказывается эквивалентным подходом.

library(heplots) # for eta
model.aov <- aov(duration ~ topic, data = data.df)
summary(model.aov)

Это дает сводку с идентичными F-статистикой и p- значением:

            Df Sum Sq Mean Sq F value  Pr(>F)   
topic        2     32  16.000     9.6 0.00586 **
Residuals    9     15   1.667                   
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1 

Опять же, модель ANOVA соответствует групповым средствам, как регрессия:

> print(model.aov$fitted)
  1   2   3   4   5   6   7   8   9  10  11  12 
7.5 7.5 7.5 7.5 3.5 3.5 3.5 3.5 5.5 5.5 5.5 5.5 

R2η2

> etasq(model.aov, partial = FALSE)
              eta^2
topic     0.6808511
Residuals        NA

ηη2RR2Эта квадрат. Поскольку этот ANOVA был односторонним (был только один категориальный предиктор), частичный квадрат Eta такой же, как Eta Square, но в моделях с большим количеством предикторов все меняется.

> etasq(model.aov, partial = TRUE)
          Partial eta^2
topic         0.6808511
Residuals            NA

Однако вполне возможно, что ни «корреляция», ни «объясненная пропорция дисперсии» не является мерой величины эффекта, которую вы хотите использовать. Например, вы можете сосредоточиться больше на том, как средства отличаются между группами. Этот вопрос и ответ содержат больше информации о квадрате Ета, частичном квадрате Ета и различных альтернативах.


4
R0.82

ηRηη

r=0.9R=0.9ηRr

ηrR

eta21
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.