Una empresa especializada en el diseño de automóviles de turismo
desea estudiar cuáles son los deseos del público que compra automóviles.
Para ello diseña una encuesta con 10 preguntas donde se le pide a cada
uno de los 20 encuestados que valore de 1 a 5 si una característica es o
no muy importante. Los encuestados deberán contestar con un 5 si la
característica es muy importante, un4 si es importante, un 3 si tiene
regular importancia, un 2 si es poco importante y un 1 si no es nada
importante. Las 10 características (V1 a V10) a valorar son: precio,
financiación, consumo, combustible, seguridad, confort, capacidad,
prestaciones, modernidad y aerodinámica.
library(kableExtra)
#Cargamos
load("C:/Users/guada/Desktop/Jazz/CICLO II 2023/MAE118 2023/TAREAS PORTAFOLIO/6-2.RData")
X6_2 %>% head() %>%
kable(caption = "Matriz de Información:", align = "c", digits = 6 ) %>%
kable_material(html_font = "sans-serif")
Realizar un análisis de Componentes Principales, una solución
adecuada de la cantidad de Componentes a retener y justifique su
respuesta.
Literal c
Realiza un análisis de componentes principales, y con base en los
criterios vistos en clase. Donde se incluya las tablas y gráficos vistos
en clase.
matriz_Rx<-X6_2 %>% as.matrix() %>% rcorr()
matriz_Rx$r %>% kable(caption="Matriz R(X)",
align = "c",
digits = 2) %>%
kable_material(html_font = "sans-serif") %>%
kable_styling(bootstrap_options = c("striped", "hover"))
Matriz R(X)
|
|
V1
|
V2
|
V3
|
V4
|
V5
|
V6
|
V7
|
V8
|
V9
|
V10
|
|
V1
|
1.00
|
0.87
|
0.82
|
0.82
|
-0.50
|
-0.19
|
0.21
|
-0.65
|
-0.64
|
-0.50
|
|
V2
|
0.87
|
1.00
|
0.73
|
0.83
|
-0.44
|
-0.07
|
0.25
|
-0.78
|
-0.75
|
-0.70
|
|
V3
|
0.82
|
0.73
|
1.00
|
0.81
|
-0.48
|
-0.23
|
0.19
|
-0.56
|
-0.63
|
-0.54
|
|
V4
|
0.82
|
0.83
|
0.81
|
1.00
|
-0.55
|
-0.26
|
0.17
|
-0.74
|
-0.79
|
-0.65
|
|
V5
|
-0.50
|
-0.44
|
-0.48
|
-0.55
|
1.00
|
0.74
|
0.18
|
0.29
|
0.34
|
0.12
|
|
V6
|
-0.19
|
-0.07
|
-0.23
|
-0.26
|
0.74
|
1.00
|
0.42
|
0.13
|
0.05
|
-0.24
|
|
V7
|
0.21
|
0.25
|
0.19
|
0.17
|
0.18
|
0.42
|
1.00
|
-0.30
|
-0.18
|
-0.41
|
|
V8
|
-0.65
|
-0.78
|
-0.56
|
-0.74
|
0.29
|
0.13
|
-0.30
|
1.00
|
0.89
|
0.73
|
|
V9
|
-0.64
|
-0.75
|
-0.63
|
-0.79
|
0.34
|
0.05
|
-0.18
|
0.89
|
1.00
|
0.78
|
|
V10
|
-0.50
|
-0.70
|
-0.54
|
-0.65
|
0.12
|
-0.24
|
-0.41
|
0.73
|
0.78
|
1.00
|
matriz_Rx$P %>% kable(caption="p-values de R(X)",
align = "c",
digits = 2) %>%
kable_classic_2(html_font = "sans-serif") %>%
kable_styling(bootstrap_options = c("striped", "hover"))
p-values de R(X)
|
|
V1
|
V2
|
V3
|
V4
|
V5
|
V6
|
V7
|
V8
|
V9
|
V10
|
|
V1
|
NA
|
0.00
|
0.00
|
0.00
|
0.02
|
0.41
|
0.37
|
0.00
|
0.00
|
0.03
|
|
V2
|
0.00
|
NA
|
0.00
|
0.00
|
0.05
|
0.77
|
0.29
|
0.00
|
0.00
|
0.00
|
|
V3
|
0.00
|
0.00
|
NA
|
0.00
|
0.03
|
0.34
|
0.42
|
0.01
|
0.00
|
0.01
|
|
V4
|
0.00
|
0.00
|
0.00
|
NA
|
0.01
|
0.27
|
0.46
|
0.00
|
0.00
|
0.00
|
|
V5
|
0.02
|
0.05
|
0.03
|
0.01
|
NA
|
0.00
|
0.46
|
0.21
|
0.14
|
0.61
|
|
V6
|
0.41
|
0.77
|
0.34
|
0.27
|
0.00
|
NA
|
0.06
|
0.58
|
0.82
|
0.32
|
|
V7
|
0.37
|
0.29
|
0.42
|
0.46
|
0.46
|
0.06
|
NA
|
0.20
|
0.45
|
0.07
|
|
V8
|
0.00
|
0.00
|
0.01
|
0.00
|
0.21
|
0.58
|
0.20
|
NA
|
0.00
|
0.00
|
|
V9
|
0.00
|
0.00
|
0.00
|
0.00
|
0.14
|
0.82
|
0.45
|
0.00
|
NA
|
0.00
|
|
V10
|
0.03
|
0.00
|
0.01
|
0.00
|
0.61
|
0.32
|
0.07
|
0.00
|
0.00
|
NA
|
library(stargazer)
#Descomposición de autovalores y autovectores:
descomposicion<-eigen(matriz_Rx$r)
t(descomposicion$values) %>% kable(caption="Autovalores de R(X)",
align = "c",
digits = 2) %>%
kable_classic_2(html_font = "sans-serif") %>%
kable_styling(bootstrap_options = c("striped", "hover"))
Autovalores de R(X)
|
5.7
|
2.07
|
0.72
|
0.55
|
0.32
|
0.27
|
0.15
|
0.13
|
0.07
|
0.03
|
descomposicion$vectors %>% kable(caption="Autovectores de R(X)",
align = "c",
digits = 2) %>%
kable_classic_2(html_font = "sans-serif") %>%
kable_styling(bootstrap_options = c("striped", "hover"))
Autovectores de R(X)
|
-0.37
|
-0.07
|
-0.31
|
0.34
|
0.38
|
-0.13
|
0.05
|
0.14
|
0.67
|
-0.10
|
|
-0.39
|
0.04
|
-0.04
|
0.19
|
0.28
|
-0.47
|
-0.33
|
-0.06
|
-0.48
|
0.41
|
|
-0.35
|
-0.08
|
-0.32
|
0.36
|
-0.31
|
0.56
|
-0.11
|
0.34
|
-0.32
|
-0.09
|
|
-0.39
|
-0.08
|
-0.02
|
0.09
|
-0.14
|
0.12
|
0.26
|
-0.85
|
-0.03
|
-0.11
|
|
0.22
|
0.50
|
0.18
|
0.30
|
0.34
|
0.50
|
-0.26
|
-0.23
|
0.12
|
0.27
|
|
0.08
|
0.63
|
0.00
|
0.40
|
-0.13
|
-0.33
|
0.38
|
0.09
|
-0.18
|
-0.36
|
|
-0.12
|
0.47
|
-0.63
|
-0.57
|
0.04
|
0.07
|
0.08
|
-0.02
|
0.00
|
0.16
|
|
0.36
|
-0.11
|
-0.33
|
0.34
|
-0.47
|
-0.17
|
0.10
|
-0.10
|
0.19
|
0.58
|
|
0.37
|
-0.10
|
-0.43
|
0.10
|
0.03
|
-0.14
|
-0.56
|
-0.28
|
-0.08
|
-0.49
|
|
0.32
|
-0.32
|
-0.27
|
0.11
|
0.56
|
0.15
|
0.51
|
-0.01
|
-0.35
|
0.04
|
library(factoextra)
library(ggplot2)
#Cálcuclo usando R:
options(scipen = 99999)
PCA<-princomp(x =X6_2,cor = TRUE,fix_sign = FALSE)
factoextra::get_eig(PCA) %>% kable(caption="Resumen de PCA",
align = "c",
digits = 2) %>%
kable_material(html_font = "sans-serif") %>%
kable_styling(bootstrap_options = c("hover"))
Resumen de PCA
|
|
eigenvalue
|
variance.percent
|
cumulative.variance.percent
|
|
Dim.1
|
5.70
|
57.01
|
57.01
|
|
Dim.2
|
2.07
|
20.69
|
77.70
|
|
Dim.3
|
0.72
|
7.20
|
84.91
|
|
Dim.4
|
0.55
|
5.48
|
90.39
|
|
Dim.5
|
0.32
|
3.16
|
93.54
|
|
Dim.6
|
0.27
|
2.71
|
96.25
|
|
Dim.7
|
0.15
|
1.46
|
97.72
|
|
Dim.8
|
0.13
|
1.28
|
99.00
|
|
Dim.9
|
0.07
|
0.68
|
99.68
|
|
Dim.10
|
0.03
|
0.32
|
100.00
|
fviz_eig(PCA,
choice = "eigenvalue",
barcolor = "darkolivegreen3",
barfill = "darkolivegreen3",
addlabels = TRUE,
)+labs(title = "Gráfico de Sedimentación",subtitle = "Usando princomp, con Autovalores")+
xlab(label = "Componentes")+
ylab(label = "Autovalores")+geom_hline(yintercept = 1)

fviz_eig(PCA,
choice = "variance",
barcolor = "pink3",
barfill = "pink3",
addlabels = TRUE,
)+labs(title = "Gráfico de Sedimentación",
subtitle = "Usando princomp, con %Varianza Explicada")+
xlab(label = "Componentes")+
ylab(label = "%Varianza")

¿Cuántas Componentes habría que retener?
Criterio de raíz latente. En este criterio se debe
retener dimensiones que tengan un autovalor superior o por lo menos a 1.
Por lo tanto, se deben retener las primeras dos dimensiones que tienen
el autovalor de 5.70 y 2.10
Criterio de los tres cuartos. En este criterio se
deben retener dimensiones en donde se tome al menos el 75% de la
varianza de los datos iniciales. Por lo que, en este caso se toman las
primeras dos dimensiones ya que se llega al valor de 77.70% de varianza
de los datos iniciales.
Criterio de Elbow. También conocido como criterio
del “codo”, se retienen las dimensiones donde ocurre el cambio de
tendencia. En este caso, se tomarían las tres primeras dimensiones, es
decir, el valor de 3.8, el de 1.9 y 0.8 donde este último es el punto
tendencial donde ocurrió el cambio.