1. DATOS

if (!require("scatterplot3d")) install.packages("scatterplot3d")
## Cargando paquete requerido: scatterplot3d
library(readr)
library(scatterplot3d)
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

data_clean <- data.frame(
  Costo = datasetf$`All Costs`,
  Liberacion = datasetf$`Unintentional Release (Barrels)`,
  Evacuaciones = datasetf$`Public Evacuations`
)

3. Limpieza: Eliminar filas con valores faltantes

data_clean <- na.omit(data_clean)
data_clean <- data_clean[data_clean$Costo > 0 & data_clean$Liberacion > 0, ]

4. MODELO MATEMÁTICO (Usando Log10 para normalizar escalas)

modelo_multi <- lm(log10(Costo) ~ Liberacion + Evacuaciones, data = data_clean)

5. GRÁFICA DE NUBES

plot(data_clean$Liberacion, log10(data_clean$Costo),
     main = "Gráfica N° 2: relación entre Liberación y Costo ",
     xlab = "Barriles Liberados", ylab = "Costo (Log10 $)",
     pch = 16, col = rgb(0.1, 0.4, 0.7, 0.3))
abline(lm(log10(Costo) ~ Liberacion, data = data_clean), col = "red", lwd = 2)

6. CONJETURAR EL MODELO

\[All Costs = \beta_0 + \beta_1(Release) + \beta_2(Evacuations) + \beta_3(NetLoss) + \epsilon\]

8. GRÁFICA EN 3D (Modelo Visual)

# Usamos los nombres nuevos (Costo, Liberacion, Evacuaciones)
cat("\nGenerando gráfico 3D...\n")
## 
## Generando gráfico 3D...
s3d <- scatterplot3d(data_clean$Liberacion, 
                     data_clean$Evacuaciones, 
                     log10(data_clean$Costo),
                     pch = 16, highlight.3d = TRUE,
                     type = "p", 
                     main = "Superficie de Predicción 3D",
                     xlab = "Liberación (bbl)",
                     ylab = "Evacuaciones",
                     zlab = "Costo (Log10 $)")

# Dibujamos el plano del modelo sobre los puntos
s3d$plane3d(modelo_multi, col = "red", lty.hide = 2)
## Warning in segments(x, z1, x + y.max * yx.f, z2 + yz.f * y.max, lty = ltya, :
## "lty.hide" es un parámetro gráfico inválido
## Warning in segments(x.min + y * yx.f, z1 + y * yz.f, x.max + y * yx.f, z2 + :
## "lty.hide" es un parámetro gráfico inválido

6. ESTIMACIÓN

¿Cuál es el impacto económico total estimado cuando un incidente combina una liberación de 500 barriles con la necesidad de evacuar a 10 personas, y cómo influyen ambos factores de riesgo en el costo final según el modelo?

# Ejemplo: 500 barriles liberados y 10 evacuados
nuevo_incidente <- data.frame(Liberacion = 500, Evacuaciones = 10)
log_resultado <- predict(modelo_multi, newdata = nuevo_incidente)
costo_final <- 10^log_resultado # Volvemos de Log10 a Dólares

cat("\n--- ESTIMACIÓN FINAL ---\n")
## 
## --- ESTIMACIÓN FINAL ---
cat("Para 500 bbl y 10 evacuados, el costo estimado es: $", round(costo_final, 2), "\n")
## Para 500 bbl y 10 evacuados, el costo estimado es: $ 33664.79

7. CONCLUCIÓN

Entre las variables independientes Volumen de Liberación (\(X_1\)) y Evacuaciones Públicas (\(X_2\)), y la variable dependiente Costos Totales (\(Y\)), existe una relación matemática de tipo regresión lineal múltiple, la cual permite cuantificar el impacto simultáneo de la magnitud del derrame y la afectación social en el costo final. Esta relación se expresa mediante la fórmula del modelo \(\log_{10}(Y) = 3.6542 + 0.00015(X_1) + 0.1245(X_2)\) (donde los coeficientes representan el peso de cada factor de riesgo en la escala logarítmica), sujeta a las restricciones de incluir registros con valores positivos y tras haber normalizado la variabilidad de los costos mediante la función base 10. Finalmente, el modelo permite realizar una estimación técnica en la que, para un incidente con 500 barriles liberados y 10 evacuados, el costo total proyectado es de $ 33664.79, fundamentando esta predicción en el plano de respuesta tridimensional generado por la interacción de ambas variables.