Índice normalizado

Otra forma de apreciar el índice de marginación es normalizando sus valores para ver objetivamente la evolución de cada unidad territorial (Somarriba et al. 2013). La normalización se realiza utilizando un cambio de escala conocido como normalización mínima-máxima. Con este procedimiento el índice de marginación se escala a valores relativos con un rango de entre cero y uno, lo cual permite su comparación numérica y le da una propiedad adicional al índice de marginación. Al mismo tiempo, la normalización determina el mismo sentido que el índice obtenido por el método DP2, donde los valores cercanos a cero implican mayor marginación.

El proceso de normalización consiste en:

\[{DP}_2normalizado=\frac{{DP}_2^i-\min({DP}_2)}{\max({DP}_2)-\min({DP}_2)},\] donde:

\(\circ \: {DP}_{2}^{i}\): es el valor del índice de marginación de la localidad \(i\),
\(\circ \: min ({DP}_{2})\): es el valor mínimo o peor escenario que puede tomar el índice, y
\(\circ \: max ({DP}_{2})\): es el valor máximo u objetivo que puede tomar el índice.

Desviación estándar de los indicadores simples

Varianza muestral insesgada
Estimado insesgado de la varianza poblacional

\[s^{2} = \frac{1}{n-1}\left(x_{i}-\bar{x}\right)^{2} = \frac{\sum_{i=1}^{n}(x_{i}^{2})}{n-1} - \frac{\sum_{i=1}^{n}(x_{i})^{2}}{(n-1)\: n } = \left(\frac{n-1}{n}\right)s_{n}^{2} \]

Se calcula la desviación estándar muestral y su inversa para un conjunto de indicadores simples. Para cada elemento:
- Extrae las columnas 11 a 21 del data frame correspondiente (DP2_).
- Calcula la desviación estándar para cada una de estas columnas.
- Ajusta la desviación estándar para obtener la desviación estándar muestral.
- Calcula la inversa de la desviación estándar muestral.
- Almacena los resultados en un data frame dentro de la lista desvest.

# Desviación estándar de los indicadores
desvest <- NULL
for(i in 1:2){
desvest[[i]] <- as.matrix(apply(get(paste0("DP2_", tablas[i]))[11:21], MARGIN = 2, sd)) %>%
                 as.data.frame() %>%
                  rename("desvest" = "V1") %>%
                   dplyr::mutate(sd_muestral = .$desvest * (sqrt((dim(get(paste0("DP2_", tablas[i]))[11:21])[1] - 1)/dim(get(paste0("DP2_", tablas[i]))[11:21])[1]))) %>%
                    dplyr::mutate(desvest.inversa = 1/(.$sd_muestral))
}
Desviación estándar
Desviación estándar Desviación estándar muestral Desviación estándar m. inversa
P6A14NAE 4.890 4.890 0.204
SBASC 15.145 15.145 0.066
PSDSS 11.619 11.619 0.086
OVSDE 2.916 2.916 0.343
OVSEE 2.451 2.451 0.408
OVSAE 10.223 10.223 0.098
OVPT 6.496 6.496 0.154
OVHAC 14.670 14.670 0.068
OVSREF 11.917 11.917 0.084
OVSINT 24.927 24.926 0.040
OVSCEL 7.700 7.700 0.130

Escenarios extremos

Para este tipo de cálculo es necesario conocer los puntos más extremos que puede tomar el índice en el año de observación. De antemano, se sabe que cada indicador simple toma valores de cero a 100 y, además, el método DP2 ya proporcionó el orden de entrada de las variables. Usando estos criterios se estiman los puntos focales extremos que puede tomar el índice de marginación. Se sabe que la peor situación es cuando una unidad de análisis toca todos y cada uno de los valores mínimos del vector base de referencia común, esto sería el peor escenario de marginación y tomaría un valor de cero. En sentido contrario, el valor máximo sería la situación con la menor marginación.

Escenarios del mínimo y máximo valor en el índice DP2

Se calculan los valores mínimo y máximo del índice DP2 para diferentes escenarios y años. Para cada elemento, se calcula:
- Valor mínimo: Calcula la diferencia absoluta entre minRV_2010 y vector_minimo, ajusta con la inversa de la desviación estándar muestral y los factores de corrección, y suma las filas para obtener el DP2.
- Valor máximo: Calcula la diferencia absoluta entre minRV_2010 y un vector de ceros (vector_maximo), ajusta con la inversa de la desviación estándar muestral y los factores de corrección, y suma las filas para obtener el DP2.

minimo <- NULL
maximo <- NULL
## Mínimo valor del DP2
for(i in 1:2){
vector_minimo <- minRV_2010  
tabla <- abs(vector_minimo - minRV_2010) * desvest[[i]][["desvest.inversa"]] *
          get(paste0("ind_", tablas[i]))[["correction_factors"]][names(DP2_2020[11:21])] %>%
           t() %>%
            as.data.frame() 
minimo[[i]] <- data.frame(AÑO = paste(tablas[i]), Escenario = "Mínimo", tabla, DP2 = rowSums(tabla))
  
## Máximo valor del DP2   
vector_maximo <- rep(0, 11) # Cuando los indicadores valen cero 
tabla <- abs(vector_maximo - minRV_2010) * desvest[[i]][["desvest.inversa"]] *
          get(paste0("ind_", tablas[i]))[["correction_factors"]][names(DP2_2020[11:21])] %>%
           t() %>%
            as.data.frame() 

maximo[[i]] <- data.frame(AÑO = paste(tablas[i]), Escenario = "Máximo", tabla, DP2 = rowSums(tabla))
}

Índice normalizado

Se guarda la base de datos con el índice normalizado

Se calcula un nuevo indicador denominado `IMN para cada año, normalizando el índice DP2 entre sus valores mínimos y máximos.

for(i in 1:2){
min_DP2 <- minimo[[i]][["DP2"]]
max_DP2 <- maximo[[i]][["DP2"]]
assign(paste0("DP2_", tablas[i]), get(paste0("DP2_", tablas[i])) %>%
                                   dplyr::mutate(IMN = (get(paste0("IM_", tablas[i])) - min_DP2)/(max_DP2 -  min_DP2)))
}
Índice de marginación a nivel AGEB, 2020
CVE_AGEB ENT NOM_ENT MUN NOM_MUN LOC NOM_LOC AGEB POB_TOTAL AÑO P6A14NAE SBASC PSDSS OVSDE OVSEE OVSAE OVPT OVHAC OVSREF OVSINT OVSCEL IM_2020 GM_2020 IMN_2020
0100100010017 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0017 2 237 2020 13.1 23.0 20.2 0.0 0.4 0.0 0.1 32.0 19.2 71.5 3.4 119.326 Medio 0.932
010010001006A 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 006A 1 411 2020 0.8 5.2 21.1 0.0 0.0 0.0 0.0 2.1 0.0 2.8 0.6 125.821 Muy bajo 0.983
0100100010106 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0106 2 962 2020 3.2 3.5 13.2 0.0 0.0 0.0 0.1 5.5 0.4 17.2 0.8 125.750 Muy bajo 0.982
0100100010163 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0163 2 698 2020 2.8 7.6 12.6 0.0 0.0 0.0 0.1 12.0 1.9 34.4 1.0 125.074 Muy bajo 0.977
0100100010182 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0182 2 218 2020 1.8 3.0 18.4 0.0 0.0 0.0 0.5 0.6 0.2 1.7 0.3 126.020 Muy bajo 0.984
0100100010229 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0229 300 2020 8.3 19.6 12.7 0.0 0.0 0.0 1.0 12.4 0.0 9.0 1.0 123.608 Bajo 0.966
0100100010233 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0233 1 400 2020 11.8 21.8 20.5 0.6 1.3 1.1 2.0 11.2 4.6 30.4 5.8 120.646 Medio 0.942
0100100010286 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0286 3 262 2020 1.0 12.2 19.7 0.0 0.0 0.0 0.5 3.9 0.7 10.7 5.7 124.812 Muy bajo 0.975
0100100010290 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0290 1 668 2020 0.6 14.8 19.4 0.0 0.0 0.0 0.0 2.4 0.1 11.6 2.8 125.053 Muy bajo 0.977
0100100010303 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0303 2 202 2020 1.4 20.7 20.9 0.0 0.0 0.0 0.0 9.4 1.7 20.7 5.5 123.792 Muy bajo 0.967
0100100010322 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0322 2 218 2020 6.0 24.0 26.0 0.0 0.0 0.5 0.6 10.5 2.3 25.1 6.3 122.096 Bajo 0.954
0100100010337 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0337 1 241 2020 6.2 29.3 27.9 0.0 0.0 0.0 0.0 16.7 3.7 33.3 9.8 121.047 Medio 0.946
0100100010341 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0341 1 763 2020 7.7 24.0 16.0 0.0 0.0 0.0 0.1 11.5 2.3 23.3 8.0 122.488 Bajo 0.957
0100100010356 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0356 1 237 2020 3.0 21.1 21.0 0.0 0.0 0.0 0.0 2.7 0.8 17.0 6.9 123.677 Bajo 0.966
0100100010360 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0360 1 629 2020 3.6 28.6 18.7 0.0 0.2 0.0 1.4 10.6 4.1 35.6 10.1 122.161 Bajo 0.954
0100100010375 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0375 859 2020 3.7 23.8 20.5 0.0 0.0 0.0 0.0 11.4 5.3 27.6 7.5 122.714 Bajo 0.959
010010001038A 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 038A 3 127 2020 6.7 28.9 21.1 0.0 0.0 0.0 0.2 14.3 2.1 37.4 9.1 121.625 Bajo 0.950
0100100010407 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0407 509 2020 0.0 6.8 23.5 0.0 0.0 0.0 0.0 1.8 0.6 10.8 1.2 125.510 Muy bajo 0.980
0100100010411 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0411 742 2020 6.0 34.0 21.9 0.0 0.0 0.5 3.0 15.1 10.7 47.1 5.2 120.699 Medio 0.943
0100100010426 01 Aguascalientes 001 Aguascalientes 0001 Aguascalientes 0426 2 027 2020 8.1 36.9 24.6 0.0 0.1 0.0 0.9 16.2 4.9 38.0 7.9 120.331 Medio 0.940

<>

#Tabla final
for(i in tablas){
save(get(paste0("DP2_", i)), file = paste0(here::here(), "/Output/IMU_", i, ".RData"))
}