Modelo de Regresión Lineal
setwd("/cloud/project/")
datos<-read.csv("DerramesEEUU.csv", header = TRUE, sep=";" , dec=",",na.strings ="-")
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
LINB <- as.numeric(datos$LiberacionInvoluntariaBarriles)
RLB <- as.numeric(datos$RecuperacionLiquidoBarriles)
datos_interes <- data.frame(LINB,RLB)
datos_interes <- na.omit(datos_interes)
Para garantizar la calidad del análisis, se aplicó un proceso de depuración de datos basado en el criterio del Rango Intercuartílico (IQR). Este método permite identificar y eliminar valores atípicos extremos, conservando únicamente observaciones válidas dentro de los límites estadísticamente aceptables.
# ---LINB---
Q1_L <- quantile(datos_interes$LINB, 0.25, na.rm = TRUE)
Q3_L <- quantile(datos_interes$LINB, 0.75, na.rm = TRUE)
IQR_L <- Q3_L - Q1_L
L_min <- Q1_L - 1.5 * IQR_L
L_max <- Q3_L + 1.5 * IQR_L
# --- RLB ---
Q1_R <- quantile(datos_interes$RLB, 0.25, na.rm = TRUE)
Q3_R <- quantile(datos_interes$RLB, 0.75, na.rm = TRUE)
IQR_R <- Q3_R - Q1_R
R_min <- Q1_R - 1.5 * IQR_R
R_max <- Q3_R + 1.5 * IQR_R
# Filtrar directamente las variables
datos_limpios <- datos_interes %>%
filter(LINB >= L_min, LINB <= L_max,RLB >= R_min, RLB <= R_max)
x_var <- datos_limpios$LINB # independiente
y_var <- datos_limpios$RLB # dependiente
datosg <- datos_limpios %>%
filter(LINB > 2, RLB > 2, LINB < 10, RLB < 10)
x_var <- datosg$LINB
y_var <- datosg$RLB
Verificamos los nuevos intervalos y el tamaño muestral
min<-min(x_var)
max<-max(x_var)
miny<-min(y_var)
maxy<-max(y_var)
n <- nrow(datosg)
tabla_intervalos<-data.frame(min,max,miny,maxy,n)
colnames(tabla_intervalos)<-c("Min. X","Máx. X","Min. Y","Máx.Y","Tamaño muestral")
library(gt)
tabla_intervalos %>%
gt() %>%
tab_header(
title = md("**Tabla N°1**"),
subtitle = md("**Resumen de la depuración de datos para el modelo de regresión lineal**")
) %>%
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°1 | ||||
| Resumen de la depuración de datos para el modelo de regresión lineal | ||||
| Min. X | Máx. X | Min. Y | Máx.Y | Tamaño muestral |
|---|---|---|---|---|
| 2.1 | 9.76 | 2.05 | 9.76 | 315 |
| Autor: Grupo 1 | ||||
plot(x_var, y_var, col = 3, pch = 7,
xlab = "Liberación Involuntaria de Barriles",
ylab = "Recuperación de Líquido de Barriles",
main = "Gráfica N°1: Diagrama de dispersión de la recuperación de líquido en función
de la liberación involuntaria en accidentes de oleoductos en EE.UU.")
modelorl <- lm(y_var ~ x_var)
summary(modelorl)
##
## Call:
## lm(formula = y_var ~ x_var)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.5641 0.0399 0.1217 0.1880 0.4830
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.12184 0.07430 1.64 0.102
## x_var 0.93803 0.01469 63.87 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4946 on 313 degrees of freedom
## Multiple R-squared: 0.9287, Adjusted R-squared: 0.9285
## F-statistic: 4079 on 1 and 313 DF, p-value: < 2.2e-16
plot(x_var, y_var, col = 3, pch = 7,
xlab = "Liberación Involuntaria de Barriles",
ylab = "Recuperación de Líquido de Barriles",
main = "Gráfica N°2:Modelo de regresión lineal entre la liberación involuntaria
y la recuperación de líquido de Barriles.")
abline(modelorl, col = "red", lwd = 2)
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 : 96.371 %
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 recuperación de líquido que es
explicado por la liberación involuntaria es de: 92.87 %
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:
b <- coef(modelorl)[1]
El intercepto es: 0.122
m <- coef(modelorl)[2]
La pendiente es: 0.938
Por lo siguiente la ecuación de la recta obtenida es : y = 0.122 + 0.938 * x
La ecuación del modelo lineal obtenida de la recuperación de líquido en funcion de la liberación involuntaria en escenarios de pocos accidentes es :
\[y = 0.938 * x + 0.122\] Donde:
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:
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.
VariableIn <- c("Liberación Involuntaria")
VariableDep <- c("Recuperación de líquido")
Tipo <- c("Independiente","Dependiente")
Ecuacion <- c(" y= 0.122 + 0.938*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 | Recuperación de líquido | 96.37 | 92.87 | y= 0.122 + 0.938*x |
| Autor: Grupo 1 | ||||
# Valor para predecir
x_pred <- 5
# Predicción del modelo
y_esperado <- m * x_pred + b
Respuesta : Para una liberación involuntaria de 5 barriles, la recuperación de líquido estimada es de 4.81 barriles.
El análisis realizado demuestra que existe una relación lineal fuerte
y positiva entre la liberación involuntaria de barriles y la
recuperación de líquido, respaldada por un coeficiente de correlación de
96.37%, lo cual indica que ambas variables evolucionan de manera
consistente. El coeficiente de correlación (96.37%) evidencia una
relación lineal fuerte y positiva. Asimismo, el coeficiente de
determinación (R² = 92.87%) confirma que el 93% de la variabilidad en la
recuperación se explica por la liberación involuntaria.
La ecuación estimada es : y = 0.122 + 0.938x muestra que, por cada barril liberado involuntariamente, la recuperación de líquido aumenta casi en la misma proporción, manteniendo coherencia con la relación positiva observada. Bajo este modelo, una liberación involuntaria de 5 barriles genera una recuperación de líquido estimada de 4.81 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.