Correlação entre uma variável nominal (IV) e uma variável contínua (DV)

77

Eu tenho uma variável nominal (tópicos diferentes de conversa, codificados como topic0 = 0, etc.) e várias variáveis ​​de escala (DV), como a duração de uma conversa.

Como posso derivar correlações entre as variáveis ​​nominais e de escala?

Paul Miller
fonte
3
A medida mais natural de associação / correlação entre variáveis ​​nominais (tomadas como IV) e uma escala (tomadas como DV) é eta.
ttnphns
Se bem entendi, você quer dizer algo sobre a relação entre o tópico da conversa (como IV?) E a duração da conversa (DV). '' eg hypo = topic 1 significa conversa significativamente mais curta que o tópico 2 '', se este exemplo é o que você quis dizer: Você usaria uma ANOVA para isso (se houver mais MANOVA de DV ou várias anova) É isso que você quer dizer? a frase com a sua pergunta é bastante ambígua ..
Steven B. Peutz

Respostas:

160

O título desta pergunta sugere um mal-entendido fundamental. A idéia mais básica de correlação é "à medida que uma variável aumenta, a outra variável aumenta (correlação positiva), diminui (correlação negativa) ou permanece a mesma (sem correlação)" com uma escala em que a correlação positiva perfeita seja +1, nenhuma correlação é 0 e a correlação negativa perfeita é -1. O significado de "perfeito" depende de qual medida de correlação é usada: para correlação de Pearson , os pontos em um gráfico de dispersão estão diretamente em uma linha reta (inclinada para cima para +1 e para baixo para -1), para a correlação de Spearman que o As fileiras concordam exatamente (ou discordam exatamente, então o primeiro é emparelhado com o último, para -1) e para o tau de Kendallque todos os pares de observações têm classificações concordantes (ou discordantes para -1). Uma intuição de como isso funciona na prática pode ser obtida das correlações de Pearson para os seguintes gráficos de dispersão ( crédito de imagem ):

Correlação de Pearson para vários gráficos de dispersão

Uma visão mais aprofundada vem da consideração do Quarteto de Anscombe, onde todos os quatro conjuntos de dados têm correlação de Pearson +0,816, embora sigam o padrão "à medida que aumenta, tende a aumentar" de maneiras muito diferentes ( crédito de imagem ):xy

Gráficos de dispersão para o quarteto de Anscombe

Se sua variável independente é nominal, não faz sentido falar sobre o que acontece "à medida que aumenta". No seu caso, "Tópico da conversa" não tem um valor numérico que pode subir e descer. Portanto, você não pode correlacionar "Tópico da conversa" com "Duração da conversa". Mas como o @ttnphns escreveu nos comentários, existem medidas de força de associação que você pode usar que são algo análogas. Aqui estão alguns dados falsos e o código R que acompanha: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")

Que dá:

> 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

Gráficos de caixa para dados falsos

Usando "Fofoca" como o nível de referência para "Tópico" e definindo variáveis ​​fictícias binárias para "Esportes" e "Clima", podemos realizar uma regressão múltipla.

> 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 

Podemos interpretar a interceptação estimada como dando a duração média das conversas de fofoca como 7,5 minutos, e os coeficientes estimados para as variáveis ​​fictícias como mostrando que as conversas esportivas eram em média 4 minutos mais curtas que as de fofocas, enquanto as conversas sobre o clima eram 2 minutos mais curtas que as fofocas. Parte da saída é o coeficiente de determinação . Uma interpretação disso é que nosso modelo explica 68% da variação na duração da conversa. Outra interpretação de é que, ao quadrado-enraizamento, podemos encontrar o múltiplo de correlação coefficent .R2=0.6809R2R

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

Observe que 0,825 não é a correlação entre Duração e Tópico - não podemos correlacionar essas duas variáveis ​​porque Tópico é nominal. O que realmente representa é a correlação entre as durações observadas e as previstas (ajustadas) pelo nosso modelo. Como essas variáveis ​​são numéricas, podemos correlacioná-las. De fato, os valores ajustados são apenas as durações médias para cada grupo:

> 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 

Apenas para verificar, a correlação de Pearson entre os valores observados e ajustados é:

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

Podemos visualizar isso em um gráfico de dispersão:

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

Visualize coeficiente de correlação múltipla entre valores observados e ajustados

A força desse relacionamento é visualmente muito semelhante à das parcelas do Quarteto de Anscombe, o que não surpreende, pois todos tinham correlações de Pearson de 0,82.

Você pode se surpreender que, com uma variável independente categórica, eu escolhi fazer uma regressão (múltipla) em vez de uma ANOVA unidirecional . Mas, na verdade, isso acaba sendo uma abordagem equivalente.

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

Isso fornece um resumo com estatística F idêntica e valor 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 

Novamente, o modelo ANOVA se ajusta às médias do grupo, assim como a regressão:

> 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 

Isso significa que a correlação entre os valores ajustados e observados da variável dependente é a mesma do modelo de regressão múltipla. A medida "proporção de variância explicada" para regressão múltipla tem um equivalente ANOVA, (eta ao quadrado). Podemos ver que eles combinam.R2η2

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

Nesse sentido, o análogo mais próximo de uma "correlação" entre uma variável explicativa nominal e a resposta contínua seria , a raiz quadrada de , que é equivalente ao coeficiente de correlação múltipla para regressão. Isso explica o comentário de que "a medida mais natural de associação / correlação entre variáveis ​​nominais (tomadas como IV) e uma escala (consideradas como DV) é eta". Se você estiver mais interessado na proporção de variância explicada, poderá usar eta ao quadrado (ou seu equivalente de regressão ). Para ANOVA, tem-se frequentemente a parcialηη2RR2eta ao quadrado. Como essa ANOVA era unidirecional (havia apenas um preditor categórico), o eta ao quadrado parcial é o mesmo que ao quadrado, mas as coisas mudam nos modelos com mais preditores.

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

No entanto, é bem possível que nem a "correlação" nem a "proporção de variação explicada" sejam a medida do tamanho do efeito que você deseja usar. Por exemplo, seu foco pode estar mais em como os meios diferem entre os grupos. Esta pergunta e resposta contêm mais informações sobre eta ao quadrado, eta ao quadrado parcial e várias alternativas.

Silverfish
fonte
4
@Zhubarb a parte mais difícil foi conseguir para os dados falsos ...R0.82
Silverfish
+1 para uma resposta muito bem explicada! Aqui você argumenta que o sinal de ou é sempre positivo, porque é claro que qualquer modelo decentemente ajustado resultará em valores ajustados positivamente (e não negativamente) correlacionados com o DV. Talvez eu possa acrescentar que, em alguns casos, o sinal pode ser atribuído significativamente a , por exemplo, se IV for ordenado (acredito que isso seja chamado de "ordinal" em vez de "nominal"), ou pelo menos parcialmente ordenado. Imagine que os tópicos no OP variam de artes a matemática; então poderíamos usar o sinal de correlação entre nerdidade e DV e atribuí-lo a . ηRηη
ameba diz Restabelecer Monica
@amoeba Aqui eu acho que existe um ponto sutil. Suponha que executemos uma regressão linear simples e obtenhamos PMCC - então, quando x aumenta, y tende a diminuir (esse é o tipo de efeito direcional de que você está falando). No entanto, o coeficiente de correlação múltipla para tal regressão ainda é (à medida que o valor ajustado de y aumenta, o valor observado tende a aumentar). Agora é mais como de ...r=0.9R=0.9ηRr
Silverfish
Isso está correto, mas acho que o que estou dizendo é que às vezes ele pode fazer sentido considerar "assinado ", que é mais parecido com que como . ηrR
ameba diz Restabelecer Monica
@amoeba, você pode multiplicar por , mas isso realmente está criando uma nova medida que você precisará explicar todas as vezes, e eu não vejo como isso realmente fez algo significativo para você . eta21
gung - Restabelece Monica