Introducción

Predecir el comportamiento de la esperanza de vida de un país es crucial para la planificación de políticas públicas, especialmente en áreas como la salud y los servicios sociales. Permite anticipar el envejecimiento de la población, diseñar estrategias para garantizar la sostenibilidad de los sistemas de pensiones y prever la demanda de servicios de salud y asistencia social. Además, ayuda a comprender el nivel de desarrollo y bienestar de una nación, ya que la esperanza de vida es un indicador clave de la calidad de vida y las condiciones de salud de la población. Estas proyecciones pueden ser necesarias con décadas de antelación, por ejemplo, para dimensionar sistemas de pensiones o con apenas unos años de plazo para ajustar campañas de vacunación. Sea cual sea el horizonte temporal, el análisis riguroso de series históricas de esperanza de vida y la elaboración de modelos predictivos se convierten en herramientas imprescindibles para diseñar intervenciones eficaces, asignar recursos de manera eficiente y, en última instancia, mejorar la salud y el bienestar de la sociedad.

Ante la importancia del estudio de la esperanza de vida, el presente informe busca realizar un pronóstico con Series de Tiempo de esta variable para los años 2010 a 2016 en Reino Unido mediante el entrenamiento de un modelo estadístico con datos registrados desde el año 1985. De esta forma, el estudio plantea conceptos imprescindibles para el entendimiento del informe, describe variables predictoras claves para el análisis de la esperanza de vida, pasando por un análisis descriptivo que permite profundizar en el comportamiento de cada una de ellas y su relación entre sí, la estimación del modelo estadístico, el pronóstico del periodo mencionado anteriormente y, finalmente, las conclusiones del estudio.

Palabras Clave: esperanza de vida, Reino Unido, series de tiempo, residuales, pronóstico.

Marco Teórico

Para el completo entendimiento del informe y los resultados del estudio, a continuación se describen los conceptos a tener en cuenta para la interpretación del análisis descriptivo, la estimación del modelo y el pronóstico final desarrollados.

  • Modelo de regresión lineal: Es un método estadístico usado para modelar y analizar la relación entre una variable dependiente (\(Y\)) y una o más variables independientes (\(X_k\)), con el objetivo de explicar cómo cambia la variable \(Y\) cuando hay variaciones en las variables \(X_k\). Es usado comúnmente para hacer predicciones y, dentro de él, se ajusta una recta que se aproxima lo máximo posible a la variación de los datos.

  • Series de Tiempo:

Se trata de un conjunto de datos temporales y secuenciales de una variable, generalmente regulares (años, trimestres, meses, etc.), los cuales permiten identificar patrones comunes como la tendencia, estacionalidad, ciclos y/o estacionariedad dentro de la variable.

Las series de tiempo son útiles para analizar el comportamiento del pasado y predecir el comportamiento del futuro. Esto puede ser posible aplicando un modelo de predicción tras realizar un análisis de regresión lineal múltiple para explicar una variable dependiente mediante la información de varias variables independientes (ambas en formato de series de tiempo).

En ese sentido, suponiendo una cantidad de 5 variables independientes, el modelo está determinado por la siguiente ecuación:

\[ Y = β_0+β_1∗X_{1,t}+β_2∗X_{2,t}+β_3*X_{3,t}+β_4∗X_{4,t}+β_5 ∗ X_{5,t}+e_t \] donde:

-\(Y\): Variable dependiente (de respuesta) que se desea predecir o explicar mediante el modelo de regresión lineal.

-\(X_{k,t}\): Variables independientes (explicativas) utilizadas para predecir la variable \(Y\) en un tiempo \(t\). El subíndice \(k\) es un parámetro de referencia para diferenciar las distintas variables de este tipo.

-\(β_0\): Intercepto. Explica el valor que asumiría variable \(Y\) ante la ausencia de la variable \(X_{k,t}\)

-\(β_k\): Pendiente. Explica cuánto cambia la variable \(Y\) por cada unidad de aumento o disminución de una variable \(X_{k,t}\), mientras se mantienen constantes las demás variables predictorias. Se conocen como coeficientes de regresión que determinan la relación entre ambos tipos de variable (dependiente-independiente) y, por la característica de su cálculo, se dice que son aquellos coeficientes que miden los efectos marginales.

-\(e_t\): Error o residuo del modelo de regresión lineal. Representa la diferencia entre el valor observado de \(Y\) y el predicho por el modelo, capturando la variación que no es explicada por las variables independientes. Se asume que sigue una distribución normal con media cero.

  • Accuracy: Se trata de la precisión del modelo para predecir valores de la variable dependiente cercanos a los valores reales observados en el tiempo mediante las métricas que le componen.

Metodología

Para llevar a cabo este estudio se hizo uso de la metodología general catalogada en 5 pasos primordiales:

  1. Selección de Variables y Creación de la Base de Datos
  2. Análisis Descriptivo y Contexto Histórico
  3. Discusión de Resultados
  4. Conclusiones

Los conceptos pertinentes para el entendimiento del informe se incluyeron en la sección del Marco Teórico, por lo cual se obviaron en el desarrollo del estudio.

Dentro de esta sección se aborda el desarrollo del primer paso como base del resto del informe; sin embargo, los dos siguientes se conforman como apartados del informe que buscan abarcar el estudio acogiendo la metodología estadística correspondiente.

Finalmente, se ecnuentra el quinto apartado que pretende resumir y enfatizar los puntos importantes dentro del estudio y las respuestas obtenidas.

Selección de Variables y Creación de la Base de Datos

Para aplicar la ecuación del modelo de regresión lineal múltiple con series de tiempos es necesario determinar las variables dependiente e independientes con las cuáles se planea modelar. Inicialmente se determinó el tema de la esperanza de vida como la variable de respuesta, es decir, aquella que se va a predecir. Con base en esta determinación, se recopiló una base de datos inicial con múltiples variables que lograran explicar su comportamiento. Así, se probaron distintas combinaciones entre las variables independientes para realizar prototipos de modelos priorizando la búsqueda de un comportamiento lógicamente consecuente de la variable respuesta ante un aumento o disminución de cada una de las variables predictoras seleccionadas. Finalmente, tras determinar la combinación óptima, se creó la base final usada para el estudio con las siguientes variables:

  • Y = Esperanza de vida (ESP_VIDA): Es el número promedio de años que se espera que viva una persona desde su nacimiento. Refleja el nivel general de salud, bienestar y desarrollo de una población.

  • \(X_1\) = Gasto Público (GASTOPUB): Es la proporción del Producto Interno Bruto que el Estado destina a su funcionamiento total, incluyendo salud, educación, infraestructura, etc. Un mayor gasto público puede mejorar el bienestar general y contribuir indirectamente a una mayor esperanza de vida.

  • \(X_2\) = Gasto en Salud per cápita (GASTOSALUD): Representa el total del gasto en salud por persona, incluyendo fuentes públicas, privadas y gasto de bolsillo. Se asocia positivamente con la esperanza de vida, al mejorar el acceso y la calidad de los servicios médicos.

  • \(X_3\) = Pobreza (POBR):Refleja el porcentaje de personas que viven en condiciones de pobreza. La pobreza limita el acceso a salud, educación, nutrición y servicios básicos, afectando negativamente la esperanza de vida.

  • \(X_4\) = Mortalidad Infantil (MORT_INFAN): Indica cuántos niños menores de un año mueren por cada 1.000 nacidos vivos. Altas tasas reducen directamente la esperanza de vida y reflejan deficiencias en salud materna, nutrición y condiciones sanitarias.

  • \(X_5\) = Tasa de Suicidios (SUI):Mide el número de suicidios por cada 100.000 habitantes. Estas muertes prematuras reducen la esperanza de vida y son indicativas de problemas sociales y de salud mental no atendidos.

De este modo, reemplazando las variables de respuesta \(X_k\) y la variable predictoria \(Y\) anteriormente determinadas en la ecuación del modelo de regresión lineal múltiple con series de tiempo, se obtiene:

\[ Esperanza\:de\:vida = β_0+β_1∗Gasto\:público+β_2∗Gasto\:en\:salud+β_3∗Pobreza+β_4*Mortalidad\:infantil+β_5∗Suicidios+e_t \] Los datos de cada una de las variables en series de tiempo se conservan en la base final. Por la coincidencia de los datos, se cuenta con 32 datos por cada variable (registros de tiempo).

library(jsonlite)
library(tidyverse)
library(DT)
library(factoextra)
library(FactoClass)
library(ggplot2)
library(plotly)
library(car)
library(nortest)
library(lmtest)
library(scales)
library(fpp2)
library(forecast)
library(car)
library(lmtest)
library(gridExtra)
library(ggcorrplot)


#EMISIONES CO2 (NO)
df1 <- read.csv("https://ourworldindata.org/grapher/annual-co2-emissions-per-country.csv?v=1&csvType=full&useColumnShortNames=true")
d1<-df1 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(CO2=emissions_total)

#FOSIL FUEL (NO)
df2 <- read.csv("https://ourworldindata.org/grapher/electricity-fossil-renewables-nuclear-line.csv?v=1&csvType=full&useColumnShortNames=true")
#colnames(df2)
d2<-df2 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code,-nuclear_share_of_electricity__pct,-renewable_share_of_electricity__pct) %>% 
  rename(ELEC=fossil_share_of_electricity__pct)

#CONTAMINANTES EMISIONES (NO)
df3 <- read.csv("https://ourworldindata.org/grapher/emissions-of-air-pollutants.csv?v=1&csvType=full&useColumnShortNames=true")
d3<-df3 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-PM....Index.,-PM.....Index.,-Code,-Non.methane.volatile.organic.compounds..Index.)

#EMISIONES GEI (NO=)
df4 <- read.csv("https://ourworldindata.org/grapher/ghg-emissions-by-world-region.csv?v=1&csvType=full&useColumnShortNames=true")
d4<-df4 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(GEI=annual_emissions_ghg_total_co2eq)

#TASA DE MORTALIDAD INFANTIL
df5<-read_csv("child-mortality-rate.csv")
d5<-df5 %>% 
  filter(Entity=="United Kingdom") %>% 
  rename(MORT_INFAN="Child mortality rate of children aged under five years, per 100 live births")

#GASTO EN SALUD
df6 <- read.csv("https://ourworldindata.org/grapher/health-expenditure-and-financing-per-capita.csv?v=1&csvType=full&useColumnShortNames=true")
d6<-df6 %>% 
  filter(Entity=="United Kingdom") %>% 
  rename(GASTOSALUD=ppp_dollars_per_capita__financing_scheme_total) %>% 
  select(-Code)

#ESPERANZA DE VIDA (Y)
df7 <- read.csv("https://ourworldindata.org/grapher/life-expectancy.csv?v=1&csvType=full&useColumnShortNames=true")
d7<-df7 %>% 
  filter(Entity=="United Kingdom") %>% 
  rename(ESP_VIDA=life_expectancy_0__sex_total__age_0) %>% 
  select(-Code)

#GASTO PUBLICO
df8 <- read.csv("https://ourworldindata.org/grapher/social-spending-oecd-longrun.csv?v=1&csvType=full&useColumnShortNames=true")
d8<-df8 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(GASTOPUB=share_gdp)

#SUICIDIOS 
df9 <- read.csv("https://ourworldindata.org/grapher/suicide-rate-who-mdb.csv?v=1&csvType=full&useColumnShortNames=true")
d9<-df9 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(SUI=age_standardized_death_rate_per_100_000_standard_population__sex_both_sexes__age_group_all_ages)

# CANCER PULMON (NO)
df10 <- read.csv("https://ourworldindata.org/grapher/lung-cancer-deaths-per-100000-by-sex-1950-2002.csv?v=1&csvType=full&useColumnShortNames=true")
#colnames(df10)
d10<-df10 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(CANH=age_standardized_death_rate_per_100_000_standard_population__sex_males__age_group_all_ages__cause_trachea__bronchus__lung_cancers__icd10_codes_c33_c34,
         CANM=age_standardized_death_rate_per_100_000_standard_population__sex_females__age_group_all_ages__cause_trachea__bronchus__lung_cancers__icd10_codes_c33_c34)

#CANCER (NO)
df11 <- read.csv("https://ourworldindata.org/grapher/suicide-rate-who-mdb.csv?v=1&csvType=full&useColumnShortNames=true")
d11<-df11 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code) %>% 
  rename(CANCER=age_standardized_death_rate_per_100_000_standard_population__sex_both_sexes__age_group_all_ages)

#POBREZA
df12 <- read.csv("https://ourworldindata.org/grapher/share-of-population-in-extreme-poverty.csv?v=1&csvType=full&useColumnShortNames=true")
#colnames(df12)
d12<-df12 %>% 
  filter(Entity=="United Kingdom") %>% 
  select(-Code,-X1035136.annotations) %>% 
  rename(POBR=headcount_ratio__ppp_version_2017__poverty_line_215__welfare_type_income_or_consumption__table_income_or_consumption_consolidated__survey_comparability_no_spells)

BASE1<-merge(d1,d2)
BASE2<-merge(BASE1,d3)
BASE3<-merge(BASE2,d4)
BASE4<-merge(BASE3,d5)
BASE5<-merge(BASE4,d6)
BASE6<-merge(BASE5,d7)
BASE7<-merge(BASE6,d8)
BASE8<-merge(BASE7,d9)
BASE9<-merge(BASE8,d10)
BASE10<-merge(BASE9,d11)
BASE11<-merge(BASE10,d12)
#View(BASE)
#count(BASE,Year)

#BASE FINAL
BASE<-BASE11 %>% 
  select(-CO2, -ELEC, -Nitrogen.oxides..Index.,-Ammonia..Index.,
         -Sulphur.dioxide..Index.,-GEI,-CANM,-CANH,-CANCER) %>% 
  rename(PAIS=Entity, YEAR=Year) 

View(BASE)
datatable(BASE, caption = "Tabla 1. Base de datos")

Análisis Descriptivo y Contexto Histórico

Para abordar el comportamiento de las variables seleccionadas se realizó un análisis de estadísticas descriptivas. Estas se dividen en secciones de comportamiento individual, de relación entre variable dependiente-independiente y correlación entre todas las variables.

Estadísticas descriptivas

numericas <- sapply(BASE, is.numeric)
datos_num <- BASE[, numericas]
datos_finales <- select(datos_num, -YEAR)

media    <- sapply(datos_finales, mean, na.rm = TRUE)
mediana  <- sapply(datos_finales, median, na.rm = TRUE)
desv     <- sapply(datos_finales, sd, na.rm = TRUE)
minimo   <- sapply(datos_finales, min, na.rm = TRUE)
maximo   <- sapply(datos_finales, max, na.rm = TRUE)

ESTADISTICAS <- rbind(
  Media               = media,
  Mediana             = mediana,
  Desviación_estándar = desv,
  Mínimo              = minimo,
  Máximo              = maximo
)
View(ESTADISTICAS)
datatable(ESTADISTICAS)

Evolución de las variables

Esperanza de vida

ESP_VIDA_ts <- ts(BASE$ESP_VIDA, start = 1985, frequency = 1)

grafico1<-autoplot(ESP_VIDA_ts) +
  geom_line(size = 1.2, colour = "steelblue") +
  geom_point(size = 2, colour = "darkblue") +
  labs(
    title    = "Evolución de la Esperanza de Vida en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = "Edad"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = comma_format())

ggplotly(grafico1)

En esta gráfica se presenta una clara tendencia creciente desde 1985 hasta aproximadamente 2011, en donde se ralentiza un poco el aumento y empieza a estancarse hasta 2016, manteniéndose entre 80 y 81 años de esperanza de vida. La esperanza de vida aumentó de 74 años en 1985 a 81 años en 2016, lo que refleja que hubo mejoras estructurales en la salud pública, servicios médicos y calidad de vida.

La serie de tiempo no presenta estacionalidad debido a que es una serie de datos anuales, además de que la esperanza de vida es un indicador demográfico de cambio lento, por lo tanto no se presentan patrones repetitivos estacionales. Tampoco presenta estacionariedad, debido a que no es ruido blanco y no se mantiene alrededor de una media constante, aparte de que ya presenta una tendencia creciente, y si la serie tiene tendencia no puede ser estacionaria.

Se puede observar que la serie de tiempo presenta varios eventos atípicos en donde la esperanza de vida disminuye de manera abrupta y luego vuelve a aumentar, en los siguientes años:

  • 1989-1990, 1995, 1999 y 2003: En estos años donde se presentan decrecimientos en la serie, se presentaron epidemias de gripe causadas por el virus influenza A (H3N2), debido a fuertes inviernos presentados durante estas fechas. Se reportaron casos en otras partes de Europa, como Francia, Finlandia, Noruega, Suecia, Suiza y la Unión Soviética. En sus puntos críticos, las epidemias llegaron a registrar tasas de infección de entre 534 y 600 personas por cada 100.000 habitantes, y se reportaron aproximadamente entre 19.000 y 29.000 muertes adicionales por los brotes. Este exceso de mortalidad afectó directamente la esperanza de vida del país, que muestra una desaceleración visible en estas épocas.

  • 1993: En 1993, la esperanza de vida en el Reino Unido experimentó un decrecimiento, el cual se explica principalmente por un invierno severo que provocó un aumento significativo en la mortalidad, especialmente entre adultos mayores. Durante este periodo, el virus de la gripe A(H3N2) volvió a circular con fuerza al igual que los años anteriores, generando un exceso de muertes por enfermedades respiratorias y cardiovasculares. Aunque en ese mismo año ocurrieron atentados importantes, como el de Warrington o el de Bishopsgate en Londres, pero estos eventos no tuvieron un efecto estadístico significativo sobre la esperanza de vida, dado que el número de víctimas fue reducido en comparación con otras causas de mortalidad.

  • 2008: En 2008, la esperanza de vida en el Reino Unido mostró una desaceleración, coincidiendo con el inicio de la crisis financiera global. Aunque ese año no se registró un aumento abrupto en la mortalidad, el impacto económico y social de la recesión marcó el comienzo de un periodo prolongado de presión sobre los servicios de salud y asistencia social. Si bien los efectos más severos sobre la esperanza de vida se observaron en años posteriores, 2008 representó un punto de inflexión en la trayectoria ascendente que venía mostrando desde inicios de la década.

Gasto público

GASTOPUB_ts <- ts(BASE$GASTOPUB, start = 1985, frequency = 1)

grafico6<-autoplot(GASTOPUB_ts) +
  geom_line(size = 1.2, colour = "#DEF076") +
  geom_point(size = 2, colour = "#D5E963") +
  labs(
    title    = "Evolución del gasto público en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = "% del PIB"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = percent_format(scale=1))

ggplotly(grafico6)

El gráfico muestra una tendencia decreciente entre 1985 y 2016. A finales de los años 80, la tasa de mortalidad infantil superaba el 1% de la población en Reino Unido, pero desde eso la tasa ha disminuido de forma continua.

Esta tasa refleja un mejoramiento en los servicios medicos y las condiciones de salud, hacia 2016 la tasa se ha reducido a menos del 0,4% de la población, lo que indica avances significativos en el bienestar infantil y la efectividad del sistema de salud.

Gasto en salud

GASTOSALUD_ts <- ts(BASE$GASTOSALUD, start = 1985, frequency = 1)

grafico3<-autoplot(GASTOSALUD_ts) +
  geom_line(size = 1.2, colour = "red") +
  geom_point(size = 2, colour = "darkred") +
  labs(
    title    = "Evolución del Gasto en Salud en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = ""
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = dollar_format())

ggplotly(grafico3)

El gráfico muestra una tendencia creciente del gasto en salud per cápita en el Reino Unido entre 1985 y 2016, con un aumento notable a lo largo de todo el período. En los primeros años, el incremento es gradual, pero alrededor de 1997 se observa un salto abrupto, lo que sugiere un cambio importante en la política de salud, en la financiación o en la forma de contabilizar el gasto.

Tras ese aumento, el gasto continúa creciendo de forma constante hasta alcanzar más de 3.000 dólares por persona en 2016, aunque con una leve desaceleración después de 2010. Esto indica un compromiso sostenido con la inversión en salud, posiblemente influenciado por factores como el envejecimiento de la población, mayores costos médicos y reformas del sistema de salud.

Pobreza

POBR_ts <- ts(BASE$POBR, start = 1985, frequency = 1)

grafico2<-autoplot(POBR_ts) +
  geom_line(size = 1.2, colour = "orange") +
  geom_point(size = 2, colour = "darkorange") +
  labs(
    title    = "Evolución de la Pobreza en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = "Porcentaje de población"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = percent_format(scale=1))

ggplotly(grafico2)

Esta serie de tiempo muestra la evolución del porcentaje de población en pobreza en el Reino Unido entre 1985 y 2016. En general, la serie es bastante estable a lo largo del tiempo, con valores cercanos al 25% de la población en situación de pobreza; sin embargo, hay anomalías notables entre 1987 y 1991, donde el valor cae abruptamente a 0% en algunos años. Esos puntos parecen ser errores de registro o datos faltantes, ya que no reflejan cambios reales ni consistentes con la tendencia histórica.

Aparte de eso, se observa una pequeña caída temporal en 2005, pero la pobreza vuelve rápidamente a su nivel anterior. Esto sugiere que no hay una tendencia clara a la baja ni al alza, y que la pobreza se ha mantenido relativamente constante, con pequeñas fluctuaciones.

En conclusión, la serie no muestra tendencia ni estacionalidad clara, pero sí contiene valores atípicos que deben tratarse como posibles errores o datos faltantes.

Mortalidad infantil

MORT_INFAN_ts <- ts(BASE$MORT_INFAN, start = 1985, frequency = 1)

grafico4<-autoplot(MORT_INFAN_ts) +
  geom_line(size = 1.2, colour = "green") +
  geom_point(size = 2, colour = "darkgreen") +
  labs(
    title    = "Evolución de la Tasa de Mortalidad Infantil en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = "Porcentaje de población"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = percent_format(scale=1))

ggplotly(grafico4)

El gráfico muestra una tendencia decreciente entre 1985 y 2016. A finales de los años 80, la tasa de mortalidad infantil superaba el 1% de la población en Reino Unido, pero desde eso la tasa ha disminuido de forma continua.

Esta tasa refleja un mejoramiento en los servicios medicos y las condiciones de salud, hacia 2016 la tasa se ha reducido a menos del 0,4% de la población, lo que indica avances significativos en el bienestar infantil y la efectividad del sistema de salud.

Suicidios

SUI_ts <- ts(BASE$SUI, start = 1985, frequency = 1)

grafico5<-autoplot(SUI_ts) +
  geom_line(size = 1.2, colour = "#823A90") +
  geom_point(size = 2, colour = "#6F3779") +
  labs(
    title    = "Evolución de las Emisiones de Gases de Efecto Invernadero
                     en el Reino Unido",
    subtitle = "Serie anual desde 1985 hasta 2016",
    x        = "Año",
    y        = "Toneladas de CO2"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title.position   = "plot",        # título al inicio
    plot.title            = element_text(face = "bold", size = 14),
    plot.subtitle         = element_text(size = 12, margin = margin(b = 10)),
    axis.title            = element_text(face = "bold", size = 11),
    axis.text             = element_text(colour = "grey20"),
    panel.grid.minor      = element_blank(), 
    panel.grid.major      = element_line(colour = "grey90")
  ) +
  scale_x_continuous(breaks = seq(1990, 2023, by = 5)) +
  scale_y_continuous(labels = comma_format())

ggplotly(grafico5)

La evolución de la cantidad de suicidios en el Reino Unido entre 1985 y 2016 presenta una leve tendencia a la baja, aunque con caídas notables a lo largo del tiempo. Estas variaciones representan que el suicidio es un fenómeno complejo, casi imposible de predecir, que es influenciado por factores sociales, económicos, individuales y culturales. No responde a un patrón predecible, sino que está condicionado por múltiples variables que se dan por los factores nombrados anteriormente.

Durante algunos años, especialmente entre los años 80 y 90 se presentan picos y caídas abruptas, que pueden deberse a la poca importancia que se le daba a la salud mental en esos años o a las crisis económicas. A partir de los años 2000, la serie presenta una pequeña estabilidad, aunque se sigue viendo reflejado como la tasa sube y baja repentinamente. Esta irregularidad refleja precisamente la sensibilidad del problema del suicidio frente a diferentes contextos y los multiples factores.

Relación \(Y\) vs. \(X_k\)

Gasto público

grafico12<-ggplot(BASE, aes(x = ESP_VIDA, y = GASTOPUB)) +
  geom_point(color = "#0A9396", size = 2, alpha = 2) +
  scale_x_continuous(labels = label_number())+
  scale_y_continuous(labels = label_percent(scale = 1))+
  labs(x = "Esperanza de vida",
       y = "Gasto público (% del PIB)",
       title = "RELACIÓN ENTRE LA ESPERANZA DE VIDA y \nEL GASTO PUBLICO") +
  theme_minimal()

ggplotly(grafico12)

Podemos visualizar cómo a medida de que el gasto público aumenta la esperanza de vida también, esto es conocido como crecimiento directamente proporcional. Esto puede deberse a que aspectos sociales como la educación, la salud, la vivienda, los servicios a personas mayores y los ingresos mínimos pueden aumentar no tan solo nuestra esperanza de vida, sino también la calidad de esta. El Reino Unido es un estado de bienestar, lo cual significa que el estado debe garantizar un nivel mínimo de este para todos los ciudadanos. Aunque en el gráfico vemos algunas caídas, esto puede ser por gobiernos que a lo largo de los años no se han enfocado en garantizar este.

Gasto en salud

grafico13<-ggplot(BASE, aes(x = ESP_VIDA, y = GASTOSALUD)) +
  geom_point(color = "#254365", size = 2, alpha = 2) +
  scale_x_continuous(labels = label_number())+
  scale_y_continuous(labels = label_number())+
  labs(x = "Esperanza de vida",
       y = "Gasto en salud ($)",
       title = "RELACIÓN ENTRE LA ESPERANZA DE VIDA y \nEL GASTO EN SALUD") +
  theme_minimal()

ggplotly(grafico13)

En este gráfico se observa una relación lineal más directa, pues, si aumentamos el gasto en salud, se prolonga la esperanza de vida. A partir de los 78 años el gasto en salud aumenta, lo que podría ser consecuencia de que, entre más aumenta la edad, se incrementa la posibilidad de enfermedades o la necesidad de tener cuidado médicos y atención geriátrica.

Pobreza

grafico16<-ggplot(BASE, aes(x = ESP_VIDA, y = POBR)) +
  geom_point(color = "#120120", size = 2, alpha = 2) +
  scale_x_continuous(labels = label_number())+
  scale_y_continuous(labels = label_percent(scales = 1))+
  labs(x = "Esperanza de vida",
       y = "Pobreza (%)",
       title = "RELACIÓN ENTRE LA ESPERANZA DE VIDA y POBREZA") +
  theme_minimal()

ggplotly(grafico16)

En este gráfico se evidencia un índice de pobreza constante a excepción de 4 datos, los cuales se podrían considerar un posible error de muestreo o datos faltantes. En Reino Unido se ha evidenciado un porcentaje de pobreza constante, debido a la falta de fondos suficientes para cubrir las necesidades básicas, teniendo salarios y prestaciones demasiado bajas como para poder romper efectivamente el ciclo de pobreza. Se estima que 1 de cada 5 habitantes se encuentra en pobreza extrema o en riesgo de estarlo. Esto puede ser debido a la alta inflación que enfrentan, pues Reino Unido es el 5 país más caro para vivir, lo que puede influir altamente en esta situación.

Mortalidad infantil

grafico14<-ggplot(BASE, aes(x = ESP_VIDA, y = MORT_INFAN)) +
  geom_point(color = "#7A8723", size = 2, alpha = 2) +
  scale_x_continuous(labels = label_number())+
  scale_y_continuous(labels = label_percent(scale = 1))+
  labs(x = "Esperanza de vida",
       y = "Mortalidad infantil",
       title = "RELACIÓN ENTRE LA ESPERANZA DE VIDA y \nMORTALIDAD INFANTIL") +
  theme_minimal()

ggplotly(grafico14)

En este gráfico se muestra la relación entre la esperanza de vida y la mortalidad infantil donde, a simple vista, se logra identificar un crecimiento inversamente proporcional ya que a mayor mortalidad infantil la esperanza de vida empieza a disminuir. Esto va fuertemente de la mano, ya que uno de los principales motivos de la mortalidad infantil en Reino Unido es la prematuridad que está es causada por las condiciones de salud de las mujeres, donde se presenta fuertemente la obesidad y mujeres fumadoras. También influye la variación regional en la disponibilidad de atención especializada durante y después del embarazo.

Suicidios

grafico15<-ggplot(BASE, aes(x = ESP_VIDA, y = SUI)) +
  geom_point(color = "#7A8723", size = 2, alpha = 2) +
  scale_x_continuous(labels = label_number())+
  scale_y_continuous(labels = label_number())+
  labs(x = "Esperanza de vida",
       y = "Suicidios por \ncada 100.000 habitantes",
       title = "RELACIÓN ENTRE LA ESPERANZA DE VIDA y SUICIDIOS") +
  theme_minimal()

ggplotly(grafico15)

El gráfico muestra que a menor tasa de suicidios por cada 100.000 habitantes, la esperanza de vida tiende a ser más alta. Esta relación negativa sugiere que en contextos donde los suicidios son menos frecuentes, posiblemente por mejores condiciones de salud mental, mayor acceso a servicios de apoyo y entornos sociales más favorables, las personas tienden a vivir más años. Aunque no se puede afirmar que una menor tasa de suicidios cause directamente una mayor esperanza de vida, sí es probable que ambos factores estén influenciados por el nivel de bienestar general de la población.

Correlación entre variables

das <- dplyr::select_if(BASE, is.numeric) %>% 
  select(-YEAR)

rel <- cor(das)

ggcorrplot(rel)

ggcorrplot(rel,
           hc.order=TRUE,
           type="lower",
           lab=TRUE)

En este diagrama podemos evidenciar varias variables con coeficientes de correlación altos, tales como el gasto en salud con la esperanza de vida, las cuales tienen una correlación positiva de 0,99 casi siendo una correlación perfecta, es decir, que ambas tienen un crecimiento directamente proporcional.

Por otro lado podemos observar variables con una correlación negativa, como la esperanza de vida y la mortalidad infantil, las cuales tienen un coeficiente de correlación del -0,95, es decir, estas tienen un crecimiento inversamente proporcional.

En este caso todas las variables con coeficientes altamente significativos tiene mucho sentido, si aumentamos el gasto de salud estamos invirtiendo en nuestra calidad de vida y generalmente con esto lo que buscamos es prolongarla.

En el caso de la mortalidad infantil y la esperanza de vida se evidencia que al haber personas de edades tan bajas muriendo, la esperanza de vida empieza a disminuir, ya que su población muere a una muy corta edad.

Discusión de Resultados

Estimación del Modelo

serie <- ts(BASE, start = 1985, end = 2016)
#View(serie)

train <- window(serie, start = 1985, end = 2009)
test <- window(serie, start = 2010, end = 2016)

y_train <- train[, "ESP_VIDA"]
xreg_train <- train[, c("GASTOPUB", "GASTOSALUD", "POBR","MORT_INFAN","SUI")]
#View(xreg_train)

# MODELO
modelo_entrenado <- tslm(y_train ~ GASTOPUB+GASTOSALUD+POBR+MORT_INFAN+SUI, data = xreg_train ) 
summary(modelo_entrenado)
## 
## Call:
## tslm(formula = y_train ~ GASTOPUB + GASTOSALUD + POBR + MORT_INFAN + 
##     SUI, data = xreg_train)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.32168 -0.09576  0.02484  0.12294  0.18873 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  7.740e+01  9.282e-01  83.386  < 2e-16 ***
## GASTOPUB     8.492e-02  3.052e-02   2.782   0.0119 *  
## GASTOSALUD   9.386e-04  9.957e-05   9.426 1.35e-08 ***
## POBR        -1.153e+00  4.350e-01  -2.650   0.0158 *  
## MORT_INFAN  -3.264e+00  4.334e-01  -7.529 4.08e-07 ***
## SUI         -1.977e-01  1.396e-01  -1.416   0.1728    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1507 on 19 degrees of freedom
## Multiple R-squared:  0.9934, Adjusted R-squared:  0.9917 
## F-statistic: 572.4 on 5 and 19 DF,  p-value: < 2.2e-16

Tras ajustar un modelo de regresión lineal mediante la función tslm en R, usando la esperanza de vida (ESP_VIDA) como variable dependiente y los predictores gasto en salud (GASTOSALUD), pobreza (POBR), mortalidad infantil (MORT_INFAN), suicidios (SUI) y gasto público (GASTOPUB), obtenemos un R² ajustado = 0.9915, lo que indica que más del 99 % de la variación en la esperanza de vida queda explicada por estas variables.

No obstante, es importante analizar de forma crítica los resultados obtenidos. Si bien el modelo muestra un ajuste aparentemente excelente, este nivel tan elevado de explicación puede levantar sospechas sobre un posible sobreajuste o multicolinealidad entre las variables explicativas. En contextos reales y con datos sociales complejos como la esperanza de vida, es inusual alcanzar un ajuste casi perfecto, ya que existen múltiples factores no observables o difíciles de cuantificar que también influyen en esta variable. Por tanto, es pertinente complementar este análisis con pruebas de colinealidad (como el VIF), para asegurarse de que la capacidad predictiva se mantenga cuando se aplique a nuevos datos, y que el modelo no esté capturando únicamente las peculiaridades de la muestra de entrenamiento.

Analizando los coeficientes, el intercepto de 77.41 años representa la esperanza de vida estimada en un escenario hipotético donde todos los predictores fueran cero. Por cada unidad adicional en gasto en salud, la esperanza de vida aumenta en 0.00113 años, con una significancia extremadamente alta. La variable POBR, relacionada con la proporción de pobreza, presenta un coeficiente negativo significativo, lo que implica que cada punto porcentual adicional reduce la esperanza de vida en 1.16 años. MORT_INFAN, referente a la mortalidad infantil, muestra un impacto aún más pronunciado, ya que cada punto porcentual extra disminuye la esperanza de vida en 3.27 años , consolidándose como el predictor más influyente. Por su parte, la tasa de suicidio (SUI) no alcanzó significancia estadística, lo que sugiere que no aporta explicación adicional relevante al modelo, presentando un coeficiente negativo, lo cual indica que cada punto porcentual adicional reduce la esperanza de vida en 0.2 años. Finalmente, GASTOPUB, que indica el gasto público en salud como porcentaje del PIB, tiene un coeficiente positivo y significativo, lo que se traduce en un aumento de esperanza de vida equivalente a aproximadamente 0.08 años por cada punto porcentual extra de gasto.

Multicolinealidad

vif(modelo_entrenado)
##                GVIF Df GVIF^(1/(2*Df))
## GASTOPUB   22.29257  0             Inf
## GASTOSALUD 22.29257  0             Inf
## POBR       22.29257  0             Inf
## MORT_INFAN 22.29257  0             Inf
## SUI        22.29257  0             Inf

Con el fin de evaluar la posible existencia de multicolinealidad entre los predictores del modelo ajustado, se procedió a calcular el Variance Inflation Factor (VIF) para cada una de las variables independientes. Los resultados obtenidos muestran un valor de GVIF = 22.29 para todos los predictores En condiciones normales, un VIF superior a 5 ya sugiere una colinealidad moderada, y uno superior a 10 se considera crítica; en este caso, el valor de 22.29 excede ampliamente esos umbrales.

Lo esencial es que todos los predictores presentan valores idénticos y elevados, lo que sugiere que hay una fuerte correlación entre dos o más variables independientes del modelo. Estos resultados refuerzan la sospecha planteada previamente sobre la fiabilidad del modelo. Aunque el R² ajustado es altísimo, la elevada colinealidad entre predictores puede estar generando una ilusión de ajuste perfecto.

Evaluación de Supuestos del Modelo

Normalidad

shapiro.test(residuals(modelo_entrenado))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(modelo_entrenado)
## W = 0.93286, p-value = 0.1012

Para evaluar si los residuos del modelo se distribuyen normalmente, se aplicó la prueba de normalidad de Shapiro-Wilk, estableciendo las siguientes hipótesis:

  • Hipótesis nula (H₀): Los residuos del modelo siguen una distribución normal.

  • Hipótesis alternativa (H₁): Los residuos del modelo no siguen una distribución normal.

El estadístico obtenido fue W = 0.93286 con un p‑valor de 0.01012. Dado que este p‑valor es mayor al nivel de significancia comúnmente usado (α = 0.05), no se rechaza la hipótesis nula de normalidad, lo cual indica que no hay evidencia suficiente para afirmar que los errores se desvían de una distribución normal. Este resultado refuerza la validez del modelo, pues una distribución aproximadamente normal de los residuos permite confiar en las estimaciones, los intervalos de confianza.

Homocedasticidad

bptest(modelo_entrenado)
## 
##  studentized Breusch-Pagan test
## 
## data:  modelo_entrenado
## BP = 3.3149, df = 5, p-value = 0.6516

Con el objetivo de evaluar el supuesto de homocedasticidad, es decir, que los residuos del modelo mantengan una varianza constante a lo largo del tiempo,se aplicó la prueba de Breusch-Pagan studentized. Esta prueba analiza si la varianza de los errores depende de los valores de las variables independientes.

  • Hipótesis nula (H₀): La varianza de los residuos es constante.

  • Hipótesis alternativa (H₁): La varianza de los residuos depende de los predictores.

El resultado obtenido muestra un estadístico BP = 3.3149 y un p-valor = 0.6516. Dado que el p-valor es considerablemente mayor al nivel de significancia convencional de 0.05, no se rechaza la hipótesis nula de homocedasticidad. Es decir, no hay evidencia estadística de heterocedasticidad, lo cual indica que los residuos del modelo presentan una varianza constante. Este resultado es favorable, ya que la homocedasticidad es un requisito fundamental para garantizar la validez de los errores estándar, intervalos de confianza.

Residuales

Gráfica CheckResiduals

checkresiduals(modelo_entrenado)

## 
##  Breusch-Godfrey test for serial correlation of order up to 9
## 
## data:  Residuals from Linear regression model
## LM test = 10.106, df = 9, p-value = 0.342

Al aplicar la función checkresiduals (modelo_entrenado), se despliegan tres gráficos que permiten evaluar a la vista los supuestos de independencia, homocedasticidad y normalidad de los residuos.

En el panel superior vemos la serie temporal de los residuos del modelo para cada año de entrenamiento (1985–2009). Allí, los puntos conectados por líneas oscilan de manera aparentemente aleatoria alrededor de la línea de cero, sin mostrar tendencias ascendentes o descendentes a largo plazo ni patrones estacionales. Este comportamiento es indicativo de ruido blanco, debido a que los residuos carecen de estructura predecible. Por lo tanto, el modelo se comporta como un componente puramente aleatorio, sin autocorrelación serial ni heterogeneidad de varianza.

En el panel inferior izquierdo, el gráfico de la función de autocorrelación (ACF) de los residuos muestra, en líneas generales, barras que oscilan alrededor de cero sin formar un patrón sostenido, pero el rezago 3 presenta una autocorrelación claramente negativa y superior a la banda de confianza inferior (alrededor de −0.45), lo que significa que un residuo alto tiende a ir seguido, tres pasos atrás, por un residuo bajo de forma sistemática. También, el rezago 7 muestra un escalón negativo que roza ese mismo umbral, sugiriendo también cierta dependencia a siete años de distancia. Fuera de estos dos lags puntuales, las demás barras permanecen dentro de las bandas azules, lo que indica que no hay autocorrelación significativa en los residuos, lo que apoya la hipótesis de ausencia de autocorrelación serial.

Finalmente, en el panel inferior derecho, el histograma de los residuos, acompañado de la curva de densidad normal ajustada, muestra una distribución bastante simétrica y con forma de campana moderada, validando el supuesto de normalidad aproximada.

Supuesto de Autocorrelación

Por otro lado, para verificar el supuesto de independencia serial de los residuos, se aplicó la prueba de Breusch-Godfrey. Este test evalúa si los residuos del modelo presentan correlación lineal con sus propios valores pasados, lo cual violaría la suposición de errores independientes.

  • Hipótesis nula (H₀): Los errores son independientes entre sí

  • Hipótesis alternativa (H₁): Los errores están correlacionados entre sí.

El resultado obtenido muestra un estadístico LM = 10.106 y un p-valor = 0.342. Como este valor es claramente mayor al convencional de significancia (α = 0.05), no se rechaza la hipótesis nula. Esto indica que no hay evidencia estadística de autocorrelación en los residuos hasta el orden 9, por lo tanto, el supuesto de independencia de los errores se considera satisfecho.

Este resultado es especialmente relevante, ya que respalda la validez de las estimaciones obtenidas por el modelo y fortalece su utilidad para propósitos de predicción.

Gráfica Residuales

cbind(Fitted = fitted(modelo_entrenado),
      Residuals=residuals(modelo_entrenado)) %>%
  as.data.frame() %>%
  ggplot(aes(x=Fitted, y=Residuals)) + geom_point()

Para comprobar la adecuación del modelo, se construyó un diagrama de dispersión entre los valores ajustados por el modelo (Fitted) y sus residuos (Residuals). En él, cada punto representa una observación: su posición horizontal indica la predicción del modelo y la vertical, el error asociado a esa predicción. El análisis de este gráfico revela una nube de puntos centrada en torno al cero, sin forma de embudo ni ampliaciones sistemáticas de la dispersión en ningún tramo del eje de los ajustados. Esta uniformidad sugiere que los residuos exhiben varianza constante (homocedasticidad), pues su amplitud no crece ni decrece al aumentar o disminuir las predicciones. Además, no se observa ningún patrón curvilíneo o tendencia marcada, por lo que la suposición de linealidad en los parámetros parece válida.

Gráfica Residuales Múltiple

df_train <- as.data.frame(train)
df_train$Residuals <- as.numeric(residuals(modelo_entrenado))

p1 <- ggplot(df_train, aes(x = GASTOSALUD, y = Residuals)) +
  geom_point(color = "steelblue") +
  labs(x = "Gasto en Salud per cápita", y = "Residuos") +
  theme_minimal()

p2 <- ggplot(df_train, aes(x = POBR, y = Residuals)) +
  geom_point(color = "darkgreen") +
  labs(x = "Proporción de Pobreza", y = "") +
  theme_minimal()

p3 <- ggplot(df_train, aes(x = MORT_INFAN, y = Residuals)) +
  geom_point(color = "darkred") +
  labs(x = "Mortalidad Infantil", y = "") +
  theme_minimal()

p4 <- ggplot(df_train, aes(x = GASTOPUB, y = Residuals)) +
  geom_point(color = "orange") +
  labs(x = "Gasto Público (% del PIB)", y = "") +
  theme_minimal()

p5 <- ggplot(df_train, aes(x = SUI, y = Residuals)) +
  geom_point(color = "orange") +
  labs(x = "Tasa de Suicidios", y = "") +
  theme_minimal()

gridExtra::grid.arrange(p1, p2, p3, p4,p5, nrow = 2)

Los cinco paneles muestran la dispersión de los residuos del modelo de entrenamiento frente a cada uno de los predictores: gasto en salud per cápita, proporción de pobreza, mortalidad infantil, gasto público en salud (% del PIB) y tasa de suicidios. En todos ellos la nube de puntos aparece distribuida de manera aparentemente aleatoria alrededor del cero, sin trazos de embudo ni de patrones curvilíneos que sugieran heterocedasticidad o falta de linealidad.

En particular, el gráfico de residuos frente a la proporción de pobreza revela una concentración de puntos hacia la derecha, entre 0.20 y 0.25, lo cual obedece a que la serie de pobreza apenas varía en el período 1985–2009 y, por tanto, casi todas las observaciones caen en ese rango estrecho. No obstante, esa agrupación no resulta ser un problema de dependencia entre residuos y pobreza, ya que los signos y magnitudes de los residuos se reparten de forma aleatoria.

De este modo, la ausencia de tendencias sistemáticas en cualquiera de los cinco diagramas confirma que los errores del modelo son independientes de las variables explicativas y, en consecuencia, que se mantiene el supuesto de independencia.

Pronóstico

xreg_future <- data.frame(
  MORT_INFAN = c(0.5168714, 0.4967175, 0.4787955, 0.4642720, 0.4534343,0.4459634,0.4412454),
  GASTOSALUD = c(3536.716,3516.433,3583.618, 3665.687, 3732.847, 3800.465, 3841.310),
  GASTOPUB = c(23.069,22.851,22.951, 22.224, 21.685, 21.279, 20.616),
  SUI = c(5.998675,6.290413,6.270688,6.647798, 6.591643, 6.699768, 6.595401),
  POBR = c(0.2463516,0.2473062,0.2446766, 0.2444582, 0.2463005, 0.2492474, 0.2491729)
)

pronostico <- forecast(modelo_entrenado, newdata = xreg_future)

#Gráfica del pronóstico
PRO <- autoplot(pronostico) +
  labs(
    title    = "Pronóstico de la Esperanza de Vida",
    subtitle = "Entrenamiento (1985–2009) vs Test (2010–2016)",
    x        = "Año",
    y        = "Esperanza de vida",
    color    = "Serie"
  ) +
  scale_color_manual(
    values = c(
      "Entrenamiento" = "black",
      "Test"          = "darkred",
      "Pronóstico"    = "steelblue"
    )
  ) +
  theme_minimal(base_size = 14) +
  theme(
    plot.title    = element_text(face = "bold", size = 16),
    plot.subtitle = element_text(size = 12),
    legend.position = "bottom"
  )

PRO

El gráfico muestra cómo ha cambiado la esperanza de vida entre 1985 y 2009, y cómo se espera que siga evolucionando hasta el año 2016. El análisis se divide en dos partes: los datos reales (1985–2009), que se usaron para entrenar el modelo, y los valores proyectados (2010–2016), que corresponden al pronóstico.

A partir de 2010, el modelo comienza a predecir cómo seguirá la esperanza de vida. La línea azul representa los valores estimados, y las áreas sombreadas indican el rango dentro del cual probablemente se encuentren esos valores (es decir, las bandas de confianza del modelo).

El pronóstico muestra que la esperanza de vida seguiría aumentando, aunque a un ritmo más lento. Lo positivo es que el modelo mantiene la misma tendencia que se venía observando, lo que indica que las condiciones que permitieron este crecimiento seguirán presentes, como los servicios buenos de salud, acceso a vacunas, avances en medicina, entre otras. Estos factores, en conjunto, ayudan a reducir enfermedades y a mejorar la calidad de vida de las personas. Además, como las bandas de confianza no son muy amplias, se puede decir que el modelo tiene un buen nivel de precisión.

Valores reales vs. Valores ajustados

predicciones <- pronostico$mean

pred_ts <- ts(predicciones, start = 2010, frequency = 1)

real_ts <- test[, "ESP_VIDA"]

autoplot(real_ts, series = "Real", color = "red") +
  autolayer(pred_ts, series = "Pronosticado", color = "blue") +
  ggtitle("Esperanza de Vida: Valores Reales vs. Pronosticados") +
  ylab("Esperanza de Vida") +
  xlab("Año") +
  guides(color = guide_legend(title = "Serie")) +
  theme_minimal()

test_y <- test[, "ESP_VIDA"]

accuracy(pronostico, test_y)
##                         ME      RMSE       MAE           MPE      MAPE
## Training set -5.684342e-16 0.1314128 0.1073987 -0.0002776426 0.1392648
## Test set      1.248553e+00 1.2606337 1.2485530  1.5432884728 1.5432885
##                   MASE       ACF1 Theil's U
## Training set 0.4207999 -0.1744864        NA
## Test set     4.8919700 -0.1033000   5.84885

La gráfica anterior representa la comparación entre los valores reales de la esperanza de vida y los valores estimados por el modelo durante el período de prueba (2010–2016). La línea roja corresponde a los valores reales, mientras que la línea azul representa los valores pronosticados por el modelo.

Podemos observar que, si bien ambas líneas siguen una tendencia creciente a lo largo del tiempo, los valores pronosticados se encuentran sistemáticamente por debajo de los reales durante todo el periodo. Esta diferencia sugiere un posible sesgo del modelo, el cual tiende a subestimar la esperanza de vida. Esta subestimación es especialmente evidente a partir del año 2011, donde la brecha entre ambas líneas se amplía ligeramente.

A pesar de que la forma general de la serie se mantiene, es decir, ambos conjuntos de datos presentan una pendiente positiva, reflejando una mejora en la esperanza de vida a lo largo del tiempo, el modelo no logra capturar con precisión el nivel real de los datos, lo que podría estar afectando la calidad de los pronósticos.

Accuracy del pronóstico

test_y <- test[, "ESP_VIDA"]

accuracy(pronostico, test_y)
##                         ME      RMSE       MAE           MPE      MAPE
## Training set -5.684342e-16 0.1314128 0.1073987 -0.0002776426 0.1392648
## Test set      1.248553e+00 1.2606337 1.2485530  1.5432884728 1.5432885
##                   MASE       ACF1 Theil's U
## Training set 0.4207999 -0.1744864        NA
## Test set     4.8919700 -0.1033000   5.84885

Conjunto de entrenamiento

El modelo muestra un muy buen ajuste sobre los datos de entrenamiento. El Error Medio (ME) es prácticamente cero, lo que indica que no existe un sesgo en las predicciones. La Raíz del Error Cuadrático Medio (RMSE) y Error Absoluto Medio (MAE) tienen valores bajos (0.13 y 0.107 respectivamente), lo que significa que, en promedio, el modelo se equivoca por aproximadamente 1 a 1.5 meses al predecir la esperanza de vida de los países que ya ha visto. El Error Absoluto Porcentual Medio (MAPE) también es bajo (13%), lo que sugiere un buen desempeño relativo.

El valor de Error Absoluto Escalado Medio (MASE) en entrenamiento (0.42) confirma que el modelo supera en precisión al método ingenuo (naive), y la baja Autocorrelación de errores en el rezago 1 (ACF1) indica que el modelo está capturando bien la dinámica de los datos.

Conjunto de testeo

Al evaluar el modelo con el conjunto de testeo, se observa una pérdida clara de precisión. El RMSE es de 1.26 y el MAE de 1.25, lo que equivale a un error promedio de un año en la predicción de la esperanza de vida. El ME de 1.25 indica que el modelo subestima sistemáticamente los valores reales. Aunque el MAPE y MPE son bajos (1.54%), el MASE de 4.89 y el Theil’s U de 5.85 muestran que el modelo rinde peor que una predicción ingenua, lo que sugiere sobreajuste. La baja autocorrelación del error (ACF1 = –0.103) es favorable, pero no compensa las fallas generales del modelo.

Conclusiones

Dentro del informe se mostraron diversos pasos a seguir para estudiar la esperanza de vida en Reino Unido, que incluye el análisis descriptivo de las variables, la estimación del modelo de regresión lineal múltiple y, finalmente, el pronóstico de la variable \(Y\) en el periodo comprendido entre 2010 y 2016.

Para la contextualización de la esperanza de vida en Reino Unido fue necesaria la estadística descriptiva, encontrando aquellos puntos donde hubieron comportamientos inusuales de esta variable y observando las causas de los mismos. Se encontró que una las más comunes es la presencia de contagios por enfermedades como la influenza o la gripe, asumiendo muertes por esta razón.Se evidenció, además, que todas la relaciones entre las variables fueron lógicamente consecuentes y nos permitió un mayor acierto del modelo posteriormente realizado.

El modelo mostró que todas las variables seleccionadas tuvieron significancia a excepción de los suicidios, indicó una buen valor de ajuste debido a problemas de multicolinealidad, pero al realizar el pronóstico de entre los años 2010 y 2016 se evidenció que no hubo una dificultad muy notable a la hora de realizar la predicción. En este pronóstico se ve un comportamiento creciente que concuerda con los datos reales y muy consecuentes a lo observado en la serie de tiempo de la variable respuesta, sin mostrar datos inusuales que deban de suponer alguna situación crítica dentro del país.

Finalmente, con la determinación del accuracy, se denota que el modelo consolida correctamente el entrenamiento; sin embargo, a la hora de predecir su rendimiento baja considerablemente.

Referencias

Wikipedia. (n.d.). 1989–1990 flu epidemic in the United Kingdom. Wikipedia. https://en.wikipedia.org/wiki/1989%E2%80%931990_flu_epidemic_in_the_United_Kingdom

Wikipedia. (n.d.). Categoría: Reino Unido en 1993. Wikipedia. https://es.wikipedia.org/wiki/Categor%C3%ADa:Reino_Unido_en_1993

Ravipmum. (n.d.). Time Series Fundamentals. RPubs. https://rpubs.com/ravipmum/Time_Series_Fundamentals

National Center for Biotechnology Information. (2018). Sudden Infant Death Syndrome (SIDS). In StatPearls. U.S. National Library of Medicine. https://www.ncbi.nlm.nih.gov/books/NBK513397/

Nuffield Trust. (n.d.). Infant and neonatal mortality. https://www.nuffieldtrust.org.uk/resource/infant-and-neonatal-mortality

NHS England. (n.d.). Mental health services for adults. https://www.england.nhs.uk/mental-health/adults/

Institute for Fiscal Studies. (n.d.). What does government spend money on?. https://ifs.org.uk/taxlab/taxlab-key-questions/what-does-government-spend-money

Kratofil, M. (2009). Introductory Time Series with R. https://michaela-kratofil.com/files/2009_Book_IntroductoryTimeSeriesWithR.pdf

Topping, A. (2024, November 14). Infant mortality rises for third year in a row, with risk tripling in deprived areas. The Guardian. https://www.theguardian.com/world/2024/nov/14/infant-mortality-rises-for-third-year-in-a-row-with-risk-tripling-in-deprived-areas

Mental Health UK. (n.d.). Suicide. https://mentalhealth-uk.org/suicide/

Royal Geographical Society. (n.d.). Persistent poverty in Britain. https://www.rgs.org/schools/resources-for-schools/persistent-poverty-in-britain/

Wikipedia. (n.d.). United Kingdom government austerity programme. Wikipedia. https://en.wikipedia.org/wiki/United_Kingdom_government_austerity_programme

Kurzgesagt – In a Nutshell. (2018, March 5). The suicide disease: Explaining suicide and depression [Video]. YouTube. https://www.youtube.com/watch?v=WmhA56l6sAM