## REGRESIÓN
# GRUPO 3
# Carga de datos
setwd("/cloud/project/PROYECTO/DATOS")
datos<-read.csv("petro.csv",
header= TRUE, sep= ",", dec=".")
# Extraer variables
elevacion<-datos$GROUND_ELEVATION
profundidad<-datos$TOTAL_DEPTH
latitud<-datos$SURFACE_LATITUDE_83
latitud<-na.omit(latitud)
longitud<-datos$SURFACE_LONGITUDE_83
longitud<-na.omit(longitud)
precision<-datos$LOCATION_ACCURACY
precision<-gsub("[^0-9,.]", "", precision)
precision<-as.numeric(gsub(",", "", precision))
verticalidad<-datos$TRUE_VERTICAL_DEPTH
library(scatterplot3d)
## REGRESIÓN LINEAL: Profundidad y verticalidad
# Cargar variables
y<-profundidad
x<-verticalidad
# Modelo de regresión
regresionlineal<-lm(y~x)
summary(regresionlineal)
##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -85.4 -11.4 -3.4 1.7 4113.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -8.744085 1.063571 -8.221 <2e-16 ***
## x 1.043946 0.002456 425.132 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 94.38 on 24372 degrees of freedom
## (2292 observations deleted due to missingness)
## Multiple R-squared: 0.8812, Adjusted R-squared: 0.8812
## F-statistic: 1.807e+05 on 1 and 24372 DF, p-value: < 2.2e-16
## Gráfica de regresión
plot(x,y, col=4,pch=7,main = "Gráfica: Regresión Lineal",
xlab = "Verticalidad(m)", ylab = "Profundidad (m)")
# Agregar recta de regresión
abline(regresionlineal, col="red")

# Test de bondad
r<-cor(x,y,use = "pairwise.complete.obs")
r2<-r^2*100
r2
## [1] 88.11753
#Ecuación y=β0+β1x, donde y=Profundidad y x=Verticalidad
#y=−8.744085+1.043946*x
#Aplicación del Modelo: Si x (Verticalidad) es 1000 m, y=?
x<-1000
y <- (1.043946 * x) - 8.744085
y
## [1] 1035.202
## CONCLUSIÓN
# La verticalidad y la profundidad de los pozos petroleros en Ontario, Canadá
# existe una relación de tipo lineal cuya ecuación matemática es:
# y=−8.744085+1.043946*x
# siendo “y” la profundidad y “x” la verticalidad de los pozos petroleros en Ontario.
# Podemos decir que la verticalidad está influenciada en un 88.12% por la profundidad del pozo, y el 11.88% restante se debe a otros factores.
# Por ejemplo, cuando la elevación del terreno es 1000 (m) se espera 42.39233 (m)
# de latitud en el pozo.
## REGRESIÓN POLINÓMICA: Elevación y Latitud
# Cargar variables
x<-elevacion
y<-latitud
xcuad<-x^2
xcub<-x^3
xcta<-x^4
# Modelo de regresión
regresionPolinomica<-lm(y~x+xcuad+xcub+xcta)
summary(regresionPolinomica)
##
## Call:
## lm(formula = y ~ x + xcuad + xcub + xcta)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11.9831 -0.1604 0.0202 0.1440 9.5174
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.521e+01 9.756e-02 565.97 <2e-16 ***
## x -1.708e-01 1.695e-03 -100.76 <2e-16 ***
## xcuad 8.025e-04 1.068e-05 75.14 <2e-16 ***
## xcub -1.490e-06 2.729e-08 -54.60 <2e-16 ***
## xcta 9.449e-10 2.343e-11 40.34 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.5808 on 24625 degrees of freedom
## (2036 observations deleted due to missingness)
## Multiple R-squared: 0.4483, Adjusted R-squared: 0.4482
## F-statistic: 5002 on 4 and 24625 DF, p-value: < 2.2e-16
# Coeficientes
beta0<-regresionPolinomica$coefficients[1]
beta1<-regresionPolinomica$coefficients[2]
beta2<-regresionPolinomica$coefficients[3]
beta3<-regresionPolinomica$coefficients[4]
beta4<-regresionPolinomica$coefficients[5]
a<-beta0
b<-beta1
c<-beta2
d<-beta3
e<-beta4
# Gráfica
plot(x,y,col=5,pch=7,
main = "Gráfica: Regresión polinómica",
xlab = "Elevación (m)",
ylab = "Latitud (m)",
xlim = c(0,694),
ylim = c(40,58.50056944))
# Agregar curva de regresión
curve(a+(b*x)+(c*x^2)+(d*x^3)+(e*x^4),add=T,col="red")

# Test de bondad
r<-cor(elevacion,latitud,use = "pairwise.complete.obs")
r2<-r^2*100
#Ecuación y=a+(b*x)+(c*x^2)+(d*x^3)+(e*x^4), donde y=Latitud y x=Elevación
#y=5.521e+01+(-1.708e-01*x)+(8.025e-04*x^2)+(-1.490e-06*x^3)+(9.449e-10*x^4)
#Aplicación del Modelo: Si x (Elevación) es 570 m, y=?
x<-570
y=5.521e+01+(-1.708e-01*x)+(8.025e-04*x^2)+(-1.490e-06*x^3)+(9.449e-10*x^4)
y
## [1] 42.39233
## Conclusión
#La elevación del terreno y la latitud de los pozos petroleros en Ontario, Canadá
#existe una relación de tipo polinómica cuya ecuación matemática es:
#y=5.521e+01+(-1.708e-01*x)+(8.025e-04*x^2)+(-1.490e-06*x^3)+(9.449e-10*x^4)
#siendo “y” la latitud de los pozos petroleros en Ontario y “x” la elevación del
#terreno. Por ejemplo, cuando la elevación del terreno es 570 (m) se espera
#42.39233 (m) de latitud en el pozo.
## REGRESIÓN POTENCIAL: Profundidad y Latitud
# Cargar las variables
x<-profundidad
y<-latitud
x1<-log(x)
y1<-log(y)
# Modelo de regresión potencial
regresionPotencial<-lm(y1~x1)
summary(regresionPotencial)
##
## Call:
## lm(formula = y1 ~ x1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.03627 -0.00589 -0.00071 0.00055 0.32028
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.7961416 0.0009077 4182.05 <2e-16 ***
## x1 -0.0066853 0.0001595 -41.91 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.01843 on 24498 degrees of freedom
## (2166 observations deleted due to missingness)
## Multiple R-squared: 0.06691, Adjusted R-squared: 0.06688
## F-statistic: 1757 on 1 and 24498 DF, p-value: < 2.2e-16
# Coeficientes
beta0<-regresionPotencial$coefficients[1]
beta1<-regresionPotencial$coefficients[2]
b<-beta1
a<-exp(beta0)
# Gráfica
plot(x,y,col=5,pch=7,main = "Regresión potencial",
xlab = "Profundidad (m)", ylab = "Latitud (m)",ylim = c(40,48))
# Agregar curva de regresión
curve(a*x^b,from = 0,to=5000,add=T,col="red")

# Test de bondad
r<-cor(x1,y1,use = "pairwise.complete.obs")
r2<-r^2*100
#Ecuación y=a*x^b, donde x=Profundidad y y=Latitud
#y=44.5262*x^-0.0066853
#Aplicación del Modelo: Si x (Profundidad) es 3850 m, y=?
x1<-3850
y=44.5262*x1^-0.0066853
y
## [1] 42.13527
## Conclusión
#La profundidad y la latitud de los pozos petroleros en Ontario, Canadá
#existe una relación de tipo potencial cuya ecuación matemática es:
#y=44.5262*x^-0.0066853
#siendo “y” la latitud de los pozos petroleros en Ontario y “x” la profundidad
#del mismo. Por ejemplo, cuando la profundidad es 3850 (m) se espera
#42.13527 (m) de latitud en el pozo.
## REGRESIÓN MÚLTIPLE: Profundidad vs. Verticalidad y Latitud
# Carga las variables
y<-profundidad
x1<-verticalidad
x2<-latitud
# Modelo de regresión
regresionMultiple <- lm(y ~ x1 + x2)
summary(regresionMultiple)
##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -84.8 -12.4 -3.6 1.3 4112.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 149.682057 30.121284 4.969 6.76e-07 ***
## x1 1.041661 0.002492 417.949 < 2e-16 ***
## x2 -3.674899 0.698267 -5.263 1.43e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 94.33 on 24371 degrees of freedom
## (2292 observations deleted due to missingness)
## Multiple R-squared: 0.8813, Adjusted R-squared: 0.8813
## F-statistic: 9.048e+04 on 2 and 24371 DF, p-value: < 2.2e-16
#Crear el dataframe ajustado
datosMultiple<-data.frame(y,x1,x2)
# Gráfica de resultados
profundidadReg<-scatterplot3d(x1,x2,y,
main="Gráfica No.1: Regresión Múltiple",
xlab="Verticalidad (m)",
ylab="Latitud (m)",
zlab="Profundidad (m)",angle=225,
color="skyblue",
cex.axis = 0.4)
profundidadReg$plane3d(regresionMultiple,col="red")

# Test de bondad
r<-cor(datosMultiple,use="complete.obs")
r2 <- r^2*100
#Ecuación y=β0+β1x1+β2x2, donde y=Profundidad , x1=Verticalidad y x2=Latitud
#y<-149.682057 +1.041661*x1 + -3.674899*x2
#Aplicación del Modelo: Si X1 (Verticalidad) es 2000 m y X2 (Latitud) es 51 m
x1<-2000
x2<-51
y<-149.682057 +1.041661*x1 + -3.674899*x2
y
## [1] 2045.584
## Conclusión
#La profundidad, verticalidad y latitud de los pozos petroleros en Ontario, Canadá
#existe una relación cuya ecuación matemática es:
#y<-149.682057 +1.041661*x1 + -3.674899*x2
#siendo "y" la profundidad de los pozos petroleros en Ontario, "x" la latitud
#y "z" la verticalidad. Por ejemplo, cuando la latitud es 51 (m) y la verticalidad
#es 2000 (m) se espera 2045.584 (m) de profundidad en el pozo.