Medidas de Associação

Com medidas de associação, você pode testar se e em que medida duas variáveis estão associadas. Como primeira medida, você aprendeu na aula de Estatística o \(\chi^2\), que testa se há uma associação. Como outra medida para a força de uma associação, você conhece o V de Cramér.

Teste de Independência \(\chi^2\)

Com tabelas de contingência, é possível representar associações entre duas variáveis. Essa associação também pode ser testada estatisticamente com o teste de independência \(\chi^2\).

A hipótese nula do teste de independência \(\chi^2\) é:

  • \(H_0:\) As variáveis são estatisticamente independentes.

Calculamos o teste com a função chisq.test() e podemos usar diretamente o objeto da tabela de contingência:

chi1 <- chisq.test(mytable)

chi1
## 
## 	Pearson's Chi-squared test
## 
## data:  mytable
## X-squared = 14.123, df = 10, p-value = 0.1674

Alternativamente, você também pode especificar as duas variáveis:

chi2 <- chisq.test(
  pss$stfdem, 
  pss$gndr
)

chi2
Como interpretamos este teste?

Pressupostos do teste de independência \(\chi^2\)

A realização do teste de independência \(\chi^2\) requer dois pressupostos:

  1. Pelo menos \(10\) observações em cada célula.

\(\Rightarrow\) Tabela de contingência! (\(\checkmark\))

  1. Pelo menos \(5\) observações esperadas em cada célula.

A função chisq.test() armazena diferentes valores. Um objeto associado, portanto, tem o tipo de dados list. Este tipo de dados é novo para você. É outro tipo de dados que desempenha um papel importante no R. No tipo de dados list, várias informações podem ser armazenadas, como você conhece de uma lista em papel. Com str() você pode ver o que foi armazenado na lista:

str(chi1)
## List of 9
##  $ statistic: Named num 14.1
##   ..- attr(*, "names")= chr "X-squared"
##  $ parameter: Named int 10
##   ..- attr(*, "names")= chr "df"
##  $ p.value  : num 0.167
##  $ method   : chr "Pearson's Chi-squared test"
##  $ data.name: chr "mytable"
##  $ observed : 'table' int [1:11, 1:2] 117 133 211 287 377 466 311 251 164 82 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:11] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:2] "female" "male"
##  $ expected : num [1:11, 1:2] 112 133 217 307 375 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:11] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:2] "female" "male"
##  $ residuals: 'table' num [1:11, 1:2] 0.4316 -0.0275 -0.3999 -1.1649 0.0992 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:11] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:2] "female" "male"
##  $ stdres   : 'table' num [1:11, 1:2] 0.6233 -0.0398 -0.5909 -1.7577 0.1521 ...
##   ..- attr(*, "dimnames")=List of 2
##   .. ..$ : chr [1:11] "0" "1" "2" "3" ...
##   .. ..$ : chr [1:2] "female" "male"
##  - attr(*, "class")= chr "htest"

O tipo de dados list pode armazenar diferentes elementos como uma lista, de modo que esses elementos podem ser acessados individualmente. Por exemplo, diferentes vetores podem ser armazenados em uma lista. As partes individuais de uma lista podem ser exibidas usando a função ls() e são referenciadas com o símbolo $.

ls(chi1)
## [1] "data.name" "expected"  "method"    "observed"  "p.value"   "parameter"
## [7] "residuals" "statistic" "stdres"

Para ver os valores esperados, acessamos expected (esperado) do objeto chi1.

chi1$expected
##     
##         female      male
##   0  112.42406 113.57594
##   1  133.31702 134.68298
##   2  216.88889 219.11111
##   3  307.42508 310.57492
##   4  375.07849 378.92151
##   5  422.83384 427.16616
##   6  313.89195 317.10805
##   7  259.66972 262.33028
##   8  168.13863 169.86137
##   9   89.04383  89.95617
##   10  41.28848  41.71152

Você pode ver que a condição de ter pelo menos \(5\) casos em cada célula dos valores esperados também é atendida.

V de Cramer

Até agora, realizamos apenas o teste de independência \(\chi^2\). Mas além da relação geral, muitas vezes é de interesse saber quão forte é essa relação ou em que direção ela vai.

Calculamos V de Cramer para a força da relação entre duas variáveis pelo menos nominalmente escaladas. Usamos a função CramerV() da biblioteca DescTools. Você fornece as duas variáveis e no terceiro argumento define o intervalo de confiança (neste caso, \(0.95\)):

install.packages("DescTools")
library("DescTools")
CramerV(
  pss$stfdem,       
  pss$gndr,          
  conf.level = 0.95 # Konfidenzintervall
)  
##   Cramer V     lwr.ci     upr.ci 
## 0.05365996 0.00000000 0.06613029

Interpretamos o teste da seguinte forma: Na primeira coluna é fornecido o valor de V de Cramer e na segunda e terceira colunas o intervalo de confiança para esse valor. Se o intervalo não incluir o valor \(0\), o resultado é considerado significativo. Neste caso, vemos que o resultado não é significativo.

Para a interpretação do valor, as seguintes faixas são aplicadas:

Extremidade Inferior Extremidade Superior Interpretação
\(0\) \(0.1\) nenhuma relação
\(0.1\) \(0.3\) fraca
\(0.3\) \(0.6\) moderada
\(0.6\) \(1\) forte

Se não apenas a força da relação deve ser interpretada, mas também a direção da relação, é necessário calcular uma correlação.

```