Lleva el ajuste nacional a las ubicaciones subnacionales (departamentos, regiones, provincias...): desplaza la
incidencia y la mortalidad en exceso de cada simulación según la diferencia entre el valor de cada covariable en
la ubicación (su proxy) y el nacional, por su beta; vuelve a resolver la ecuación de la prevalencia en cada
ubicación y renormaliza para que la suma ponderada por población de las ubicaciones sea igual al valor nacional.
Con la estimación subnacional plana (subnacional.modo: plano), cada ubicación recibe las tasas nacionales.
Con el reparto por razón (subnacional.modo: razon) la cascada es también la plana, y dl_repartir_razon()
reemplaza las tasas subnacionales después de los AVD.
Usage
dl_cascada(
ajuste,
insumos,
kappa = insumos$cfg$cascada$kappa,
semilla,
motor = ajuste$params$engine
)Arguments
- ajuste
Ajuste nacional de
dl_ajustar().- insumos
Insumos de
dl_insumos()(los mismos del ajuste).- kappa
Fracción del gradiente subnacional que se aplica, en (0, 1] (\(\kappa\)); por defecto, la de la configuración (
subnacional.kappa).- semilla
Semilla (entero), obligatoria: el resultado es reproducible con la misma semilla.
- motor
"mh"(R) o"rcpp"(C++) para resolver la ecuación; por defecto, el del ajuste.
Value
Objeto de clase dl_cascade (también dl_fit): el ajuste nacional, con los campos de dl_ajustar(), y
draws_q: las simulaciones de la nación y de cada ubicación subnacional (las mismas columnas), ya renormalizadas;draws_q_sin_renorm: las de antes de renormalizar.dX: tabla con la diferencia de cada covariable por simulación (draw),location_id,sex_id,age_group_id(la banda del proxy) ycovariate_name_short; vacía en la estimación plana.renorm: tabla con el factor de renormalización (factor) pormedida(prevalenceoincidence),sex_id,age_group_idydraw.kappa,departamentos(loslocation_idsubnacionales; el nombre se conserva de la versión 0.2.2),seed_cascada(la semilla) ymodo("proxy"o"plana").truncados_emr: cuántas simulaciones subnacionales (por sexo) tuvieron la mortalidad en exceso truncada al techo.dx_por_edad: cómo se repartió dX entre las edades (fuera_de_banda,interpolacionyedades_sin_banda);NULLen la estimación plana.sustituciones: en el formato completo, las covariables cuyo valor nacional de referencia es el de otra covariable (covariables[].sustituye), con los doscovariate_id;NULLsi ninguna.
Details
Para cada sexo, simulación y ubicación subnacional d:
dX: la diferencia entre la covariable en d y la nacional, en la escala de su transformación (log, logit o lineal), con una simulación de cada una según su incertidumbre.En cada edad, log i (o log f, según
efecto_sobre) de d es el nacional máskappax beta x dX, sumado sobre las covariables; log f no pasa del techo de la mortalidad en exceso. Con la mortalidad en exceso fija en 0 (mortalidad_exceso.prior: cero), f es 0 en toda ubicación y las covariables conefecto_sobre: mortalidad_excesono tienen efecto.Con esas tasas se vuelve a resolver la ecuación de la prevalencia.
Renormalización, por sexo, banda de población y simulación: la prevalencia (y la incidencia poblacional) de cada ubicación se multiplica por el factor que hace que su suma ponderada por población sea la nacional.
Las betas se simulan de su intervalo, una vez por simulación. kappa (en (0, 1]) aplica una fracción del
gradiente: con 1, el gradiente completo; con menos, las ubicaciones quedan más cerca de la nación. Las
ecuaciones están en vignette("el-modelo", package = "dismodlite").
See also
dl_ajustar() (el paso anterior), dl_estimaciones(), dl_avd() y dl_validar_ancla() (los pasos
siguientes) y dl_proyecto() (los proxies y su requisito de cierre en el valor nacional).
Estimación subnacional:
dl_repartir_razon()
Examples
# \donttest{
b <- dl_insumos(dl_proyecto(dl_ejemplo(), causa = 9100))
#> dl_insumos(): 25 fila(s) nacionales de la tabla datos quedan fuera del ajuste porque datos_en_ajuste está vacío en la configuración; las filas subnacionales se usan solo para validar la cascada
op <- dl_opciones_mcmc(simulaciones = 100, cadenas = 2, iteraciones = 2000, calentamiento = 1000)
f <- dl_ajustar(b, op, semilla = 1)
cas <- dl_cascada(f, b, semilla = 1)
cas
#> <dl_cascade> cascada subnacional por proxies | kappa 1.00 | 25 ubicaciones subnacionales | factor de renormalización [0.933, 1.029] | simulaciones subnacionales con la EMR truncada al techo: 0
#> <dl_fit> insumos 0e52c7277b9a | semilla 1 | motor mh
#> sexos: 1, 2 | simulaciones por sexo: 100 | edades 30-99
#> R-hat máximo 2.306 | ESS mínimo 11 | aceptación 0.26-1.00
# prevalencia de las ubicaciones subnacionales, por edad (b$loc_ancla es la ubicación nacional)
prev <- dl_estimaciones(cas)
head(prev[location_id != b$loc_ancla])
#> location_id sex_id edad medida media inferior superior
#> <char> <int> <int> <char> <num> <num> <num>
#> 1: 01 1 30 prevalencia 0.000000000 0.0000000000 0.000000000
#> 2: 01 1 31 prevalencia 0.001075617 0.0005499418 0.001855978
#> 3: 01 1 32 prevalencia 0.002158741 0.0011428881 0.003650909
#> 4: 01 1 33 prevalencia 0.003251893 0.0017790921 0.005388634
#> 5: 01 1 34 prevalencia 0.004357620 0.0024632429 0.007074119
#> 6: 01 1 35 prevalencia 0.005487855 0.0032170186 0.008727957
# con la mitad del gradiente las ubicaciones quedan más cerca de la nación: el rango de la
# prevalencia subnacional de los hombres de 60 años
rango_60 <- function(x)
range(dl_estimaciones(x)[location_id != b$loc_ancla & sex_id == 1 & edad == 60]$media)
rango_60(cas)
#> [1] 0.03516429 0.04623325
rango_60(dl_cascada(f, b, kappa = 0.5, semilla = 1))
#> [1] 0.03673050 0.04212266
# }