El Ejercicio 8.12 pide analizar los datos de la tabla 8.5
getwd()
## [1] "C:/Users/dell/Documents/MAEA/Analisis Multivariado"
data<-read.table("T8-5.DAT")
colnames(data)<-c("Population","Professional","Employed ","Government","HomeValue")
str(data)
## 'data.frame': 61 obs. of 5 variables:
## $ Population : num 2.67 2.25 3.12 5.14 5.54 5.04 3.14 2.43 5.38 7.34 ...
## $ Professional: num 5.71 4.37 10.27 7.44 9.25 ...
## $ Employed : num 69 73 64.9 71.3 74.9 ...
## $ Government : num 30.3 43.3 32 24.5 31 48.2 37.6 36.8 19.7 24.5 ...
## $ HomeValue : num 1.48 1.44 2.11 1.85 2.23 1.6 1.52 1.4 2.07 1.42 ...
# Mostrar resumen de los datos
summary(data)
## Population Professional Employed Government
## Min. :1.360 Min. : 0.720 Min. :49.50 Min. :16.30
## 1st Qu.:3.120 1st Qu.: 1.670 1st Qu.:66.42 1st Qu.:20.60
## Median :4.720 Median : 3.380 Median :71.30 Median :24.40
## Mean :4.469 Mean : 3.962 Mean :71.42 Mean :26.91
## 3rd Qu.:5.760 3rd Qu.: 4.830 3rd Qu.:77.33 3rd Qu.:31.00
## Max. :9.210 Max. :16.700 Max. :86.54 Max. :68.50
## HomeValue
## Min. :0.930
## 1st Qu.:1.300
## Median :1.490
## Mean :1.636
## 3rd Qu.:1.780
## Max. :3.640
pca_cov <- prcomp(data, scale.=FALSE) # sin estandarizar
summary(pca_cov)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 10.345 6.2986 2.89324 1.69348 0.39331
## Proportion of Variance 0.677 0.2510 0.05295 0.01814 0.00098
## Cumulative Proportion 0.677 0.9279 0.98088 0.99902 1.00000
fviz_eig(pca_cov, addlabels=TRUE, barfill="gray", barcolor="black") +
ggtitle("Scree plot – PCA con covarianzas")
El primer componente suele estar dominado por las variables con mayor
varianza en sus unidades originales (ej. población, manufactura).
En esta grafica podemos apreciar que la primer componente tiene un 67.7%
y la segunda un 25.1%, representando la mayor cantidad de información y
variabilidad del conjunto de datos.
Hay que tener en cuenta que con covarianzas, la escala influye
mucho.
# Matriz de correlaciones
pca_cor <- prcomp(data, scale.=TRUE);pca_cor
## Standard deviations (1, .., p=5):
## [1] 1.4113534 1.1694129 0.9296006 0.7314787 0.4912604
##
## Rotation (n x k) = (5 x 5):
## PC1 PC2 PC3 PC4 PC5
## Population 0.2625829 -0.4629936 0.78390268 0.2169291 -0.2347882
## Professional -0.5933541 -0.3256442 -0.16407255 -0.1446471 -0.7028828
## Employed 0.3256978 -0.6051419 -0.22487455 -0.6628689 0.1943206
## Government -0.4792022 0.2524850 0.55070086 -0.5716730 0.2766497
## HomeValue -0.4932213 -0.4996473 -0.06882436 0.4072024 0.5801162
summary(pca_cor)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 1.4114 1.1694 0.9296 0.7315 0.49126
## Proportion of Variance 0.3984 0.2735 0.1728 0.1070 0.04827
## Cumulative Proportion 0.3984 0.6719 0.8447 0.9517 1.00000
fviz_eig(pca_cor, addlabels=TRUE, barfill="skyblue", barcolor="black") +
ggtitle("Scree plot – PCA con correlaciones")
Aquí todas las variables están estandarizadas y los autovalores muestran
qué proporción de varianza explican las PCs.
Los primeros 3 componentes capturan la mayoría de la varianza.
#Diagnósticos previos (Bartlett y KMO)
#prueba bartlett
bart <- cortest.bartlett(cor(data), n=nrow(data));bart
## $chisq
## [1] 68.47302
##
## $p.value
## [1] 8.733903e-11
##
## $df
## [1] 10
#prueba kmo
kmo <- KMO(cor(data));kmo
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = cor(data))
## Overall MSA = 0.47
## MSA for each item =
## Population Professional Employed Government HomeValue
## 0.37 0.47 0.46 0.51 0.47
Prueba bartlett.
La hipótesis nula: la matriz de correlaciones es una matriz identidad,
lo que significa que las variables no están correlacionadas entre
sí.
La hipótesis nula se rechaza por lo tanto las correlaciones son
diferentes de cero y el PCA tiene sentido.
Prueba KMO
Los valores generados por la prueba para las variables son cercanos a
0.5 a excepción de uno el cual es “population”.
loadings <- pca_cor$rotation
round(loadings[,1:3],3)
## PC1 PC2 PC3
## Population 0.263 -0.463 0.784
## Professional -0.593 -0.326 -0.164
## Employed 0.326 -0.605 -0.225
## Government -0.479 0.252 0.551
## HomeValue -0.493 -0.500 -0.069
fviz_pca_var(pca_cor, col.var="contrib") + ggtitle("Contribución de variables")
fviz_pca_var(pca_cor, col.var="cos2") + ggtitle("Calidad de representación (cos2)")
Dim1 (39.8%):Positivo con altas cargas de Population, Employed y
negativo con oposición con Professional y HomeValue. Podria
interpretarse como un eje socioeconómico, donde un lado refleja
concentración poblacional y empleo, y el otro refleja nivel educativo y
valor de vivienda.
Dim2 (27.4%):Dominado por Government en sentido positivo. Este eje
podría interpretarse como un factor de empleo gubernamental que se
distingue de los demás.
Relación entre variables: Population y Employed apuntan casi en la misma
dirección esto implica están fuertemente correlacionadas. Professional y
HomeValue también correlacionadas entre sí, y en oposición a
Population/Employed esto implica representan un patrón alternativo de
desarrollo socioeconómico. Government apunta en dirección distinta, lo
que indica que captura un factor independiente respecto a los otros
grupos.
Con solo dos componentes principales se logra un buen resumen de la
información.
El PC1 diferencia entre tracts con alta población/empleo vs. aquellos
con mayor nivel profesional y valor de vivienda.
El PC2 resalta la dimensión del empleo gubernamental.
Así, el PCA sugiere que los datos pueden reducirse a dos dimensiones
representativas: socioeconomía general (Dim1) y empleo público
(Dim2).
Con covarianzas las variables de mayor escala dominan el
análisis.
Con correlaciones las variables contribuyen de manera más
equilibrada.
En ambos casos, los datos pueden resumirse en 2 o 3 componentes
principales que explican la mayor parte de la varianza.