El presente trabajo desarrolla un análisis de extracción de señales aplicado a series temporales económicas utilizando herramientas de análisis en RStudio. A partir de información relacionada con producción de cemento, producción de concreto y consumo de energía, se realizó una descomposición temporal con el objetivo de identificar los componentes principales de cada serie: tendencia, estacionalidad y residuo.
La extracción de señales permite separar los movimientos estructurales de largo plazo, los patrones repetitivos y las variaciones irregulares presentes en los datos, facilitando así una mejor interpretación del comportamiento económico de cada variable.
Mediante gráficas, series ajustadas por estacionalidad y tasas de crecimiento anual, se logró analizar la dinámica temporal de los sectores estudiados y comprender cómo diferentes factores económicos afectan su evolución en el tiempo. Este tipo de análisis resulta fundamental para apoyar procesos de toma de decisiones basados en datos y comportamiento histórico.
library(readxl)
library(tseries)
library(forecast)
library(ggplot2)
library(plotly)
library(timetk)
library(readxl)
data_col <- read_excel("data_col.xlsx")
str(data_col)
## tibble [168 × 62] (S3: tbl_df/tbl/data.frame)
## $ FECHA : POSIXct[1:168], format: "2012-01-01" "2012-02-01" ...
## $ PNCEM : num [1:168] 868474 865408 998847 852138 919675 ...
## $ DECEM : num [1:168] 823284 846615 950453 789542 904691 ...
## $ CONCRETO : num [1:168] 526136 584897 634905 550290 639649 ...
## $ LICC : num [1:168] 1498909 1728147 1425267 1388134 1960736 ...
## $ POLLO : num [1:168] 91722 94142 88748 92013 93279 ...
## $ HUEVO : num [1:168] 52929 52870 52979 52633 52466 ...
## $ PNCAFE : num [1:168] 535 571 576 580 689 714 668 565 519 653 ...
## $ PICAFE : num [1:168] 874863 826220 727565 703033 670335 ...
## $ PECAFE : num [1:168] 256 246 226 215 210 ...
## $ XCAF : num [1:168] 197296 186693 203636 121442 167644 ...
## $ M : num [1:168] 4187750 4291881 4632763 4100547 5088029 ...
## $ X : num [1:168] 4785773 4999318 5712355 5010929 5403375 ...
## $ TRM : num [1:168] 1848 1787 1768 1774 1796 ...
## $ M_CEREAL : num [1:168] 130489 170760 150306 112970 171029 ...
## $ M_CERAMICO : num [1:168] 22663 22218 17682 19527 21924 ...
## $ M_FARM : num [1:168] 134163 144190 158930 151310 182270 ...
## $ X_COMB : num [1:168] 3313842 3319381 3870611 3522192 3529123 ...
## $ X_AZU : num [1:168] 63274 63131 78704 59114 53263 ...
## $ X_PREALIM : num [1:168] 28018 30393 29172 31688 28145 ...
## $ X_FARM : num [1:168] 30866 31202 35074 31236 47115 ...
## $ X_QUIM : num [1:168] 25716 27502 30545 31428 28830 ...
## $ X_PAPEL : num [1:168] 38768 32520 37830 31124 32192 ...
## $ X_CERAMICO : num [1:168] 11392 15168 14770 14160 14491 ...
## $ IPIR : num [1:168] 84.2 88 94.1 82.6 94.3 ...
## $ IPIR_PAPEL : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ IPIR_FARM : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ IPIR_PREALIM : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ MIN : num [1:168] 69 67.8 73.3 67 71 ...
## $ ICC : num [1:168] 32.7 26.8 24.4 26.6 26.5 20.6 23.2 18.1 25 25.6 ...
## $ VEH : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ CART : num [1:168] 2.80e+14 2.81e+14 2.84e+14 2.87e+14 2.91e+14 ...
## $ DAH : num [1:168] 1.26e+14 1.30e+14 1.28e+14 1.25e+14 1.27e+14 ...
## $ ENER : num [1:168] 1595 1545 1719 1575 1687 ...
## $ BRENT : num [1:168] 111 120 125 120 111 ...
## $ IPC : num [1:168] 76.8 77.2 77.3 77.4 77.7 ...
## $ TO : num [1:168] 59.7 60.5 61.5 61.2 61.5 ...
## $ TD : num [1:168] 12.8 12.1 10.5 11.1 11 ...
## $ ISE : num [1:168] 81.7 84.5 87.8 84.1 87.9 ...
## $ CAN : num [1:168] 1685584 1973654 2083470 1406868 1233631 ...
## $ AZUCAR : num [1:168] 148483 192196 202408 134532 107659 ...
## $ CEM_V : num [1:168] 61149 66969 72052 63652 71515 ...
## $ COR_V : num [1:168] 110 113 121 112 127 ...
## $ M_V : num [1:168] 3.55e+08 5.56e+08 4.09e+08 3.45e+08 4.12e+08 ...
## $ X_V : num [1:168] 1.60e+08 1.80e+08 1.91e+08 1.61e+08 1.99e+08 ...
## $ IPIR_V : num [1:168] 80.7 89.7 97.1 82.7 90.8 ...
## $ MIN_V : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ ICC_V : num [1:168] 20.6 16.2 21.4 35.5 28 ...
## $ VEH_V : num [1:168] 2379 2654 3155 2319 2507 ...
## $ PEAJE_V : num [1:168] 220673 215773 228878 196841 226518 ...
## $ ENER_V : num [1:168] 200 201 221 203 221 ...
## $ CART_V : num [1:168] 2.60e+13 2.61e+13 2.65e+13 2.67e+13 2.70e+13 ...
## $ POLLO_V : num [1:168] 13518 13580 13502 14575 14565 ...
## $ ENER_CALI : num [1:168] 69379734 68346783 69585382 67028317 68422194 ...
## $ LICC_CALI : num [1:168] 71805 60566 97722 95605 54599 ...
## $ VEH_CALI : num [1:168] NA NA NA NA NA NA NA NA NA NA ...
## $ X_CALI : num [1:168] 2.78e+09 3.33e+09 3.67e+09 3.10e+09 2.93e+09 ...
## $ OCUP_HOTEL_CALI: num [1:168] 41 48.2 52.8 46.2 51.7 ...
## $ ICC_CALI : num [1:168] 20.6 16.2 21.4 35.5 28 ...
## $ PEAJE_CALI : num [1:168] 27041 28333 29239 23982 27637 ...
## $ DAH_CALI : num [1:168] 4.07e+12 4.09e+12 3.94e+12 3.86e+12 3.99e+12 ...
## $ IPIR_CALI : num [1:168] 96.5 101.9 107.4 98.5 104.5 ...
summary(data_col)
## FECHA PNCEM DECEM
## Min. :2012-01-01 00:00:00 Min. : 198925 Min. : 242414
## 1st Qu.:2015-06-23 12:00:00 1st Qu.:1007051 1st Qu.: 955555
## Median :2018-12-16 12:00:00 Median :1081425 Median :1030239
## Mean :2018-12-16 05:42:51 Mean :1071410 Mean :1015369
## 3rd Qu.:2022-06-08 12:00:00 3rd Qu.:1159832 3rd Qu.:1090649
## Max. :2025-12-01 00:00:00 Max. :1341585 Max. :1257125
##
## CONCRETO LICC POLLO HUEVO
## Min. : 30559 Min. : 372737 Min. : 85935 Min. :52466
## 1st Qu.:580490 1st Qu.:1744795 1st Qu.:118653 1st Qu.:59761
## Median :634501 Median :1964378 Median :134535 Median :72824
## Mean :627793 Mean :2045773 Mean :132812 Mean :73175
## 3rd Qu.:691080 3rd Qu.:2237034 3rd Qu.:149086 3rd Qu.:83835
## Max. :834849 Max. :4893234 Max. :180218 Max. :99503
##
## PNCAFE PICAFE PECAFE XCAF
## Min. : 519.0 Min. : 384812 Min. :123.1 Min. :115655
## 1st Qu.: 907.8 1st Qu.: 726701 1st Qu.:145.7 1st Qu.:179315
## Median :1058.0 Median : 842419 Median :170.8 Median :217946
## Mean :1061.0 Mean :1201972 Mean :198.8 Mean :244912
## 3rd Qu.:1211.2 3rd Qu.:1612580 3rd Qu.:226.3 3rd Qu.:278971
## Max. :1798.2 Max. :3118571 Max. :408.1 Max. :592944
##
## M X TRM M_CEREAL
## Min. :2703012 Min. :1864239 Min. :1768 Min. : 57305
## 1st Qu.:3923978 1st Qu.:3115906 1st Qu.:2706 1st Qu.:130707
## Median :4493606 Median :3793461 Median :3205 Median :168356
## Mean :4502626 Mean :3807739 Mean :3201 Mean :174013
## 3rd Qu.:4993764 3rd Qu.:4508526 3rd Qu.:3912 3rd Qu.:208292
## Max. :6583334 Max. :5913682 Max. :4921 Max. :377816
##
## M_CERAMICO M_FARM X_COMB X_AZU
## Min. : 5807 Min. :134163 Min. : 701774 Min. :16219
## 1st Qu.:16376 1st Qu.:189077 1st Qu.:1519360 1st Qu.:42537
## Median :19470 Median :208703 Median :1880379 Median :51276
## Mean :19450 Mean :239495 Mean :2049956 Mean :52364
## 3rd Qu.:22593 3rd Qu.:295101 3rd Qu.:2411908 3rd Qu.:59568
## Max. :32809 Max. :467086 Max. :3870611 Max. :93815
##
## X_PREALIM X_FARM X_QUIM X_PAPEL
## Min. :16300 Min. :21067 Min. : 18464 Min. :13396
## 1st Qu.:25650 1st Qu.:30645 1st Qu.: 32641 1st Qu.:21626
## Median :29062 Median :33543 Median : 41307 Median :26086
## Mean :33546 Mean :35187 Mean : 42869 Mean :26896
## 3rd Qu.:40790 3rd Qu.:39455 3rd Qu.: 50134 3rd Qu.:32261
## Max. :84440 Max. :57627 Max. :107491 Max. :42706
##
## X_CERAMICO IPIR IPIR_PAPEL IPIR_FARM
## Min. : 1692 Min. : 61.86 Min. : 63.62 Min. : 67.94
## 1st Qu.: 7081 1st Qu.: 93.59 1st Qu.:103.66 1st Qu.:100.23
## Median : 8150 Median :100.70 Median :110.33 Median :105.69
## Mean : 8756 Mean :101.79 Mean :111.30 Mean :106.02
## 3rd Qu.: 9790 3rd Qu.:110.35 3rd Qu.:118.28 3rd Qu.:114.33
## Max. :18788 Max. :127.79 Max. :138.77 Max. :133.96
## NA's :72 NA's :72
## IPIR_PREALIM MIN ICC VEH
## Min. : 84.17 Min. : 52.36 Min. :-41.300 Min. : 217
## 1st Qu.:103.48 1st Qu.: 82.87 1st Qu.:-14.450 1st Qu.:17498
## Median :111.96 Median : 91.31 Median : -5.650 Median :20568
## Mean :112.80 Mean : 98.05 Mean : -2.536 Mean :20573
## 3rd Qu.:121.60 3rd Qu.:112.60 3rd Qu.: 13.625 3rd Qu.:23214
## Max. :144.47 Max. :168.26 Max. : 32.700 Max. :40393
## NA's :72 NA's :24
## CART DAH ENER BRENT
## Min. :2.798e+14 Min. :1.205e+14 Min. :1371 Min. : 23.34
## 1st Qu.:4.173e+14 1st Qu.:1.666e+14 1st Qu.:1722 1st Qu.: 57.33
## Median :4.558e+14 Median :1.776e+14 Median :1813 Median : 73.10
## Mean :4.390e+14 Mean :1.876e+14 Mean :1867 Mean : 75.04
## 3rd Qu.:4.865e+14 3rd Qu.:2.108e+14 3rd Qu.:2036 3rd Qu.: 91.58
## Max. :5.268e+14 Max. :2.631e+14 Max. :2266 Max. :124.93
##
## IPC TO TD ISE
## Min. : 76.75 Min. :42.50 Min. : 7.025 Min. : 81.68
## 1st Qu.: 85.33 1st Qu.:57.16 1st Qu.: 9.214 1st Qu.: 98.49
## Median :100.30 Median :58.83 Median : 9.989 Median :104.89
## Mean :105.31 Mean :58.26 Mean :10.725 Mean :107.22
## 3rd Qu.:119.55 3rd Qu.:60.72 3rd Qu.:11.282 3rd Qu.:118.56
## Max. :152.27 Max. :63.61 Max. :21.972 Max. :141.24
##
## CAN AZUCAR CEM_V COR_V
## Min. : 138148 Min. : 11041 Min. : 11485 Min. : 91.18
## 1st Qu.:1705058 1st Qu.:153832 1st Qu.: 78089 1st Qu.:126.90
## Median :1997578 Median :183642 Median : 85023 Median :136.24
## Mean :1920333 Mean :179856 Mean : 84963 Mean :136.33
## 3rd Qu.:2199643 3rd Qu.:211124 3rd Qu.: 93566 3rd Qu.:145.59
## Max. :2535470 Max. :263434 Max. :119923 Max. :178.88
##
## M_V X_V IPIR_V MIN_V
## Min. :248993701 Min. : 49767731 Min. : 37.79 Min. : 56.12
## 1st Qu.:326742949 1st Qu.:142570137 1st Qu.: 94.27 1st Qu.: 91.00
## Median :357185915 Median :157166985 Median :101.53 Median : 96.46
## Mean :366051435 Mean :157545398 Mean :101.35 Mean :100.07
## 3rd Qu.:400073229 3rd Qu.:171067180 3rd Qu.:108.50 3rd Qu.:106.86
## Max. :572115119 Max. :222055829 Max. :126.94 Max. :165.15
## NA's :12
## ICC_V VEH_V PEAJE_V ENER_V
## Min. :-36.100 Min. : 4 Min. : 377 Min. :149.2
## 1st Qu.: -8.925 1st Qu.:1868 1st Qu.:244068 1st Qu.:222.2
## Median : 1.461 Median :2321 Median :267620 Median :230.2
## Mean : 3.199 Mean :2197 Mean :264006 Mean :229.4
## 3rd Qu.: 16.539 3rd Qu.:2550 3rd Qu.:288410 3rd Qu.:236.3
## Max. : 39.839 Max. :3816 Max. :346846 Max. :259.4
## NA's :1 NA's :3
## CART_V POLLO_V ENER_CALI LICC_CALI
## Min. :2.596e+13 Min. :12623 Min. :49201417 Min. : 6524
## 1st Qu.:3.838e+13 1st Qu.:21587 1st Qu.:68110877 1st Qu.: 47616
## Median :4.168e+13 Median :27281 Median :71357659 Median : 69494
## Mean :3.995e+13 Mean :25643 Mean :71565139 Mean : 83427
## 3rd Qu.:4.415e+13 3rd Qu.:29995 3rd Qu.:75467888 3rd Qu.:104263
## Max. :4.656e+13 Max. :36332 Max. :84518504 Max. :326535
## NA's :1
## VEH_CALI X_CALI OCUP_HOTEL_CALI ICC_CALI
## Min. : 1 Min. :1.766e+09 Min. : 3.381 Min. :-36.100
## 1st Qu.:1578 1st Qu.:3.420e+09 1st Qu.:49.812 1st Qu.: -8.925
## Median :1937 Median :4.063e+09 Median :54.813 Median : 1.461
## Mean :1870 Mean :4.177e+09 Mean :52.128 Mean : 3.199
## 3rd Qu.:2193 3rd Qu.:4.684e+09 3rd Qu.:59.223 3rd Qu.: 16.539
## Max. :3128 Max. :8.155e+09 Max. :71.831 Max. : 39.839
## NA's :12
## PEAJE_CALI DAH_CALI IPIR_CALI
## Min. : 131 Min. :3.865e+12 Min. : 52.57
## 1st Qu.:30985 1st Qu.:5.623e+12 1st Qu.:106.55
## Median :38692 Median :8.937e+12 Median :110.79
## Mean :37668 Mean :8.226e+12 Mean :110.76
## 3rd Qu.:44446 3rd Qu.:1.044e+13 3rd Qu.:115.72
## Max. :52713 Max. :1.347e+13 Max. :129.59
##
colSums(is.na(data_col))
## FECHA PNCEM DECEM CONCRETO LICC
## 0 0 0 0 0
## POLLO HUEVO PNCAFE PICAFE PECAFE
## 0 0 0 0 0
## XCAF M X TRM M_CEREAL
## 0 0 0 0 0
## M_CERAMICO M_FARM X_COMB X_AZU X_PREALIM
## 0 0 0 0 0
## X_FARM X_QUIM X_PAPEL X_CERAMICO IPIR
## 0 0 0 0 0
## IPIR_PAPEL IPIR_FARM IPIR_PREALIM MIN ICC
## 72 72 72 0 0
## VEH CART DAH ENER BRENT
## 24 0 0 0 0
## IPC TO TD ISE CAN
## 0 0 0 0 0
## AZUCAR CEM_V COR_V M_V X_V
## 0 0 0 0 0
## IPIR_V MIN_V ICC_V VEH_V PEAJE_V
## 0 12 0 0 1
## ENER_V CART_V POLLO_V ENER_CALI LICC_CALI
## 3 0 0 0 1
## VEH_CALI X_CALI OCUP_HOTEL_CALI ICC_CALI PEAJE_CALI
## 12 0 0 0 0
## DAH_CALI IPIR_CALI
## 0 0
cemento_ts <- ts(data_col$PNCEM, start = c(2012, 1), frequency = 12)
concreto_ts <- ts(data_col$CONCRETO, start = c(2012, 1), frequency = 12)
energia_ts <- ts(data_col$ENER, start = c(2012, 1), frequency = 12)
library(ggplot2)
library(plotly)
options(scipen = 999)
data_col$cemento_ts <- as.numeric(cemento_ts)
grafico_serie <- ggplot(data_col, aes(x = seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = nrow(data_col)),
y = cemento_ts)) +
geom_line(color = "purple", linewidth = 0.4) +
geom_point(color = "lightblue", size = 0.1) +
ggtitle("Producción de Cemento") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal()
ggplotly(grafico_serie)
La serie temporal de producción de cemento permite analizar la evolución del sector construcción a lo largo del tiempo.En la gráfica se observan fluctuaciones constantes, incrementos graduales y caídas significativas en ciertos periodos, lo cual refleja la sensibilidad de esta variable frente a cambios económicos, inversión en infraestructura y comportamiento del mercado inmobiliario.
El comportamiento de la serie evidencia que la producción de cemento no permanece estable, sino que presenta variaciones relacionadas con la actividad económica nacional. Los periodos de crecimiento pueden asociarse a mayor desarrollo de proyectos de construcción, mientras que las disminuciones reflejan desaceleraciones económicas o reducciones en la demanda del sector.
library(ggplot2)
library(plotly)
options(scipen = 999)
data_col$concreto_ts <- as.numeric(concreto_ts)
grafico_serie <- ggplot(data_col, aes(x = seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = nrow(data_col)),
y = concreto_ts)) +
geom_line(color = "blue", linewidth = 0.4) +
geom_point(color = "green", size = 0.1) +
ggtitle("Producción de Concreto") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal()
ggplotly(grafico_serie)
La serie temporal de producción de concreto presenta un comportamiento altamente variable a lo largo del tiempo, evidenciando fluctuaciones importantes en distintos periodos. Este comportamiento refleja la relación directa entre la producción de concreto y la actividad económica del sector construcción e infraestructura.
Se identifican etapas de crecimiento sostenido y otras de disminución significativa, mostrando que la variable es sensible a cambios en la inversión pública, proyectos de infraestructura y comportamiento del mercado inmobiliario.
library(ggplot2)
library(plotly)
options(scipen = 999)
data_col$energia_ts <- as.numeric(energia_ts)
grafico_serie <- ggplot(data_col, aes(x = seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = nrow(data_col)),
y = energia_ts)) +
geom_line(color = "orange", linewidth = 0.4) +
geom_point(color = "red", size = 0.1) +
ggtitle("Consumo de Energía") +
xlab("Tiempo") +
ylab("Consumo") +
theme_minimal()
ggplotly(grafico_serie)
La serie temporal de consumo de energía presenta un comportamiento relativamente estable, aunque con fluctuaciones periódicas relacionadas con cambios en la actividad económica y productiva.
El consumo energético refleja el comportamiento de diferentes sectores económicos, por lo que sus variaciones pueden asociarse a cambios en producción industrial, actividad empresarial y demanda residencial.
library(ggplot2)
library(plotly)
stl_decomp_var1 <- stl(cemento_ts, s.window = "periodic")
stl_df_var1 <- data.frame(
Time = rep(time(cemento_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"],
cemento_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(cemento_ts))
)
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 del Cemento",
x = "Tiempo",
y = "Producción")
ggplotly(p)
La extracción de señales permitió descomponer la serie temporal en tres componentes fundamentales: tendencia, estacionalidad y residuo. Este procedimiento facilita identificar qué parte del comportamiento corresponde a movimientos estructurales de largo plazo y cuáles variaciones están asociadas a patrones repetitivos o fluctuaciones irregulares.
A través de esta descomposición fue posible observar que la producción de cemento presenta una dinámica influenciada tanto por factores económicos permanentes como por ciclos estacionales relacionados con temporadas de mayor actividad constructora.
library(ggplot2)
library(plotly)
stl_decomp_var2 <- stl(concreto_ts, s.window = "periodic")
stl_df_var2 <- data.frame(
Time = rep(time(concreto_ts), 4),
Value = c(stl_decomp_var2$time.series[, "seasonal"],
stl_decomp_var2$time.series[, "trend"],
stl_decomp_var2$time.series[, "remainder"],
concreto_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(concreto_ts))
)
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 del Concreto",
x = "Tiempo",
y = "Producción")
ggplotly(p)
Mediante la extracción de señales se logró separar la serie temporal en tendencia, estacionalidad y residuo.
Este análisis facilitó identificar patrones repetitivos y comportamientos de largo plazo, permitiendo una interpretación más clara del comportamiento económico del sector concreto y sus fluctuaciones temporales.
library(ggplot2)
library(plotly)
stl_decomp_var3 <- stl(energia_ts, s.window = "periodic")
stl_df_var3 <- data.frame(
Time = rep(time(energia_ts), 4),
Value = c(stl_decomp_var3$time.series[, "seasonal"],
stl_decomp_var3$time.series[, "trend"],
stl_decomp_var3$time.series[, "remainder"],
energia_ts),
Component = rep(c("Estacional", "Tendencia", "Residuo", "Serie Original"), each = length(energia_ts))
)
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 del Consumo de Energía",
x = "Tiempo",
y = "Consumo de Energía")
ggplotly(p)
La extracción de señales permitió separar la serie de consumo energético en sus componentes principales, facilitando la identificación de patrones estructurales y movimientos periódicos presentes en la variable.
Este análisis ayuda a comprender cómo factores económicos y estacionales afectan el comportamiento del consumo de energía.
##Ajustada por estacionalidad - Producción Cemento
cemento_sa <- cemento_ts -
stl_decomp_var1$time.series[, "seasonal"]
La serie ajustada por estacionalidad elimina las fluctuaciones periódicas presentes en determinados meses del año, permitiendo observar con mayor claridad el comportamiento real de la producción de cemento.
Este ajuste facilita la identificación de cambios estructurales y tendencias económicas sin la interferencia de variaciones temporales recurrentes. Gracias a esto, es posible analizar de manera más precisa si el sector realmente está creciendo, desacelerándose o recuperándose en determinados periodos.
##Ajustada por estacionalidad - Producción Concreto
concreto_sa <- concreto_ts -
stl_decomp_var2$time.series[, "seasonal"]
La serie ajustada por estacionalidad elimina las variaciones periódicas que afectan temporalmente la producción de concreto. Gracias a este ajuste, se logra observar de forma más clara la evolución real de la variable y detectar cambios estructurales en el comportamiento económico del sector.
##Ajustada por estacionalidad - Consumo de Energía
energia_sa <- energia_ts -
stl_decomp_var3$time.series[, "seasonal"]
La serie ajustada elimina las variaciones estacionales presentes en determinados periodos del año, permitiendo observar de manera más clara el comportamiento estructural del consumo energético.
Esto facilita identificar cambios reales en la demanda energética sin la influencia de fluctuaciones periódicas temporales.
fechas_var1 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(cemento_ts))
grafico_ajustada_var1 <- ggplot() +
geom_line(aes(x = fechas_var1, y = cemento_ts), color = "turquoise", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var1, y = cemento_sa), color = "salmon", size = 0.7, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Cemento:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_ajustada_var1)
El gráfico comparativo entre la serie original y la serie ajustada evidencia que gran parte de las fluctuaciones observadas inicialmente estaban relacionadas con efectos estacionales.
La serie ajustada presenta un comportamiento más estable y suavizado, permitiendo visualizar con mayor claridad la evolución real de la producción de cemento. Esto resulta útil para identificar cambios estructurales de largo plazo y analizar el verdadero comportamiento económico del sector construcción.
fechas_var2 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(concreto_ts))
grafico_ajustada_var2 <- ggplot() +
geom_line(aes(x = fechas_var2, y = concreto_ts), color = "brown", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var2, y = concreto_sa), color = "gold", size = 0.7, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Concreto:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_ajustada_var2)
El gráfico comparativo muestra diferencias importantes entre la serie original y la ajustada. La eliminación de los efectos estacionales permite visualizar una trayectoria más estable y facilita el análisis del comportamiento real de la producción de concreto.
Esto ayuda a identificar con mayor precisión periodos de crecimiento, desaceleración y recuperación económica.
fechas_var3 <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(energia_ts))
grafico_ajustada_var3 <- ggplot() +
geom_line(aes(x = fechas_var3, y = energia_ts), color = "violet", size = 0.5, linetype = "solid", name = "Serie Original") +
geom_line(aes(x = fechas_var3, y = energia_sa), color = "coral", size = 0.6, linetype = "solid", name = "Serie Ajustada") +
ggtitle("Energía:Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Consumo") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_ajustada_var3)
El gráfico comparativo evidencia que la serie ajustada presenta un comportamiento más estable que la serie original. La eliminación de la estacionalidad permite analizar con mayor precisión la evolución real del consumo energético y detectar cambios estructurales en la demanda.
library(ggplot2)
library(plotly)
variable1_vec <- as.numeric(cemento_ts)
tendencia_var1 <- as.numeric(stl_decomp_var1$time.series[, "trend"])
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(cemento_ts))
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" = "purple", "Tendencia" = "orange")) +
ggtitle("Cemento: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_tendencia_var1)
El componente de tendencia muestra el comportamiento general de largo plazo de la producción de cemento. En el análisis se identifican periodos de crecimiento sostenido que reflejan expansión de la actividad constructora y aumento de la demanda de materiales.
También se observan etapas de desaceleración y recuperación económica, lo que demuestra que la variable responde de forma directa a las condiciones del entorno económico nacional. La tendencia permite identificar la dirección general de la serie, independientemente de fluctuaciones temporales de corto plazo.
library(ggplot2)
library(plotly)
variable2_vec <- as.numeric(concreto_ts)
tendencia_var2 <- as.numeric(stl_decomp_var2$time.series[, "trend"])
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(concreto_ts))
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" = "red", "Tendencia" = "navy")) +
ggtitle("Concreto: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_tendencia_var2)
La tendencia de la producción de concreto refleja el comportamiento estructural del sector en el largo plazo. Se observan etapas de expansión económica seguidas de periodos de desaceleración y recuperación.
Este comportamiento evidencia la influencia de factores económicos, inversión en infraestructura y cambios en la demanda de materiales de construcción.
library(ggplot2)
library(plotly)
variable3_vec <- as.numeric(energia_ts)
tendencia_var3 <- as.numeric(stl_decomp_var3$time.series[, "trend"])
fechas <- seq.Date(from = as.Date("2012-01-01"), by = "month", length.out = length(energia_ts))
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" = "turquoise", "Tendencia" = "pink")) +
ggtitle("Energía: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Consumo de Energía") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplotly(grafico_tendencia_var3)
La tendencia del consumo de energía muestra el comportamiento general de largo plazo de la demanda energética. Se observan periodos de crecimiento relacionados con mayor actividad económica y otros momentos de estabilización o desaceleración asociados a cambios en el entorno económico.
tasa_crecimiento_var1 <- (cemento_ts[(13:length(cemento_ts))] / cemento_ts[1:(length(cemento_ts) - 12)] - 1) * 100
tasa_tendencia_var1 <- (tendencia_var1[(13:length(tendencia_var1))] / tendencia_var1[1:(length(tendencia_var1) - 12)] - 1) * 100
fechas_corregidas_var1 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var1))
print(length(fechas_corregidas_var1))
## [1] 156
print(length(tasa_crecimiento_var1))
## [1] 156
print(length(tasa_tendencia_var1))
## [1] 156
El cálculo de la tasa de crecimiento anual permitió medir la variación porcentual de la producción de cemento respecto al mismo periodo del año anterior. Este análisis facilita identificar momentos de expansión económica, desaceleración y recuperación dentro del sector construcción.
La comparación entre la serie original y la tendencia suavizada permite distinguir cambios estructurales reales frente a fluctuaciones temporales de corto plazo.
library(ggplot2)
library(plotly)
grafico_crecimiento_var1 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var1, y = tasa_crecimiento_var1), color = "coral", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var1, y = tasa_tendencia_var1), color = "blue", size = 0.8, linetype = "dashed") +
ggtitle("Cemento: Tasa de crecimiento anual % de la serie Original y la tendencia") +
xlab("Tiempo") +
ylab("% de Crecimiento Anual") +
theme_minimal()
ggplotly(grafico_crecimiento_var1)
El gráfico de tasa de crecimiento anual evidencia variaciones importantes en la dinámica de la producción de cemento. Se observan periodos de crecimiento positivo seguidos por desaceleraciones y caídas significativas, lo cual refleja cambios en la actividad económica y constructora.
La línea de tendencia permite suavizar las fluctuaciones extremas y facilita identificar la dirección general del crecimiento del sector en el largo plazo.
tasa_crecimiento_var2 <- (concreto_ts[(13:length(concreto_ts))] / concreto_ts[1:(length(concreto_ts) - 12)] - 1) * 100
tasa_tendencia_var2 <- (tendencia_var2[(13:length(tendencia_var2))] / tendencia_var2[1:(length(tendencia_var2) - 12)] - 1) * 100
fechas_corregidas_var2 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var2))
print(length(fechas_corregidas_var2))
## [1] 156
print(length(tasa_crecimiento_var2))
## [1] 156
print(length(tasa_tendencia_var2))
## [1] 156
El cálculo de la tasa de crecimiento anual permitió analizar las variaciones porcentuales de la producción de concreto a lo largo del tiempo. Este análisis facilita identificar periodos de crecimiento acelerado y momentos de desaceleración económica dentro del sector construcción.
grafico_crecimiento_var2 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var2, y = tasa_crecimiento_var2), color = "violet", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var2, y = tasa_tendencia_var2), color = "green", size = 0.8, linetype = "dashed") +
ggtitle("Concreto: Tasa de crecimiento anual % de la serie Original y la Tendencia") +
xlab("Tiempo") +
ylab("Producción") +
theme_minimal()
ggplotly(grafico_crecimiento_var2)
El gráfico de crecimiento anual muestra cambios importantes en la dinámica de la producción de concreto. La serie original presenta fluctuaciones más pronunciadas, mientras que la tendencia suavizada permite observar con mayor claridad la dirección general del comportamiento económico del sector.
tasa_crecimiento_var3 <- (energia_ts[(13:length(energia_ts))] / energia_ts[1:(length(energia_ts) - 12)] - 1) * 100
tasa_tendencia_var3 <- (tendencia_var3[(13:length(tendencia_var3))] / tendencia_var3[1:(length(tendencia_var3) - 12)] - 1) * 100
fechas_corregidas_var3 <- seq(from = as.Date("2013-01-01"), by = "month", length.out = length(tasa_crecimiento_var3))
print(length(fechas_corregidas_var3))
## [1] 156
print(length(tasa_crecimiento_var3))
## [1] 156
print(length(tasa_tendencia_var3))
## [1] 156
El cálculo de la tasa de crecimiento anual permitió analizar las variaciones porcentuales del consumo energético y detectar periodos de crecimiento o desaceleración económica relacionados con cambios en la actividad productiva.
grafico_crecimiento_var3 <- ggplot() +
geom_line(aes(x = fechas_corregidas_var3, y = tasa_crecimiento_var3), color = "red", size = 0.7) +
geom_line(aes(x = fechas_corregidas_var3, y = tasa_tendencia_var3), color = "blue", size = 0.8, linetype = "dashed") +
ggtitle("Consumo de Energía: Tasa de crecimiento anual % de la serie Original y la tendencia") +
xlab("Tiempo") +
ylab("Consumo de Energía") +
theme_minimal()
ggplotly(grafico_crecimiento_var3)
El gráfico de tasa de crecimiento anual muestra cambios importantes en la dinámica del consumo energético. La línea de tendencia suavizada facilita identificar comportamientos estructurales y ciclos económicos presentes en la demanda de energía.
El análisis realizado mediante técnicas de extracción de señales permitió comprender de manera más profunda el comportamiento temporal de las variables de producción de cemento, producción de concreto y consumo de energía. A través de las series temporales se identificaron fluctuaciones importantes, periodos de crecimiento, desaceleración y recuperación económica, evidenciando que las variables analizadas responden directamente a cambios en la actividad productiva y económica del país.
La descomposición de las series permitió separar componentes fundamentales como tendencia, estacionalidad y residuo. En las variables de cemento y concreto se observó una relación significativa con el comportamiento del sector construcción e infraestructura, presentando patrones de crecimiento sostenido en algunos periodos y disminuciones importantes en otros, reflejando sensibilidad frente a cambios económicos, inversión y demanda del mercado.
En cuanto al consumo de energía, se evidenció un comportamiento más estable, aunque también influenciado por variaciones económicas y productivas. Los componentes estacionales mostraron patrones repetitivos en determinados periodos del año, indicando la existencia de ciclos recurrentes asociados a factores económicos, operativos y de consumo.
El ajuste por estacionalidad permitió observar con mayor claridad el comportamiento real de las variables al eliminar fluctuaciones periódicas, facilitando así la identificación de tendencias estructurales de largo plazo. Asimismo, el análisis de las tasas de crecimiento anual permitió identificar momentos de expansión y desaceleración económica en cada una de las variables estudiadas.
En conclusión, el uso de herramientas de análisis temporal en RStudio permitió desarrollar un análisis estadístico y visual más preciso, facilitando la interpretación de patrones económicos y proporcionando información relevante para la comprensión del comportamiento histórico de los sectores analizados y el apoyo en la toma de decisiones basada en datos.