ALPHA DE CRONBACH

O coeficiente de Aplha de Cronbach é uma das medidas estatísticas mais utilizadas para avaliação da consistência interna de questionários.

A equação para o cálculo do \(\alpha\) de Cronbach é dada por:

\[\alpha=\frac{k}{k-1}\left [ \frac{\sigma _{t}^{2}-\sum_{i=1}^{k}\sigma_{i}^{2}}{\sigma_{t}^{2}} \right ]\] onde:

Vamos aqui aprender de forma simples a utilizar o software R para o cálculo desse coeficiente.

Construção da planilha de resultados

Inicialmente precisamos transpor os resultados do questionário em uma planilha no formato excel para que possa ser importada para o software R.

Vamos utilizar um exemplo bem simples de dados fictícios retirado do blog da professora Sônia Vieira (http://soniavieira.blogspot.com/2016/01/alfa-de-cronbach-impacto-da-retirada-de.html#:~:text=Quando%20as%20correla%C3%A7%C3%B5es%20entre%20as,de%20vida%20de%20pessoas%20adultas).

Os dados da tabela abaixo são fictícios. Correspondem as respostas de 12 respondentes para 11 questões.

library(readxl)
questionario <- read_excel("/cloud/project/cronexe.xls")
questionario
## # A tibble: 12 × 11
##    `Questao 1` `Questao 2` `Questao 3` `Questao 4` `Questao 5` `Questao 6`
##          <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>
##  1           1           1           1           1           1           1
##  2           1           1           1           1           1           1
##  3           1           0           1           1           1           1
##  4           1           1           1           0           1           1
##  5           1           1           1           1           1           0
##  6           0           1           1           0           1           1
##  7           1           1           1           1           0           0
##  8           1           1           1           1           1           0
##  9           0           1           0           1           1           0
## 10           1           0           0           1           0           1
## 11           1           1           1           0           0           0
## 12           1           0           0           1           0           0
## # ℹ 5 more variables: `Questao 7` <dbl>, `Questao 8` <dbl>, `Questao 9` <dbl>,
## #   `Questao 10` <dbl>, `Questao 11` <dbl>

Após o carregamento da planilha para o R devemos instalar o pacote psych.

library(psych)
alfa_cronb <- psych::alpha(questionario)
## Warning in cor.smooth(r): Matrix was not positive definite, smoothing was done
## Warning in psych::alpha(questionario): Some items were negatively correlated with the total scale and probably 
## should be reversed.  
## To do this, run the function again with the 'check.keys=TRUE' option
## Some items ( Questao 1 Questao 4 ) were negatively correlated with the total scale and 
## probably should be reversed.  
## To do this, run the function again with the 'check.keys=TRUE' option
alfa_cronb
## 
## Reliability analysis   
## Call: psych::alpha(x = questionario)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.74      0.73     0.9       0.2 2.7 0.11 0.52 0.24     0.24
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.45  0.74  0.91
## Duhachek  0.53  0.74  0.95
## 
##  Reliability if an item is dropped:
##            raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## Questao 1       0.76      0.76    0.94      0.24 3.2    0.098 0.072  0.29
## Questao 2       0.75      0.74    0.85      0.22 2.9    0.104 0.073  0.26
## Questao 3       0.70      0.70    0.94      0.19 2.3    0.122 0.077  0.21
## Questao 4       0.78      0.77    0.94      0.25 3.3    0.092 0.067  0.29
## Questao 5       0.69      0.69    0.92      0.18 2.2    0.129 0.078  0.19
## Questao 6       0.71      0.70    0.87      0.19 2.4    0.123 0.073  0.24
## Questao 7       0.69      0.69    0.92      0.18 2.2    0.128 0.082  0.21
## Questao 8       0.66      0.67    0.94      0.17 2.0    0.142 0.063  0.19
## Questao 9       0.70      0.70    0.86      0.19 2.3    0.122 0.084  0.21
## Questao 10      0.72      0.71    0.85      0.20 2.5    0.113 0.082  0.21
## Questao 11      0.71      0.69    0.87      0.18 2.2    0.119 0.089  0.24
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop  mean   sd
## Questao 1  12 0.131  0.17 0.099 -0.015 0.833 0.39
## Questao 2  12 0.320  0.33 0.325  0.157 0.750 0.45
## Questao 3  12 0.622  0.61 0.631  0.500 0.750 0.45
## Questao 4  12 0.094  0.12 0.049 -0.075 0.750 0.45
## Questao 5  12 0.692  0.66 0.618  0.575 0.667 0.49
## Questao 6  12 0.620  0.59 0.586  0.476 0.500 0.52
## Questao 7  12 0.678  0.66 0.567  0.551 0.417 0.51
## Questao 8  12 0.811  0.77 0.801  0.726 0.417 0.51
## Questao 9  12 0.623  0.63 0.607  0.489 0.333 0.49
## Questao 10 12 0.509  0.52 0.525  0.367 0.250 0.45
## Questao 11 12 0.620  0.67 0.630  0.546 0.083 0.29
## 
## Non missing response frequency for each item
##               0    1 miss
## Questao 1  0.17 0.83    0
## Questao 2  0.25 0.75    0
## Questao 3  0.25 0.75    0
## Questao 4  0.25 0.75    0
## Questao 5  0.33 0.67    0
## Questao 6  0.50 0.50    0
## Questao 7  0.58 0.42    0
## Questao 8  0.58 0.42    0
## Questao 9  0.67 0.33    0
## Questao 10 0.75 0.25    0
## Questao 11 0.92 0.08    0

Entendendo os resultados obtidos

O pacote proporciona uma série de resultados. O principal é o alpha de cronbach. De acordo com o exemplo, o valor obtido foi de 0,74. Esse valor mostra uma coesão interna entre os consttructos propostos, consequentemente uma boa confiabilidade.

O item: Reliability if an item is dropped significa dizer que quando retiramos a questão, um novo \(\alpha\) é calculado. Caso o mesmo seja inferior ao obtido, a questão não deve ser retirada.

Vamos agora retirar uma questão e recalcular o alfa de Cronbach

Observando so resultados anteriores, percebe-se que retirando a Questão 1, o \(\alpha\) passa a ser 0,76. Vamos conferir.

Carregando uma outra planilha, mas sem a questão 1, tem-se:

library(readxl)
questionario1 <- read_excel("/cloud/project/cronexe1.xls")
questionario1
## # A tibble: 12 × 10
##    `Questao 2` `Questao 3` `Questao 4` `Questao 5` `Questao 6` `Questao 7`
##          <dbl>       <dbl>       <dbl>       <dbl>       <dbl>       <dbl>
##  1           1           1           1           1           1           1
##  2           1           1           1           1           1           1
##  3           0           1           1           1           1           1
##  4           1           1           0           1           1           0
##  5           1           1           1           1           0           0
##  6           1           1           0           1           1           1
##  7           1           1           1           0           0           1
##  8           1           1           1           1           0           0
##  9           1           0           1           1           0           0
## 10           0           0           1           0           1           0
## 11           1           1           0           0           0           0
## 12           0           0           1           0           0           0
## # ℹ 4 more variables: `Questao 8` <dbl>, `Questao 9` <dbl>, `Questao 10` <dbl>,
## #   `Questao 11` <dbl>

Vamos rodar o a função do pacote.

library(psych)
alfa_cronb1 <- psych::alpha(questionario1)
## Warning in psych::alpha(questionario1): Some items were negatively correlated with the total scale and probably 
## should be reversed.  
## To do this, run the function again with the 'check.keys=TRUE' option
## Some items ( Questao 4 ) were negatively correlated with the total scale and 
## probably should be reversed.  
## To do this, run the function again with the 'check.keys=TRUE' option
alfa_cronb1
## 
## Reliability analysis   
## Call: psych::alpha(x = questionario1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.76      0.76    0.94      0.24 3.2 0.098 0.49 0.26     0.29
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.50  0.76  0.92
## Duhachek  0.57  0.76  0.96
## 
##  Reliability if an item is dropped:
##            raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## Questao 2       0.77      0.77    0.92      0.27 3.4    0.095 0.067  0.32
## Questao 3       0.74      0.74    0.92      0.24 2.9    0.109 0.069  0.29
## Questao 4       0.81      0.81    0.93      0.32 4.2    0.082 0.047  0.35
## Questao 5       0.71      0.72    0.92      0.22 2.5    0.121 0.080  0.24
## Questao 6       0.74      0.74    0.93      0.24 2.8    0.112 0.066  0.29
## Questao 7       0.72      0.72    0.92      0.23 2.6    0.117 0.079  0.30
## Questao 8       0.69      0.70    0.89      0.21 2.4    0.132 0.057  0.23
## Questao 9       0.74      0.74    0.93      0.24 2.9    0.108 0.079  0.29
## Questao 10      0.75      0.74    0.92      0.24 2.9    0.104 0.081  0.27
## Questao 11      0.74      0.73    0.94      0.23 2.7    0.108 0.086  0.29
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop  mean   sd
## Questao 2  12 0.361  0.38 0.369   0.20 0.750 0.45
## Questao 3  12 0.589  0.58 0.569   0.46 0.750 0.45
## Questao 4  12 0.057  0.08 0.056  -0.11 0.750 0.45
## Questao 5  12 0.745  0.73 0.717   0.64 0.667 0.49
## Questao 6  12 0.625  0.59 0.581   0.48 0.500 0.52
## Questao 7  12 0.695  0.68 0.670   0.57 0.417 0.51
## Questao 8  12 0.829  0.80 0.816   0.75 0.417 0.51
## Questao 9  12 0.582  0.58 0.544   0.44 0.333 0.49
## Questao 10 12 0.551  0.58 0.568   0.41 0.250 0.45
## Questao 11 12 0.605  0.65 0.599   0.53 0.083 0.29
## 
## Non missing response frequency for each item
##               0    1 miss
## Questao 2  0.25 0.75    0
## Questao 3  0.25 0.75    0
## Questao 4  0.25 0.75    0
## Questao 5  0.33 0.67    0
## Questao 6  0.50 0.50    0
## Questao 7  0.58 0.42    0
## Questao 8  0.58 0.42    0
## Questao 9  0.67 0.33    0
## Questao 10 0.75 0.25    0
## Questao 11 0.92 0.08    0

Utilizando o excel para o cálculo

Como a equação para o cálculo do alfa de Cronbach é relativamente simples, outros programas podem ser utilizados para sua determinação. Neste site Cálculo do \(\alpha\) de Cronbach utilizando o excel

Referências