El Indicador de Tamaño Económico, desarrollado por la Secretaría de Demarcación y Organización Territorial, permite la incorporación de una variable de representación de la dinámica económica local como insumo relevante para el análisis de Jerarquización de centros y núcleos poblados en el marco De los estudios de Diagnóstico y Zonificación (EDZ).
Obtener un indicador de productividad económica a nivel subnacional mediante un método de estimación indirecta Del Producto Bruto Interno (PBI).
El método de estimación indirecta implica el uso de variables proxy, un método de escalonamiento (Fórmula adaptada de Geary & Stark, 2002) y la adopción de una función cúbica de producción (Método de Seminario & Palomino, 2022), bajo los siguientes supuestos:
El indicador está construido sobre la base de datos espaciales en una sola temporalidad, tomando como año base el 2017. La selección Del año base responde a las fuentes de datos oficiales de ingresos y población, siendo necesario replicar el modelo ante actualizaciones futuras de las fuentes de datos.
La estimación del PBI se basa en la metodología de Seminario y Palomino (2022) el cual tiene como objetivo proponer una metodología alternativa para etimar el PIB a nivel subnacional (provincia, distrital y hasta centros poblados) utilizando información de censos y encuestas, estadísticas de cuentas nacionales y datos satelitales de luminocidad analizándolo en un periodo de 1993-2018 con el cual pueden brindar un análisis de las tendencias recientes de desarrollo regional en el Perú.Sin embargo, para los fines del presente estudio, se realizó una adaptación a la metodología para que sea aplicable solo a un año de análisis 2017, que es el año del último censo.
Figura 1: Proceso para calcular el PBI
subnacional)
Fuente:
Elaboración propia
PBI: Indicador que mide el comportamiento de la economía. Se define como el valor total de los bienes y servicios generados en el territorio económico durante un perioro de tiempo, este indicador se encuentra a valores constantes.El PBI departamental se obtiene del INEI (2017).
Datos de luminosidad: se obtuvo partir de los datos de Day/Night Band (DNB) del instrumento Visible Infrared Imaging Radiometer Suite (VIIRS), estos datos son mensuales por lo cual se necesita calcular el promedio anual 2017.
Densidad Poblacional: Cantidad de población por kilómetro cuadrado (hab/km²) a nivel distrital, obtenido Del Censo Nacional de Población y Vivienda, realizado por el INEI (2017).
Población: Cantidad de habitantes que pertenecen a un centros poblado, obtenido Del Censo Nacional de Población y Vivienda, realizado por el INEI (2017).
Ingresos de Hogares: Estimación Del Promedio de ingresos de los hogares a nivel provincial, utilizado como insumo en la construcción Del IDH subnacional realizado por PNUD (2017).
Primero, se obtiene los datos satelitales de luminosidad y densidad poblacional a escala distrital al año 2017 (Ver Figura 1 y 2).
Figura 1: Descarga del promedio anual de la
luminosidad 2017)
Fuente: Google Earth Engine
Figura 2: Luminocidad al año 2017 , Figura 3: Densidad
poblacional distrital 2017)
Fuente: Elaboración propia en base a
VIIRS e INEI 2017
Con la fórmula adaptada de Geory y Stark (2002)
Fórmula (1) de Geory y Stark (2002):
\[ y_{i,k,t_0} = y_{k,t_0} \cdot \frac{I_{i,k,t_0}}{\sum_{j=1}^{N} I_{j,k,t_0}} \] donde:
\(y_{i,k,t_0}\) corresponde al PIB estimado de la región territorial menor \(i\) (provincia o distrito) que pertenece a la región territorial mayor \(k\) en el año base \(t_0\).
\(y_{k,t_0}\) representa el PIB total de la región territorial mayor \(k\) (departamento o provincia, según el nivel de análisis) en el año base \(t_0\), obtenido a partir de información oficial.
\(I_{i,k,t_0}\) denota el ingreso de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\) en el año base \(t_0\).
\(\sum_{j=1}^{N} I_{j,k,t_0}\) corresponde a la suma total de los ingresos de todas las regiones territoriales menores \(j\) que pertenecen a la región territorial mayor \(k\) en el año base \(t_0\).
\(i\) identifica a la región territorial menor (provincia o distrito).
\(k\) identifica a la región territorial mayor (departamento o provincia).
\(t_0\) corresponde al año base del análisis.
\(N\) representa el número total de regiones territoriales menores que conforman la región territorial mayor \(k\).
Fórmula operativizada:
\[ PBI^{final}_{i,k} = PBI^{oficial}_{k} \cdot \frac{Ingreso_{i,k}}{\sum_{j=1}^{N_k} Ingreso_{j,k}} \]
Función de Seminario y Palomino (2022):
\[ \ln(\hat{y}_{i,k,t}) = \hat{\alpha}_0 + \hat{\alpha}_1 \ln(L_{i,k,t}) + \hat{\alpha}_2 \ln(L_{i,k,t})^2 + \hat{\alpha}_3 \ln(L_{i,k,t})^3 + \hat{\alpha}_4 \ln(D_{i,k,t}) \]
donde:
\(\ln(\hat{y}_{i,k,t})\) es el logaritmo natural del PIB estimado de la región territorial menor \(i\) (provincia o distrito) que pertenece a la región territorial mayor \(k\) en el período \(t\).
\(\hat{\alpha}_0\) es el término constante de la función de producción estimada.
\(\hat{\alpha}_1\), \(\hat{\alpha}_2\) y \(\hat{\alpha}_3\) son los coeficientes asociados al nivel de luminosidad nocturna promedio y a sus términos cuadrático y cúbico, respectivamente.
\(\hat{\alpha}_4\) es el coeficiente asociado a la densidad poblacional.
\(L_{i,k,t}\) representa el nivel de luminosidad nocturna promedio de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\) en el período \(t\).
\(D_{i,k,t}\) representa la densidad poblacional de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\) en el período \(t\).
\(i\) denota la región territorial menor (provincia o distrito).
\(k\) denota la región territorial mayor (departamento o provincia, según el nivel de análisis).
\(t\) corresponde al período de análisis (año base).
Los coeficientes asociados a la función cúbica son recogidos del resultado de la regresión elaborada por Seminario y Palominio (2022) como se puede observar en la Tabla 1.
Tabla 1: Estimación de una función cúbica de producción a
nivel de distritos) Fuente:
Seminario y Palomino (2022)
Función operativizada:
\[ \ln(PBI^{\text{índice distrital}}_{i,k,t}) = \hat{\alpha}_0 + 0.3813 \, \ln(L_{i,k,t}) + 0.0586 \, \ln(L_{i,k,t})^2 + 0.0025 \, \ln(L_{i,k,t})^3 + 0.2251 \, \ln(D_{i,k,t}) \]
Fórmula de escalonamiento distrital:
\[ PBI^{final dist}_{i,k} = PBI^{estimado}_{k} \cdot \frac{PBI^{\text{índice est prov}}_{i,k}}{\sum_{j=1}^{N_k} PBI^{\text{índice est prov}}_{j,k}} \]
Fórmula de escalonamiento de Seminario y Palomino (2022):
\[
y^{cp}_{i,k,t_0}
=
y^{r,d}_{k,t_0}
\cdot
\frac{p^{cp}_{i,k,t_0}}{\sum_{j=1}^{N} p^{cp}_{j,k,t_0}}
\]
Operativización de la fórmula:
\[ PBI^{final,cp}_{i,k} = PBI^{final}_{k} \cdot \frac{Pob^{cp}_{i,k}}{\sum_{j=1}^{N_k} Pob^{cp}_{j,k}} \]
donde:
\(PBI^{final,cp}_{i,k}\) corresponde al PBI final del centro poblado \(i\) perteneciente al distrito \(k\), \(PBI^{final}_{k}\) representa el PBI final del distrito \(k\), y \(Pob^{cp}_{i,k}\) denota la población del centro poblado \(i\) según el Censo de Población.
Cargar librerías
library(terra)
library(sf)
library(dplyr)
library(exactextractr)
library(units)
Cargar archivos
#cARGAR LUMINOCIDAD - PROMEDIO 2017
viirs <- rast("viirs_2017_avg_rad.tif")
names(viirs) <- "avg_rad"
#CARGAR DENSIDAD POBLACIONAL DISTRITAL
dendist_pob <- st_read("Distritos_Densidad_18S/Distritos_Densidad_18S.shp",
stringsAsFactors=TRUE,
quiet = TRUE)
# Raster en UTM 18S (usa bilinear para variables continuas como radiancia)
viirs_utm <- project(viirs, "EPSG:32718", method = "bilinear")
dendist_pob <- st_make_valid(dendist_pob)
Revisar CRS y valores
crs(viirs)
st_crs(dendist_pob)
Extraer VIIRS por distrito
# Promedio de radiancia dentro de cada distrito
dendist_pob$viirs_mean <- exactextractr::exact_extract(
viirs_utm,
dendist_pob,
fun = "mean"
)
# Revisión rápida
summary(dendist_pob$viirs_mean)
# Revisión de nombres
names(dendist_pob)
## [1] "gid" "ubigeo" "nombdep" "nombprov" "nombdist"
## [6] "capital" "region_nat" "tipo_norma" "numero" "fecha_fin"
## [11] "comentario" "Total_Pob" "area" "perimeter" "Area_KM2"
## [16] "Densidad" "geometry" "viirs_mean"
Coeficientes según Seminario y Palomino (2022)
# Coeficientes (columna 3)
a0 <- 0 # intercepto (no reportado → se calibra después)
a1 <- 0.3813 # ln(luz)
a2 <- 0.0586 # ln(luz)^2
a3 <- 0.0025 # ln(luz)^3
a4 <- 0.2251 # ln(densidad)
Preparar variables según función cúbica del paper Seminario y Palomino (2022)
dendist_pob <- dendist_pob %>%
mutate(
# Limpiar valores no válidos
viirs_mean = ifelse(viirs_mean <= 0 | is.na(viirs_mean), NA_real_, viirs_mean),
dens_pop = ifelse(Densidad <= 0 | is.na(Densidad), NA_real_, Densidad),
# Logs
ln_luz = log(viirs_mean),
ln_dens = log(dens_pop),
# Potencias de la luminosidad
ln_luz2 = ln_luz^2,
ln_luz3 = ln_luz^3,
# Función de producción PIB (Seminario & Palomino)
ln_pib_hat = a0 +
a1 * ln_luz +
a2 * ln_luz2 +
a3 * ln_luz3 +
a4 * ln_dens,
pib_hat = exp(ln_pib_hat)
)
# Revisión rápida
summary(dendist_pob$pib_hat)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.3300 0.9342 1.2098 3.8996 1.6529 168.9626 1
Verificación del índice del PIB distrital estimado
dendist_pob %>%
st_drop_geometry() %>%
arrange(desc(pib_hat)) %>%
select(nombdist, pib_hat) %>%
head(10)
Verificación del índice del PIB distrital estimado en relación a la densidad y luminocidad
dendist_pob %>%
st_drop_geometry() %>%
arrange(desc(pib_hat)) %>%
select(nombdist, viirs_mean, Densidad, pib_hat) %>%
head(15)
Exportar el índice del PIB estimado provincial
getwd()
st_write( dendist_pob, “PIB_distrital_VIIRS_2017.gpkg”, delete_dsn = TRUE )
Cargar archivos
#CARGAR DENSIDAD POBLACIONAL DISTRITAL
denprov_pob <- st_read("Provincias_Densidad_18S/Provincias_Densidad_18S.shp",
stringsAsFactors=TRUE,
quiet = TRUE)
denprov_pob <- st_make_valid(denprov_pob)
## Revisar CRS y valores
st_crs(denprov_pob)
Extraer VIIRS por distrito
# Promedio de radiancia dentro de cada distrito
denprov_pob$viirs_mean <- exactextractr::exact_extract(
viirs_utm,
denprov_pob,
fun = "mean"
)
# Revisión rápida
summary(denprov_pob$viirs_mean)
names(denprov_pob)
## [1] "gid" "iddpto" "nombdep" "idprov" "nombprov"
## [6] "capital" "tipo_norma" "numero" "fecha" "Total_Pob"
## [11] "area" "perimeter" "Area_KM2" "Densidad" "geometry"
## [16] "viirs_mean"
Coeficientes según Seminario y Palomino (2022)
# Coeficientes (columna 3)
b0 <- 0 # intercepto (no hay/sabemos)
b1 <- 0.7249 # ln(luz)
b2 <- 0.0881 # ln(luz)^2
b3 <- 0.0042 # ln(luz)^3
b4 <- 0.0756 # ln(densidad)
Preparar variables según función cúbica del paper Seminario y Palomino (2022)
# Preparar variables según función cúbica del paper
denprov_pob <- denprov_pob %>%
mutate(
# Limpiar valores no válidos
viirs_mean = ifelse(viirs_mean <= 0 | is.na(viirs_mean), NA_real_, viirs_mean),
densprov_pop = ifelse(Densidad <= 0 | is.na(Densidad), NA_real_, Densidad),
# Logs
ln_luz = log(viirs_mean),
ln_dens = log(densprov_pop),
# Potencias de la luminosidad
ln_luz2 = ln_luz^2,
ln_luz3 = ln_luz^3,
# Función de producción PIB (Seminario & Palomino)
ln_pibprov_est = b0 +
b1 * ln_luz +
b2 * ln_luz2 +
b3 * ln_luz3 +
b4 * ln_dens,
pibprov_est = exp(ln_pibprov_est)
)
# Revisión rápida
summary(denprov_pob$pibprov_est)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.3026 0.4561 0.5215 1.2089 0.6185 95.4212
Verificación del índice del PIB provincial estimado
denprov_pob %>%
st_drop_geometry() %>%
arrange(desc(pibprov_est)) %>%
select(nombprov, pibprov_est) %>%
head(10)
Verificación del índice del PIB provincial estimado en relación a la densidad y luminocidad
denprov_pob %>%
st_drop_geometry() %>%
arrange(desc(pibprov_est)) %>%
select(nombprov, viirs_mean, Densidad, pibprov_est) %>%
head(15)
Exportar el índice del PIB estimado provincial
getwd()
st_write( denprov_pob, “PIB_prov_VIIRS_2017.gpkg”, delete_dsn = TRUE )
Este cálculo se realiza a partir del siguiente escalonamiento:
Paso 1: departamento - > provincia: con ingresos
PIBe_provincial (1) = PIBdepartamental * Ingresos (1) / Sumatoria (Ingresos 1->n)
Paso 2: provincia - > distritos
Con el PIB distrital estimado (el índice) y el PIB escalonado provincial que se hizo previamente con ingresos
PIBe_distrital (1) = PIBe_provincia * PIBi_est^/ sumatoria (PIBi_est^ 1->n)
Cargar el PIB estimado a nivel provincial (PIBe_Prov)
PIBe_Prov <- st_read("Provincias_PIBestimado/Provincias_PIBestimado.shp",
stringsAsFactors=TRUE,
quiet = TRUE)
PIBi_distrital <- st_read("PIB_distrital_VIIRS_2017.gpkg",
stringsAsFactors=TRUE,
quiet = TRUE)
Crear un nuevo campo de idprov
PIBi_distrital02 <- PIBi_distrital %>%
left_join(PIBe_Prov %>%
st_drop_geometry() %>%
select(nombprov, idprov, PIBe_Prov),
by = "nombprov"
)
Crear la sumatoria de todos los PIBi_est distritales que se encuentran en una misma provincia
PIBi_distrital02 <- PIBi_distrital02 %>%
group_by(idprov) %>%
mutate(
PIBest_sumdist = sum(PIBi_est)
)
Calcular el PIB distrital
PIBi_distrital02 <- PIBi_distrital02 %>%
mutate(
PIB_dist = PIBe_Prov * PIBi_est / PIBest_sumdist
)
Descargar información del PIB estimado distrital
getwd()
st_write( PIBi_distrital02, “PIB_distrital.gpkg”, delete_dsn = TRUE )
Escalonamiento de DISTRITO -> CENTROS POBLADOS>150hab
Cargar la base de datos de centros poblados
ccpp <- st_read("CCPP_2017_HIBRIDO/CCPP_2017_HIBRIDO.shp",
stringsAsFactors=TRUE,
quiet = TRUE)
Añadir el campo de UBIGEO correspondiente al nivel distrital
ccpp02 <- ccpp %>%
left_join(PIBi_distrital02 %>%
st_drop_geometry() %>%
select(nombdist, ubigeo, PIB_dist),
by = "ubigeo"
)
Crear la sumatoria de todos los PIBi_est distritales que se encuentran en una misma provincia
ccpp02 <- ccpp02 %>%
group_by(ubigeo) %>%
mutate(
POB_sum = sum(POB)
)
Calcular el PIB distrital
ccpp02 <- ccpp02 %>%
mutate(
PIB_ccpp = PIB_dist * POB / POB_sum
)
View(ccpp02)
Descargar información del PIB estimado a nivel de CCPP
getwd()
st_write( ccpp02, “PIB_ccpp.gpkg”, delete_dsn = TRUE )