Duas variáveis categóricas
Verificar se duas variáveis categóricas são independentes pode ser feito com o teste de independência do qui-quadrado.
Este é um teste típico do qui-quadrado : se assumirmos que duas variáveis são independentes, os valores da tabela de contingência para essas variáveis devem ser distribuídos uniformemente. E então verificamos a que distância os valores reais estão uniformes.
Também existe um V de Crammer que é uma medida de correlação que se segue deste teste
Exemplo
Suponha que temos duas variáveis
- sexo: masculino e feminino
- cidade: Blois and Tours
Observamos os seguintes dados:
O gênero e a cidade são independentes? Vamos realizar um teste de Chi-Squred. Hipótese nula: eles são independentes; hipótese alternativa é que eles estão correlacionados de alguma maneira.
Sob a hipótese nula, assumimos distribuição uniforme. Portanto, nossos valores esperados são os seguintes
Portanto, executamos o teste do qui-quadrado e o valor p resultante aqui pode ser visto como uma medida de correlação entre essas duas variáveis.
Para calcular o V de Crammer, primeiro encontramos o fator de normalização chi-quadrado-max, que normalmente é o tamanho da amostra, divide o qui-quadrado por ele e cria uma raiz quadrada
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)
Aqui, o valor de p é 0,08 - bastante pequeno, mas ainda não suficiente para rejeitar a hipótese de independência. Então, podemos dizer que a "correlação" aqui é 0,08
Também calculamos V:
sqrt(chi2$statistic / sum(tbl))
E obtenha 0,14 (quanto menor v, menor a correlação)
Considere outro conjunto de dados
Gender
City M F
B 51 49
T 24 26
Para isso, daria o seguinte
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))
O valor de p é 0,72, que está muito mais próximo de 1, v é 0,03 - muito próximo de 0
Variáveis categóricas vs numéricas
Para esse tipo, normalmente realizamos o teste ANOVA de uma via : calculamos a variação no grupo e a variação intra-grupo e depois as comparamos.
Exemplo
Queremos estudar a relação entre gordura absorvida de rosquinhas e o tipo de gordura usada para produzir rosquinhas (exemplo é retirado daqui )
Existe alguma dependência entre as variáveis? Para isso, realizamos o teste ANOVA e vemos que o valor-p é apenas 0,007 - não há correlação entre essas variáveis.
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)
Saída é
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
Portanto, podemos tomar o valor-p como medida de correlação aqui também.
Referências