Í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 13 a 23 del data frame correspondiente (DP2_2020).
- 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 desvest.

# Desviación estandar de los indicadores
desvest <- as.matrix(apply(DP2_2020[13:23], MARGIN = 2, sd)) %>%
            as.data.frame() %>%
             rename("desvest" = "V1") %>%
              mutate(sd_muestral = .$desvest * (sqrt((dim(DP2_2020[13:23])[1] - 1)/dim(DP2_2020[13:23])[1]))) %>%
               mutate(desvest.inversa = 1/(.$sd_muestral))
Desviación estándar
Desviación estándar Desviación estándar muestral Desviación estandar m. inversa
P6A14NAE 3.581 3.581 0.279
SBASC 14.335 14.335 0.070
PSDSS 10.781 10.781 0.093
OVSDE 1.719 1.719 0.582
OVSEE 1.337 1.337 0.748
OVSAE 8.126 8.126 0.123
OVPT 5.308 5.308 0.188
OVHAC 13.353 13.353 0.075
OVSREF 10.823 10.823 0.092
OVSINT 23.676 23.676 0.042
OVSCEL 7.386 7.386 0.135

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.

## Mínimo valor del DP2
vector_minimo <- minRV_2020
minimo <- abs(vector_minimo - minRV_2020) * desvest$desvest.inversa *
           ind_2020$correction_factors[names(DP2_datos_2020)] %>%
            t() %>%
             as.data.frame() 

minimo <- data.frame(AÑO = 2020, Escenario = "Mínimo", minimo, DP2 = rowSums(minimo))
  
## Máximo valor del DP2   
vector_maximo <- rep(0, length(minRV_2020)) # Cuando los indicadores valen cero 
maximo <- abs(vector_maximo - minRV_2020) * desvest$desvest.inversa *
           ind_2020$correction_factors[names(DP2_datos_2020)] %>%
            t() %>%
             as.data.frame() 
maximo <- data.frame(AÑO = 2020, Escenario = "Máximo", maximo, DP2 = rowSums(maximo))

Índice normalizado

Se guarda la base de datos con el índice normalizado

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

DP2_2020 <- DP2_2020 %>%  
             mutate(IMN_2020 = (.$IM_2020 - minimo$DP2)/(maximo$DP2 - minimo$DP2))
Índice de marginación a nivel colonia, 2020
CVE_COL ID_COL ID_INE_2020 NOM_COLONIA CP CLASIF CVE_ENT NOM_ENT CVE_MUN NOM_MUN POB_TOT AÑO P6A14NAE SBASC PSDSS OVSDE OVSEE OVSAE OVPT OVHAC OVSREF OVSINT OVSCEL IM_2020 GM_2020 IMN_2020
01001_0001 1 1 14 Ava 20170 32 01 Aguascalientes 01001 Aguascalientes 309 2020 1.3 8.9 3.5 0.0 0.0 0.0 0.1 20.9 0.4 26.9 0.5 154.635 Muy bajo 0.986
01001_0002 2 2 2 de Octubre 20367 1 01 Aguascalientes 01001 Aguascalientes 506 2020 3.9 46.9 22.6 1.3 0.0 3.6 5.9 41.9 15.1 75.9 7.1 146.000 Alto 0.931
01001_0003 3 3 Agricultura 20234 2 01 Aguascalientes 01001 Aguascalientes 352 2020 6.2 9.8 23.9 0.0 0.0 0.0 0.1 2.3 0.3 12.3 2.3 152.595 Muy bajo 0.973
01001_0004 4 4 Agua Clara 20263 2 01 Aguascalientes 01001 Aguascalientes 492 2020 3.0 13.3 8.3 0.0 0.1 0.0 0.3 13.1 1.5 20.9 2.9 153.648 Muy bajo 0.980
01001_0005 5 5 Alameda 20164 2 01 Aguascalientes 01001 Aguascalientes 108 2020 2.4 12.7 16.8 0.0 0.2 0.1 0.7 9.6 2.2 16.2 3.5 153.134 Muy bajo 0.976
01001_0006 6 6 Alberia 20364 13 01 Aguascalientes 01001 Aguascalientes 156 2020 2.6 22.0 25.4 0.0 0.8 0.0 3.6 14.8 5.6 34.0 5.1 150.502 Bajo 0.960
01001_0007 7 7 Alianza Ferrocarrilera 20159 2 01 Aguascalientes 01001 Aguascalientes 936 2020 3.4 20.2 19.8 0.0 0.0 0.2 0.3 13.2 2.2 24.8 5.0 151.963 Bajo 0.969
01001_0008 8 8 Altavista 20040 1 01 Aguascalientes 01001 Aguascalientes 4 413 2020 6.8 33.4 22.5 0.0 0.1 0.4 0.6 17.1 5.8 38.4 7.7 149.381 Medio 0.952
01001_0009 9 10 Anexo Benito Palomino dena 20172 2 01 Aguascalientes 01001 Aguascalientes 2 506 2020 7.8 36.9 23.3 0.3 0.6 3.9 2.8 33.5 13.4 63.4 7.5 146.675 Alto 0.935
01001_0010 10 11 Anexo Norte Benito Palomino dena 20172 1 01 Aguascalientes 01001 Aguascalientes 118 2020 4.5 19.4 13.7 0.0 0.2 0.2 0.5 20.2 5.1 48.0 1.7 151.740 Bajo 0.967
01001_0011 11 12 Antonio Garza Elizondo 20270 2 01 Aguascalientes 01001 Aguascalientes 33 2020 11.5 7.3 18.2 0.0 0.0 0.0 2.5 1.5 0.2 10.4 3.3 151.706 Bajo 0.967
01001_0012 12 13 Arellano 20340 35 01 Aguascalientes 01001 Aguascalientes 39 2020 4.8 15.1 16.1 0.0 0.1 0.0 0.0 23.1 8.4 59.1 0.9 151.594 Bajo 0.967
01001_0013 13 15 Australis 20280 2 01 Aguascalientes 01001 Aguascalientes 907 2020 1.9 2.3 9.2 0.0 0.0 0.0 0.0 6.8 0.2 9.3 0.4 155.231 Muy bajo 0.990
01001_0014 14 16 Avicola Aguascalientes 20364 35 01 Aguascalientes 01001 Aguascalientes 23 2020 4.7 25.0 23.0 0.5 0.4 1.8 1.8 15.5 2.9 29.5 5.2 150.217 Bajo 0.958
01001_0015 15 17 Bajio de Las Palmas 20263 2 01 Aguascalientes 01001 Aguascalientes 2 883 2020 3.1 13.8 14.5 0.0 0.0 0.1 0.2 12.4 2.3 20.9 2.5 153.172 Muy bajo 0.977
01001_0016 16 18 Balcones de Ojocaliente 20263 2 01 Aguascalientes 01001 Aguascalientes 1 222 2020 3.0 13.3 8.4 0.0 0.1 0.0 0.3 13.1 1.5 21.1 2.9 153.622 Muy bajo 0.979
01001_0017 17 19 Balcones de Oriente 20196 2 01 Aguascalientes 01001 Aguascalientes 4 371 2020 2.3 11.8 12.1 0.0 0.0 0.1 0.4 15.7 3.6 30.9 1.8 153.404 Muy bajo 0.978
01001_0018 18 20 Balcones del Valle 20196 2 01 Aguascalientes 01001 Aguascalientes 564 2020 4.3 21.1 19.0 0.0 0.0 0.0 3.1 20.8 3.5 42.0 3.0 151.140 Bajo 0.964
01001_0019 19 21 Barlovento 20286 2 01 Aguascalientes 01001 Aguascalientes 1 088 2020 3.1 4.5 17.1 0.0 0.0 0.0 1.0 7.1 0.1 3.9 0.4 154.160 Muy bajo 0.983
01001_0020 20 22 Barrio de Santiago 20116 13 01 Aguascalientes 01001 Aguascalientes 398 2020 2.2 15.5 27.3 0.0 0.0 0.3 1.0 10.8 2.0 18.7 3.0 152.235 Bajo 0.971

<>

#Tabla final
save(DP2_2020, file = paste0(here::here(), "/Output/IMC_2020.RData"))