Profesor del programa de Ingeniería Industrial, Universidad Sergio Arboleda. Candidato a doctor en Ingeniería de la Universidad de los Andes.

Análisis de agrupación

Dado lo anterior, ya podemos hablar sobre nuestros métodos a utilizar. Los métodos basados en la distancia intentan encontrar grupos que minimicen la distancia entre los miembros dentro del grupo, mientras maximizan la distancia de los miembros de otros grupos. El agrupamiento jerárquico hace esto modelando los datos en una estructura de árbol, mientras que kmeans () usa centroides de grupo (puntos centrales). Pero, ¿en qué casos los usamos?:

  1. Agrupación jerárquica: la ventaja de esta técnica es que resulta muy útil para agrupar diferentes puntos de datos. En otras palabras, la salida del modelo es un árbol y podemos elegir cualquier combinación del árbol para construir clústeres para diferentes números de clústeres. La desventaja de la técnica es que solo puede manejar unos pocos puntos de datos y requiere un tiempo exponencial para la gran cantidad de observaciones. Si esto no fuera una limitación para la técnica, ningún análisis de conglomerados habría fallado.

  2. Agrupación de k-medias: La ventaja de esta técnica es que puede manejar un gran número de observaciones y toma menos tiempo en comparación con todas las otras técnicas disponibles. La desventaja de la técnica es que no es posible cambiar el proceso intermedio a puntos de datos del grupo al segundo mejor grupo. Por lo tanto, el método es mucho más rígido en comparación con la agrupación jerárquica.

El método de agrupamiento jerárquico comienza con cada observación en su propio grupo. A continuación, une sucesivamente las observaciones o los grupos vecinos, uno a la vez, de acuerdo con sus distancias entre sí, y continúa así hasta que todas las observaciones estén vinculadas. Este proceso de unir observaciones y grupos repetidamente se conoce como método aglomerativo.

Figura 1: Agrupamiento jerárquico

El agrupamiento de K-medias intenta encontrar grupos que sean más compactos, en términos de la desviación media de la suma de cuadrados de cada observación desde el centro multivariado (centroide) de su grupo asignado. Al igual que la agrupación jerárquica, k-means es un enfoque muy popular. Figura 2: Agrupamiento por medias

Reducción de complejidad en los datos

Los conjuntos de datos de marketing a menudo tienen muchas variables, muchas dimensiones, y es ventajoso reducirlas a conjuntos más pequeños de variables a considerar. Por ejemplo, podríamos tener muchos elementos en una encuesta de consumidores que reflejen un número menor de conceptos subyacentes, como la satisfacción del cliente con un servicio, el liderazgo de categoría para una marca o el lujo de un producto. Si podemos reducir los datos a sus dimensiones subyacentes, podemos identificar más claramente las relaciones subyacentes entre conceptos.

En esta clase consideraremos dos métodos comunes para reducir la complejidad de los datos al reducir el número de dimensiones en los datos. El análisis de componentes principales (PCA) intenta encontrar dimensiones lineales no correlacionadas que capturan la varianza máxima en los datos. El análisis factorial exploratorio (AFE) también intenta capturar la varianza con un pequeño número de dimensiones mientras busca que las dimensiones sean interpretables en términos de las variables originales. En marketing, PCA a menudo se asocia con mapas de percepción, que son visualizaciones de las asociaciones de los encuestados entre marcas o productos.

data <- read.csv("Clase 2-2.csv", sep= ";")

Análisis de componentes principales

El análisis de componentes principales (PCA) vuelve a calcular un conjunto de variables en términos de ecuaciones lineales, conocidas como componentes, que capturan relaciones lineales en los datos. El primer componente captura la mayor cantidad de varianza posible de todas las variables como una única función lineal. El segundo componente captura la mayor varianza posible que queda después del primer componente. Esto continúa hasta que haya tantos componentes como variables. Podemos usar este proceso para reducir la complejidad de los datos reteniendo y analizando solo un subconjunto de esos componentes, como el primero o los dos primeros, que explican una gran proporción de la variación en los datos. Para correr el método utilizaremos el comando prcomp():

cp1 <- prcomp(data[,35:40])
summary(cp1)
## Importance of components:
##                            PC1     PC2      PC3     PC4     PC5    PC6
## Standard deviation     40.9283 17.8991 10.45778 7.88541 6.09886 4.3482
## Proportion of Variance  0.7535  0.1441  0.04919 0.02797 0.01673 0.0085
## Cumulative Proportion   0.7535  0.8976  0.94680 0.97476 0.99150 1.0000

Hay 6 componentes porque tenemos 6 variables. El primer componente representa el 75% de la varianza lineal explicable, mientras que el segundo representa el 14%, dejando el 5% para el tercer componente. Pero, ¿estos componentes cómo están relacionados con las variables originales? Examinemos la matriz de rotación:

cp1
## Standard deviations (1, .., p=6):
## [1] 40.928281 17.899053 10.457776  7.885409  6.098857  4.348179
## 
## Rotation (n x k) = (6 x 6):
##                   PC1         PC2         PC3        PC4         PC5
## Balance   -0.34058666 -0.44620670 -0.52317129  0.1167822 -0.62613307
## ShotPower -0.52376949  0.30427620  0.17719857 -0.1599551 -0.01986403
## Jumping    0.04368855  0.53752045 -0.77643938 -0.2617279  0.18667783
## Stamina   -0.38125102  0.17954740 -0.09834111  0.8394506  0.30307337
## Strength   0.02290613  0.61967341  0.25089859  0.1084264 -0.67741033
## LongShots -0.67961792 -0.05616885  0.13933153 -0.4193343  0.14824292
##                   PC6
## Balance   -0.07423887
## ShotPower -0.75875026
## Jumping    0.05435852
## Stamina    0.12731341
## Strength   0.28616261
## LongShots  0.56367902

¿Recuerdan para qué usamos este método? Exacto, revisar que estos datos no estén correlacionados. Esto lo haremos a través de la función cor():

cor(cp1$x)
##               PC1           PC2           PC3           PC4           PC5
## PC1  1.000000e+00 -1.006354e-16 -5.069405e-16  1.331819e-15 -1.711219e-15
## PC2 -1.006354e-16  1.000000e+00  3.732843e-16  4.494537e-16  1.528560e-16
## PC3 -5.069405e-16  3.732843e-16  1.000000e+00 -3.354934e-16  4.356553e-16
## PC4  1.331819e-15  4.494537e-16 -3.354934e-16  1.000000e+00  4.338173e-16
## PC5 -1.711219e-15  1.528560e-16  4.356553e-16  4.338173e-16  1.000000e+00
## PC6 -2.332714e-15  5.325306e-16  1.735983e-16 -4.841057e-16 -1.208701e-17
##               PC6
## PC1 -2.332714e-15
## PC2  5.325306e-16
## PC3  1.735983e-16
## PC4 -4.841057e-16
## PC5 -1.208701e-17
## PC6  1.000000e+00

El gráfico predeterminado () para un PCA es un gráfico de pantalla, que muestra la proporción sucesiva de varianza adicional que agrega cada componente. Trazamos esto como un gráfico de líneas usando type = “l” (“L” minúscula para la línea):

plot(cp1, type="l")

Mapas perceptuales

Una buena manera de examinar los resultados de PCA es mapear los primeros componentes, lo que nos permite visualizar los datos en un espacio de menor dimensión. Una visualización común es un biplot, un gráfico bidimensional de puntos de datos con respecto a la primeros dos componentes de PCA, superpuestos con una proyección de las variables sobre los componentes. Usamos biplot() para generar esto:

biplot(cp1)

En la gráfica anterior, hay flechas que muestran el mejor ajuste de cada una de las variables en los componentes principales: una proyección de las variables en el espacio bidimensional de los dos primeros componentes del PCA, que explican gran parte de la variación en los datos. Es útil inspeccionarlos porque la dirección y el ángulo de las flechas reflejan la relación de las variables; un ángulo más cercano indica una asociación positiva más alta, mientras que la dirección relativa indica una asociación positiva o negativa de las variables.

Un biplot de la solución de PCA proporciona un mapa perceptual interpretable, que muestra dónde se ubican las marcas con respecto a los dos primeros componentes principales. Para una mejor visualización utilizaremos una trasformación de los datos:

biplot(cp1 , main="Player positioning" , cex=c(0.5 , 1))

¿Qué nos dice el mapa? Primero interpretamos los grupos de habilidadess y las relaciones y vemos tres áreas con conjuntos de habilidades y jugadores bien diferenciados que se posicionan en proximidad. Los jugadores 7, 16 y 27 son buenos con el balance, por ejemplo, mientras que 13 y 25 son relativamente altas en “Strengh” y “Jumping”.

Con un mapa de este tipo, se pueden formular preguntas y luego consultar los datos subyacentes para responderlas. Por ejemplo, suponga que es el manejador del jugador 45. ¿Qué te dice el mapa? Por un lado, su jugador está en el centro y, por lo tanto, parece no estar bien diferenciada en ninguna de las dimensiones. Eso podría ser bueno o malo, dependiendo de sus objetivos estratégicos. Si su objetivo es ser un jugador seguro que atraiga a muchos clubs, entonces podría ser deseable una posición relativamente indiferenciada como 45. Por otro lado, si desea que su jugador tenga una percepción fuerte y diferenciada, este hallazgo no sería deseado (pero es importante saberlo).

En resumen, cuando desee comparar varias marcas en muchas dimensiones, puede resultar útil centrarse solo en los dos o tres primeros componentes principales que explican la variación de los datos. Puede seleccionar en cuántos componentes enfocarse usando un gráfico de pantalla, que muestra cuánta variación en los datos se explica por cada componente principal. Un mapa perceptual traza las marcas en los dos primeros componentes principales, revelando cómo las observaciones se relacionan con las dimensiones subyacentes (los componentes).

El PCA se puede realizar utilizando calificaciones de encuestas de las marcas o con datos objetivos como precios y medidas físicas, o con una combinación de los dos. En cualquier caso, cuando se enfrenta a datos multidimensionales sobre marcas o productos, la visualización de PCA es una herramienta útil para comprender en qué se diferencian entre sí en el mercado.

Precauciones sobre los mapas perceptuales

Hay tres advertencias importantes al interpretar mapas de percepción. Primero, debe elegir cuidadosamente el nivel y el tipo de agregación. Demostramos los mapas usando la calificación media por jugador, pero dependiendo de los datos y la pregunta en cuestión, podría ser más adecuado usar la mediana (para datos ordinales) o incluso la respuesta modal (para datos categóricos). En segundo lugar, las relaciones son estrictamente relativas a la categoría de producto y las marcas y adjetivos que se prueban.A veces, el simple hecho de agregar o eliminar una marca puede cambiar significativamente el mapa resultante porque las posiciones son relativas. En otras palabras, si una nueva marca ingresa al mercado (o el análisis de uno), las otras posiciones pueden cambiar sustancialmente. En tercer lugar, con frecuencia se malinterpreta que las posiciones de las marcas en tal mapa dependen de su posición relativa en términos de los componentes principales, que son compuestos construidos de todas las dimensiones. Esto significa que la fuerza de una marca en un solo adjetivo no se puede leer directamente en el gráfico.

A pesar de estas advertencias, los mapas perceptuales pueden ser una herramienta valiosa. Los usamos principalmente para formular hipótesis y proporcionar material para informar análisis estratégicos de posicionamiento de marca y producto. Si se utilizan de esa manera, en lugar de como evaluaciones absolutas de la posición, pueden contribuir a entablar debates interesantes sobre la posición y la estrategia potencial.

Aunque ilustramos el PCA con la posición de la marca, se podría realizar el mismo tipo de análisis para las calificaciones de productos, la posición de los segmentos de consumidores, las calificaciones de los candidatos políticos, las evaluaciones de los anuncios o cualquier otra área en la que tenga datos de métricas en múltiples dimensiones que se agreguen para un número modesto de entidades discretas de interés.

Análisis factorial exploratorio

El análisis factorial exploratorio (EFA) es una familia de técnicas para evaluar la relación de constructos (conceptos) en encuestas y evaluaciones psicológicas. Los factores se consideran variables latentes que no se pueden observar directamente, pero que se evalúan de manera imperfecta a través de su relación con otras variables.

En marketing, a menudo observamos una gran cantidad de variables que creemos que deberían estar relacionadas con un conjunto más pequeño de constructos subyacentes. Por ejemplo, no podemos observar directamente la satisfacción del cliente, pero podemos observar las respuestas en una encuesta que pregunta sobre diferentes aspectos de la experiencia de un cliente, representando conjuntamente diferentes facetas de la satisfacción del constructo subyacente. De manera similar, no podemos observar directamente la intención de compra, la sensibilidad al precio o la participación de la categoría, pero podemos observar múltiples comportamientos que están relacionados con ellos.

El resultado de EFA es similar al PCA: una matriz de factores (similar a los componentes del PCA y su relación con las variables originales (cargas de los factores sobre las variables). A diferencia del PCA, EFA intenta encontrar soluciones que sean máximamente interpretables en términos de las variables manifiestas. En general, intenta encontrar soluciones en las que un pequeño número de cargas para cada factor son muy altas, mientras que otras cargas para ese factor son bajas. Cuando esto es posible, ese factor se puede interpretar en términos de esa pequeña conjunto de variables.

Debido a que EFA produce resultados que son interpretables en términos de las variables originales, un analista puede ser capaz de interpretar y actuar sobre los resultados en formas que serían difíciles con PCA. Por ejemplo, EFA se puede utilizar para refinar una encuesta manteniendo los elementos con una gran carga de factores de interés mientras se recortan los elementos que no se cargan mucho. EFA también es útil para investigar si los elementos de una encuesta realmente van juntos de una manera consistente con las expectativas.

Por ejemplo, si tenemos una encuesta de 10 ítems que se supone que evalúa la satisfacción del cliente de un solo constructo, es importante saber si esos ítems de hecho van juntos de una manera que pueda interpretarse como un solo factor, o si en cambio reflejan múltiples dimensiones que quizás no hayamos considerado. Antes de interpretar varios elementos como una evaluación de un solo concepto, es posible que desee probar si es apropiado hacerlo. En este capítulo, usamos EFA para investigar dicha estructura. Vamos a empezar determinando el número de factores que debemos crear:

library(nFactors)
## Warning: package 'nFactors' was built under R version 3.6.3
## Loading required package: lattice
## 
## Attaching package: 'nFactors'
## The following object is masked from 'package:lattice':
## 
##     parallel
nScree(data[,35:40])
##   noc naf nparallel nkaiser
## 1   2   2         2       2

Lo que estos resultados nos indican es que 2 factores son necesarios para hacer el análisis. Ahora, usando la función factanal() vamos a correr el análisis de nuestros factores:

af1 <- factanal(data[,35:40], factors = 2)
af1
## 
## Call:
## factanal(x = data[, 35:40], factors = 2)
## 
## Uniquenesses:
##   Balance ShotPower   Jumping   Stamina  Strength LongShots 
##     0.207     0.022     0.693     0.224     0.166     0.038 
## 
## Loadings:
##           Factor1 Factor2
## Balance    0.700  -0.550 
## ShotPower  0.984   0.104 
## Jumping            0.551 
## Stamina    0.880         
## Strength           0.912 
## LongShots  0.964  -0.179 
## 
##                Factor1 Factor2
## SS loadings      3.169   1.480
## Proportion Var   0.528   0.247
## Cumulative Var   0.528   0.775
## 
## Test of the hypothesis that 2 factors are sufficient.
## The chi square statistic is 4.88 on 4 degrees of freedom.
## The p-value is 0.3

Ahora, trataremos de mostrar gráficamente estos factores a través de un mapa de calor:

library(gplots)
## Warning: package 'gplots' was built under R version 3.6.3
## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess
library(RColorBrewer)
heatmap.2(af1$loadings , col=brewer.pal(9, "Greens"),trace="none", key= FALSE, dend="none", Colv = FALSE, cexCol = 1.2, cexRow = 0.8)