library(readxl)
library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
library(corrplot)
## corrplot 0.95 loaded
Reg_2 <- read_excel("Reg_2.xlsx")
# Asignación de variables
datos <- Reg_2
gasolina <- datos$Cant_gasol
gravcrudo <- datos$Gravedad_crudo
modelo1 <- lm(gasolina ~ gravcrudo)
plot(gravcrudo, gasolina,
main="Cantidad Gasolina vs. Gravedad Crudo",
xlab="Gravedad Crudo", ylab="Cantidad Gasolina",
pch=19, col="skyblue")
# Prueba de Shapiro-Wilk para verificar normalidad
shapiro.test(gravcrudo)
##
## Shapiro-Wilk normality test
##
## data: gravcrudo
## W = 0.85135, p-value = 0.0004439
shapiro.test(gasolina)
##
## Shapiro-Wilk normality test
##
## data: gasolina
## W = 0.9604, p-value = 0.2817
Gravedad del crudo: El p-valor es 0.00044 (menor a 0.05). No es normal. Gasolina: El p-valor es 0.2817 (mayor a 0.05). Es normal.
# --- Cálculo con sumatorias (Manual) ---
n <- length(gravcrudo)
Sxy <- sum(gravcrudo * gasolina) - (sum(gravcrudo) * sum(gasolina)) / n
Sxx <- sum(gravcrudo^2) - (sum(gravcrudo)^2) / n
Syy <- sum(gasolina^2) - (sum(gasolina)^2) / n
r_manual <- Sxy / sqrt(Sxx * Syy)
print(paste("Correlación r (Manual):", r_manual))
## [1] "Correlación r (Manual): 0.246326024651619"
# --- Comprobación en R (Poblacional) ---
r_computacional <- cor(gasolina, gravcrudo, method="spearman")
print(paste("Correlación de Spearman (R):", r_computacional))
## [1] "Correlación de Spearman (R): 0.0946339591356681"
# Prueba de hipótesis
cor.test(gasolina, gravcrudo, method="spearman")
## Warning in cor.test.default(gasolina, gravcrudo, method = "spearman"): Cannot
## compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: gasolina and gravcrudo
## S = 4939.7, p-value = 0.6064
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## 0.09463396
Interpretación: La relación es positiva pero muy débil. Prácticamente, la gravedad del crudo no está afectando mucho a la cantidad de gasolina de forma lineal.
Prueba de Hipótesis: El p-valor de la correlación dio \(0.6064\). Como es mucho mayor a 0.05, no podemos decir que existe una relación real en la población. Es decir, p = 0.
# --- Cálculo de b1 y b0 (Manual) ---
b_1_manual <- Sxy / Sxx
b_0_manual <- mean(gasolina) - (b_1_manual * mean(gravcrudo))
print(paste("Pendiente b1 (Manual):", b_1_manual))
## [1] "Pendiente b1 (Manual): 0.468679532757746"
print(paste("Intercepto b0 (Manual):", b_0_manual))
## [1] "Intercepto b0 (Manual): 1.26370333925847"
# --- Comprobación con lm() ---
modelo1 <- lm(gasolina ~ gravcrudo)
summary(modelo1) # Aquí obtienes el R-cuadrado e interpretas p^2
##
## Call:
## lm(formula = gasolina ~ gravcrudo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.820 -7.381 -1.666 7.496 20.627
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.2637 13.3458 0.095 0.925
## gravcrudo 0.4687 0.3367 1.392 0.174
##
## Residual standard error: 10.56 on 30 degrees of freedom
## Multiple R-squared: 0.06068, Adjusted R-squared: 0.02937
## F-statistic: 1.938 on 1 and 30 DF, p-value: 0.1741
Interpretacion de la pendiente (b1): El valor de b1 es 0.4687. Esto significa que por cada unidad adicional en la gravedad del crudo, se espera que la cantidad de gasolina aumente en promedio 0.4687 unidades.
Interpretacion del intercepto (b0): El valor de b0 es 1.2637. Este valor representa la cantidad estimada de gasolina cuando la gravedad del crudo es igual a cero. En este contexto, funciona como el punto donde la recta corta el eje Y.
Interpretacion del coeficiente de determinacion (R cuadrado o p al cuadrado): El valor de R cuadrado es 0.0606. Esto indica que solamente el 6.06 por ciento de la variabilidad de la cantidad de gasolina es explicada por la gravedad del crudo a traves de este modelo lineal. El 93.94 por ciento restante de la variacion se debe a otros factores no incluidos en el estudio.
Interpretacion del p-valor del modelo: El p-valor de la regresion es 0.1741. Al ser mayor a 0.05, se concluye que el modelo no es estadisticamente significativo para realizar predicciones confiables en la poblacion.