Instalar/Cargar librerias necesarias para el análisis
#Cargar librerías necesarias
library(readxl) # Para leer archivos Excel
library(tseries) # Para pruebas de estacionariedad
library(forecast) # Para modelado ARIMA y pronósticos
library(ggplot2) # Para visualización de datos
library(plotly) # Para gráficos interactivos
library(timetk) #timetk simplifica y acelera el análisis exploratorio, visualización, y preparación de datos temporales para modelado. Es ideal para quienes trabajan con series temporales en un flujo de trabajo "tidy" y buscan integrar análisis visuales, detección de patrones y forecasting en un solo paquete.
Cargar base de datos
library(readxl)
data_col <- read_excel("Base Caso2.xlsx",
col_types = c("date", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric", "numeric",
"numeric", "numeric"))
PASO INDISPENSABLE: Declarar la (s) variable (s) como serie (s) temporal (es):
Variable 1
# Convertir/declarar variable 1=ENER en serie de tiempo mensual
variable1_ts <- ts(data_col$ENER, start = c(2012, 1), frequency = 12)
Variable 2
# Convertir/declarar el ISE en serie de tiempo mensual
variable2_ts <- ts(data_col$ISE, start = c(2012, 1), frequency = 12)
Variable 3
# Convertir/declarar las exportaciones de combustibles en serie de tiempo mensual
variable3_ts <- ts(data_col$X_COMB, start = c(2012, 1), frequency = 12)
Gráfico inicial de la variable 1 en niveles -Original
library(ggplot2)
library(plotly)
# Convertir la serie temporal a un vector numérico para lograr graficar con ggplot2
data_col$variable1 <- as.numeric(variable1_ts)
# Crear el gráfico
grafico_serie <- ggplot(data_col, aes(x = seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = nrow(data_col)),
y = variable1)) +
geom_line(color = "grey", linewidth = 0.4) + # Cambiado 'size' por 'linewidth'
geom_point(color = "black", size = 0.1) +
ggtitle("Variable 1: Serie original") +
xlab("Tiempo") +
ylab("Unidad Variable 1") +
theme_minimal()
ggplotly(grafico_serie)
En primera instancia no es posible determinar una tendencia por que hay muchas fluctuaciones, es decir mucha volativilidad y el hallazgo mas relevante es la caida de 2020 por la pandemia, la cual causo una disminución en la actividad industrial, comercial y productiva lo que provoco una reducción importante en el consumo energético.
Extracción señales variable 1
# Cargar librerías necesarias
library(ggplot2)
library(plotly)
# Descomposición de la serie temporal
stl_decomp_var1 <- stl(variable1_ts, s.window = "periodic")
# Convertir la descomposición a un data frame para graficar con ggplot2
stl_df_var1 <- data.frame(
Time = rep(time(variable1_ts), 4), # Tiempo repetido para cada componente (son 4 componentes)
Value = c(stl_decomp_var1$time.series[, "seasonal"],
stl_decomp_var1$time.series[, "trend"],
stl_decomp_var1$time.series[, "remainder"],
variable1_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(variable1_ts))
)
# Crear gráfico con ggplot2
p <- ggplot(stl_df_var1, aes(x = Time, y = Value, color = Component)) +
geom_line() +
facet_wrap(~Component, scales = "free_y", ncol = 1) +
theme_minimal() +
labs(title = "Descomposición temporal de la variable 1",
x = "Tiempo",
y = "Valor")
# Convertir a gráfico interactivo con plotly
ggplotly(p)
Hay un aumento de la demanda por un evento estacional en cada septiembre de cada año por que las empresas se empiezan a preparar para una epoca de mucho consumo en los ultimos meses del año y por el contrario en los eneros de cada año se reduce la demanda de energia, esta caida es explicada por que salimos de un mes de mucha produccion y consumo, lo que es diciembre, y pasamos a enero donde se disminuye la demanda y por ende la produccion.
Este comportamiento sugiere que la demanda energética está influenciada por los ciclos productivos y comerciales de la economía. Durante ciertos periodos aumenta la actividad económica y, por tanto, el consumo energético, mientras que en otros meses la actividad disminuye.
En el componente de residuo se evidencia el choque de pandemia en 2020 y en 2021 se observa otro choque estructural por el paro nacional que repercutio en muchas empresas, la presencia de residuos elevados evidencia la sensibilidad de la variable frente a eventos inesperados y choques externos.
La componente de tendencia muestra el comportamiento estructural de largo plazo de la serie. Antes de 2020, la tendencia se mantenía relativamente estable, sin embargo, durante la pandemia ocurre una caída significativa.
Posteriormente, la tendencia evidencia un proceso de recuperación gradual asociado a la reactivación económica y al incremento progresivo de la demanda energética.
A pesar de la recuperación, la serie continúa mostrando ciertos niveles de inestabilidad derivados de choques económicos y sociales que afectan el comportamiento del consumo energético.
Extracción señales variable 2
# Cargar librerías necesarias
library(ggplot2)
library(plotly)
# Descomposición de la serie temporal
stl_decomp_var2 <- stl(variable2_ts, s.window = "periodic")
# Convertir la descomposición a un data frame para graficar con ggplot2
stl_df_var2 <- data.frame(
Time = rep(time(variable2_ts), 4), # Tiempo repetido para cada componente
Value = c(stl_decomp_var2$time.series[, "seasonal"],
stl_decomp_var2$time.series[, "trend"],
stl_decomp_var2$time.series[, "remainder"],
variable2_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(variable2_ts))
)
# Crear gráfico con ggplot2
p <- ggplot(stl_df_var2, aes(x = Time, y = Value, color = Component)) +
geom_line() +
facet_wrap(~Component, scales = "free_y", ncol = 1) +
theme_minimal() +
labs(title = "Descomposición temporal de la variable 2",
x = "Tiempo",
y = "Valor")
# Convertir a gráfico interactivo con plotly
ggplotly(p)
Se evidencia un comportamiento estacional marcado en ciertos meses del año, donde la actividad económica aumenta principalmente hacia el segundo semestre debido al incremento de producción, comercio y consumo de los hogares. De igual forma, en los primeros meses del año, especialmente en enero, se observa una desaceleración asociada a la reducción de la actividad productiva después de diciembre.
Este patrón indica que la economía colombiana presenta ciclos recurrentes relacionados con temporadas de consumo, comercio y producción que afectan directamente el comportamiento del ISE.
En el componente residual se observa claramente el choque estructural ocasionado por la pandemia en 2020, donde la actividad económica presentó una caída abrupta producto de las restricciones sanitarias y la disminución del consumo y la producción.
Posteriormente, durante 2021, se evidencia otro choque asociado al paro nacional, el cual afectó sectores productivos, transporte, comercio y logística del país. La presencia de residuos elevados refleja la sensibilidad del indicador frente a eventos inesperados y situaciones de incertidumbre económica.
La componente de tendencia muestra el comportamiento estructural de largo plazo de la economía colombiana. Antes de 2020 se observa una dinámica relativamente estable y con crecimiento moderado, sin embargo, durante la pandemia ocurre una caída significativa causada por la desaceleración económica.
Posteriormente, la tendencia evidencia una recuperación gradual asociada a la reapertura económica, la reactivación del comercio y el incremento progresivo de la producción nacional.
A pesar de la recuperación, la tendencia continúa mostrando fluctuaciones derivadas de choques económicos internos y externos que afectan el desempeño de la economía.
Extracción señales variable 3
# Cargar librerías necesarias
library(ggplot2)
library(plotly)
# Descomposición de la serie temporal
stl_decomp_var3 <- stl(variable3_ts, s.window = "periodic")
# Convertir la descomposición a un data frame para graficar con ggplot2
stl_df_var3 <- data.frame(
Time = rep(time(variable3_ts), 4), # Tiempo repetido para cada componente
Value = c(stl_decomp_var3$time.series[, "seasonal"],
stl_decomp_var3$time.series[, "trend"],
stl_decomp_var3$time.series[, "remainder"],
variable3_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(variable3_ts))
)
# Crear gráfico con ggplot2
p <- ggplot(stl_df_var3, aes(x = Time, y = Value, color = Component)) +
geom_line() +
facet_wrap(~Component, scales = "free_y", ncol = 1) +
theme_minimal() +
labs(title = "Descomposición temporal de la variable 3",
x = "Tiempo",
y = "Valor")
# Convertir a gráfico interactivo con plotly
ggplotly(p)
El componente estacional de las exportaciones de combustibles presenta oscilaciones regulares a lo largo de todo el periodo analizado. A diferencia de otras variables, no se identifica un mes específico que concentre de forma dominante los picos o caídas estacionales, lo que sugiere que las exportaciones de combustibles no responden de manera sistemática a los ciclos del calendario económico doméstico. Este comportamiento es coherente con la naturaleza de los mercados energéticos internacionales, donde los flujos de exportación están determinados principalmente por contratos de largo plazo, precios del crudo y decisiones de producción, factores que no se rigen por los mismos ciclos productivos y comerciales que afectan la economía interna.
En el componente de residuo se evidencia el choque de la pandemia en 2020, que generó una disrupción abrupta en la demanda global de energía y afectó directamente los volúmenes exportados. Adicionalmente, alrededor de 2015 se identifica otro choque estructural asociado al desplome del precio internacional del petróleo, que impactó severamente la capacidad exportadora del país. La presencia de estos residuos elevados evidencia la sensibilidad de la variable frente a eventos externos de carácter global y a los ciclos del mercado petrolero internacional.
La componente de tendencia muestra el comportamiento estructural de largo plazo de las exportaciones de combustibles. Desde el inicio del periodo se observa una tendencia descendente pronunciada que se extiende hasta aproximadamente 2016, explicada por el ciclo bajista del precio del petróleo. Posteriormente, la tendencia evidencia un proceso de recuperación gradual asociado a la estabilización del mercado energético global y a la reactivación de la producción nacional. Sin embargo, la pandemia de 2020 interrumpe nuevamente esta recuperación, generando una segunda caída estructural. A pesar de la recuperación observada entre 2021 y 2023, la serie continúa mostrando ciertos niveles de inestabilidad, y hacia el final del periodo la tendencia apunta a una estabilización con bajo crecimiento, sin que se anticipen señales claras de una recuperación robusta en el corto plazo.
Después de la descomposición temporal de cada variable, se extrae la variable ajustada por estacionalidad para graficarla junto con la serie original:
Se crea la variable1 ajustada por estacionalidad
# Extraer los componentes de la descomposición
variable1_sa <- variable1_ts - stl_decomp_var1$time.series[, "seasonal"]
Se crea la variable2 ajustada por estacionalidad
# Extraer los componentes de la descomposición
variable2_sa <- variable2_ts - stl_decomp_var2$time.series[, "seasonal"]
Se crea la variable3 ajustada por estacionalidad
# Extraer los componentes de la descomposición
variable3_sa <- variable3_ts - stl_decomp_var3$time.series[, "seasonal"]
Ahora si se puede graficar las series originales versus la ajustada por estacionalidad
Gráfico serie original VS ajustada Variable 1
# Crear vector de fechas correctamente alineado con la serie
fechas_var1 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable1_ts))
# Gráfico mejorado con fechas en el eje X
grafico_ajustada_var1 <- ggplot() +
geom_line(aes(x = fechas_var1, y = variable1_ts), color = "grey", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var1, y = variable1_sa), color = "black", size = 0.6, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Variable 1:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Unidad de medida variable 1") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas para mejor visualización
# Convertir a gráfico interactivo
ggplotly(grafico_ajustada_var1)
En esta grafica se observa que a la serie original, a la cual se le ha aislado el componente estacional, se detecta que hay un componente estacional medianamente influyente
Gráfico serie original VS ajustada Variable 2
# Crear vector de fechas correctamente alineado con la serie
fechas_var2 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable2_ts))
# Gráfico mejorado con fechas en el eje X
grafico_ajustada_var2 <- ggplot() +
geom_line(aes(x = fechas_var2, y = variable2_ts), color = "grey", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var2, y = variable2_sa), color = "black", size = 0.6, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Variable 2:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Unidad de medida variable 2") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas para mejor visualización
# Convertir a gráfico interactivo
ggplotly(grafico_ajustada_var2)
En esta grafica se observa que a la serie original, a la cual se le ha aislado el componente estacional, se detecta que hay un componente estacional muy influyente por que se corrigen los picos de forma clara
Gráfico serie original VS ajustada Variable 3
# Crear vector de fechas correctamente alineado con la serie
fechas_var3 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable3_ts))
# Gráfico mejorado con fechas en el eje X
grafico_ajustada_var3 <- ggplot() +
geom_line(aes(x = fechas_var3, y = variable3_ts), color = "grey", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var3, y = variable3_sa), color = "black", size = 0.6, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Variable 3:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Unidad de medida variable 3") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas para mejor visualización
# Convertir a gráfico interactivo
ggplotly(grafico_ajustada_var3)
En esta grafica se observa que las exportaciones de combustibles, a la cual se le ha aislado el componente estacional, se detecta que hay un componente estacional de muy baja influencia, casi nula ya que al comparar ambos graficos son casi iguales.
Ahora graficamos serie original vs tendencia
Primero se debe obtener la tendencia de cada variable y luego graficarla
Tendencia Variable 1
library(ggplot2)
library(plotly)
# Convertir la serie a un vector numérico
variable1_vec <- as.numeric(variable1_ts)
tendencia_var1 <- as.numeric(stl_decomp_var1$time.series[, "trend"])
# Asegurar que 'fechas' tenga la misma longitud
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable1_ts))
# Gráfico interactivo de la serie original vs tendencia
grafico_tendencia_var1 <- ggplot() +
geom_line(aes(x = fechas, y = variable1_vec, color = "Serie Original"), size = 0.7, linetype = "solid") +
geom_line(aes(x = fechas, y = tendencia_var1, color = "Tendencia"), size = 0.8, linetype = "solid") +
scale_color_manual(values = c("Serie Original" = "grey", "Tendencia" = "black")) +
ggtitle("Variable 1: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Unidad de medida Variable 1") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas del eje X
# Convertir a gráfico interactivo con plotly
ggplotly(grafico_tendencia_var1)
La tendencia captura con claridad el comportamiento estructural de largo plazo de la demanda energética, filtrando la volatilidad mensual de la serie original. Desde el inicio del periodo hasta aproximadamente 2016 se observa una tendencia relativamente estable con un leve crecimiento, seguida de una leve desaceleración hasta 2019, coherente con la moderación de la actividad económica del país durante ese periodo.
El choque de la pandemia en 2020 genera una caída abrupta tanto en la serie original como en la tendencia, siendo este el evento más disruptivo de toda la serie. Posterior a ese mínimo, la tendencia evidencia una recuperación acelerada y sostenida que se extiende hasta 2022–2023, superando los niveles prepandemia. Hacia el final del periodo, la tendencia muestra una leve moderación y estabilización, sin señales de una nueva aceleración del crecimiento en el corto plazo. reactivación económica.
Tendencia Variable 2
library(ggplot2)
library(plotly)
# Convertir la serie a un vector numérico
variable2_vec <- as.numeric(variable2_ts)
tendencia_var2 <- as.numeric(stl_decomp_var2$time.series[, "trend"])
# Asegurar que 'fechas' tenga la misma longitud
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable2_ts))
# Gráfico interactivo de la serie original vs tendencia
grafico_tendencia_var2 <- ggplot() +
geom_line(aes(x = fechas, y = variable2_vec, color = "Serie Original"), size = 0.7, linetype = "solid") +
geom_line(aes(x = fechas, y = tendencia_var2, color = "Tendencia"), size = 0.8, linetype = "solid") +
scale_color_manual(values = c("Serie Original" = "grey", "Tendencia" = "black")) +
ggtitle("Variable 2: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Unidad de medida Variable 2") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas del eje X
# Convertir a gráfico interactivo con plotly
ggplotly(grafico_tendencia_var2)
La tendencia del ISE muestra un crecimiento estructural sostenido y prácticamente ininterrumpido desde el inicio del periodo hasta 2019, lo que refleja la expansión continua de la actividad económica colombiana durante ese periodo. A diferencia de la Variable 1, la pendiente de crecimiento de la tendencia es notoriamente más pronunciada. La serie original presenta una alta volatilidad mensual con picos recurrentes que la tendencia filtra eficientemente, confirmando la fuerte influencia del componente estacional ya identificada previamente.
El choque de la pandemia en 2020 interrumpe abruptamente la trayectoria creciente, generando la caída más profunda de toda la serie en la tendencia. Sin embargo, la recuperación posterior es igualmente acelerada y robusta, retomando el ritmo de crecimiento de forma sostenida desde 2021 en adelante. Hacia el final del periodo, la tendencia continúa en ascenso y la serie original alcanza sus valores máximos históricos.
Tendencia Variable 3
library(ggplot2)
library(plotly)
# Convertir la serie a un vector numérico
variable3_vec <- as.numeric(variable3_ts)
tendencia_var3 <- as.numeric(stl_decomp_var3$time.series[, "trend"])
# Asegurar que 'fechas' tenga la misma longitud
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(variable3_ts))
# Gráfico interactivo de la serie original vs tendencia
grafico_tendencia_var3 <- ggplot() +
geom_line(aes(x = fechas, y = variable3_vec, color = "Serie Original"), size = 0.7, linetype = "solid") +
geom_line(aes(x = fechas, y = tendencia_var3, color = "Tendencia"), size = 0.8, linetype = "solid") +
scale_color_manual(values = c("Serie Original" = "grey", "Tendencia" = "black")) +
ggtitle("Variable 3: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Unidad de medida Variable 3") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotar etiquetas del eje X
# Convertir a gráfico interactivo con plotly
ggplotly(grafico_tendencia_var3)
La tendencia de las exportaciones de combustibles dibuja con claridad un comportamiento cíclico de largo plazo, marcadamente diferente al crecimiento estructural observado en las Variables 1 y 2. Se identifican tres ciclos bien definidos: una primera fase de contracción pronunciada entre 2012 y 2016, explicada por el desplome del precio internacional del petróleo, una recuperación moderada entre 2016 y 2019, y una segunda caída estructural en 2020 asociada a la pandemia y al colapso de la demanda global de energía.
Posterior al mínimo de 2020, la tendencia muestra una recuperación parcial con un pico notable alrededor de 2022, vinculado al repunte del precio del petróleo tras la reactivación económica global y los efectos del conflicto en Ucrania sobre los mercados energéticos. Sin embargo, esta recuperación no logra sostenerse, y hacia el final del periodo la tendencia retoma una trayectoria descendente, situándose en niveles inferiores a los del inicio de la serie. Esto evidencia un deterioro estructural de la capacidad exportadora de combustibles de Colombia en el largo plazo, con señales de que el sector no ha logrado recuperar su dinamismo previo a los grandes choques del periodo.
Ahora calculamos la tasa de crecimiento de la serie original vs tendencia:
Tasa de crecimiento de la serie de tendencia y original para la variable 1
#Cálculo de la tasa de crecimiento anual correctamente alineada
tasa_crecimiento_var1 <- (variable1_ts[(13:length(variable1_ts))] / variable1_ts[1:(length(variable1_ts) - 12)] - 1) * 100
tasa_tendencia_var1 <- (tendencia_var1[(13:length(tendencia_var1))] / tendencia_var1[1:(length(tendencia_var1) - 12)] - 1) * 100
# Crear vector de fechas corregido, es decir que inicie desde enero 2013
fechas_corregidas_var1 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var1))
# Verificar longitudes
print(length(fechas_corregidas_var1))
## [1] 144
print(length(tasa_crecimiento_var1))
## [1] 144
print(length(tasa_tendencia_var1))
## [1] 144
*Gráfico variable original y tendencia variable 1: tasa de crecimiento anual**
library(ggplot2)
library(plotly)
# Gráfico de la tasa de crecimiento anual variable 1
grafico_crecimiento_var1 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var1, y = tasa_crecimiento_var1), color = "grey", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var1, y = tasa_tendencia_var1), color = "black", size = 0.8, linetype = "dashed") +
ggtitle("Variable1: Tasa de crecimiento anual % de la serie Original y la tendencia") +
xlab("Tiempo") +
ylab("% de Crecimiento Anual") +
theme_minimal()
# Convertir a gráfico interactivo
ggplotly(grafico_crecimiento_var1)
Se observa que en la demanda de energia tuvo una contraccion en 2016 que tanto se ve en la tendencia como en la serie original, luego desde 2017 se observa una recuperacion de la demanda y en 2019 empieza a contraerse y llega a su menor crecimiento en 2020 gracias a pandemia, posteriormente se empieza a recuperar otra vez la demanda y gracias a la caida de pandemia se observa un crecimiento gracias a la pequeña base que dejo pandemia, en 2022 empieza a desacelerar la demanda y en 2024 hay una contraccion de la demanda. Al final del periodo se espera que la demanda de energia continue en una estabilidad aunque no se observa que haya una recuperacion en los proximos meses del final de periodo.
Ahora calculamos la tasa de crecimiento de la serie original vs tendencia: variable 2
#Cálculo de la tasa de crecimiento anual correctamente alineada
tasa_crecimiento_var2 <- (variable2_ts[(13:length(variable2_ts))] / variable2_ts[1:(length(variable2_ts) - 12)] - 1) * 100
tasa_tendencia_var2 <- (tendencia_var2[(13:length(tendencia_var2))] / tendencia_var2[1:(length(tendencia_var2) - 12)] - 1) * 100
# Crear vector de fechas corregido
fechas_corregidas_var2 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var2))
# Verificar longitudes
print(length(fechas_corregidas_var2))
## [1] 144
print(length(tasa_crecimiento_var2))
## [1] 144
print(length(tasa_tendencia_var2))
## [1] 144
# Gráfico de la tasa de crecimiento anual variable 2
grafico_crecimiento_var2 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var2, y = tasa_crecimiento_var2), color = "grey", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var2, y = tasa_tendencia_var2), color = "black", size = 0.8, linetype = "dashed") +
ggtitle("Variable2: Tasa de crecimiento anual % de la serie Original y la Tendencia") +
xlab("Tiempo") +
ylab("% de Crecimiento Anual") +
theme_minimal()
# Convertir a gráfico interactivo
ggplotly(grafico_crecimiento_var2)
El ICE desde 2012 hasta 2020 hay un crecimiento estable hasta que el choque de 2020 genera esa caida y en 2021 empieza a aumentar aunque en 2021 no se mantiene ese crecimiento y se empieza a estabilizar el ICE, al final del periodo se espera que la economia colombiana se estabilize
Ahora calculamos la tasa de crecimiento de la serie original vs tendencia: variable 3
#Cálculo de la tasa de crecimiento anual correctamente alineada
tasa_crecimiento_var3 <- (variable3_ts[(13:length(variable3_ts))] / variable3_ts[1:(length(variable3_ts) - 12)] - 1) * 100
tasa_tendencia_var3 <- (tendencia_var3[(13:length(tendencia_var3))] / tendencia_var3[1:(length(tendencia_var3) - 12)] - 1) * 100
# Crear vector de fechas corregido
fechas_corregidas_var3 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var3))
# Verificar longitudes
print(length(fechas_corregidas_var3))
## [1] 144
print(length(tasa_crecimiento_var3))
## [1] 144
print(length(tasa_tendencia_var3))
## [1] 144
# Gráfico de la tasa de crecimiento anual variable 2
grafico_crecimiento_var3 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var3, y = tasa_crecimiento_var3), color = "grey", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var3, y = tasa_tendencia_var3), color = "black", size = 0.8, linetype = "dashed") +
ggtitle("Variable3: Tasa de crecimiento anual % de la serie Original y la tendencia") +
xlab("Tiempo") +
ylab("% de Crecimiento Anual") +
theme_minimal()
# Convertir a gráfico interactivo
ggplotly(grafico_crecimiento_var3)
En la exportacion de petroleo se observan ciclos, 3 fases contractivas, primero de 2014 a 2016, en pandemida de 2018 a 2021 hay fase contractiva y finalmente en 2023 hasta el final del periodo hay otra fase contractiva, cada fase contractiva de 2 años viene de una fase de crecimineto de 2 años. Al año 2024 hay señales que la economia esta entrando a una fase de estabilidad con poco crecimiento.
Analizar la tasa de crecimiento anual ayuda a detectar cambios en el entorno económico que afectan el sector. Se pueden prever crisis o períodos de auge y prepararse para ellos.