CURSO: TÉCNICAS MULTIVARIADAS
INTEGRANTES:
Aburto Huamán, Paulo Cesar - 20171219@lamolina.edu.pe
Alemán Pérez, Carol Viviana - 20190293@lamolina.edu.pe
Kuway Chero, Giancarlo Javier - 20171043@lamolina.edu.pe
Loechle Torres, Ian Lukas - 20200325@lamolina.edu.pe
Núñez Campos, Hilary Mayté - 20180267@lamolina.edu.pe
Repositorio: https://rpubs.com/Giankuway99
A finales del año 2013 algunos expertos (Delgado 2013, Nueno 2013, et. al.) se percatan de un cambio en los hábitos de compra de los consumidores, ya que empiezan a presentar un comportamiento más reflexivo, un cambio en la manera en la que se escogen los productos y por tanto dónde se compran, una pérdida en la fidelidad de las tiendas en pro de mejores precios y cercanía al hogar. Esto generó evidentemente un impacto en la perspectiva de comportamiento de consumidor por parte de los establecimientos comerciales.
El autor de este esudio utiliza como ejemplo la pregunta de un cuestionario que solicita información sobre las razones más importantes para acudir a diversos establecimientos comerciales, ofreciendo a los entrevistados ocho posibles motivos. Se le formuló la preguntra a 2.471 personas en mayo del año 2014; de los entrevistados se obtuvo que 551 personas eligen el gran almacén por su amplitud de horario, 441 entrevistados señalan esa misma razón para los hipermercados, y 367 para los bazares. Desde la perspectiva de las columnas, que 480 entrevistados utilizan el gran almacén por los por mejores precios, 135 por la calidad de sus productos, y 732 por el amplio surtido.
El objetivo es conocer cuál es el motivo final que lleva a los compradores tomar una decisión de dónde realizar sus compras.
A partir de esta encuesta se distinguen 11 posibles respuestas: Amplitud de horario, mejores precios, mayor calidad de productos, buen trato al cliente, cercanía de la tienda, surtido amplio, apertura en días festivos, otras respuestas, ninguna razón, no sabe, no responde.
En los datos observamos lo siguiente: Para poder observar la relación y la intensidad que tiene esa relación entre los componentes o dimensiones de ambas variables, además de la posibilidad de reducir la dimensionalidad de las mismas, se opta por realiza un Análisis de Correspondencia Simple, aprovechando también el hecho de que cumple con los parámetros previos necesarios para realizar dicho estudio: pertinencia, homogeneidad y exhaustividad.
El objetivo es realizar una caracterización de los establecimientos, conocer los “elementos diferenciadores o rasgos específicos” que consideran los entrevistados para llevar a cabo sus compras.
Este conjunto de datos presenta una fila (“No responde” en la variable Razones) que se decidió tomarla como una fila suplementaria o ilustrativa para el análisis.
datos.acs<-(matrix(c(551,24,223,441,37,367,
480,160,948,858,313,968,
135,774,117,91,537,11,
52,630,72,26,553,22,
43,375,570,105,602,125,
732,65,374,563,46,99,
125,14,37,110,59,199,
84,91,32,48,87,124,
117,94,21,67,53,254,
99,178,50,96,110,210,
53,66,27,66,74,92),nrow=11,byrow=T))
dimnames(datos.acs)<-list(Razón=c("Amplitud horario",
"Mejores precios",
"Mayor calidad productos",
"Buen trato cliente",
"Cercanía",
"Amplio surtido",
"Apertura festivos",
"Otras respuestas",
"Ninguna razón",
"No sabe",
"No responde"
),Tienda=c("Almacen",
"Boutique",
"SuperM",
"HiperM",
"Tradicional",
"Bazar"))A través de este análisis univariado podemos observar que el precio es la razón mas importante para visitar los establecimientos con un porcentaje de 25.1%, seguido del surtido de productos y la cercanía del establecimiento con un 12.7% y 12.3% respectivamente.
dt <- as.table(datos.acs)
kable(dt, caption = "Razones más importantes para acudir a establecimientos comeciales")| Almacen | Boutique | SuperM | HiperM | Tradicional | Bazar | |
|---|---|---|---|---|---|---|
| Amplitud horario | 551 | 24 | 223 | 441 | 37 | 367 |
| Mejores precios | 480 | 160 | 948 | 858 | 313 | 968 |
| Mayor calidad productos | 135 | 774 | 117 | 91 | 537 | 11 |
| Buen trato cliente | 52 | 630 | 72 | 26 | 553 | 22 |
| Cercanía | 43 | 375 | 570 | 105 | 602 | 125 |
| Amplio surtido | 732 | 65 | 374 | 563 | 46 | 99 |
| Apertura festivos | 125 | 14 | 37 | 110 | 59 | 199 |
| Otras respuestas | 84 | 91 | 32 | 48 | 87 | 124 |
| Ninguna razón | 117 | 94 | 21 | 67 | 53 | 254 |
| No sabe | 99 | 178 | 50 | 96 | 110 | 210 |
| No responde | 53 | 66 | 27 | 66 | 74 | 92 |
# Para graficarlo con % fila (perifles fila)
dt <- prop.table(dt,margin=1) balloonplot(t(dt),
main ="Gráfico Tienda Razón",
xlab ="Tienda",
ylab="Razón",
label = F, cum.margins=F,
label.lines=F, show.margins = F)mosaicplot((dt),las=2, col=brewer.pal(8,"Paired"), main="")Sabemos que este es el paso básico que se debe realizar para dar pie al ACS. También podemos ajustar los valores de la tabla de contingencia para aproximar el valor del test Chi-Cuadrado, si así se deseara:
\[ X^2=\sum\sum\frac{(\frac{k}{k}k_{ij}-\frac{kk_{i.}k_{.j}}{kk})^2}{\frac{kk_{i.}k_{.j}}{kk}} \]
\(H_{0}:\) Las variables son independientes
\(H_{1}:\) Las variables son dependientes
pander(chisq.test(datos.acs))| Test statistic | df | P value |
|---|---|---|
| 8495 | 50 | 0 * * * |
# Probando sin la fila "No Responde" de la variable Razones
pander(chisq.test(datos.acs[-11,]))| Test statistic | df | P value |
|---|---|---|
| 8467 | 45 | 0 * * * |
En ambos casos, la hipótesis nula resulta siendo rechazada. Por ende, las variables son dependientes y es correcto continuar con el análisis de correspondencia simple.
dt <- prop.table(dt, margin=1)
# dt # margin = 1 lo genera como perfiles fila, 2 lo indicaria como columna
kable(addmargins(dt, 2)) # el argumento "2" hace que se sume por filas y no por columnas ya que así es como se está trabajando| Almacen | Boutique | SuperM | HiperM | Tradicional | Bazar | Sum | |
|---|---|---|---|---|---|---|---|
| Amplitud horario | 0.3353621 | 0.0146074 | 0.1357273 | 0.2684114 | 0.0225198 | 0.2233719 | 1 |
| Mejores precios | 0.1287899 | 0.0429300 | 0.2543601 | 0.2302120 | 0.0839818 | 0.2597263 | 1 |
| Mayor calidad productos | 0.0810811 | 0.4648649 | 0.0702703 | 0.0546547 | 0.3225225 | 0.0066066 | 1 |
| Buen trato cliente | 0.0383764 | 0.4649446 | 0.0531365 | 0.0191882 | 0.4081181 | 0.0162362 | 1 |
| Cercanía | 0.0236264 | 0.2060440 | 0.3131868 | 0.0576923 | 0.3307692 | 0.0686813 | 1 |
| Amplio surtido | 0.3895689 | 0.0345929 | 0.1990420 | 0.2996275 | 0.0244811 | 0.0526876 | 1 |
| Apertura festivos | 0.2297794 | 0.0257353 | 0.0680147 | 0.2022059 | 0.1084559 | 0.3658088 | 1 |
| Otras respuestas | 0.1802575 | 0.1952790 | 0.0686695 | 0.1030043 | 0.1866953 | 0.2660944 | 1 |
| Ninguna razón | 0.1930693 | 0.1551155 | 0.0346535 | 0.1105611 | 0.0874587 | 0.4191419 | 1 |
| No sabe | 0.1332436 | 0.2395693 | 0.0672948 | 0.1292059 | 0.1480485 | 0.2826380 | 1 |
| No responde | 0.1402116 | 0.1746032 | 0.0714286 | 0.1746032 | 0.1957672 | 0.2433862 | 1 |
Interpretación:
0.389568920=39% de los encuestados de los grandes almacenes prefieren estos por su Amplio surtido.
0.464864865=46.48% de los encuestados de las boutiques prefieren estos por su mayor calidad en los productos.
dt <- prop.table(dt, margin=2)
kable(addmargins(dt, 1))| Almacen | Boutique | SuperM | HiperM | Tradicional | Bazar | |
|---|---|---|---|---|---|---|
| Amplitud horario | 0.1790158 | 0.0072375 | 0.1016087 | 0.1627361 | 0.0117363 | 0.1013310 |
| Mejores precios | 0.0687479 | 0.0212705 | 0.1904201 | 0.1395760 | 0.0437674 | 0.1178229 |
| Mayor calidad productos | 0.0432810 | 0.2303266 | 0.0526060 | 0.0331368 | 0.1680840 | 0.0029970 |
| Buen trato cliente | 0.0204853 | 0.2303661 | 0.0397793 | 0.0116337 | 0.2126924 | 0.0073654 |
| Cercanía | 0.0126117 | 0.1020886 | 0.2344592 | 0.0349785 | 0.1723818 | 0.0311568 |
| Amplio surtido | 0.2079513 | 0.0171397 | 0.1490076 | 0.1816622 | 0.0127584 | 0.0239013 |
| Apertura festivos | 0.1226559 | 0.0127511 | 0.0509174 | 0.1225961 | 0.0565222 | 0.1659464 |
| Otras respuestas | 0.0962212 | 0.0967549 | 0.0514077 | 0.0624508 | 0.0972970 | 0.1207117 |
| Ninguna razón | 0.1030601 | 0.0768551 | 0.0259424 | 0.0670324 | 0.0455795 | 0.1901406 |
| No sabe | 0.0711252 | 0.1186994 | 0.0503785 | 0.0783367 | 0.0771561 | 0.1282166 |
| No responde | 0.0748448 | 0.0865106 | 0.0534731 | 0.1058608 | 0.1020249 | 0.1104103 |
| Sum | 1.0000000 | 1.0000000 | 1.0000000 | 1.0000000 | 1.0000000 | 1.0000000 |
-Interpretación:
res.ca <- CA(datos.acs,ncp=5,graph=F,row.sup=11)
res.ca## **Results of the Correspondence Analysis (CA)**
## The row variable has 10 categories; the column variable has 6 categories
## The chi square of independence between the two variables is equal to 8467.483 (p-value = 0 ).
## *The results are available in the following objects:
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$col" "results for the columns"
## 3 "$col$coord" "coord. for the columns"
## 4 "$col$cos2" "cos2 for the columns"
## 5 "$col$contrib" "contributions of the columns"
## 6 "$row" "results for the rows"
## 7 "$row$coord" "coord. for the rows"
## 8 "$row$cos2" "cos2 for the rows"
## 9 "$row$contrib" "contributions of the rows"
## 10 "$row.sup$coord" "coord. for supplementary rows"
## 11 "$row.sup$cos2" "cos2 for supplementary rows"
## 12 "$call" "summary called parameters"
## 13 "$call$marge.col" "weights of the columns"
## 14 "$call$marge.row" "weights of the rows"
## Scree Plot de los Autovalores
res.ca$eig## eigenvalue percentage of variance cumulative percentage of variance
## dim 1 0.418763565 71.4533017 71.45330
## dim 2 0.085059191 14.5135837 85.96689
## dim 3 0.073418315 12.5273101 98.49420
## dim 4 0.007049281 1.2028133 99.69701
## dim 5 0.001775728 0.3029912 100.00000
#Scree-plot
fviz_screeplot(res.ca, addlabels = TRUE, ylim = c(0, 90),color="#79CDCD", barfill="#79CDCD")+ggplot2::labs(title = "Varianza Explicada",
subtitle = "Por cada Dimensión")+
ggplot2::ylab('% Variación Explicada') +ggplot2::xlab("Dimensiones") En el gráfico observamos que la dimensión 1 y 2 (71.45%, 14.51%), poseen el mayor porcentaje de Varianza explicada, así que con estas dimensiones será realizado el mapa perceptual.
summary(res.ca,nb.dec = 3, ncp = 3)##
## Call:
## CA(X = datos.acs, ncp = 5, row.sup = 11, graph = F)
##
## The chi square of independence between the two variables is equal to 8467.483 (p-value = 0 ).
##
## Eigenvalues
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Variance 0.419 0.085 0.073 0.007 0.002
## % of var. 71.453 14.514 12.527 1.203 0.303
## Cumulative % of var. 71.453 85.967 98.494 99.697 100.000
##
## Rows
## Iner*1000 Dim.1 ctr cos2 Dim.2 ctr
## Amplitud horario | 59.257 | -0.679 12.505 0.884 | -0.210 5.877
## Mejores precios | 67.903 | -0.407 10.189 0.628 | 0.285 24.557
## Mayor calidad productos | 116.611 | 0.967 25.714 0.923 | -0.243 7.980
## Buen trato cliente | 124.913 | 1.140 29.082 0.975 | -0.132 1.935
## Cercanía | 68.821 | 0.515 7.985 0.486 | 0.268 10.641
## Amplio surtido | 92.079 | -0.613 11.656 0.530 | -0.532 43.286
## Apertura festivos | 17.923 | -0.490 2.161 0.505 | 0.173 1.318
## Otras respuestas | 4.998 | 0.068 0.036 0.030 | 0.077 0.225
## Ninguna razón | 23.524 | -0.237 0.565 0.101 | 0.254 3.172
## No sabe | 10.038 | 0.093 0.107 0.045 | 0.129 1.009
## cos2 Dim.3 ctr cos2
## Amplitud horario 0.084 | 0.118 2.151 0.027 |
## Mejores precios 0.308 | -0.095 3.153 0.034 |
## Mayor calidad productos 0.058 | 0.092 1.333 0.008 |
## Buen trato cliente 0.013 | 0.104 1.378 0.008 |
## Cercanía 0.132 | -0.441 33.361 0.356 |
## Amplio surtido 0.400 | -0.222 8.730 0.070 |
## Apertura festivos 0.063 | 0.409 8.564 0.351 |
## Otras respuestas 0.038 | 0.358 5.633 0.827 |
## Ninguna razón 0.115 | 0.650 24.146 0.754 |
## No sabe 0.085 | 0.406 11.551 0.845 |
##
## Columns
## Iner*1000 Dim.1 ctr cos2 Dim.2 ctr
## Almacen | 91.272 | -0.562 12.633 0.580 | -0.462 42.056
## Boutique | 172.339 | 0.984 38.506 0.936 | -0.155 4.693
## SuperM | 53.924 | -0.186 1.391 0.108 | 0.224 9.958
## HiperM | 59.366 | -0.565 12.681 0.894 | -0.133 3.454
## Tradicional | 113.533 | 0.808 25.874 0.954 | 0.085 1.396
## Bazar | 95.631 | -0.476 8.916 0.390 | 0.446 38.443
## cos2 Dim.3 ctr cos2
## Almacen 0.392 | 0.081 1.507 0.012 |
## Boutique 0.023 | 0.179 7.229 0.031 |
## SuperM 0.157 | -0.482 53.493 0.728 |
## HiperM 0.049 | -0.069 1.072 0.013 |
## Tradicional 0.010 | -0.092 1.905 0.012 |
## Bazar 0.342 | 0.394 34.793 0.267 |
##
## Supplementary row
## Dim.1 cos2 Dim.2 cos2 Dim.3 cos2
## No responde | 0.036 0.013 | 0.089 0.076 | 0.273 0.713 |
row <- get_ca_row(res.ca)
col <- get_ca_col(res.ca)fviz_contrib(res.ca, choice = "row", axes = 1,fill ="#79CDCD", color="#79CDCD")+ ggplot2::labs(title = "Contribuciónes de las filas", subtitle = "A la Dimensión 1")+ggplot2::ylab('% Contribución') +ggplot2::xlab("Categorias")La gráfica muestra la contribución de las 10 diferentes categorías de las Razones a la dimensión 1, donde la línea roja punteada representa el valor de la contribución de las categorías en caso de que todas aportaran lo mismo.
fviz_contrib(res.ca, choice = "row", axes = 2,fill ="#79CDCD", color="#79CDCD")+ ggplot2::labs(title = "Contribuciónes de las filas", subtitle = "A la Dimensión 2")+
ggplot2::ylab('% Contribución') +
ggplot2::xlab("Categorias")La gráfica muestra la contribución de las 10 diferentes categorías de la Razones a la dimensión 2, donde la línea roja punteada representa el valor de la contribución de las categorías en caso de que todas aportaran lo mismo.
fviz_contrib(res.ca, choice = "col", axes = 1,fill="#BCD2EE", color="#BCD2EE")+ ggplot2::labs(title = "Contribuciónes de las columnas", subtitle = "A la Dimensión 1")+ggplot2::ylab('% Contribución') +ggplot2::xlab("Categorias")La gráfica muestra la contribución de las 6 diferentes categorías de las Tiendas a la dimensión 1, donde la línea roja punteada representa el valor de la contribución de las categorías en caso de que todas aportaran lo mismo.
fviz_contrib(res.ca, choice = "col", axes = 2,fill="#BCD2EE", color="#BCD2EE")+ ggplot2::labs(title = "Contribuciónes de las columnas", subtitle = "A la Dimensión 2")+ggplot2::ylab('% Contribución') +ggplot2::xlab("Categorias")La gráfica muestra la contribución de las 6 diferentes categorías de las Tiendas a la dimensión 2, donde la línea roja punteada representa el valor de la contribución de las categorías en caso de que todas aportaran lo mismo.
row$cos2## Dim 1 Dim 2 Dim 3 Dim 4
## Amplitud horario 0.88369501 0.08435934 0.026655639 5.021649e-03
## Mejores precios 0.62837852 0.30761505 0.034086272 2.895946e-02
## Mayor calidad productos 0.92342096 0.05820854 0.008394775 9.420763e-03
## Buen trato cliente 0.97495576 0.01317881 0.008099898 3.897713e-04
## Cercanía 0.48589905 0.13151301 0.355893858 2.495388e-02
## Amplio surtido 0.53011412 0.39986022 0.069607089 7.772951e-05
## Apertura festivos 0.50484513 0.06256390 0.350813667 5.590795e-02
## Otras respuestas 0.02996841 0.03833560 0.827403324 9.989254e-02
## Ninguna razón 0.10054020 0.11468813 0.753612780 9.628376e-03
## No sabe 0.04473451 0.08546835 0.844828113 1.850113e-02
## Dim 5
## Amplitud horario 0.0002683595
## Mejores precios 0.0009606965
## Mayor calidad productos 0.0005549616
## Buen trato cliente 0.0033757552
## Cercanía 0.0017402012
## Amplio surtido 0.0003408402
## Apertura festivos 0.0258693517
## Otras respuestas 0.0044001230
## Ninguna razón 0.0215305123
## No sabe 0.0064678891
col$cos2## Dim 1 Dim 2 Dim 3 Dim 4 Dim 5
## Almacen 0.5796248 0.39193173 0.01212490 0.0147741258 0.0015444248
## Boutique 0.9356484 0.02316332 0.03079627 0.0093562657 0.0010357276
## SuperM 0.1080011 0.15707430 0.72832446 0.0007925622 0.0058075790
## HiperM 0.8944845 0.04948284 0.01326048 0.0307266050 0.0120455395
## Tradicional 0.9543393 0.01045898 0.01231788 0.0192503404 0.0036334636
## Bazar 0.3904115 0.34193532 0.26711545 0.0003758333 0.0001619104
fviz_cos2(res.ca, choice = "row", axes = 1,fill="#FFA54F", color="#FFA54F")+ ggplot2::labs(title = "Cos2 de las filas", subtitle = "A la Dimensión 1")+ggplot2::ylab('Cos2-Calidad de la representación ') +ggplot2::xlab("Categorias")La dimensión 1 contribuye en un 88.37% a la inercia de la amplitud de los horarios, un 92.34% a la de la mayor calidad de productos y un 97.49% a la del buyen trato al cliente.
fviz_cos2(res.ca, choice = "row", axes = 2,fill="#FFA54F", color="#FFA54F")+ ggplot2::labs(title = "Cos2 de las filas", subtitle = "A la Dimensión 2")+ggplot2::ylab('Cos2-Calidad de la representación ') +ggplot2::xlab("Categorias")Por su parte, la dimensión 2 contribuye un 95.43% a la inercia de las tiendas tradicionales, un 93.56% a la de las boutiques y un 89.45% a la de los hipermercados.
plot.CA(res.ca)En el mapa perceptual resultante podemos observar que la información proporcionada por el gráfico indica una proximidad entre ciertas categorías lo cual significa una asociación. Podemos detectar este comportamiento en “amplio surtido” y “almacén”, lo cual significa que las personas que acuden a los almacenes tienen como principal motivo el amplio surtido que los almacenes poseeen. Lo mismo podemos resaltar de “amplitud horario” e “hipermercados”, asimismo como la “cercanía” y “tradicional” que se refiere a mercados tradicionales o de barrio. Las categorías que estan más cerca al origen (“no sabe”, “no responde”, “otras respuestas”) tienen muy poca explicación de la inercia y no deben ser interpretadas.
fit2 <- anacor(datos.acs,scaling="Goodman")plot(fit2,plot.type="jointplot")En el mapa perceptual resultante podemos observar que la información proporcionada por el gráfico indica una proximidad entre ciertas categorías lo cual significa una asociación. Podemos detectar este comportamiento en “amplio surtido” y “almacén”, lo cual significa que las personas que acuden a los almacenes tienen como principal motivo el amplio surtido que los almacenes poseeen. Lo mismo podemos resaltar de “amplitud horario” e “hipermercados”, asimismo como la “cercanía” y “tradicional” que se refiere a mercados tradicionales o de barrio. Las categorías que estan más cerca al origen (“no sabe”, “no responde”, “otras respuestas”) tienen muy poca explicación de la inercia y no deben ser interpretadas.
Como ya sabemos el objetivo del análisis de correspondencia es el estudio de la asociación entre las categorías de las variables usando el mapa perceptual para su interpretación, en nuestro caso en 2 dimensiones.
Para el caso de estudio la cantidad de dimensiones ideales serían 5, ya que estas representan el 100% de la inercia total; sin embargo, representar en 5 dimensiones su interpretación no es muy clara en el mapa perceptual, debido a esto usamos 2 dimensiones, ya que estas representan el 85.97% de la inercia total y su interpretación en el mapa perceptual es más clara.
La aplicación de análisis de correspondencia simple en este caso ha sido eficiente y nos proporcionó una mejor forma de interpretar la asociación y relación entre las distintas categorías de las variables estudiadas. Entonces al obtener estos resultados de mucha más sencilla interpretación, recomendamos realizar un análisis de correspondencia simple para una investigación de mercado o en el área de marketing en general.