El Indicador de Tamaño Económico, desarrollado por la Secretaría de Demarcación y Organización Territorial,permite la incorporación de un indicador que represente la productividad económica a nivel subnacional (provincial, distrital y centros poblados) como insumo relevante para el análisis de jerarquización de los centros y núcleos poblados en el marco del Informe 2: Centros y Unidades Funcionales (CUF) del Estudio 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 de la productividad implica el uso de variables proxy de capital (K) y fuerza laboral (L) mediante el método de escalonamiento planteado por 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 propuesta por Seminario y Palomino (2022), cuyo objetivo es desarrollar un procedimiento alternativo para estimar el PBI a nivel subnacional (provincial, distrital y centros poblados) utilizando información proveniente de censos y encuestas, estadísticas de cuentas nacionales y datos satelitales de luminosidad nocturna. En su estudio, los autores construyen series para el periodo 1993–2018 con el fin de analizar las tendencias recientes del desarrollo regional en el Perú.
Para los fines del presente estudio, se realiza una adaptación metodológica orientada a un análisis de corte transversal, considerando únicamente el año 2017, correspondiente al último censo nacional. Esta adaptación permite aplicar el enfoque de estimación subnacional utilizando información censal, datos de radiancia nocturna y estadísticas económicas disponibles para dicho año, asegurando consistencia territorial en la construcción del indicador económico.
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 el cual se obtiene del INEI (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} = y_{k} \cdot \frac{I_{i,k}}{\sum_{j=1}^{N} I_{j,k}} \] donde:
\(y_{i,k}\) corresponde al PIB estimado de la región territorial menor \(i\) (provincia o distrito) que pertenece a la región territorial mayor \(k\).
\(y_{k}\) 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, obtenido a partir de información oficial.
\(I_{i,k}\) denota el ingreso de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\).
\(\sum_{j=1}^{N} I_{j,k}\) corresponde a la suma total de los ingresos de todas las regiones territoriales menores \(j\) que pertenecen a la región territorial mayor \(k\).
\(i\) identifica a la región territorial menor (provincia o distrito).
\(k\) identifica a la región territorial mayor (departamento o provincia).
\(N\) representa el número total de regiones territoriales menores que conforman la región territorial mayor \(k\).
Fórmula operativizada:
\[ PBI^{provincial}_{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}) + \hat{\alpha}_2 \ln(L_{i,k})^2 + \hat{\alpha}_3 \ln(L_{i,k})^3 + \hat{\alpha}_4 \ln(D_{i,k}) \]
donde:
\(\ln(\hat{y}_{i,k})\) 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\).
\(\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}\) representa el nivel de luminosidad nocturna promedio de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\).
\(D_{i,k}\) representa la densidad poblacional de la región territorial menor \(i\) que pertenece a la región territorial mayor \(k\).
\(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).
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}) = \hat{\alpha}_0 + 0.3813 \, \ln(L_{i,k}) + 0.0586 \, \ln(L_{i,k})^2 + 0.0025 \, \ln(L_{i,k})^3 + 0.2251 \, \ln(D_{i,k}) \]
Fórmula de escalonamiento distrital:
\[ PBI^{final}_{dist \in prov} = PBI^{estimado}_{prov} \cdot \frac{I^{PBI}_{dist}}{\sum_{dist \in prov} I^{PBI}_{dist}} \]
donde:
\(PBI^{final}_{dist \in prov}\) es el PBI final del distrito (\(dist\)) perteneciente a una provincia (\(prov\)), obtenido mediante escalonamiento.
\(PBI^{estimado}_{prov}\) es el PBI estimado de la provincia \(prov\) (anclado previamente al PBI departamental mediante el escalonamiento con ingresos).
\(I^{PBI}_{dist}\) es el índice del PBI distrital del distrito \(dist\), calculado a partir de la función cúbica (luminosidad nocturna y densidad poblacional). Este índice es un ponderador relativo, no un valor monetario.
\(\sum_{dist \in prov} I^{PBI}_{dist}\) es la suma de los índices distritales \(I^{PBI}\) de todos los distritos que pertenecen a la provincia \(prov\) (normaliza los ponderadores para que el total provincial se conserve).
\(dist \in prov\) indica que el distrito \(dist\) forma parte de la provincia \(prov\).
Fórmula de escalonamiento de Seminario y Palomino (2022):
\[
y^{cp}_{i,k}
=
y^{r,d}_{k}
\cdot
\frac{p^{cp}_{i,k}}{\sum_{j=1}^{N} p^{cp}_{j,k}}
\]
Operativización de la fórmula:
\[ PBI^{final}_{cp \in dist} = PBI^{estimado}_{dist} \cdot \frac{Pob^{cp}_{dist}}{\sum_{cp \in dist} Pob^{cp}_{dist}} \]
donde:
\(PBI^{final}_{cp \in dist}\) es el PBI final del centro poblado (\(cp\)) que pertenece al distrito \(dist\).
\(PBI^{estimado}_{dist}\) es el PBI distrital estimado, obtenido previamente mediante el escalonamiento provincial–distrital.
\(Pob^{cp}_{dist}\) es la población del centro poblado \(cp\) dentro del distrito \(dist\) (según datos censales).
\(\sum_{cp \in dist} Pob^{cp}_{dist}\) es la población total de todos los centros poblados que pertenecen al distrito \(dist\).
\(cp \in dist\) indica que el centro poblado \(cp\) forma parte del distrito \(dist\).
Cargar librerías
library(terra)
library(sf)
library(dplyr)
library(exactextractr)
library(units)
Cargar archivos
# 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
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(20)
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(20)
Exportar el índice del PIB estimado provincial
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, na.rm = TRUE)
)
Calcular el PIB distrital
PIBi_distrital03 <- PIBi_distrital02 %>%
mutate(
PIB_dist = PIBe_Prov * PIBi_est / PIBest_sumdist
)
Descargar información del PIB estimado distrital
st_write( PIBi_distrital03, “PIB_distrital3.gpkg”, delete_dsn = TRUE )
Escalonamiento de DISTRITO -> CENTROS POBLADOS>150hab
Cargar la base de datos de centros poblados
Añadir el campo de UBIGEO correspondiente al nivel CCPP
ccpp02 <- ccpp %>%
left_join(PIBi_distrital03 %>%
st_drop_geometry() %>%
select(nombdist, ubigeo, PIB_dist),
by = "ubigeo"
)
Crear la sumatoria de todos los PIBi_est CCPP que se encuentran en una misma provincia
ccpp02 <- ccpp02 %>%
group_by(ubigeo) %>%
mutate(
POB_sum = sum(POB)
)
Calcular el PIB CCPP
ccpp02 <- ccpp02 %>%
mutate(
PIB_ccpp = PIB_dist * POB / POB_sum
)
View(ccpp02)
Descargar información del PIB estimado a nivel de CCPP
st_write( ccpp02, “PIB_ccpp02.gpkg”, delete_dsn = TRUE )
Díez-Minguela, A., & Sanchis Llopis, M. T. (2020). Comparing different estimation methodologies of regional GDPs in Latin American countries. In D. A. Tirado-Fabregat, M. Badia-Miró, & H. Willebald (Eds.), Time and space (Palgrave Studies in Economic History). Palgrave Macmillan. https://doi.org/10.1007/978-3-030-47553-6_2
Seminario, B., & Palomino, L. (2022). Estimación del PIB a nivel subnacional utilizando datos satelitales de luminosidad: Perú, 1993-2018 (1.ª ed.) [Documento de investigación, 20]. Universidad del Pacífico. http://dx.doi.org/10.21678/978-9972-57-493-1
Díez-Minguela, A., & Sanchis Llopis, M. T. (2020). Comparing different estimation methodologies of regional GDPs in Latin American countries. En D. A. Tirado-Fabregat, M. Badia-Miró, & H. Willebald (Eds.), Time and space: Latin American regional development in historical perspective (pp. xx–xx). Palgrave Macmillan. https://doi.org/10.1007/978-3-030-47553-6_2