El conjunto de datos con el que trabajaremos proviene de la American Community Survey (ACS) de el United States Census Bureau (o simplemente, Census Bureau). En particular, se emplearon estimaciones quinquenales, las cuales combinan información recolectada entre los años 2019 y 2023 para producir estimaciones confiables de variables socioeconómicas a nivel de ZIP Code Tabulation Area (ZCTA) (áreas de tabulación de códigos postales).
Las ZCTAs son áreas geográficas creadas por el Census Bureau para aproximar los conocidos ZIP Codes (códigos postales) del United States Postal Service. Un ZIP Code no es un área geográfica, sino una ruta de distribución de correo. Por ello, puede cambiar con el tiempo, puede no representar una región continua, e incluso algunos corresponden únicamente a edificios, empresas o apartados postales. Para resolver ese problema, el Census Bureau construyó las ZCTAs, que sí son polígonos geográficos. Cada una de ellas representa una pequeña región del territorio estadounidense asociada aproximadamente a un código postal. Dado que estas unidades geográficas son áreas pequeñas, por defecto la información para ellas es quinquenal, pues esto ofrece mayor precisión (reducción del error de muestreo) al combinar información de cinco años consecutivos. Las ZCTAs son ampliamente utilizadas en la actualidad para investigación en materia de Economía, Salud Pública, Sociología y Geografía.
Actualmente, se tiene registro de \(33777\) ZCTAs con información agregada estimada por el Census Bureau para cada una en materia de información censal: medidas demográficas, económicas, laborales, diversos índices multidimensionales, de desarrollo urbano, entre otras.
Nuestra pregunta de investigación en este ejemplo es qué dimensiones latentes describen las diferencias socioeconómicas entre las regiones de Estados Unidos, para lo cual emplearemos como unidades de análisis a las ZCTAs. Como variables observadas, escogimos las siguientes nueve:
Ingreso mediano del hogar
Tasa de pobreza (en porcentaje)
Porcentaje de graduados de secundaria (High school)
Porcentaje de graduados de pregrado (Bachelor’s degree)
Porcentaje de graduados de posgrado (Professional degree)
Tasa de desempleo (en porcentaje)
Tasa de participación en fuerza laboral (en porcentaje)
Mediana del avalúo de los hogares
Porcentaje de viviendas ocupadas por su propietario
A primera vista, es de esperar que estas variables estén correlacionadas, y de hecho esa noción intuitiva fue utilizada en la elección de las variables, pues aquellas que se espere sean prácticamente independientes, como la edad media en cada ZCTA o el tiempo promedio de desplazamiento al trabajo, no tendría sentido analizarlas mediante un modelo factorial. De esta manera, se espera que haya tres o cuatro factores latentes comunes a las variables observadas, posiblemente uno de desarrollo económico, otro de capital humano, otro de mercado laboral, entre otras.
Una vez importada la información para nuestras nueve variables de investigación, se eliminaron las observaciones (ZCTAs) con al menos un dato faltante. Dado el gran tamaño de la base de datos (\(33777\) unidades), a esta reducción sobrevivió el \(87\)% de las observaciones (\(29446\) unidades), con lo cual la pérdida de información no comprometió el análisis en gran medida. En síntesis, nuestra base de datos final resultó en un conjunto de datos con \(29466\) observaciones a lo largo de \(9\) variables seleccionadas para el análisis factorial.
En primer lugar, cargamos las librerías necesarias y la base de datos:
library(tidyverse)
library(psych)
library(corrplot)
library(moments)
library(xtable)
library(GGally)
library(nFactors)
library(tictoc)
datos_af <- read.csv("ACS_ZCTA_2019_2023(García-Barrantes-Arévalo-Prieto).csv")Después, revisamos la matriz de correlaciones muestral \(\widetilde{\mathbf{R}}\):
R <- cor(datos_af)
corrplot(R, method = "color", type = "upper", order = "hclust",
addCoef.col = "black", tl.col = "black", tl.srt = 45, diag = FALSE)Aplicamos la prueba de esfericidad de Bartlett
## $chisq
## [1] 152973.1
##
## $p.value
## [1] 0
##
## $df
## [1] 36
A partir de estos resultados, se rechaza la hipótesis de que la matriz de correlaciones es la identidad con un valor calculado del estadístico de prueba \(\chi^2=152973.1\), \(36\) grados de libertad y un \(p\) valor inferior a \(0.001\), lo cual indica que las variables presentan una estructura de correlaciones suficiente para justificar la aplicación del análisis factorial.
Además, el índice de Kaiser-Meyer-Olkin (KMO):
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = datos_af)
## Overall MSA = 0.73
## MSA for each item =
## Ingreso Avaluo Pobreza Pregrado Secundaria
## 0.75 0.77 0.82 0.75 0.84
## Posgrado Desempleo Fuerza_laboral Propietarios
## 0.75 0.83 0.58 0.36
es de \(0.73\), lo cual indica que la estructura de correlaciones es suficientemente compacta para que el análisis factorial produzca factores estables e interpretables. En investigación aplicada, es perfectamente aceptable trabajar con \(0.7\leqslant\)KMO siempre que las variables tengan sentido desde el punto de vista sustantivo. En cuanto a los índices MSA (medidas de adecuación del muestreo), los valores calculados para Fuerza laboral y Propietarios son muy bajos; sin embargo, al revisar \(\widetilde{\mathbf{R}}\), es claro que existen correlaciones no tan bajas con otras variables, lo que da espacio a pensar que el problema no son las correlaciones simples, sino las correlaciones parciales, pues el índice MSA tiene en cuenta ambas.
En síntesis, aunque las variables Fuerza laboral y Propietarios presentan índices MSA individuales relativamente bajos, se decidió conservarlas debido a su relevancia conceptual dentro del constructo de desarrollo socioeconómico y a que muestran correlaciones sustantivas con otras variables. El KMO de \(0.73\) indica que, en conjunto, la matriz de correlaciones es adecuada para la aplicación del análisis factorial.
Conviene iniciar con la descomposición de la varianza según el ACP. Para ello, calculamos los valores propios de \(\widetilde{\mathbf{R}}\):
Eigen_R <- eigen(R)
data.frame(Factor = 1:length(Eigen_R$values), Valor_propio = round(Eigen_R$values, 3))## Factor Valor_propio
## 1 1 3.962
## 2 2 1.667
## 3 3 0.975
## 4 4 0.779
## 5 5 0.661
## 6 6 0.381
## 7 7 0.335
## 8 8 0.154
## 9 9 0.085
Éstos son: \[ 3.962>1.667>0.975>0.779>0.661>0.381>0.335>0.154>0.085. \]
Siguiendo la regla de Kaiser, nos quedaríamos únicamente con dos factores, el asociado al valor propio \(3.962\) y el de \(1.667\).
Ahora bien, bajo el criterio de porcentaje de varianza explicada, calculando (4.1), llegamos a los resultados de la siguiente tabla:
prop_var <- Eigen_R$values/sum(Eigen_R$values)
var_acum <- cumsum(prop_var)
data.frame(Factor = 1:length(prop_var), Valor_propio = round(Eigen_R$values, 3),
Varianza = round(100*prop_var, 2), Acumulada = round(100*var_acum, 2))## Factor Valor_propio Varianza Acumulada
## 1 1 3.962 44.03 44.03
## 2 2 1.667 18.53 62.55
## 3 3 0.975 10.83 73.38
## 4 4 0.779 8.66 82.04
## 5 5 0.661 7.35 89.39
## 6 6 0.381 4.24 93.62
## 7 7 0.335 3.72 97.34
## 8 8 0.154 1.72 99.06
## 9 9 0.085 0.94 100.00
El scree plot asociado a los valores propios de \(\widetilde{\mathbf{R}}\) es dado a continuación:
plot(Eigen_R$values, type = "b", pch = 19, xlab = "Número de componente",
ylab = "Valor propio", main = "Scree Plot")
abline(h = 1, lty = 2)La línea punteada horizontal en \(1\) hace alusión al criterio de Kaiser. Nótese lo subjetivo de escoger el punto de inflexión, pues en los factores 2 y 3 la pendiente cambia sustancialmente, mas no hay uno en específico que muestre ser mejor codo que el otro.
Finalmente, resulta ilustrativo comparar el análisis paralelo de Horn cuando los valores propios se obtienen a partir de un ACP con el caso en que se obtienen a partir del modelo factorial. En el primer caso, los valores propios corresponden a la matriz de correlaciones muestral \(\widetilde{\mathbf{R}}\), mientras que en el segundo, se calculan a partir de la matriz de correlaciones reducida, cuya diagonal está formada por las comunalidades estimadas. Como consecuencia, ambos enfoques pueden sugerir un número diferente de factores. A continuación, presentamos los gráficos obtenidos mediante el análisis paralelo de Horn empleando \(1000\) simulaciones en ambos casos. Para el modelo factorial, las comunalidades fueron estimadas mediante el método de máxima verosimilitud.
## Parallel analysis suggests that the number of factors = NA and the number of components = 2
## 95.52 sec elapsed
## Parallel analysis suggests that the number of factors = 4 and the number of components = NA
## 97.26 sec elapsed
Una vez decidido el número de factores con el que procederemos (\(2\) y \(3\) para comparar el mejor modelo factorial), continuamos con la estimación de las cargas factoriales con los métodos de extracción discutidos en esta sección. Para este ejemplo, realizamos las estimaciones sin elegir ninguna rotación específica, pues éstas se aplicarán más adelante.
Si consideramos dos factores, las estimaciones de las cargas obtenidas son:
af_pc2 <- principal(datos_af, nfactors = 2, fm = "pc", rotate = "none")
af_pc2$loadings
af_pc2$communality
af_pa2 <- fa(datos_af, nfactors = 2, fm = "pa", rotate = "none")
af_pa2$loadings
af_pa2$communality
af_pa2$uniquenesses
af_ml2 <- fa(datos_af, nfactors = 2, fm = "ml", rotate = "none")
af_ml2$loadings
af_ml2$communality
af_ml2$uniquenesses| Variable | 1 | 2 | 1 | 2 | 1 | 2 |
|---|---|---|---|---|---|---|
| Ingreso | 0.882 | NA | 0.859 | -0.107 | 0.764 | 0.333 |
| Avalúo | 0.751 | 0.376 | 0.709 | 0.286 | 0.723 | NA |
| Pobreza | -0.645 | 0.545 | -0.613 | 0.592 | -0.438 | -0.745 |
| Pregrado | 0.885 | 0.293 | 0.909 | 0.295 | 0.968 | NA |
| Secundaria | 0.633 | -0.342 | 0.553 | -0.279 | 0.511 | 0.347 |
| Posgrado | 0.822 | 0.355 | 0.820 | 0.339 | 0.916 | -0.160 |
| Desempleo | -0.303 | 0.513 | -0.243 | 0.327 | -0.168 | -0.367 |
| Fuerza laboral | 0.497 | NA | 0.408 | NA | 0.356 | 0.242 |
| Propietarios | NA | -0.797 | NA | -0.589 | NA | 0.556 |
Y para tres factores:
af_pc3 <- principal(datos_af, nfactors = 3, fm = "pc", rotate = "none")
af_pc3$loadings
af_pc3$communality
af_pa3 <- fa(datos_af, nfactors = 3, fm = "pa", rotate = "none")
af_pa3$loadings
af_pa3$communality
af_pa3$uniquenesses
af_ml3 <- fa(datos_af, nfactors = 3, fm = "ml", rotate = "none")
af_ml3$loadings
af_ml3$communality
af_ml3$uniquenesses| Variable | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 |
|---|---|---|---|---|---|---|---|---|---|
| Ingreso | 0.882 | NA | NA | 0.857 | -0.110 | NA | 0.919 | NA | -0.387 |
| Avalúo | 0.751 | 0.376 | 0.168 | 0.704 | 0.257 | 0.102 | 0.754 | 0.270 | NA |
| Pobreza | -0.645 | 0.545 | 0.109 | -0.609 | 0.501 | 0.286 | -0.508 | 0.502 | 0.286 |
| Pregrado | 0.885 | 0.293 | 0.118 | 0.906 | 0.260 | 0.150 | 0.923 | NA | 0.379 |
| Secundaria | 0.633 | -0.342 | NA | 0.550 | -0.250 | NA | 0.502 | -0.497 | NA |
| Posgrado | 0.822 | 0.355 | 0.205 | 0.829 | 0.302 | 0.249 | 0.844 | NA | 0.329 |
| Desempleo | -0.303 | 0.513 | 0.294 | -0.243 | 0.277 | 0.161 | -0.189 | 0.368 | NA |
| Fuerza laboral | 0.497 | NA | -0.762 | 0.433 | NA | -0.458 | 0.410 | NA | -0.124 |
| Propietarios | NA | -0.797 | 0.450 | NA | -0.893 | 0.375 | NA | -0.479 | -0.421 |
Y las estimaciones de las comunalidades y unicidades se sintetizan en la siguiente tabla para el caso de dos factores (para el de tres se obtiene una tabla similar que omitimos para no dilatar el ejemplo).
| Variable | \(\widehat{h}^2\) | \(\widehat{\psi}\) | \(\widehat{h}^2\) | \(\widehat{\psi}\) | \(\widehat{h}^2\) | \(\widehat{\psi}\) |
|---|---|---|---|---|---|---|
| Ingreso | 0.78 | NA | 0.75 | 0.25 | 0.69 | 0.30 |
| Avalúo | 0.70 | NA | 0.58 | 0.41 | 0.52 | 0.48 |
| Pobreza | 0.71 | NA | 0.72 | 0.27 | 0.74 | 0.25 |
| Pregrado | 0.87 | NA | 0.91 | 0.09 | 0.94 | 0.06 |
| Secundaria | 0.52 | NA | 0.38 | 0.62 | 0.38 | 0.62 |
| Posgrado | 0.80 | NA | 0.79 | 0.21 | 0.86 | 0.13 |
| Desempleo | 0.35 | NA | 0.17 | 0.83 | 0.16 | 0.84 |
| Fuerza laboral | 0.25 | NA | 0.17 | 0.83 | 0.18 | 0.81 |
| Propietarios | 0.64 | NA | 0.35 | 0.65 | 0.31 | 0.69 |
Las cargas factoriales obtenidas inmediatamente después de la extracción son matemáticamente válidas, pero normalmente no constituyen la solución más interpretable. La interpretación sustantiva definitiva se realiza una vez se ha aplicado una rotación apropiada, cuyo objetivo es obtener una representación equivalente que facilite la interpretación sustantiva de los factores.
Vimos recientemente que las estimaciones provistas, siguiendo los métodos de extracción de factores principales y máxima verosimilitud, resultaban similares, tanto con dos factores como con tres.
Por esta razón, continuaremos con las estimaciones de máxima verosimilitud. Si a éstas aplicamos el criterio Varimax, obtenemos las cargas factoriales estimadas que se diligencian en las tablas siguientes para \(2\) y \(3\) factores respectivamente.
af_varimax2 <- fa(datos_af, nfactors = 2, fm = "ml", rotate = "varimax")
af_varimax2$loadings
af_varimax3 <- fa(datos_af, nfactors = 3, fm = "ml", rotate = "varimax")
af_varimax3$loadings
af_varimax2$Vaccounted; af_varimax3$Vaccounted| Variable | Factor.1 | Factor.2 |
|---|---|---|
| Ingreso | 0.694 | 0.462 |
| Avalúo | 0.716 | 0.103 |
| Pobreza | -0.300 | -0.810 |
| Pregrado | 0.967 | NA |
| Secundaria | 0.442 | 0.431 |
| Posgrado | 0.930 | NA |
| Desempleo | -0.101 | -0.391 |
| Fuerza laboral | 0.308 | 0.301 |
| Propietarios | -0.156 | 0.537 |
| Variable | Factor.1 | Factor.2 | Factor.3 |
|---|---|---|---|
| Ingreso | 0.287 | 0.881 | 0.370 |
| Avalúo | 0.455 | 0.658 | NA |
| Pobreza | -0.140 | -0.319 | -0.686 |
| Pregrado | 0.879 | 0.451 | 0.140 |
| Secundaria | 0.407 | 0.119 | 0.569 |
| Posgrado | 0.783 | 0.461 | NA |
| Desempleo | NA | NA | -0.415 |
| Fuerza laboral | 0.172 | 0.329 | 0.230 |
| Propietarios | -0.256 | NA | 0.581 |
Nótese que, en la tabla para dos factores, la estructura es mucho más clara que la obtenida sin rotaciones en las tablas de la sección anterior por máxima verosimilitud, y se puede concluir que Pregrado, Posgrado y Avalúo cargan muy claramente sobre un mismo factor. Además, Pobreza y Propietarios definen bastante bien el segundo. En contraste, Ingreso y Secundaria presentan cargas cruzadas importantes. Hasta aquí, la mayor parte de las variables ya tienen una interpretación bastante clara.
Ahora bien, en la tabla para tres factores, el primer factor del modelo anterior prácticamente se rompe en dos: un factor asociado posiblemente a Educación y otro asociado a Ingreso/Avalúo. No obstante, el tercer factor queda pobremente definido con cargas estimadas no muy superiores a \(0.5\) en magnitud. Además, dadas las variables que lo compondrían, su interpretación sustantiva resulta difícil, pues parece una mezcla entre Vivienda, Mercado laboral, Educación y Nivel Socioeconómico. Esto puede ser señal de que estamos forzando un factor adicional innecesario.
En materia de varianza explicada, el modelo con dos factores logra capturar el \(53.5\)%, mientras que el de tres factores, \(59.3\)%. La ganancia es de aproximadamente \(6\) puntos porcentuales, que no resulta despreciable, pero tampoco es sustancial. Consideramos plausible perder este pequeño porcentaje de ventaja si la interpretación mejora considerablemente. Además, la elección de dos factores es coherente con lo obtenido con el criterio de Kaiser, el scree plot y el análisis paralelo de Horn basado en ACP.
En caso de continuar con dos factores, los resultados obtenidos con el criterio Varimax se inclinan a definir los factores de la siguiente manera:
Factor 1: Desarrollo económico educativo, compuesto por Ingreso, Avalúo, Pregrado y Posgrado.
Factor 2: Vulnerabilidad socioeconómica, compuesto por Pobreza, Propietarios y Desempleo.
Ahora, estudiaremos los resultados de las estimaciones por máxima verosimilitud aplicando rotaciones oblicuas con Promax, a la expectativa de que la estructura de tres factores mejore la interpretabilidad cuando relajemos el supuesto de factores independientes. Estos valores pueden verse en las siguientes tablas.
af_promax2 <- fa(datos_af, nfactors = 2, fm = "ml", rotate = "promax")
af_promax2$loadings
af_promax3 <- fa(datos_af, nfactors = 3, fm = "ml", rotate = "promax")
af_promax3$loadings
af_promax2$Vaccounted; af_promax3$Vaccounted
af_promax2$Phi; af_promax3$Phi| Variable | Factor.1 | Factor.2 |
|---|---|---|
| Ingreso | 0.635 | -0.329 |
| Avalúo | 0.749 | NA |
| Pobreza | -0.122 | 0.803 |
| Pregrado | 1.025 | 0.142 |
| Secundaria | 0.371 | -0.358 |
| Posgrado | 1.007 | 0.227 |
| Desempleo | NA | 0.399 |
| Fuerza laboral | 0.258 | -0.250 |
| Propietarios | -0.303 | -0.620 |
| Variable | Factor.1 | Factor.2 | Factor.3 |
|---|---|---|---|
| Ingreso | NA | 0.898 | 0.137 |
| Avalúo | 0.340 | 0.630 | -0.227 |
| Pobreza | NA | -0.208 | -0.643 |
| Pregrado | 0.886 | 0.168 | NA |
| Secundaria | 0.407 | -0.127 | 0.583 |
| Posgrado | 0.776 | 0.237 | NA |
| Desempleo | NA | NA | -0.437 |
| Fuerza laboral | NA | 0.291 | 0.151 |
| Propietarios | -0.355 | NA | 0.598 |
Lo primero que salta a la vista en la tabla para tres factores es que esta rotación no mejora la interpretabilidad del modelo, pues Pobreza, Secundaria, Desempleo y Propietarios no parecen representar una dimensión latente conceptualmente específica. Lo segundo es que nuevamente, en la Tabla de dos factores, vemos que el primer factor queda determinado por Ingreso, Avalúo, Pregrado y Posgrado; mientras que el segundo, por Pobreza, Propietarios y Desempleo. Secundaria continúa teniendo cargas cruzadas, y Fuerza laboral no está bien representada por ninguno de los dos factores. En efecto, la estructura permaneció inalterada para estos dos factores tras la rotación oblicua, lo cual es señal de que la estructura es estable.
Finalmente, las estimaciones de \(\mathbf{\Phi}\) para los modelos de dos y tres factores son, respectivamente, \[ \widehat{\mathbf{\Phi}}_1:=\begin{bmatrix} 1 & -0.437 \\ -0.437 & 1 \end{bmatrix}\qquad\mbox{y}\qquad\widehat{\mathbf{\Phi}}_2:=\begin{bmatrix} 1 & 0.56 & 0.22 \\ 0.56 & 1 & 0.44 \\ 0.22 & 0.44 & 1 \end{bmatrix}. \]
De \(\widehat{\mathbf{\Phi}}_1\) podemos evidenciar que los dos factores comunes presentan una correlación estimada moderada negativa de aproximadamente \(-0.44\), con lo cual fue una decisión razonable aplicar rotación oblicua al existir evidencia de que los factores no son completamente independientes. Resaltamos que, aunque éstos resultaron correlacionados, la estructura de cargas prácticamente no cambió respecto a Varimax, de manera que la solución ortogonal ya estaba describiendo bastante bien la estructura de los datos. En efecto, permitir correlación entre los factores no modificó sustancialmente la interpretación.
Es en este punto que tomamos la decisión de adoptar la solución de dos factores, pues ofrece un mejor equilibrio entre parsimonia, estabilidad e interpretabilidad que el modelo de tres factores. En otras palabras, fijamos \(m:=2\).
Toda esta discusión se resume en un gráfico conocido como diagrama factorial:
Nótese que, según el criterio programado en el paquete
psych de R, Secundaria sí logra ser incluida en la
dimensión latente de Desarrollo económico-educativo, con lo cual asume
como significativa la diferencia de \(13\) centésimas entre las magnitudes de las
cargas factoriales estimadas a favor del Factor 1.
Como las comunalidades y unicidades estimadas no se ven afectadas por las rotaciones, éstas siguen siendo las dadas en la tabla de comunalidades y unicidades bajo el método de extracción de máxima verosimilitud para dos factores. De ellas podemos interpretar que el modelo de dos factores explica aproximadamente el 69.4% de la variabilidad observada en el ingreso mediano de los hogares estadounidenses dentro de las ZCTAs, mientras que el 30.6% restante corresponde a variación específica de esta variable o a error. Para el caso del avalúo mediano de las viviendas, los factores explican cerca del 52% de la variabilidad, aunque aproximadamente la mitad de la variación sigue siendo específica. Además, el modelo captura cerca del 75% de la información contenida en la tasa de pobreza en Estados Unidos, constituyéndose en una de las mejores representada. Así como con ésta, el modelo explica aproximadamente el 94% de la variabilidad del porcentaje de ciudadanos estadounidenses que completaron un pregrado, y así esta variable está prácticamente determinada por los dos factores latentes.
En contraste con lo reportado en el diagrama factorial, sólo el 38% de la variabilidad del porcentaje de ciudadanos graduados de secundaria queda explicada por el modelo, mientras que más del 60% permanece sin explicar; esto es coherente con lo que ya habíamos observado en las cargas factoriales estimadas: Secundaria presenta cargas cruzadas y no se asocia claramente con uno de los dos factores. Para los ciudadanos estadounidenses graduados de un posgrado, los factores explican cerca del 87% de la variabilidad de sus porcentajes. La variable peor representada resulta ser Desempleo, pues sólo el 16% de su variabilidad es explicada por los factores comunes; esto sugiere que el desempleo depende de otros procesos que no están recogidos por las dimensiones latentes identificadas. Algo similar ocurre con el porcentaje de ciudadanos pertenecientes a la fuerza laboral, pues los factores apenas explican el 18% de su variabilidad; esto coincide con que sus cargas factoriales fueron pequeñas en ambos factores y está en sintonía con el diagrama factorial. Finalmente, el modelo explica únicamente el 31% de la variabilidad en el porcentaje de viviendas ocupadas por su propietario en Estados Unidos, siendo así una variable moderadamente mal representada.
Teniendo en cuenta todo lo anterior, el modelo factorial ajustado para las \(9\) variables estudiadas en las s es dado por \[ \small \widehat{\mathbf{R}}=\begin{bmatrix} 0.635 & -0.329 \\ 0.749 & 0.065 \\ -0.122 & 0.803 \\ 1.025 & 0.142 \\ 0.371 & -0.358 \\ 1.007 & 0.227 \\ -0.011 & 0.399 \\ 0.258 & -0.250 \\ -0.303 & -0.620 \end{bmatrix}\begin{bmatrix} 1 & -0.437 \\ -0.437 & 1 \end{bmatrix}\begin{bmatrix} 0.635 & -0.329 \\ 0.749 & 0.065 \\ -0.122 & 0.803 \\ 1.025 & 0.142 \\ 0.371 & -0.358 \\ 1.007 & 0.227 \\ -0.011 & 0.399 \\ 0.258 & -0.250 \\ -0.303 & -0.620 \end{bmatrix}^\top+\begin{bmatrix} 0.30 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0.48 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0.25 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0.06 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0.62 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0.13 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0.84 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0.81 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0.69 \end{bmatrix}. \]
Cabe recordar que este análisis se realizó sobre una muestra de miles de ZCTAs de Estados Unidos para el año 2023. En consecuencia, los factores identificados describen la estructura de dependencia existente entre los indicadores socioeconómicos de dichas áreas geográficas. Dado que las ZCTAs abarcan prácticamente la totalidad del territorio estadounidense, los factores identificados pueden interpretarse como una caracterización de la estructura socioeconómica observada entre estas áreas geográficas para el año 2023.
Aunque el Análisis factorial no permite establecer relaciones causales entre las variables, sí constituye una herramienta útil para sintetizar múltiples indicadores socioeconómicos en un reducido número de dimensiones latentes. Éstas pueden emplearse para caracterizar áreas geográficas, identificar patrones territoriales y apoyar la priorización de intervenciones públicas, sirviendo como insumo para la construcción de índices compuestos o para análisis posteriores de naturaleza explicativa.
La base de datos empleada en este ejemplo de aplicación fue
construida a partir de información de la API (Application Programming
Interface) del Census Bureau: https://api.census.gov/data/2023/acs/acs5/subject/groups/.
Para este ejemplo, se extrajo toda la información necesaria mediante la
librería tidycensus de R. Para ello, es necesario
instalarla en el programa y registrarse en https://api.census.gov/data/create_success.html para
obtener una API key y poder así tener acceso a la información
de la ACS. Una vez ésta haya sido enviada por correo, se escribe en R
census\_api\_key("xxxxx", install = TRUE) y se ejecuta una
sola vez. Posteriormente, con el comando get\_acs, cuyos
parámetros son el área geográfica, los nombres de las variables y el
quinquenio de interés (en el caso de trabajar con ZCTAs), se extraen los
datos deseados.
\[\phantom{\begin{pmatrix} 1 \\ 2 \\ 3 \\ 4 \\ \end{pmatrix}}\]