library(readxl)
EJERCICIO_3_14_1_ <- read_excel("EJERCICIO 3.14(1).xlsx",
sheet = "Datos para R", col_types = c("numeric",
"numeric", "numeric"))
View(EJERCICIO_3_14_1_)
datos<-EJERCICIO_3_14_1_
1. Ajustar un modelo de regresión lineal múltiple que relacione la viscosidad con los dos regresores
y <- datos[,c('y')] # Convertimos los dato de "y" en una matriz.
X <- cbind(1, datos[,c('x1', 'x2')]) # Convertimos los datos de "X" en una matriz.
y<-as.matrix(y) # Matriz y.
X <- as.matrix(X) # Matriz Xi.
a).Hallaremos la traspuesta de la matriz “X”, para multiplicalo por la matriz “X” \(X^{t}X\)
Matriz_tX_X<-t(X) %*% X
round(Matriz_tX_X,4)
## 1 x1 x2
## 1 40.000 26.0310 1400.000
## x1 26.031 18.6746 911.085
## x2 1400.000 911.0850 82000.000
b). Multiplicaremos la matriz Traspuesta de X por la matriz “y” \(X^{t}y\)
Matriz_tX_y<-t(X) %*% y
round(Matriz_tX_y,4)
## y
## 1 41.9314
## x1 29.7286
## x2 951.8470
c). Hallaremos la matriz de los \(\hat{\beta}_i\)
\(\hat{\beta}_i\) \(=\left(X^{\ t}X\right)^{-1}\) \(\ (X^{t}\ y)\)
βi<- solve( Matriz_tX_X)%*% (Matriz_tX_y)
round(βi,4)
## y
## 1 0.6794
## x1 1.4073
## x2 -0.0156
Entonces la ecuacion de regresion sera:
B<-round(βi,4)
paste( "Viscosidad cinematica= ",B[1],"+" ,B[2],"(relacion de 2-metoxietanos a 1,2-dimetoxietano) ",B[3]," (Temperatura) ")
## [1] "Viscosidad cinematica= 0.6794 + 1.4073 (relacion de 2-metoxietanos a 1,2-dimetoxietano) -0.0156 (Temperatura) "
2.Probar la significancia de la regresión. ¿Qué conclusiones se pueden sacar?
Para ello se debe probr que:
\(H_{0}=\beta_{0}=\beta_{1}=\beta_{2}=0\)
\(H_{1} \neq \beta_{j}\)
Primero hallaremos la suma total de cuadrado: \((SS_T)\)
\(S S_{T}=\sum y_{i}^{2}-\frac{\left(\sum y_{i}\right)^{2}}{n}\)
y.cua<-y^2
n<-40
SSt=sum(y.cua)-((sum(y)^2)/n);SSt
## [1] 13.98399
Enntonces:
\(S S_{T}=\sum y_{i}^{2}-\frac{\left(\sum y_{i}\right)^{2}}{n}= 13.98399\)
Ahora hallaremos la suma de cuadrados de la regresión: \((SS_R)\)
\(S S_{R}=\hat{\beta}^{\prime} X^{\prime} y-\frac{\left(\sum y_{i}\right)^{2}}{n}\)
SSr<-(t(B)%*%Matriz_tX_y)-((sum(y)^2)/n);SSr
## y
## y 11.52044
Entonces:
\(S S_{R}=\hat{\beta}^{\prime} X^{\prime} y-\frac{\left(\sum y_{i}\right)^{2}}{n}=11.52045\)
Ahora hallaremos la suma de cuadrados residuales \((SS_{Res}=SS_T-SS_R=2.46355)\)
SSres<-SSt-SSr;SSres
## y
## y 2.463544
Para probar que \(H_{0}:\beta_{0}=\beta_{1}=\beta_{2}=0\), se calcula el estadistico siguiente:
\(F_{0}=\frac{\frac{S S_{R}}{k}}{\frac{S S_{R e s}}{n-k-1}}\)
k<-2
Fo<-(SSr/k)/(SSres/(n-k-1));Fo
## y
## y 86.51282
Hallamos el F tabulado
F.tab<-qf(0.05,k,37,lower.tail = F);F.tab
## [1] 3.251924
ifelse(Fo>F.tab,"Se rechaza la hipotesis nula(la regresion es significativa)","Se acepta la hipotesis nula")
## y
## y "Se rechaza la hipotesis nula(la regresion es significativa)"
3. Hacer pruebas t para evaluar la contribución de cada regresor al modelo. Comentar los resultados
Ahora estimaremos \(\hat{\sigma}^{2}\)
Usaremos la siguiente formula:
\(\hat{\sigma}^{2}=\frac{1}{n-(p+1)}(\mathbf{y}-\mathbf{X} \hat{\beta})^{\prime}(\mathbf{y}-\mathbf{X} \hat{\beta})\)
gl<-3
s2h <- t(y - X%*%βi) %*% (y - X%*%βi) / (n - gl)
s2h <- as.numeric(s2h); round(s2h, 4)
## [1] 0.0673
Dando como resultado: \(\hat{\sigma}^{2}=\frac{1}{n-(p+1)}(\mathbf{y}-\mathbf{X} \hat{\beta})^{\prime}(\mathbf{y}-\mathbf{X} \hat{\beta})=0.0673\)
Ahora estimaremos la varianza de \(\hat{\beta}_i\)
Varianza.B <- s2h * solve(t(X) %*% X); round(Varianza.B, 4)
## 1 x1 x2
## 1 0.0206 -0.0252 -1e-04
## x1 -0.0252 0.0388 0e+00
## x2 -0.0001 0.0000 0e+00
Para \(\beta_{0}\)
gl<-3
b0_LI <- B[1] - qt(0.975, n -gl ) * sqrt(Varianza.B[1,1]);
b0_LS <- B[1] + qt(0.975, n - gl) * sqrt(Varianza.B[1,1]);
paste("El limite inferior es: ",b0_LI,
"El limite superior es: ",b0_LS)
## [1] "El limite inferior es: 0.388576388769405 El limite superior es: 0.970223611230595"
t0 <- abs(B[1]/sqrt(Varianza.B[1,1])); t0 # Estadístico
## [1] 4.733437
tt <- qt(0.975, n - gl); tt # Cuantil de la distribución t
## [1] 2.026192
ifelse(t0>tt,"Se rechaza la hipotesis nula(la regresion es significativa)","Se acepta la hipotesis nula")
## [1] "Se rechaza la hipotesis nula(la regresion es significativa)"
Conclusion:
Como |t1|>tn−p−1(0.025), se rechaza la hipótesis nula con una significancia α=0.05, es decir, la evidencia sostiene que el modelo incluya a β0.
Para \(\beta_{1}\)
b0_LI <- B[2] - qt(0.975, n - gl) * sqrt(Varianza.B[2,2]);
b0_LS <- B[2] + qt(0.975, n - gl) * sqrt(Varianza.B[2,2]);
paste("El limite inferior es: ",b0_LI,
"El limite superior es: ",b0_LS)
## [1] "El limite inferior es: 1.00829142341049 El limite superior es: 1.80630857658951"
t0 <- abs(B[2]/sqrt(Varianza.B[2,2])); t0 # Estadístico
## [1] 7.146364
tt <- qt(0.975, n - gl); tt # Cuantil de la distribución t
## [1] 2.026192
ifelse(t0>tt,"Se rechaza la hipotesis nula(la regresion es significativa)","Se acepta la hipotesis nula")
## [1] "Se rechaza la hipotesis nula(la regresion es significativa)"
Conclusion:
Como |t1|>tn−p−1(0.025), se rechaza la hipótesis nula con una significancia α=0.05, es decir, la evidencia sostiene que el modelo incluya a β1.
Para \(\beta_{2}\)
b0_LI <- B[3] - qt(0.975, n - gl) * sqrt(Varianza.B[3,3]);
b0_LS <- B[3] + qt(0.975, n - gl) * sqrt(Varianza.B[3,3]);
paste("El limite inferior es: ",b0_LI,
"El limite superior es: ",b0_LS)
## [1] "El limite inferior es: -0.018492594510196 El limite superior es: -0.012707405489804"
t0 <- abs(B[3]/sqrt(Varianza.B[3,3])); t0 # Estadístico
## [1] 10.92742
tt <- qt(0.975, n - gl); tt # Cuantil de la distribución t
## [1] 2.026192
ifelse(t0>tt,"Se rechaza la hipotesis nula(la regresion es significativa)","Se acepta la hipotesis nula")
## [1] "Se rechaza la hipotesis nula(la regresion es significativa)"
Conclusion:
Como |t1|>tn−p−1(0.025), se rechaza la hipótesis nula con una significancia α=0.05, es decir, la evidencia sostiene que el modelo incluya a β2.
4. Calcular \(R^2\) y \(R^2_{Adj}\) para este modelo. Comparar esos valores con los de \(R^2\) y \(R^2_{Adj}\) para el modelo de regresión lineal simple que relacione la viscosidad sólo con la temperatura. Comentar los resultados obtenidos.
Calcularemos \(R^2\) y \(R^2_{Adj}\) del modelo multilineal
\(R^2=\frac{SS_R}{SS_T}\)
R2.multi<-SSr/SSt;R2.multi
## y
## y 0.823831
\(R^2=82.3830681\)%
\(R^2_{Adj}\)
\(R^2_{Adj}=1-\frac{SS_{Res}/(n-p)}{SS_T /(n-1)}\)
R2.ajus.multi<-1-((SSres/(n-3))/(SSt/(n-1)))
R2.ajus.multi
## y
## y 0.8143084
\(R^2_{Adj}=81.9194999\)%
Calcularemos \(R^2\) y \(R^2_{Adj}\) del modelo linael
modelo.lineal<-lm(datos$y~datos$x2)
summary(modelo.lineal)
##
## Call:
## lm(formula = datos$y ~ datos$x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.60279 -0.27348 -0.02503 0.19194 1.37642
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.595295 0.098404 16.212 < 2e-16 ***
## datos$x2 -0.015629 0.002173 -7.191 1.36e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.3948 on 38 degrees of freedom
## Multiple R-squared: 0.5764, Adjusted R-squared: 0.5653
## F-statistic: 51.71 on 1 and 38 DF, p-value: 1.358e-08
El modelo de regresion es: $ y=1.595295-0.015629 x_2$
R2.line<-(cor(datos$y,datos$x2))^2;R2.line
## [1] 0.5764172
R2.line.ajus<-summary(modelo.lineal)$adj.r.squared
\(R^2=-57.6417134\)%
\(R^2_{Adj}=56.53\)%
se<-sqrt(s2h*(solve(Matriz_tX_X))[3,3]);se
## [1] 0.001427601
to2<-B[3]/se;to2
## [1] -10.92742
Analisis de Datos
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
regresion.lineal.multiple<-lm(datos$y~datos$x1+datos$x2)
summary(regresion.lineal.multiple)
##
## Call:
## lm(formula = datos$y ~ datos$x1 + datos$x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.22179 -0.18102 -0.08439 0.09111 0.99908
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.679439 0.143532 4.734 3.20e-05 ***
## datos$x1 1.407331 0.196925 7.147 1.81e-08 ***
## datos$x2 -0.015629 0.001428 -10.948 3.67e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2593 on 37 degrees of freedom
## Multiple R-squared: 0.822, Adjusted R-squared: 0.8124
## F-statistic: 85.46 on 2 and 37 DF, p-value: 1.351e-14