Apuntes de R

Apunte 13: Alfa de Cronbach

Author

David Torres Irribarra, Isidora Naranjo López e Izhan Maureira Soto

Published

June 27, 2024

Estimación de la confiabilidad de un instrumento

La confiabilidad o precisión de un instrumento es definida por los Estándares de la APA, AERA y NCME como la consistencia de los puntajes entre realizaciones de un procedimiento de medición, independientemente de cómo esta consistencia sea calculada o reportada.

La confiabilidad es un aspecto fundamental al momento de considerar el uso de un instrumento de medición, pero siempre debe ser considerada de la mano de la validez. No tiene sentido el intentar aumentar la precisión de puntajes si se sacrifica su validez de las inferencias que se espera hacer con estos.

Como vimos en clase, el principal desafío en ciencias sociales respecto al cálculo de la confiabilidad/precisión es la dificultad de hacer mediciones repetidas en ciencias sociales.

Producto de la restricción que enfrentamos de realizar múltiples mediciones repetidas se han desarrollado múltiples métodos para estimar la precisión de un instrumento, cada uno de ellos capturando distintas posibles fuentes de error.

Una de las formas más comunes de estimar confiabilidad es en base a la consistencia interna de los ítems o preguntas que componen el instrumento. El alfa de Cronbach es probablemente el indicador más usado para estimar la consistencia interna, pero es importante recordar que (a) no es el único indicador de consistencia interna, y (ii) que la consistencia interna no es la unica forma de estimar la confiabilidad/precisión de un instrumento.

Usando Alfa de Cronbach

En la clase vimos una presentación detallada de la forma en que se calcula este indicador. Aquí nos concentraremos en ver cómo podemos usar R para calcular el alfa de Cronbach para un instrumento de medición.

Para calcular el alfa vamos a usar el comando alpha de la librería psych.

Ejemplo 1

En nuestro primer ejemplo examinaremos la consistencia interna de la escala de neuroticismo en un cuestionario de personalidad.

Las 10 preguntas asociadas al factor de neuroticismo en esta base de datos están nombradas con las letras n (n1, n2, …, n10) y corresponden a estas preguntas:

  • N1 Me estreso con facilidad.
  • N2 Estoy relajado la mayor parte del tiempo.
  • N3 Me preocupo por las cosas.
  • N4 Rara vez me siento triste.
  • N5 Me altero fácilmente.
  • N6 Me altero con facilidad.
  • N7 Cambio mucho de humor.
  • N8 Tengo frecuentes cambios de humor.
  • N9 Me irrito fácilmente.
  • N10 A menudo me siento triste.

Podemos ver que las preguntas N2 y N4 están invertidas en relación al resto de la escala, por lo que antes de calcular un promedio de toda la escala debemos “invertir” estas respuestas.

De forma general las respuestas pueden ser invertidas siguiendo la fórmula:

(valor máximo de respuesta + 1) - valor de la respuesta

De esta forma, en una escala de 1 a 5 como es el caso en este instrumento, una respuesta 2 a un ítem invertido correspondería a una respuesta de 4 en el sentido “correcto” (5 + 1 - 2).

library(psych)

# Leemos y guardamos la base de datos en el objeto big5
big5 <- read.csv("https://david-ti.github.io/introstats/data/big_five.csv")

# Podemos crear dos nuevas variables en la base de datos
big5$n2i <- (5 + 1) - big5$n2
big5$n4i <- (5 + 1) - big5$n4

# Creamos una sub base que contiene solamente las preguntas de neuroticismo
neuro <- big5[,c("n1","n2i","n3","n4i","n5","n6","n7","n8","n9","n10")]

El alfa de Cronbach es calculado directamente sobre las respuestas a las preguntas del instrumento que queremos analizar, en este caso, hemos guardado estas respuestas a las 10 preguntas de la escala de neuroticismo en el objeto neuro.

alpha(neuro)

Reliability analysis   
Call: alpha(x = neuro)

  raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
      0.86      0.85    0.86      0.37 5.9 0.0093    3 0.84     0.38

    95% confidence boundaries 
         lower alpha upper
Feldt     0.84  0.86  0.88
Duhachek  0.84  0.86  0.88

 Reliability if an item is dropped:
    raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
n1       0.84      0.84    0.84      0.36 5.1   0.0104 0.019  0.38
n2i      0.86      0.85    0.86      0.39 5.8   0.0095 0.017  0.40
n3       0.84      0.84    0.85      0.36 5.1   0.0104 0.020  0.36
n4i      0.86      0.86    0.87      0.41 6.2   0.0091 0.012  0.40
n5       0.85      0.85    0.86      0.38 5.5   0.0099 0.018  0.38
n6       0.84      0.83    0.84      0.36 5.0   0.0108 0.017  0.36
n7       0.84      0.83    0.84      0.36 5.0   0.0107 0.014  0.38
n8       0.83      0.83    0.83      0.35 4.9   0.0109 0.014  0.37
n9       0.84      0.83    0.84      0.36 5.0   0.0108 0.016  0.36
n10      0.84      0.84    0.85      0.36 5.1   0.0105 0.020  0.37

 Item statistics 
      n raw.r std.r r.cor r.drop mean  sd
n1  500  0.70  0.70  0.66   0.60  3.2 1.3
n2i 500  0.52  0.53  0.45   0.41  2.7 1.2
n3  500  0.68  0.69  0.65   0.60  3.7 1.2
n4i 500  0.43  0.44  0.34   0.31  3.1 1.2
n5  500  0.60  0.60  0.53   0.49  2.9 1.2
n6  500  0.73  0.73  0.70   0.65  3.0 1.3
n7  500  0.72  0.71  0.70   0.63  3.1 1.3
n8  500  0.76  0.75  0.74   0.67  2.7 1.4
n9  500  0.74  0.73  0.70   0.65  3.1 1.4
n10 500  0.70  0.70  0.66   0.61  2.8 1.3

Non missing response frequency for each item
       1    2    3    4    5 miss
n1  0.13 0.24 0.20 0.23 0.20    0
n2i 0.16 0.31 0.27 0.18 0.08    0
n3  0.06 0.12 0.16 0.34 0.32    0
n4i 0.10 0.21 0.29 0.28 0.12    0
n5  0.13 0.27 0.25 0.22 0.12    0
n6  0.15 0.26 0.21 0.20 0.18    0
n7  0.13 0.21 0.24 0.22 0.20    0
n8  0.24 0.25 0.20 0.17 0.14    0
n9  0.17 0.19 0.20 0.26 0.18    0
n10 0.19 0.25 0.24 0.19 0.12    0

Ejemplo 2

En nuestro segundo ejemplo examinaremos la consistencia interna de la escala de autoestima en un cuestionario de polivictimización.

Recordamos que el factor autoestima se compone de 10 preguntas:

  • AU1 Siento que soy una persona valiosa, al menos igual que los demás
  • AU2 Siento que tengo cualidades positivas
  • AU3 En general, tiendo a sentir que soy un fracaso
  • AU4 Soy capaz de hacer las cosas tan bien como la mayoría de las otras personas
  • AU5 Siento que no tengo mucho de lo que sentirme orgulloso
  • AU6 Tengo una actitud positiva hacia mí mismo
  • AU7 Considerando todas las cosas, estoy satisfecho conmigo mismo
  • AU8 Me gustaría tener más respeto conmigo mismo
  • AU9 Me siento inútil a veces
  • AU10 Algunas veces pienso que no soy bueno en absoluto
#Cargamos la base de datos
poli <- read.csv("https://david-ti.github.io/introstats/data/datos_poli_2017.csv")

#Invertimos los puntajes de aquellas preguntas en donde corresponde
poli$au3i <- (5 + 1)-poli$au3
poli$au5i <- (5 + 1)-poli$au5
poli$au8i <- (5 + 1)-poli$au8
poli$au9i <- (5 + 1)-poli$au9
poli$au10i <- (5 + 1)-poli$au10

# Creamos un objeto para almacenar las 10 preguntas
auto <- NA
auto <- poli[,c("au1","au2","au3i","au4","au5i","au6","au7","au8i","au9i","au10i")]

El alfa de Cronbach es calculado directamente sobre las respuestas a las preguntas del instrumento que queremos analizar, en este caso, hemos guardado estas respuestas a las 10 preguntas de la escala de autoestima en el objeto auto.

alpha(auto)

Reliability analysis   
Call: alpha(x = auto)

  raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
      0.85      0.85    0.87      0.36 5.6 0.0016  3.5 0.77     0.35

    95% confidence boundaries 
         lower alpha upper
Feldt     0.84  0.85  0.85
Duhachek  0.84  0.85  0.85

 Reliability if an item is dropped:
      raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
au1        0.83      0.83    0.85      0.35 4.8   0.0018 0.041  0.36
au2        0.83      0.83    0.85      0.35 4.8   0.0018 0.040  0.36
au3i       0.82      0.82    0.86      0.34 4.7   0.0019 0.048  0.32
au4        0.83      0.83    0.86      0.36 5.0   0.0018 0.043  0.35
au5i       0.84      0.84    0.87      0.36 5.2   0.0017 0.050  0.37
au6        0.82      0.82    0.85      0.34 4.6   0.0019 0.041  0.33
au7        0.82      0.82    0.85      0.34 4.6   0.0019 0.041  0.32
au8i       0.87      0.87    0.89      0.43 6.9   0.0014 0.019  0.41
au9i       0.83      0.83    0.85      0.35 4.9   0.0018 0.047  0.34
au10i      0.82      0.83    0.85      0.34 4.7   0.0019 0.048  0.34

 Item statistics 
          n raw.r std.r r.cor r.drop mean   sd
au1   19227  0.67  0.69 0.661  0.571  3.9 1.10
au2   19258  0.66  0.69 0.671  0.581  4.0 0.99
au3i  19098  0.73  0.72 0.688  0.648  3.4 1.21
au4   19214  0.64  0.66 0.611  0.542  3.9 1.05
au5i  19147  0.62  0.60 0.530  0.501  3.4 1.26
au6   19278  0.74  0.75 0.739  0.659  3.8 1.15
au7   19248  0.73  0.74 0.728  0.650  3.7 1.16
au8i  19085  0.24  0.22 0.093  0.087  2.5 1.17
au9i  19207  0.71  0.69 0.657  0.607  3.0 1.32
au10i 19304  0.74  0.72 0.690  0.642  3.2 1.32

Non missing response frequency for each item
         1    2    3    4    5 miss
au1   0.05 0.05 0.15 0.37 0.37 0.02
au2   0.04 0.05 0.12 0.46 0.33 0.02
au3i  0.07 0.16 0.26 0.27 0.23 0.03
au4   0.04 0.07 0.19 0.39 0.31 0.02
au5i  0.08 0.19 0.23 0.25 0.24 0.03
au6   0.06 0.09 0.19 0.35 0.31 0.02
au7   0.06 0.10 0.20 0.34 0.30 0.02
au8i  0.22 0.37 0.23 0.10 0.08 0.03
au9i  0.14 0.27 0.22 0.19 0.19 0.02
au10i 0.11 0.21 0.23 0.21 0.24 0.02