Modelo de Regresión Lineal Simple


1.Preparación de datos


1.1 Carga de datos

setwd("/cloud/project/")
datos<-read.csv("DerramesEEUU.csv", header = TRUE, sep=";" , dec=",",na.strings ="-")

1.2 Selección de Variables de Interés

LINB <- as.numeric(datos$LiberacionInvoluntariaBarriles)
PNB <- as.numeric(datos$PerdidaNetaBarriles)

1.3 Depuración y Filtrado de Datos

El criterio aplicado fue conservar únicamente valores válidos, no faltantes y mayores que los umbrales establecidos

validos <- !is.na(LINB) & !is.na(PNB) & LINB >= 600 & PNB >= 3000
LINB_filtrado <- LINB[validos]
PNB_filtrado <- PNB[validos]

2.Definición de Variables para el Modelo de Regresión


2.1 Selección de Variable Predictora y Variable Respuesta

x_var <- LINB_filtrado # independiente
y_var <- PNB_filtrado  # dependiente

2.2 Diagrama de Dispersión

plot(x_var, y_var, col = 3, pch = 7,
     xlab = "Liberación Involuntaria de Barriles",
     ylab = "Pérdida Neta de Barriles",
     main = "Gráfica N°1: Diagrama de dispersión de la pérdida neta en función 
     de la liberación involuntaria en accidentes de oleoductos en EE.UU.")

3.Conjetura del modelo de regresión

modelorl <- lm(y_var ~ x_var)

3.1 Resumen del modelo

summary(modelorl)
## 
## Call:
## lm(formula = y_var ~ x_var)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4688.3   545.3   592.7   696.5  1522.3 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -434.55595  475.23712  -0.914    0.368    
## x_var          0.96441    0.04038  23.881   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1653 on 29 degrees of freedom
## Multiple R-squared:  0.9516, Adjusted R-squared:  0.9499 
## F-statistic: 570.3 on 1 and 29 DF,  p-value: < 2.2e-16

3.2 Gráfica del modelo

plot(x_var, y_var, col = 3, pch = 7,
     xlab = "Liberación Involuntaria de Barriles",
     ylab = "Perdida Neta de Barriles",
     main = "Gráfica N°2:Modelo de regresión lineal entre la liberación involuntaria 
     y la pérdida neta de barriles.")
abline(modelorl, col = "red", lwd = 2)

3.3 Análisis de Correlación

3.3.1 Test de Pearson

El coeficiente de correlación de Pearson indica el grado de asociación lineal entre ambas variables. Un valor cercano a \(± 1\) representa una relación fuerte, mientras que valores cercanos a \(0\) indican una relación débil.

r  <- cor(x_var, y_var)*100

La correlación lineal entre ambas variables es : 97.55 %

3.3.2 Coeficiente de determinación

El coeficiente de determinación es aquel que expresa la proporción de la variación total de la variable dependiente que es explicada por la variable independiente. Se interpreta como el grado de ajuste del modelo a los datos observados.

r2 <- ((r/100)^2)*100  

El porcentaje de la variación de la pérdida neta que es explicado por la liberación involuntaria es de: 95.16 %

3.4 Ecuación de la recta

Para obtener la ecuación de la regresión lineal, utilizamos los coeficientes estimados del modelo, los cuales permiten expresar la relación entre las variables mediante la siguiente forma general:

\[y = mx + b\]

Donde:

  • \(\boldsymbol{m}\) representa la pendiente del modelo, es decir, el cambio esperado en \(y\) por cada unidad adicional de \(x\).
  • \(\boldsymbol{b}\) corresponde al intercepto, que indica el valor estimado de \(y\) cuando \(x\) es igual a cero.
b <- coef(modelorl)[1]

El intercepto es: -434.556

m  <- coef(modelorl)[2]

La pendiente es: 0.964

La ecuación de la recta obtenida es : y = -434.556 + 0.964 * x

3.5 Restricciones

La ecuacion del modelo lineal obtenida de la pérdida neta en funcion de la liberación involuntaria en escenarios de grandes derrames es :

\[y = 0.964 * x -434.556\] Donde:

  • \(y\) representa la Pérdida Neta (barriles).
  • \(x\) representa la Liberación Involuntaria (barriles).

Este modelo presenta restricciones asociadas al rango de datos utilizados para su ajuste, ya que fue construido únicamente con observaciones que cumplen con los criterios:

  • Liberación involuntaria \(≥ 600\)
  • Pérdida neta \(≥ 3000\)

Por lo tanto, su validez se limita estrictamente a este intervalo. Cualquier predicción realizada fuera de dicho rango constituye una extrapolación, por lo que no describe de forma confiable el comportamiento real del sistema.

Además, aunque el modelo incluye un intercepto negativo, este no debe interpretarse, ya que carece de significado físico dentro del contexto analizado. Debido a que la regresión fue ajustada solo para valores elevados de liberación y pérdida, el intercepto deja de ser relevante para escenarios con liberaciones pequeñas o cercanas a cero.

3.6 Tabla de resumen del modelo

VariableIn <- c("Liberación Involuntaria")
VariableDep <- c("Pérdida Neta")
Tipo <- c("Independiente","Dependiente")
Ecuacion <- c("y= -434.56+0.96*x")

Tabla_resumen <- data.frame(
  VariableIn,VariableDep,
  Correlación_Pearson = round(r, 2),
  Co_determinacion = round(r2, 2),
  Ecuacion
)

colnames(Tabla_resumen) <- c("Variable Independiente",
                             "Variable Dependiente",
                            "Test Pearson",
                            "Coeficiente de determinación",
                            "Ecuación de la recta")
library(gt)

Tabla_resumen %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N°2**"),
    subtitle = md("**Resumen del modelo de regresion lineal de la perdida neta en función de la liberación involuntaria en barriles petroleros**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 1")
  ) %>%
  cols_align(
    align = "center",   
    columns = everything()  
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    table.border.top.style = "solid",
    table.border.bottom.style = "solid",
    column_labels.font.weight = "bold",
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    table_body.hlines.color = "grey",
    table_body.border.bottom.color = "black"
  )
Tabla N°2
Resumen del modelo de regresion lineal de la perdida neta en función de la liberación involuntaria en barriles petroleros
Variable Independiente Variable Dependiente Test Pearson Coeficiente de determinación Ecuación de la recta
Liberación Involuntaria Pérdida Neta 97.55 95.16 y= -434.56+0.96*x
Autor: Grupo 1

4.Cálculo de estimaciones


  • ¿Cuál sería la pérdida neta estimada si la liberación involuntaria fuera de 1.000 barriles?
# Valor para predecir
x_pred <- 1000

# Predicción del modelo
y_esperado <- m * x_pred + b

Respuesta : Para una liberación involuntaria de 1000 barriles, la pérdida neta estimada es de 529.86 barriles.

5.Conclusión


El análisis realizado demuestra que existe una relación lineal fuerte y positiva entre la liberación involuntaria de barriles y la pérdida neta asociada, respaldada por un coeficiente de correlación de 97.55%, lo cual indica que ambas variables evolucionan de manera consistente, al igual que por el coeficiente de determinación (R² = 95.16%) que confirma que el 95% de la variabilidad en la pérdida neta puede explicarse directamente por los cambios en la liberación involuntaria, mostrando un modelo altamente representativo.

La ecuación estimada es y = −434.56 + 0.96x, refleja que por cada barril liberado involuntariamente, la pérdida neta aumenta casi en la misma proporción. Bajo este modelo, una liberación de 1000 barriles genera una pérdida neta estimada de 529.86 barriles. En conjunto, estos resultados demuestran que el modelo es sólido, confiable y adecuado para realizar estimaciones dentro del rango operativo de los datos.