En este informe, se realizará la extracción de señales o descomposición de series temporales aplicadas a los ingresos totales trimestrales de la empresa Colombina S.A. durante el período comprendido entre el primer trimestre de 2019 (1T2019) y el tercer trimestre de 2024 (3T2024).
El análisis de series temporales permite identificar patrones subyacentes en los datos, como tendencias, estacionalidad y componentes irregulares, lo que facilita una mejor comprensión del comportamiento de los ingresos de la empresa. Para ello, se emplearán técnicas estadísticas y métodos de descomposición, con el fin de extraer información clave que pueda contribuir a la toma de decisiones estratégicas.
A lo largo del informe, se presentarán los resultados obtenidos y se discutirán sus implicaciones en el contexto financiero de Colombina S.A.
En este análisis, se realizará un estudio exploratorio de la variable Utilidad de la empresa Colombina. Para ello, se calcularán estadísticas descriptivas que nos permitirán conocer mejor la distribución y principales características de la variable en estudio.
Además, se complementará el análisis con la visualización de gráficos, los cuales facilitarán la identificación de patrones, tendencias y posibles valores atípicos en los datos.
El objetivo de este análisis es obtener una comprensión inicial de la información disponible y generar insights que puedan ser utilizados en estudios posteriores más avanzados.
A continuación, se presenta el desarrollo del análisis.
library(readxl)
library(dplyr)
library(ggplot2)
library(plotly)
library(tseries)
library(forecast)
library(timetk)
data <- read_excel("Colombina EXTRA.xlsx")
ts_data <- ts(data$UTILIDAD, start = c(2019, 1), frequency = 4)
Las estadísticas exploratorias de los ingresos trimestrales de Colombina S.A. indican lo siguiente:
Mínimo (Min = -21,940,000 COP)
La utilidad más baja registrada en el periodo analizado es una pérdida de 21 millones de COP.
Máximo (Max = 1,058,010,000 COP)
El utilidad más alta registrada alcanza los 1,058 millones de COP.
Media (Media = 545,224,780 COP)
En promedio, las utilidades trimestrales son de 545 millones de COP.
Mediana (Mediana = 502,310,000 COP)
El valor central de las utilidades es 502 millones de COP, lo que sugiere que hay cierta simetría en la distribución de los ingresos, aunque la media es mayor, lo que puede indicar la presencia de valores muy altos que elevan el promedio.
Desviación estándar (DesviacionEstandar = 272,593,330 COP)
La variabilidad de las utilidades trimestrales es de 272 millones de COP, lo que indica una fluctuación considerable entre periodos.
Coeficiente de variación (CoefVar = 0.499)
Este valor indica que la variabilidad de los ingresos representa un 49.9% con respecto a la media. Como regla general, si el coeficiente de variación está entre a 0.30 (30%) y 0.70 (70%), la media no es representativa, lo que indica que las utilidades de Colombina S.A. tienen una inestabilidad relativa.
Conclusiones:
Las utilidades trimestrales de Colombina S.A. muestran una inestabilidad relativa, con un coeficiente de variación medio. Existen diferencias notables entre los valores mínimos y máximos, lo que puede deberse a estacionalidad o factores económicos externos.
La diferencia entre la media y la mediana no es muy grande, lo que sugiere que la distribución no está muy sesgada.
descriptive_stats <- data.frame(
Min = min(ts_data),
Max = max(ts_data),
Media = mean(ts_data),
Mediana = median(ts_data),
DesviacionEstandar = sd(ts_data),
CoefVar = sd(ts_data) / mean(ts_data)
)
print(descriptive_stats)
## Min Max Media Mediana DesviacionEstandar CoefVar
## 1 -2194000 105801000 54522478 50231000 27259333 0.499965
grafico_serie <- ggplot(data, aes(x = seq.Date(from = as.Date("2019-01-01"), by = "quarter", length.out = nrow(data)), y = ING)) +
geom_line(color = "grey", size = 1) +
geom_point(color = "black") +
ggtitle("Figura 1.Utilidades de Colombina S.A.") +
xlab("Tiempo") +
ylab("Miles de Pesos Colombianos") +
theme_minimal()
ggplotly(grafico_serie)
stl_decomp <- stl(ts_data, s.window = "periodic")
plot(stl_decomp)
serie_ajustada <- ts_data - stl_decomp$time.series[, "seasonal"]
grafico_ajustada <- ggplot() +
geom_line(aes(x = seq_along(ts_data), y = ts_data), color = "grey", size = 1, linetype = "solid") +
geom_line(aes(x = seq_along(serie_ajustada), y = serie_ajustada), color = "black", size = 1, linetype = "dashed") +
ggtitle("Figura 2.Serie Original vs Serie Ajustada por Estacionalidad") +
xlab("Tiempo") +
ylab("Miles de Pesos Colombianos") +
theme_minimal()
ggplotly(grafico_ajustada)
tendencia <- stl_decomp$time.series[, "trend"]
grafico_tendencia <- ggplot() +
geom_line(aes(x = seq_along(ts_data), y = ts_data), color = "grey", size = 1) +
geom_line(aes(x = seq_along(tendencia), y = tendencia), color = "purple", size = 1, linetype = "dashed") +
ggtitle("Figura 3. Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("Miles de Pesos Colombianos") +
theme_minimal()
ggplotly(grafico_tendencia)
tasa_crecimiento <- (ts_data[(5:length(ts_data))] / ts_data[1:(length(ts_data) - 4)] - 1) * 100
tasa_tendencia <- (tendencia[(5:length(tendencia))] / tendencia[1:(length(tendencia) - 4)] - 1) * 100
fechas_corregidas <- seq(from = as.Date("2020-01-01"), by = "quarter", length.out = length(tasa_crecimiento))
print(length(fechas_corregidas))
## [1] 19
print(length(tasa_crecimiento))
## [1] 19
print(length(tasa_tendencia))
## [1] 19
grafico_crecimiento <- ggplot() +
geom_line(aes(x = fechas_corregidas, y = tasa_crecimiento), color = "grey", size = 1) +
geom_line(aes(x = fechas_corregidas, y = tasa_tendencia), color = "green", size = 1, linetype = "dashed") +
ggtitle("Figura 4. Tasa de Crecimiento Anual: Serie Original vs Tendencia") +
xlab("Tiempo") +
ylab("% de Crecimiento Anual") +
theme_minimal()
ggplotly(grafico_crecimiento)