Carné: BC18002
Grupo Teórico: 03
Solución Ejercicio 1
1.Generando la matriz X’X
options(scipen = 99999999)
matriz_xx<-matrix(data = c(25,4586,2018,
4586,1030398,364545,
2018,364545,204312),nrow = 3,ncol = 3,byrow = TRUE)
print(matriz_xx)
## [,1] [,2] [,3]
## [1,] 25 4586 2018
## [2,] 4586 1030398 364545
## [3,] 2018 364545 204312
2.Generando la matriz X’Y
matriz_xy<-matrix(data = c(55331,
12524626,
4374490), nrow = 3,ncol = 1,byrow = TRUE)
print(matriz_xy)
## [,1]
## [1,] 55331
## [2,] 12524626
## [3,] 4374490
3.Calculando la inversa de X’X a través de Gauss-Jordan, u otro método (usando 10 decimales para el redondeo) se obtiene:
inv_matriz_xx<-solve(matriz_xx)
print(inv_matriz_xx)
## [,1] [,2] [,3]
## [1,] 0.397982654 -0.0010321198463 -0.0020893284104
## [2,] -0.001032120 0.0000053085599 0.0000007224679
## [3,] -0.002089328 0.0000007224679 0.0000242418099
Puede hacerse a través del producto de “inv_matriz_xx” con “matriz_xy”, usando el operador de producto de matrices %*%
beta<-inv_matriz_xx%*%matriz_xy
print(beta)
## [,1]
## [1,] -45.8830775
## [2,] 12.5399333
## [3,] -0.5104348
También es posible a través de la solución del sistema de ecuaciones normales X′X⋅β = X′Y
beta<-solve(matriz_xx,matriz_xy)
print(beta)
## [,1]
## [1,] -45.8830775
## [2,] 12.5399333
## [3,] -0.5104348
Solución Ejercicio 2
options(scipen = 99999999)
matriz_xx2<-matrix(data = c(26,5857,131,
5857,1675143,28173,
131,28173,869),nrow = 3,ncol = 3,byrow = TRUE)
print(matriz_xx2)
## [,1] [,2] [,3]
## [1,] 26 5857 131
## [2,] 5857 1675143 28173
## [3,] 131 28173 869
matriz_xy2<-matrix(data = c(1181,
298629,
6068),nrow = 3,ncol = 1,byrow = TRUE)
print(matriz_xy2)
## [,1]
## [1,] 1181
## [2,] 298629
## [3,] 6068
inv_matriz_xx2<-solve(matriz_xx2)
print(inv_matriz_xx2)
## [,1] [,2] [,3]
## [1,] 0.3509517581 -0.000741721931 -0.02885862872
## [2,] -0.0007417219 0.000002880324 0.00001843291
## [3,] -0.0288586287 0.000018432909 0.00490353282
Puede hacerse a través del producto de “inv_matriz_xx” con “matriz_xy”, usando el operador de producto de matrices %*%
beta<-inv_matriz_xx2%*%matriz_xy2
print(beta)
## [,1]
## [1,] 17.86018879
## [2,] 0.09602564
## [3,] 1.17719778
También es posible a través de la solución del sistema de ecuaciones normales X′X⋅β = X′Y
beta<-solve(matriz_xx2,matriz_xy2)
print(beta)
## [,1]
## [1,] 17.86018879
## [2,] 0.09602564
## [3,] 1.17719778