Big Five

En este post continuamos la descripción del caso de estudio de aplicación de Data Analytics en psicología, en concreto, al análisis de cuestionarios para detección de perfiles de personalidad, basado en el modelo Big Five. En un primer post abordamos las tres primeras fases de la metodología CRISP-DM: comprensión del negocio (I. Business Understanding), comprensión de los datos (II. Data Understanding) y preprocesamiento y análisis de datos (III. Data Preparation). En dicho post describimos en detalle el contexto del caso de estudio, los datos disponibles, y presentamos el análisis de los datos.

En este post abordamos la siguiente fase del análisis, según la metodología CRISP-DM, de modelado (IV. Modeling), estudiando la identificación de diferentes perfiles de personalidad según el modelo Big Five, aplicando técnicas de análisis de datos, en concreto, clustering con diferentes algoritmos.

Análisis y preprocesamiento de los datos

El conjunto de datos se ha descrito en profundidad en el anterior post. A las variables originales del dataset, se le han añadido unas variables sintéticas producto de la suma de los valores de la respuesta de los usuarios a las preguntas del test. Las variables sintéticas creadas, E, N, A, C, O son, respectivamente, la suma y resta de las variables E1-E10, N1-N10, A1-A10, C1-C10, O1-O10, tomando como criterio las instrucciones de puntuación descritas por los coordinadores del test. Por tanto, las nuevas variables sintéticas (llámense variables de personalidad) creadas tendrán un valor entero entre 10 y 50.

Para este análisis de clustering, no se utilizan las demás variables como el país o la edad, ya que la mayor parte de la muestra está entre los 15 y los 25 años y son de Estados Unidos, como se puede ver en el análisis exploratorio. Así, aunque el conjunto de datos dispone de 62 variables en total, este análisis se centra en el clustering únicamente con los resultados del test de personalidad (las 5 variables sintéticas generadas), ya que son resultado de las demás y resumen su información, y el género de la persona, para poder analizar si hay diferencias entre mujeres y hombres.

Se han filtrado previamente valores de edad mayores de 92 años que no tenían sentido. También se filtran los perfiles en los que todas las variables están en la media +/- la desviación típica. Esto permite filtrar perfiles que no aportan nada de información y polarizar algo más la muestra. Aproximadamente, se elimina un 10% de la muestra con este procedimiento.

Además se aplica una estandarización de los datos (convierte el rango de cada variable a media 0 y varianza 1), usando StandardScaler. La estandarización es un requisito bastante habitual de muchos algoritmos de aprendizaje, ya que su funcionamiento no es el adecuado si las variables no tienen una distribución normal estándar (por ejemplo, una gaussiana con media 0 y varianza 1).    

A continuación se muestran los histogramas de la distribución de las variables estandarizadas.


Agrupación de perfiles de personalidad

Se van a aplicar diferentes algoritmos de agrupamiento, utilizando también reducción de dimensionalidad, y se va a calcular el valor de silhouette de los resultados para evaluar la calidad de los clusters. El análisis de silhouette es un método de interpretación y validación de la consistencia de los grupos identificados por un algoritmo de clustering, una técnica gráfica sencilla que representa cómo de bien o mal cada grupo engloba a los objetos que contiene, y que fue descrita por primera vez por Peter J. Rousseeuw en 1986.

El valor de silhouette es una medida de cómo de parecido es cada objeto a su propio cluster (medida de cohesión intracluster) en comparación con otros clusters (separación intercluster). Los valores de silhouette van de -1 a 1. Cuanto mejor coincidan los objetos con su propio cluster, el valor de silhouette es mayor, y si la mayoría de objetos tienen un valor lo más cercano posible a 1, la configuración de clustering es apropiada. Si muchos objetos tienen un valor bajo o negativo de silhouette, la configuración de clustering puede tener demasiados o demasiado pocos clusters.

En nuestro análisis vamos a buscar agrupamientos entre 2 y 6 grupos. El objetivo es obtener un agrupamiento con el mejor valor de silhouette posible. También se valorará de forma subjetiva los resultados de los grupos obtenidos para cada algoritmo, de forma que sean coherentes con los resultados esperados. El proceso está descrito bastante bien en esta página.

Para reducir el tiempo de proceso se utilizan 8000 muestras aleatorias en lugar de trabajar con la muestra completa. Con el mejor de los agrupamientos, se pasaría a trabajar con la muestra completa.

Primero vamos a aplicar el algoritmo KMeans sobre el conjunto de datos completo. A continuación vamos a aplicar el algoritmo Principal Component Analysis (PCA) (con diferentes tipos de kernel) para reducir la dimensión del conjunto de datos y aplicar posteriormente el algoritmo de agrupamiento en ese espacio transformado, para comparar los resultados de la configuración de clustering empleando la técnica de silhouette.Para poder realizar la comparación de grupos, es necesario hacer la transformación PCA inversa para obtener los grupos en el espacio original.

Para la elección del número de componentes a utilizar en PCA, se tendrá en cuenta, por un lado, el valor de silhouette que se obtiene en el agrupamiento en el espacio transformado y, por otro lado, que la varianza de la transformación inversa sea suficiente, es decir, que la transformación inversa esté distribuida lo más parecido posible a la muestra original y ocupe el mismo espacio. Por tanto, se buscará que la varianza que expliquen las componentes de PCA esté en torno al 80%.

Inicialmente vamos a aplicar KMeans, sin reducción de dimensionalidad, luego aplicando PCA con diferentes kernels, para ver qué tipo de kernel funciona mejor. Finalmente, sobre el kernel que mejor funcione, se aplicarán otros algoritmos de clustering para tratar de mejorar el agrupamiento.

KMeans sin reducción de dimensionalidad

En primer lugar, se aplica el algoritmo KMeans directamente sobre el conjunto de datos, sin reducción de dimensionalidad. Con k=2, el valor de silhouette es 0.2239 y su representación se muestra en la figura siguiente.

El análisis se repite hasta k=6, con resultados similares en términos de interpretación.Para k=6, se obtiene un valor de silhouette de 0.2097 y las gráficas siguientes.

El algoritmo KMeans no obtiene un buen score en el silhouette, aunque los grupos son aceptables para los valores evaluados (k=2 hasta k=6) ya que se obtienen perfiles de silhouette más o menos similares y adecuados.

La figura siguiente muestra los centroides de todas las iteraciones de k, en forma de radar plot.

KMeans y PCA con kernel lineal


Primero aplicamos el algoritmo PCA lineal sobre el conjunto de datos para estudiar el número óptimo de componentes principales a seleccionar. En la gráfica siguiente se ve que con 4 componentes se explica el 83% de la varianza de la muestra. Por tanto, utilizaremos 4 componentes para el PCA lineal.

Aplicando KMeans sobre el conjunto transformado con PCA lineal, con k=2 en este caso se obtiene un valor de silhouette de 0.2794, mejor que el anterior sin PCA.

Para k=6 se obtiene un valor de silhouette de 0.2659, igualmente mucho mejor que sin PCA.

La figura siguiente muestra los centroides obtenidos.

Aplicando PCA lineal se obtiene un mejor silhouette con el agrupamiento de KMeans que aplicando el algoritmo sin reducción de dimensionalidad. Los perfiles de los grupos resultantes son muy parecidos a los grupos obtenidos anteriormente. Por tanto, PCA mejora el agrupamiento.

KMeans y PCA con kernel polinomial

La siguiente prueba es aplicar PCA con kernel polinomial, de diferentes grados. Tras probar varios grados del polinomio, con grado 4 y tomando 4 componentes se puede explicar el 90% de la varianza de la muestra. En un análisis similar al anterior, con KMeans para k=2 se obtiene un valor de silhouette de 0.3846, y 0.3818 para k=6. El kernel poly de PCA no funciona bien con el conjunto de datos: aunque obtiene un buen silhouette para grupos pequeños, a partir de 4 grupos sobreajusta algunas muestras, por lo que no es interesante para este análisis. La siguiente figura muestra los perfiles de silhouette para k=6, con las anomalías mencionadas.

La figura siguiente muestra los centroides que se obtienen para todas las iteraciones.

KMeans y PCA con otros kernels

Se han utilizado dos aproximaciones adicionales: PCA con kernel RBF (radial basis function) y PCA con kernel cosine:

  • Con el kernel RBF de PCA se obtiene mejor silhouette que para el kernel linear, además, los grupos obtenidos son coherentes.
  • Con kernel cosine, en general, los grupos obtenidos tienen sentido, aunque el silhouette del agrupamiento es inferior incluso al lineal.

A continuación se muestran los mejores resultados obtenidos. Se descartan los resultados obtenidos para el kernel poly debido al sobreajuste.

Se ve que las mejores puntuanciones son con kernel RBF para 4 y 5 clusters.

Estudio de algoritmos de clustering

A continuación se van a probar otros algoritmos de agrupamiento utilizando PCA con kernel RBF y usando 4 dimensiones. En la siguiente tabla se muestran los algoritmos que mejor silhouette obtienen en el agrupamiento.

De la tabla, se seleccionan los siguientes algoritmos para comparar los grupos resultantes:

  • KMeans RBF con 5 clusters
  • SpectralClustering rbf con 5 clusters
  • AgglomerativeClustering rbf con 5 clusters

Los grupos resultantes se muestran a continuación.

El perfil de los grupos de los tres algoritmos es muy parecido, siguiendo las mismas formas. Por tanto, cualquiera de los algoritmos propuestos es válido.

Descripción de los grupos obtenidos

Los grupos resultantes se pueden describir en base a lo que les hace característicos respecto a los demás. Tomando como ejemplo el resultado del KMeans, una posible interpretación de los grupos, siguiendo las descripciónes de los factores explicadas aquí, podría ser:

  • Grupo 1: perfil introvertido y reservado, egocéntrico y competitivo pero mucha imaginación y abierto a nuevas experiencias.
  • Grupo 2: perfil poco responsable y emocionalmente inestable e inseguro, imprevisible y con falta de objetivos.
  • Grupo 3*: perfil extrovertido, sociable, solidario y organizado, pero despreocupado y sin unos objetivos claros.
  • Grupo 4: perfil introvertido y reservado, poco seguro de si mismo pero creativo y abierto a emociones intensas.
  • Grupo 5: perfil pragmático y perseverante, tranquilo y poco dependiente de otros.

*Este grupo también podría interpretarse como los que contestan al test a todo con la máxima puntuación si leerlo. Por tanto, sería un grupo a descartar.

Conclusión y trabajos futuros

Se ha visto que es posible realizar agrupamientos de personalidades a partir de los datos de un test de personalidad. Esto permite aplicar este tipo de análisis a ámbitos de negocio con el fin de mejorar la gestión de personas y equipos.

Como trabajos a futuro, se podría plantear realizar estudios cruzando datos adicionales con los datos proporcionados por un test de personalidad, en función del objetivo que se plantee. Por ejemplo, datos personales y de geoposicionamiento, transcripciones de entrevistas, datos de compras y datos de navegación por Internet.

Con este estudio, en este caso en el mundo de la psicología y sobre cuestionarios de personalidad, queremos ilustrar cómo el empleo de las técnicas de Data Science permite a nuestro equipo de profesionales (Data Scientists y Data Engineers trabajando conjuntamente) abordar el análisis de datos en cualquier escenario complejo, con las máximas garantías de éxito del proyecto. Si tiene cualquier pregunta o necesidad en estas áreas, por favor, no dude en contactar con nosotros: estaremos encantados de ayudarle.