El sarampión es una enfermedad prevenible por vacunación que continúa siendo un indicador clave del desempeño de los sistemas de salud. Este estudio analiza la tendencia temporal de los casos notificados de sarampión en Japón, utilizando datos oficiales de la Organización Mundial de la Salud (OMS). El objetivo es identificar dicha tendencia y evaluar cómo puede orientar la planificación y asignación de recursos sanitarios, tales como vacunas, personal de salud y vigilancia epidemiológica.
El análisis se estructura a partir de un modelo principal de regresión lineal simple, complementado con modelos alternativos más adecuados para datos de conteo, con el fin de reforzar la robustez de los hallazgos.
En este paso se garantiza la reproducibilidad del análisis estadístico, eliminando objetos previamente almacenados en el entorno de trabajo que podrían interferir con los resultados. Desde una perspectiva metodológica, esta práctica reduce el riesgo de contaminación del análisis por variables residuales. La carga explícita de los paquetes dplyr, ggplot2 y MASS establece el marco técnico del estudio: manipulación de datos, visualización y modelamiento estadístico avanzado, respectivamente, asegurando coherencia y transparencia en las operaciones posteriores.
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 613843 32.8 1402798 75 702077 37.5
## Vcells 1147183 8.8 8388608 64 1927490 14.8
Se importa la base de datos correspondiente a Japón.
La lectura de la base de datos proveniente de la OMS constituye el punto de partida empírico del estudio. En términos de modelamiento matemático, esta etapa define el espacio muestral observado, sobre el cual se realizarán inferencias estadísticas. La inspección inicial de las filas y nombres de variables permite verificar la estructura del conjunto de datos y evaluar su idoneidad para representar la evolución temporal del sarampión en Japón.
## [1] "index" "GHO..CODE."
## [3] "GHO..DISPLAY." "GHO..URL."
## [5] "PUBLISHSTATE..CODE." "PUBLISHSTATE..DISPLAY."
## [7] "PUBLISHSTATE..URL." "YEAR..CODE."
## [9] "YEAR..DISPLAY." "YEAR..URL."
## [11] "REGION..CODE." "REGION..DISPLAY."
## [13] "REGION..URL." "WORLDBANKINCOMEGROUP..CODE."
## [15] "STARTYEAR" "ENDYEAR"
## [17] "WORLDBANKINCOMEGROUP..DISPLAY." "WORLDBANKINCOMEGROUP..URL."
## [19] "COUNTRY..CODE." "COUNTRY..DISPLAY."
## [21] "COUNTRY..URL." "Display.Value"
## [23] "Numeric" "Low"
## [25] "High" "StdErr"
## [27] "StdDev" "Comments"
La eliminación de filas vacías y metadatos no observacionales responde a un principio fundamental del análisis cuantitativo: trabajar únicamente con observaciones válidas y comparables. Matemáticamente, este proceso busca minimizar sesgos introducidos por datos faltantes o irrelevantes, mejorando la calidad de las estimaciones posteriores. La revisión de la estructura del dataset permite confirmar la naturaleza de las variables (temporales, numéricas y categóricas).
datos_limpios <- datos[-1, ]
datos_limpios <- datos_limpios[rowSums(is.na(datos_limpios)) < ncol(datos_limpios), ]
str(datos_limpios)## 'data.frame': 396 obs. of 28 variables:
## $ index : int 1 2 3 4 5 6 7 8 9 10 ...
## $ GHO..CODE. : chr "WHS3_40" "CHOLERA_0000000002" "CHOLERA_0000000002" "CHOLERA_0000000002" ...
## $ GHO..DISPLAY. : chr "Cholera - number of reported cases" "Number of reported deaths from cholera" "Number of reported deaths from cholera" "Number of reported deaths from cholera" ...
## $ GHO..URL. : chr "https://www.who.int/data/gho/indicator-metadata-registry/imr-details/42" "https://www.who.int/data/gho/indicator-metadata-registry/imr-details/2446" "https://www.who.int/data/gho/indicator-metadata-registry/imr-details/2446" "https://www.who.int/data/gho/indicator-metadata-registry/imr-details/2446" ...
## $ PUBLISHSTATE..CODE. : chr "PUBLISHED" "PUBLISHED" "PUBLISHED" "PUBLISHED" ...
## $ PUBLISHSTATE..DISPLAY. : chr "Published" "Published" "Published" "Published" ...
## $ PUBLISHSTATE..URL. : logi NA NA NA NA NA NA ...
## $ YEAR..CODE. : num 2011 1995 1977 1978 1983 ...
## $ YEAR..DISPLAY. : chr "2011" "1995" "1977" "1978" ...
## $ YEAR..URL. : logi NA NA NA NA NA NA ...
## $ REGION..CODE. : chr "WPR" "WPR" "WPR" "WPR" ...
## $ REGION..DISPLAY. : chr "Western Pacific" "Western Pacific" "Western Pacific" "Western Pacific" ...
## $ REGION..URL. : logi NA NA NA NA NA NA ...
## $ WORLDBANKINCOMEGROUP..CODE. : logi NA NA NA NA NA NA ...
## $ STARTYEAR : chr "2011" "1995" "1977" "1978" ...
## $ ENDYEAR : chr "2011" "1995" "1977" "1978" ...
## $ WORLDBANKINCOMEGROUP..DISPLAY.: logi NA NA NA NA NA NA ...
## $ WORLDBANKINCOMEGROUP..URL. : logi NA NA NA NA NA NA ...
## $ COUNTRY..CODE. : chr "JPN" "JPN" "JPN" "JPN" ...
## $ COUNTRY..DISPLAY. : chr "Japan" "Japan" "Japan" "Japan" ...
## $ COUNTRY..URL. : logi NA NA NA NA NA NA ...
## $ Display.Value : chr "12.00" "1" "1" "1" ...
## $ Numeric : chr "12.00000" "1.00000" "1.00000" "1.00000" ...
## $ Low : logi NA NA NA NA NA NA ...
## $ High : logi NA NA NA NA NA NA ...
## $ StdErr : logi NA NA NA NA NA NA ...
## $ StdDev : logi NA NA NA NA NA NA ...
## $ Comments : chr "" "" "" "" ...
En este paso se define formalmente la variable dependiente del estudio: el número de casos notificados de sarampión. Desde la perspectiva del modelamiento, esta decisión operacionaliza el fenómeno epidemiológico bajo análisis. Al filtrar un único indicador, se asegura que las estimaciones reflejen exclusivamente la dinámica del sarampión, evitando confusión con otros eventos sanitarios.
La conversión de las variables a formato numérico permite tratarlas como variables cuantitativas continuas o discretas, condición necesaria para los modelos de regresión. El ordenamiento cronológico establece explícitamente la dimensión temporal del análisis, fundamental para interpretar el año como variable explicativa. Matemáticamente, se prepara el vector de observaciones (xi,yi) donde xi representa el tiempo y yi el número de casos.
sarampion <- sarampion %>%
mutate(
Anio = as.numeric(Anio),
Casos = as.numeric(Casos)
) %>%
filter(!is.na(Anio), !is.na(Casos)) %>%
arrange(Anio)
sarampionLos estadísticos descriptivos permiten caracterizar la distribución empírica de los casos de sarampión. La media y la mediana informan sobre la tendencia central, mientras que el mínimo, máximo y desviación estándar reflejan la variabilidad temporal del fenómeno. Esta etapa es clave para anticipar posibles problemas de dispersión, asimetría o valores extremos que influyen en la selección del modelo matemático adecuado.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 35 459 2960 6397 8402 33812
## [1] 8316.051
El modelo lineal simple plantea una relación funcional del tipo:
Casosi = β0 + β1 ⋅ Ano + εi
Desde el punto de vista matemático, este modelo estima una tendencia promedio lineal en el tiempo. El parámetro 𝛽1 cuantifica el cambio esperado en el número de casos por cada año adicional. Este modelo se selecciona como principal por su simplicidad, interpretabilidad y utilidad para la planificación sanitaria, al resumir la evolución temporal en un único parámetro clave.
##
## Call:
## lm(formula = Casos ~ Anio, data = sarampion)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6823 -3805 -2923 2639 28033
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 436516.1 232417.9 1.878 0.0701 .
## Anio -215.2 116.3 -1.851 0.0741 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8009 on 30 degrees of freedom
## Multiple R-squared: 0.1025, Adjusted R-squared: 0.07255
## F-statistic: 3.425 on 1 and 30 DF, p-value: 0.07409
El análisis gráfico de los residuos evalúa los supuestos clásicos del modelo lineal: linealidad, homocedasticidad y normalidad aproximada de los errores. Desde una perspectiva matemática, estos supuestos garantizan que los estimadores de mínimos cuadrados sean insesgados y eficientes. La verificación de estos criterios es esencial para validar la inferencia estadística basada en el modelo principal.
La inclusión de un término cuadrático para capturar posibles cambios no lineales amplía el modelo a:
Casosi = β0+β1⋅Anoc,i+β2⋅Anoc,i2+εi
Este modelo permite capturar curvaturas en la tendencia, representando escenarios donde la incidencia disminuye pero con posibles repuntes. Matemáticamente, se explora si la relación tiempo–casos es no lineal, lo cual es plausible en enfermedades prevenibles con brotes episódicos.
sarampion <- sarampion %>%
mutate(
Anio_c = Anio - mean(Anio),
Anio_c2 = Anio_c^2
)
modelo_2_cuad <- lm(Casos ~ Anio_c + Anio_c2, data = sarampion)
summary(modelo_2_cuad)##
## Call:
## lm(formula = Casos ~ Anio_c + Anio_c2, data = sarampion)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7970 -4649 -1983 1291 25935
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8639.03 2309.76 3.740 0.000806 ***
## Anio_c -221.42 115.43 -1.918 0.064967 .
## Anio_c2 -15.12 12.37 -1.222 0.231429
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 7944 on 29 degrees of freedom
## Multiple R-squared: 0.1464, Adjusted R-squared: 0.08758
## F-statistic: 2.488 on 2 and 29 DF, p-value: 0.1007
El modelo Poisson reconoce que los casos son conteos discretos, modelados mediante: Casosi∼Poisson(μi), log(μi)=α0+α1⋅An~oi Este enfoque es matemáticamente más apropiado para variables de conteo. El coeficiente α1 se interpreta como un cambio multiplicativo en el número esperado de casos por año, proporcionando una lectura epidemiológica más natural que la regresión lineal.
modelo_3_pois <- glm(Casos ~ Anio, data = sarampion,
family = poisson(link = "log"))
summary(modelo_3_pois)##
## Call:
## glm(formula = Casos ~ Anio, family = poisson(link = "log"), data = sarampion)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 78.2386664 0.3823430 204.6 <2e-16 ***
## Anio -0.0347969 0.0001917 -181.5 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 283199 on 31 degrees of freedom
## Residual deviance: 248320 on 30 degrees of freedom
## AIC: 248628
##
## Number of Fisher Scoring iterations: 6
El modelo Quasi-Poisson relaja el supuesto de igualdad entre media y varianza del modelo Poisson. Matemáticamente, introduce un parámetro de dispersión 𝜙, permitiendo varianza mayor que la media. Este ajuste es crucial cuando los datos presentan mayor variabilidad de la esperada, mejorando la robustez de la inferencia sin cambiar la estructura funcional del modelo.
modelo_4_qpois <- glm(Casos ~ Anio, data = sarampion,
family = quasipoisson(link = "log"))
summary(modelo_4_qpois)##
## Call:
## glm(formula = Casos ~ Anio, family = quasipoisson(link = "log"),
## data = sarampion)
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 78.23867 41.23623 1.897 0.0674 .
## Anio -0.03480 0.02068 -1.683 0.1028
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for quasipoisson family taken to be 11631.93)
##
## Null deviance: 283199 on 31 degrees of freedom
## Residual deviance: 248320 on 30 degrees of freedom
## AIC: NA
##
## Number of Fisher Scoring iterations: 6
El modelo binomial negativo constituye una alternativa más flexible para datos con alta sobre-dispersión. Desde el punto de vista matemático, incorpora un parámetro adicional que modela explícitamente la heterogeneidad no observada. Este modelo es especialmente útil en series epidemiológicas con brotes irregulares
##
## Call:
## MASS::glm.nb(formula = Casos ~ Anio, data = sarampion, init.theta = 0.6414211961,
## link = log)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 127.69265 36.23854 3.524 0.000426 ***
## Anio -0.05956 0.01813 -3.286 0.001017 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for Negative Binomial(0.6414) family taken to be 1)
##
## Null deviance: 44.908 on 31 degrees of freedom
## Residual deviance: 39.142 on 30 degrees of freedom
## AIC: 616.88
##
## Number of Fisher Scoring iterations: 1
##
##
## Theta: 0.641
## Std. Err.: 0.136
##
## 2 x log-likelihood: -610.882
La comparación entre modelos se basa en criterios cuantitativos como el AIC, el R² y el factor de dispersión. Matemáticamente, se evalúa el equilibrio entre bondad de ajuste y complejidad del modelo. Esta etapa permite justificar la selección del modelo principal y entender cómo los modelos alternativos complementan la interpretación del fenómeno.
data.frame(
Modelo = c("Lineal", "Cuadrático", "Poisson", "Quasi-Poisson", "Binomial Negativo"),
AIC = c(
AIC(modelo_1_lin),
AIC(modelo_2_cuad),
AIC(modelo_3_pois),
NA,
AIC(modelo_5_nb)
)
)La visualización integra los datos observados con la recta de regresión estimada, proporcionando una representación geométrica del modelo lineal. Desde el punto de vista analítico, el gráfico facilita la evaluación visual del ajuste y comunica de manera intuitiva la tendencia temporal a tomadores de decisiones en salud.
ggplot(sarampion, aes(x = Anio, y = Casos)) +
geom_point() +
geom_smooth(method = "lm", se = TRUE) +
labs(
title = "Evolución temporal del sarampión en Japón",
x = "Año",
y = "Número de casos"
) +
theme_minimal()## `geom_smooth()` using formula = 'y ~ x'
## 15. Conclusiones e implicaciones para la gestión sanitaria
A partir de los resultados obtenidos en el análisis estadístico de los casos notificados de sarampión en Japón, se evidencia una tendencia temporal globalmente decreciente a lo largo del período observado. El modelo principal de regresión lineal simple muestra una pendiente negativa, lo que indica que, en promedio, el número de casos ha disminuido con el paso de los años, coherente con el fortalecimiento de las estrategias de vacunación y vigilancia epidemiológica implementadas en el país. No obstante, el valor del R² sugiere que el año por sí solo explica solo una parte de la variabilidad observada, lo que indica la influencia de otros factores relevantes como cambios en la cobertura vacunal, brotes puntuales, modificaciones en los sistemas de notificación y políticas sanitarias específicas.
Los modelos de conteo (Poisson, Quasi-Poisson y Binomial Negativo) confirman esta tendencia descendente desde una perspectiva más adecuada para datos discretos, y además ponen en evidencia la presencia de sobre-dispersión, lo que justifica el uso de modelos más flexibles como el Quasi-Poisson o el Binomial Negativo. En conjunto, los resultados permiten concluir que, aunque la carga de sarampión ha disminuido en el tiempo, persiste una variabilidad que obliga a mantener capacidades mínimas de respuesta. Desde la gestión de recursos sanitarios, estos hallazgos respaldan una planificación eficiente y focalizada, que combine una posible redistribución gradual de recursos con el mantenimiento de programas de inmunización, personal capacitado y sistemas de vigilancia robustos para prevenir reemergencias de la enfermedad.