0.1 Introducción

En este informe se desarrolla un análisis econométrico sobre datos financieros trimestrales de la empresa Riopaila Castilla, entre 2015 y 2024. El objetivo es modelar y explicar dos variables clave:

Se plantean modelos de regresión lineal simple y múltiple, con validación estadística de supuestos y poder predictivo.

# Librerías necesarias
library(tidyverse)
library(readxl)
library(lubridate)
library(MASS)
library(caret)
library(dplyr)

# Importar base de datos
data <- read_excel("C:/Users/usuario/Downloads/riopaila.xlsx")

# Verificar columnas
str(data)
## tibble [37 × 13] (S3: tbl_df/tbl/data.frame)
##  $ Fecha        : POSIXct[1:37], format: "2015-12-01" "2016-03-01" ...
##  $ precio       : num [1:37] 11205 11205 11205 11205 11205 ...
##  $ EBITDA       : num [1:37] 63116713 67816093 17342693 56709565 31223494 ...
##  $ Quick_Ratio  : num [1:37] 0.83 0.8 0.8 0.75 0.68 0.72 0.71 0.66 0.6 0.55 ...
##  $ Margen_EBITDA: num [1:37] 21.31 22.54 6.82 19.67 11.32 ...
##  $ Margen_Bruto : num [1:37] 24.35 28.52 9.43 23.8 16.12 ...
##  $ Margen_Oper  : num [1:37] 16.61 20.01 0.14 15.1 6.14 ...
##  $ ROA          : num [1:37] 1.3 4.1 3.45 3.5 3.95 1.42 0.12 -1.38 -2.98 -3.93 ...
##  $ ROE          : num [1:37] 3.49 11.93 9.69 9.38 10.67 ...
##  $ Ingresos     : num [1:37] 2.96e+08 3.01e+08 2.54e+08 2.88e+08 2.76e+08 ...
##  $ Utilidad_Oper: num [1:37] 49198538 60213324 365342 43520877 16934463 ...
##  $ Activos      : num [1:37] 1.37e+09 1.37e+09 1.35e+09 1.40e+09 1.34e+09 ...
##  $ Pasivos      : num [1:37] 8.84e+08 8.74e+08 8.35e+08 8.89e+08 8.24e+08 ...
# Crear variable categórica de trimestre
data <- data %>%
  mutate(Fecha = as.Date(Fecha),
         Trimestre = paste0("T", quarter(Fecha), "-", year(Fecha)),
         Trimestre = as.factor(Trimestre))
colnames(data)
##  [1] "Fecha"         "precio"        "EBITDA"        "Quick_Ratio"  
##  [5] "Margen_EBITDA" "Margen_Bruto"  "Margen_Oper"   "ROA"          
##  [9] "ROE"           "Ingresos"      "Utilidad_Oper" "Activos"      
## [13] "Pasivos"       "Trimestre"
analisis_univariado_dataframe <- function(data) {
  # Instalar y cargar paquetes si no están
  if (!require(summarytools)) install.packages("summarytools", dependencies = TRUE)
  if (!require(ggplot2)) install.packages("ggplot2", dependencies = TRUE)
  
  library(summarytools)
  library(ggplot2)
  
  for (var_name in names(data)) {
    cat("\n\n========================================\n")
    cat("Análisis de la variable:", var_name, "\n")
    cat("========================================\n")
    
    variable <- data[[var_name]]
    
    if (is.numeric(variable)) {
      cat("----- Resumen Estadístico -----\n")
      print(descr(variable, stats = c("mean", "sd", "min", "q1", "q3", "max", "iqr", "cv")))
      
      # Histograma
      print(
        ggplot(data.frame(x=variable), aes(x=x)) +
          geom_histogram(binwidth = diff(range(variable, na.rm = TRUE))/30, fill = "skyblue", color = "black") +
          ggtitle(paste("Histograma de", var_name)) + xlab("Valores") + ylab("Frecuencia")
      )
      
      # Boxplot
      print(
        ggplot(data.frame(x=variable), aes(y=x)) +
          geom_boxplot(fill = "lightgreen") +
          ggtitle(paste("Boxplot de", var_name)) + ylab("Valores")
      )
      
    } else {
      cat("----- Tabla de Frecuencias -----\n")
      print(freq(variable, order = "freq"))
    }
  }
}

0.2 1. Análisis Univariado

# Asumiendo que tu dataframe ya está cargado y se llama data
analisis_univariado_dataframe(data)
## 
## 
## ========================================
## Análisis de la variable: Fecha 
## ========================================
## ----- Tabla de Frecuencias -----
## Frequencies  
## variable  
## Type: Date  
## 
##                    Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ---------------- ------ --------- -------------- --------- --------------
##       2015-12-01      1      2.70           2.70      2.70           2.70
##       2016-03-01      1      2.70           5.41      2.70           5.41
##       2016-06-01      1      2.70           8.11      2.70           8.11
##       2016-09-01      1      2.70          10.81      2.70          10.81
##       2016-12-01      1      2.70          13.51      2.70          13.51
##       2017-03-01      1      2.70          16.22      2.70          16.22
##       2017-06-01      1      2.70          18.92      2.70          18.92
##       2017-09-01      1      2.70          21.62      2.70          21.62
##       2017-12-01      1      2.70          24.32      2.70          24.32
##       2018-03-01      1      2.70          27.03      2.70          27.03
##       2018-06-01      1      2.70          29.73      2.70          29.73
##       2018-09-01      1      2.70          32.43      2.70          32.43
##       2018-12-01      1      2.70          35.14      2.70          35.14
##       2019-03-01      1      2.70          37.84      2.70          37.84
##       2019-06-01      1      2.70          40.54      2.70          40.54
##       2019-09-01      1      2.70          43.24      2.70          43.24
##       2019-12-01      1      2.70          45.95      2.70          45.95
##       2020-03-01      1      2.70          48.65      2.70          48.65
##       2020-06-01      1      2.70          51.35      2.70          51.35
##       2020-09-01      1      2.70          54.05      2.70          54.05
##       2020-12-01      1      2.70          56.76      2.70          56.76
##       2021-03-01      1      2.70          59.46      2.70          59.46
##       2021-06-01      1      2.70          62.16      2.70          62.16
##       2021-09-01      1      2.70          64.86      2.70          64.86
##       2021-12-01      1      2.70          67.57      2.70          67.57
##       2022-03-01      1      2.70          70.27      2.70          70.27
##       2022-06-01      1      2.70          72.97      2.70          72.97
##       2022-09-01      1      2.70          75.68      2.70          75.68
##       2022-12-01      1      2.70          78.38      2.70          78.38
##       2023-03-01      1      2.70          81.08      2.70          81.08
##       2023-06-01      1      2.70          83.78      2.70          83.78
##       2023-09-01      1      2.70          86.49      2.70          86.49
##       2023-12-01      1      2.70          89.19      2.70          89.19
##       2024-03-01      1      2.70          91.89      2.70          91.89
##       2024-06-01      1      2.70          94.59      2.70          94.59
##       2024-09-01      1      2.70          97.30      2.70          97.30
##       2024-12-01      1      2.70         100.00      2.70         100.00
##             <NA>      0                               0.00         100.00
##            Total     37    100.00         100.00    100.00         100.00
## 
## 
## ========================================
## Análisis de la variable: precio 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean   11201.97
##       Std.Dev       2.29
##           Min   11200.00
##            Q1   11200.00
##            Q3   11204.55
##           Max   11204.55
##           IQR       4.55
##            CV       0.00

## 
## 
## ========================================
## Análisis de la variable: EBITDA 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                     variable
## ------------- --------------
##          Mean    39792653.51
##       Std.Dev    43385399.89
##           Min   -33027304.00
##            Q1     3711156.00
##            Q3    63116713.00
##           Max   134858780.00
##           IQR    59405557.00
##            CV           1.09

## 
## 
## ========================================
## Análisis de la variable: Quick_Ratio 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean       0.52
##       Std.Dev       0.15
##           Min       0.29
##            Q1       0.40
##            Q3       0.61
##           Max       0.83
##           IQR       0.21
##            CV       0.29

## 
## 
## ========================================
## Análisis de la variable: Margen_EBITDA 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean      10.54
##       Std.Dev      11.17
##           Min     -15.13
##            Q1       1.61
##            Q3      19.67
##           Max      27.55
##           IQR      18.06
##            CV       1.06

## 
## 
## ========================================
## Análisis de la variable: Margen_Bruto 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean      13.62
##       Std.Dev      11.28
##           Min     -11.25
##            Q1       5.50
##            Q3      23.80
##           Max      29.97
##           IQR      18.30
##            CV       0.83

## 
## 
## ========================================
## Análisis de la variable: Margen_Oper 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean       3.48
##       Std.Dev      12.71
##           Min     -23.68
##            Q1      -5.43
##            Q3      15.10
##           Max      22.47
##           IQR      20.53
##            CV       3.65

## 
## 
## ========================================
## Análisis de la variable: ROA 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean       0.53
##       Std.Dev       4.36
##           Min      -8.27
##            Q1      -3.33
##            Q3       4.30
##           Max       6.62
##           IQR       7.63
##            CV       8.28

## 
## 
## ========================================
## Análisis de la variable: ROE 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                 variable
## ------------- ----------
##          Mean       0.92
##       Std.Dev      13.82
##           Min     -25.98
##            Q1     -11.34
##            Q3      11.42
##           Max      21.58
##           IQR      22.76
##            CV      14.95

## 
## 
## ========================================
## Análisis de la variable: Ingresos 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                     variable
## ------------- --------------
##          Mean   301467863.00
##       Std.Dev    97756248.26
##           Min   163512863.00
##            Q1   237536802.00
##            Q3   369201324.00
##           Max   511499413.00
##           IQR   131664522.00
##            CV           0.32

## 
## 
## ========================================
## Análisis de la variable: Utilidad_Oper 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                     variable
## ------------- --------------
##          Mean    19671619.57
##       Std.Dev    41230041.19
##           Min   -59035586.00
##            Q1   -12974618.00
##            Q3    49198538.00
##           Max   109988564.00
##           IQR    62173156.00
##            CV           2.10

## 
## 
## ========================================
## Análisis de la variable: Activos 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                      variable
## ------------- ---------------
##          Mean   1394357610.46
##       Std.Dev     81727467.86
##           Min   1285413196.00
##            Q1   1327020808.00
##            Q3   1449340096.00
##           Max   1588718176.00
##           IQR    122319288.00
##            CV            0.06

## 
## 
## ========================================
## Análisis de la variable: Pasivos 
## ========================================
## ----- Resumen Estadístico -----
## Descriptive Statistics  
## variable  
## N: 37  
## 
##                      variable
## ------------- ---------------
##          Mean    939736013.16
##       Std.Dev     51194693.40
##           Min    824338450.00
##            Q1    899163764.00
##            Q3    978354224.00
##           Max   1030357251.00
##           IQR     79190460.00
##            CV            0.05

## 
## 
## ========================================
## Análisis de la variable: Trimestre 
## ========================================
## ----- Tabla de Frecuencias -----
## Frequencies  
## variable  
## Type: Factor  
## 
##                 Freq   % Valid   % Valid Cum.   % Total   % Total Cum.
## ------------- ------ --------- -------------- --------- --------------
##       T1-2016      1      2.70           2.70      2.70           2.70
##       T1-2017      1      2.70           5.41      2.70           5.41
##       T1-2018      1      2.70           8.11      2.70           8.11
##       T1-2019      1      2.70          10.81      2.70          10.81
##       T1-2020      1      2.70          13.51      2.70          13.51
##       T1-2021      1      2.70          16.22      2.70          16.22
##       T1-2022      1      2.70          18.92      2.70          18.92
##       T1-2023      1      2.70          21.62      2.70          21.62
##       T1-2024      1      2.70          24.32      2.70          24.32
##       T2-2016      1      2.70          27.03      2.70          27.03
##       T2-2017      1      2.70          29.73      2.70          29.73
##       T2-2018      1      2.70          32.43      2.70          32.43
##       T2-2019      1      2.70          35.14      2.70          35.14
##       T2-2020      1      2.70          37.84      2.70          37.84
##       T2-2021      1      2.70          40.54      2.70          40.54
##       T2-2022      1      2.70          43.24      2.70          43.24
##       T2-2023      1      2.70          45.95      2.70          45.95
##       T2-2024      1      2.70          48.65      2.70          48.65
##       T3-2016      1      2.70          51.35      2.70          51.35
##       T3-2017      1      2.70          54.05      2.70          54.05
##       T3-2018      1      2.70          56.76      2.70          56.76
##       T3-2019      1      2.70          59.46      2.70          59.46
##       T3-2020      1      2.70          62.16      2.70          62.16
##       T3-2021      1      2.70          64.86      2.70          64.86
##       T3-2022      1      2.70          67.57      2.70          67.57
##       T3-2023      1      2.70          70.27      2.70          70.27
##       T3-2024      1      2.70          72.97      2.70          72.97
##       T4-2015      1      2.70          75.68      2.70          75.68
##       T4-2016      1      2.70          78.38      2.70          78.38
##       T4-2017      1      2.70          81.08      2.70          81.08
##       T4-2018      1      2.70          83.78      2.70          83.78
##       T4-2019      1      2.70          86.49      2.70          86.49
##       T4-2020      1      2.70          89.19      2.70          89.19
##       T4-2021      1      2.70          91.89      2.70          91.89
##       T4-2022      1      2.70          94.59      2.70          94.59
##       T4-2023      1      2.70          97.30      2.70          97.30
##       T4-2024      1      2.70         100.00      2.70         100.00
##          <NA>      0                               0.00         100.00
##         Total     37    100.00         100.00    100.00         100.00

Se analizaron las siguientes variables: EBITDA, Ingresos, Margen_Oper, Quick_Ratio, ROE, Activos y Pasivos.

Principales hallazgos:

Este análisis guía la selección de modelos y alerta sobre posibles transformaciones o problemas de escala.

0.3 2. Análisis Bivariado

# Correlación de las variables numéricas relevantes
vars_numericas <- data[, c("EBITDA", "Ingresos", "Margen_Oper", "Quick_Ratio", "ROE", "Activos", "Pasivos")]
correlaciones <- cor(vars_numericas, use = "complete.obs")
round(correlaciones, 2)
##             EBITDA Ingresos Margen_Oper Quick_Ratio   ROE Activos Pasivos
## EBITDA        1.00     0.89        0.93        0.27  0.57    0.45    0.00
## Ingresos      0.89     1.00        0.76        0.22  0.65    0.66   -0.01
## Margen_Oper   0.93     0.76        1.00        0.39  0.51    0.31   -0.16
## Quick_Ratio   0.27     0.22        0.39        1.00  0.43    0.40   -0.58
## ROE           0.57     0.65        0.51        0.43  1.00    0.50   -0.42
## Activos       0.45     0.66        0.31        0.40  0.50    1.00    0.10
## Pasivos       0.00    -0.01       -0.16       -0.58 -0.42    0.10    1.00
# Instala si no tienes
# install.packages("corrplot")
library(corrplot)

corrplot(correlaciones, method = "color", addCoef.col = "black", number.cex = 0.7, tl.col = "black")

ggplot(data, aes(x = Ingresos, y = EBITDA)) +
  geom_point(color = "blue") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Relación entre Ingresos y EBITDA")

ggplot(data, aes(x = Margen_Oper, y = EBITDA)) +
  geom_point(color = "darkgreen") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Relación entre Margen Operativo y EBITDA")

La relación es aún más fuerte y lineal que con ingresos. Esto anticipa que el modelo 2 tendrá mejor desempeño en R².

library(dplyr)

ebitda_prom <- data %>%
  group_by(Trimestre) %>%
  summarise(prom_ebitda = mean(EBITDA, na.rm = TRUE))

ggplot(ebitda_prom, aes(x = Trimestre, y = prom_ebitda, group = 1)) +
  geom_line(color = "blue") +
  geom_point() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Promedio de EBITDA por Trimestre", x = "Trimestre", y = "Promedio EBITDA")

Aunque hay variaciones visibles, no parece haber una estacionalidad marcada. Esto sugiere que Trimestre no es una variable con gran poder predictivo para EBITDA

0.4 3. Punto 1 – Modelos de Regresión Lineal Simple

modelo1 <- lm(EBITDA ~ Ingresos, data = data)
summary(modelo1)
## 
## Call:
## lm(formula = EBITDA ~ Ingresos, data = data)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -52614182  -8031985   3833283  11899366  29907800 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.951e+07  1.075e+07  -7.397 1.18e-08 ***
## Ingresos     3.957e-01  3.396e-02  11.653 1.34e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19920000 on 35 degrees of freedom
## Multiple R-squared:  0.7951, Adjusted R-squared:  0.7892 
## F-statistic: 135.8 on 1 and 35 DF,  p-value: 1.338e-13

El modelo muestra un R² ajustado de 0.7892, lo cual indica que aproximadamente el 79% de la variabilidad en el EBITDA es explicada por los ingresos. El coeficiente de Ingresos es positivo y altamente significativo (p < 0.001), confirmando que a mayor nivel de ingresos, mayor es el EBITDA. El modelo es estadísticamente sólido y tiene sentido económico

modelo1 <- lm(EBITDA ~ Margen_Oper, data = data)
summary(modelo1)
## 
## Call:
## lm(formula = EBITDA ~ Margen_Oper, data = data)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -24160832 -13306521  -5750558  12045679  35616236 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 28787894    2850099   10.10 6.52e-12 ***
## Margen_Oper  3157873     219023   14.42 2.73e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 16700000 on 35 degrees of freedom
## Multiple R-squared:  0.8559, Adjusted R-squared:  0.8518 
## F-statistic: 207.9 on 1 and 35 DF,  p-value: 2.726e-16

Este modelo tiene un R² ajustado de 0.8518, superior al del modelo anterior. El coeficiente de Margen_Oper también es altamente significativo (p < 0.001), lo que sugiere que una mejora de un punto porcentual en el margen operativo genera un aumento significativo en el EBITDA. Es el modelo más eficiente entre los tres evaluados

data <- data %>% mutate(Anio = factor(lubridate::year(Fecha)))

modelo3_corregido <- lm(EBITDA ~ Anio, data = data)
summary(modelo3_corregido)
## 
## Call:
## lm(formula = EBITDA ~ Anio, data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -100425732  -16114837    4761953   18101458   67665857 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)  63116713   40507663   1.558    0.131
## Anio2016    -19843752   45288944  -0.438    0.665
## Anio2017    -51434380   45288944  -1.136    0.266
## Anio2018    -64084740   45288944  -1.415    0.168
## Anio2019    -46223123   45288944  -1.021    0.316
## Anio2020    -37113407   45288944  -0.819    0.420
## Anio2021    -12377756   45288944  -0.273    0.787
## Anio2022      4076210   45288944   0.090    0.929
## Anio2023      6971682   45288944   0.154    0.879
## Anio2024      4281715   45288944   0.095    0.925
## 
## Residual standard error: 40510000 on 27 degrees of freedom
## Multiple R-squared:  0.3462, Adjusted R-squared:  0.1283 
## F-statistic: 1.589 on 9 and 27 DF,  p-value: 0.1689

Este modelo presenta un R² ajustado de apenas 0.1283 y ningún coeficiente significativo (p > 0.05). Esto indica que el año de operación no explica bien el comportamiento del EBITDA. Por lo tanto, no es un modelo adecuado para este objetivo

0.4.1 Modelo Simple Seleccionado

Se selecciona EBITDA ~ Margen_Oper por tener el mayor poder explicativo y lógica económica clara.

0.4.2 Validación del mejor modelo (LOOCV)

library(caret)

set.seed(123)

# Control de validación cruzada Leave-One-Out
control_loocv <- trainControl(method = "LOOCV")

# Entrenar el modelo con caret
modelo_loocv <- train(EBITDA ~ Margen_Oper, data = data, method = "lm", trControl = control_loocv)

# Resultados del modelo
modelo_loocv
## Linear Regression 
## 
## 37 samples
##  1 predictor
## 
## No pre-processing
## Resampling: Leave-One-Out Cross-Validation 
## Summary of sample sizes: 36, 36, 36, 36, 36, 36, ... 
## Resampling results:
## 
##   RMSE      Rsquared   MAE     
##   17399410  0.8350385  14619496
## 
## Tuning parameter 'intercept' was held constant at a value of TRUE
  • RMSE: 17.4 millones
  • MAE: 14.6 millones
  • R² validado: 0.835

Conclusión: El modelo tiene buen poder predictivo. El error absoluto medio es bajo en relación al rango del EBITDA.

0.5 4. Punto 2 – Modelos de Regresión Lineal Múltiple

0.5.1 Modelo A: ROE ~ Quick_Ratio + EBITDA + Pasivos

modeloA <- lm(ROE ~ Quick_Ratio + EBITDA + Pasivos, data = data)
summary(modeloA)
## 
## Call:
## lm(formula = ROE ~ Quick_Ratio + EBITDA + Pasivos, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -20.492  -5.089  -1.003   2.900  27.288 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  8.862e+01  4.396e+01   2.016 0.051980 .  
## Quick_Ratio  5.401e+00  1.460e+01   0.370 0.713905    
## EBITDA       1.757e-07  4.166e-08   4.216 0.000182 ***
## Pasivos     -1.038e-07  4.178e-08  -2.484 0.018255 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.22 on 33 degrees of freedom
## Multiple R-squared:  0.4987, Adjusted R-squared:  0.4532 
## F-statistic: 10.95 on 3 and 33 DF,  p-value: 3.826e-05

Aunque el modelo es significativo globalmente (p < 0.001), su R² ajustado de 0.45 es moderado. EBITDA y Pasivos son significativos, mientras que Quick_Ratio no aporta explicación (p = 0.71). Esto justifica eliminar esa variable

0.5.2 Modelo A modificado: ROE ~ EBITDA + Pasivos

modeloA_mod <- lm(ROE ~ EBITDA + Pasivos, data = data)
summary(modeloA_mod)
## 
## Call:
## lm(formula = ROE ~ EBITDA + Pasivos, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -20.8455  -5.0500  -0.6666   3.2061  26.3865 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.000e+02  3.095e+01   3.231  0.00273 ** 
## EBITDA       1.808e-07  3.876e-08   4.664 4.66e-05 ***
## Pasivos     -1.131e-07  3.285e-08  -3.443  0.00154 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.09 on 34 degrees of freedom
## Multiple R-squared:  0.4967, Adjusted R-squared:  0.4671 
## F-statistic: 16.78 on 2 and 34 DF,  p-value: 8.541e-06

El modelo mejora ligeramente su R² ajustado (0.4671) y mantiene significancia en ambos coeficientes. EBITDA tiene un efecto positivo y Pasivos un efecto negativo sobre el ROE, lo que es coherente con la lógica financiera

0.5.3 Modelo B: ROE ~ Margen_Oper + Activos + Anio

modeloB <- lm(ROE ~ Margen_Oper + Activos + Anio, data = data)
summary(modeloB)
## 
## Call:
## lm(formula = ROE ~ Margen_Oper + Activos + Anio, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.0087  -3.0771   0.1161   2.5216  10.5841 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept) -4.465e+01  3.409e+01  -1.310  0.20224   
## Margen_Oper  8.665e-02  9.032e-02   0.959  0.34655   
## Activos      3.416e-08  2.512e-08   1.360  0.18591   
## Anio2016     7.496e+00  5.943e+00   1.261  0.21889   
## Anio2017    -5.534e+00  6.408e+00  -0.864  0.39604   
## Anio2018    -2.115e+01  6.421e+00  -3.294  0.00295 **
## Anio2019    -1.296e+01  6.117e+00  -2.119  0.04418 * 
## Anio2020    -1.268e+01  6.076e+00  -2.086  0.04729 * 
## Anio2021    -2.243e+00  6.022e+00  -0.372  0.71269   
## Anio2022     1.643e+01  6.055e+00   2.713  0.01189 * 
## Anio2023     8.460e+00  6.761e+00   1.251  0.22237   
## Anio2024     3.303e-01  7.651e+00   0.043  0.96591   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.292 on 25 degrees of freedom
## Multiple R-squared:  0.8982, Adjusted R-squared:  0.8534 
## F-statistic: 20.05 on 11 and 25 DF,  p-value: 1.007e-09

Este modelo tiene un R² ajustado muy alto (0.8534), indicando un gran poder explicativo. Las variables Activos y varios años (Anio2018, 2019, 2020, 2022) son significativos. Margen_Oper no lo es (p = 0.34), por lo que puede eliminarse.

0.5.4 Modelo B modificado: ROE ~ Activos + Anio

modeloB_mod <- lm(ROE ~ Activos + Anio, data = data)
summary(modeloB_mod)
## 
## Call:
## lm(formula = ROE ~ Activos + Anio, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -10.809  -3.605   0.000   2.858  10.376 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -5.814e+01  3.101e+01  -1.875 0.072112 .  
## Activos      4.508e-08  2.235e-08   2.017 0.054163 .  
## Anio2016     6.961e+00  5.908e+00   1.178 0.249378    
## Anio2017    -7.644e+00  6.009e+00  -1.272 0.214611    
## Anio2018    -2.351e+01  5.921e+00  -3.971 0.000504 ***
## Anio2019    -1.406e+01  6.001e+00  -2.342 0.027113 *  
## Anio2020    -1.366e+01  5.980e+00  -2.284 0.030808 *  
## Anio2021    -2.716e+00  5.992e+00  -0.453 0.654083    
## Anio2022     1.539e+01  5.949e+00   2.588 0.015609 *  
## Anio2023     6.583e+00  6.461e+00   1.019 0.317650    
## Anio2024    -2.489e+00  7.054e+00  -0.353 0.727054    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.284 on 26 degrees of freedom
## Multiple R-squared:  0.8944, Adjusted R-squared:  0.8538 
## F-statistic: 22.03 on 10 and 26 DF,  p-value: 3.183e-10

El modelo mantiene un R² ajustado excelente (0.8538). Activos es casi significativo (p = 0.054) y varios años conservan significancia estadística, especialmente 2018 y 2022. Esto muestra que el tamaño de la empresa y el contexto temporal explican el ROE con gran precisión. Es el modelo elegido

0.5.5 Modelo Escogido

Modelo B modificado

Se eligió el modelo ROE ~ Activos + Anio por ser el que presentó el mayor R² ajustado (0.8538) entre todos los modelos evaluados, lo que indica un excelente poder explicativo. Además, incorpora la variable Anio, que permite capturar efectos temporales relevantes, y la variable Activos, que representa el tamaño de la empresa. Ambos factores son coherentes desde el punto de vista financiero y estadísticamente significativos en varios niveles. Este modelo ofrece precisión, interpretación clara y utilidad práctica para la empresa

0.6 5. Validación del Modelo Múltiple Final

0.6.1 Residuos vs Ajustados

plot(modeloB_mod$fitted.values, modeloB_mod$residuals,
     main = "Residuos vs Valores Ajustados",
     xlab = "Valores ajustados", ylab = "Residuos")
abline(h = 0, col = "red")

El gráfico muestra una dispersión aleatoria sin patrones evidentes, lo cual indica homocedasticidad

0.6.2 Histograma de residuos

hist(modeloB_mod$residuals, main = "Distribución de Residuos", col = "lightgray")

La distribución es simétrica y cercana a la normal.

0.6.3 Shapiro-Wilk

shapiro.test(modeloB_mod$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  modeloB_mod$residuals
## W = 0.97833, p-value = 0.6734

El p-valor es 0.67 > 0.05 → no se rechaza la normalidad de los residuos

¿Es necesaria una transformación?

No es necesaria ninguna transformación.

0.7 6. Pronóstico Hipotético

nuevo <- data.frame(
  Activos = 1350000000,
  Anio = factor("2023", levels = levels(data$Anio))
)

predict(modeloB_mod, newdata = nuevo, interval = "confidence")
##       fit     lwr      upr
## 1 9.30654 1.09442 17.51866

El modelo predice un ROE de 9.3% para una empresa con activos de 1.35 billones en el año 2023. El intervalo de confianza va de 1.09% a 17.51%, lo que indica un rango amplio, pero útil para planificación y proyecciones estratégicas

0.8 7. Utilidad del Modelo Final

El modelo ROE ~ Activos + Anio permite predecir la rentabilidad sobre el patrimonio a partir del tamaño de la empresa y el año de operación. Es útil para la empresa Riopaila Castilla como herramienta de análisis financiero histórico, detección de patrones anuales y evaluación de decisiones estructurales. También puede apoyar simulaciones estratégicas con cambios proyectados en el balance general