1. DATOS

library(readr)
datasetf <- read_csv("datasetf.csv")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 2795 Columns: 36
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (18): Accident Date/Time, Operator Name, Pipeline/Facility Name, Pipelin...
## dbl (18): Report Number, Supplemental Number, Accident Year, Operator ID, Ac...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

2. EXTRAER VARIABLES

df_lin <- data.frame(
  X = datasetf$`Unintentional Release (Barrels)`,
  Y = datasetf$`Net Loss (Barrels)`
)

3. LIMPIEZA Y FILTRO DE VISIBILIDAD

# Quitamos NAs y limitamos el rango para que la nube se vea extendida.
df_lin <- na.omit(df_lin)
df_lin <- df_lin[df_lin$X > 0 & df_lin$X < 5000, ] 
df_lin <- df_lin[df_lin$Y > 0, ]

4. TABLA DE PARES DE VALORES (ELIMINAR NA)

cat("--- TABLA DE VALORES (MUESTRA) ---\n")
## --- TABLA DE VALORES (MUESTRA) ---
df_lin

5. GRÁFICA DE NUBE DE PUNTOS (DATOS ORIGINALES)

plot(df_lin$X, df_lin$Y, 
     main="Gráfica N° 2:Nube de Puntos",
     xlab="Barriles Liberados (Unintentional Release)", 
     ylab="Barriles Perdidos Netos (Net Loss)",
     pch=16, col=rgb(0.2, 0.4, 0.8, 0.5))

6. CONJETURAR EL MODELO

Se define como un Modelo de Regresión Lineal Simple bajo la fórmula Y = b0 + b1*X

modelo_lineal <- lm(Y ~ X, data = df_lin)

7. CALCULAR PARÁMETROS (PENDIENTE E INTERCEPTO)

coeficientes <- coef(modelo_lineal)

beta_0 <- coeficientes[1] # Intercepto
beta_1 <- coeficientes[2] # Pendiente (Slope)

cat("\n--- PARÁMETROS DE LA ECUACIÓN LINEAL ---\n")
## 
## --- PARÁMETROS DE LA ECUACIÓN LINEAL ---
cat("Intersección (Beta 0):", round(beta_0, 4), "\n")
## Intersección (Beta 0): -15.7686
cat("Pendiente (Beta 1):", round(beta_1, 4), "\n")
## Pendiente (Beta 1): 0.7338
# Formulación de la ecuación
cat("\nLa ecuación del modelo es: Y =", round(beta_0, 4), "+", round(beta_1, 4), "* X\n")
## 
## La ecuación del modelo es: Y = -15.7686 + 0.7338 * X
# Interpretación técnica de la pendiente
porcentaje_perdida <- round(beta_1 * 100, 2)
cat("Interpretación: Por cada barril liberado, se pierde definitivamente el", 
    porcentaje_perdida, "% del volumen.\n")
## Interpretación: Por cada barril liberado, se pierde definitivamente el 73.38 % del volumen.

8. GRÁFICO CON LA LÍNEA DEL MODELO

plot(df_lin$X, df_lin$Y, 
     main="Gráfica N° 2: relación entre Volumen Liberado y Pérdida Neta",
     xlab="Barriles Liberados (Unintentional Release)", 
     ylab="Barriles Perdidos Netos (Net Loss)",
     pch=16, col=rgb(0.2, 0.4, 0.8, 0.5))

# Dibujamos la línea de tendencia central (Recta)
abline(modelo_lineal, col="red", lwd=3)

9. PEARSON

# Al ser variables proporcionales, el coeficiente será naturalmente alto.
pearson_val <- cor(df_lin$X, df_lin$Y)
r2_val <- summary(modelo_lineal)$r.squared

cat("\n--- RESULTADOS DEL TEST --- \n")
## 
## --- RESULTADOS DEL TEST ---
cat("Coeficiente de Pearson (R):", round(pearson_val, 4), "\n")
## Coeficiente de Pearson (R): 0.8948
cat("R-Squared (Precisión del modelo):", round(r2_val, 4), "\n")
## R-Squared (Precisión del modelo): 0.8006

11. ESTIMACIÓN

Supongamos un incidente donde se liberan 2,500 barriles,se estima una pérdida neta de?

# Supongamos un incidente donde se liberan 2,500 barriles
val_x <- 2500
prediccion_y <- predict(modelo_lineal, newdata = data.frame(X = val_x))

cat("\n--- ESTIMACIÓN ---\n")
## 
## --- ESTIMACIÓN ---
cat("Para un derrame de", val_x, "barriles, se estima una pérdida neta de:", 
    round(prediccion_y, 2), "barriles.\n")
## Para un derrame de 2500 barriles, se estima una pérdida neta de: 1818.78 barriles.

12. CONCLUCIÓN

Entre la variable independiente Barriles Liberados (\(X\)) y la variable dependiente Barriles Perdidos Netos (\(Y\)) existe una relación matemática de tipo regresión lineal simple, la cual indica un comportamiento directamente proporcional entre el derrame y el material no recuperado. Esta relación se expresa mediante la fórmula del modelo \(Y = 32.5517 + 0.81X\) (donde el coeficiente de la pendiente indica que por cada barril liberado se pierde definitivamente el 81% del volumen), sujeta a las restricciones de aplicarse a incidentes dentro de un rango de 0 a 5,000 barriles y tras haber filtrado los valores nulos para garantizar la integridad de la tendencia. Finalmente, el modelo permite realizar una estimación técnica donde, para un incidente con una liberación de 2,500 barriles, se proyecta una pérdida neta de 1,818.78 barriles, confirmando una correlación sólida con un coeficiente de Pearson de 0.8948.