## cte X1 X2 ## [1,] 1 1 0 ## [2,] 1 2 0 ## [3,] 1 3 0 ## [4,] 1 4 1 ## [5,] 1 5 1 ## [6,] 1 6 1
## Y ## [1,] 90 ## [2,] 100 ## [3,] 110 ## [4,] 135 ## [5,] 145 ## [6,] 165
## cte X1 X2 ## [1,] 1 1 0 ## [2,] 1 2 0 ## [3,] 1 3 0 ## [4,] 1 4 1 ## [5,] 1 5 1 ## [6,] 1 6 1
## Y ## [1,] 90 ## [2,] 100 ## [3,] 110 ## [4,] 135 ## [5,] 145 ## [6,] 165
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 1 1 1 1 1 1
## [,1] ## [1,] 1 ## [2,] 2 ## [3,] 3 ## [4,] 4 ## [5,] 5 ## [6,] 6
## [,1] ## [1,] 21
tx<- t(matri_x) print(tx)
## [,1] [,2] [,3] [,4] [,5] [,6] ## cte 1 1 1 1 1 1 ## X1 1 2 3 4 5 6 ## X2 0 0 0 1 1 1
txx<- tx %*% matri_x print(txx)
## cte X1 X2 ## cte 6 21 3 ## X1 21 91 15 ## X2 3 15 3
Calcule de X'Y
txy<- tx %*% matri_y print(txy)
## Y ## cte 745 ## X1 2875 ## X2 445
Obtenga la inversa de X'X
inver_txx <- solve(txx) print(inver_txx,2)
## cte X1 X2 ## cte 1.3 -0.50 1.17 ## X1 -0.5 0.25 -0.75 ## X2 1.2 -0.75 2.92
print(txy)
## Y ## cte 745 ## X1 2875 ## X2 445
Calcule el producto de [X'X]^-1 y X'Y
B<- inver_txx %*% txy
rownames(B)<- c("Betao", "Beta1", "Beta2")
round(B,2)
## Y ## Betao 75.00 ## Beta1 12.50 ## Beta2 10.83
Calcule la matriz de proyecccion P compruebe que P es una matriz idempotente
trans_x<- t(matri_x) matriA<- inver_txx %*% trans_x matriP<- matri_x %*% matriA round(matriP,3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 0.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 0.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 0.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 0.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 0.583
Por lo que comprobamos si el producto \(P\times P=P\)
m_idp <- matriP %*% matriP round(m_idp,3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 0.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 0.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 0.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 0.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 0.583
Calcule la proyeccion de y sobre X, Y/hat = PY
Y_<- matriP %*% matri_y round(Y_,2)
## Y ## [1,] 87.50 ## [2,] 100.00 ## [3,] 112.50 ## [4,] 135.83 ## [5,] 148.33 ## [6,] 160.83
Calcule la diferencia entre Y e Y/hat.
Dif<- matri_y - Y_ round(Dif,2)
## Y ## [1,] 2.50 ## [2,] 0.00 ## [3,] -2.50 ## [4,] -0.83 ## [5,] -3.33 ## [6,] 4.17
Obtenga los autovalores de la matriz X'X Â ¿Son positivos y Por que?
autovalx<-eigen(txx) round(autovalx$values,3)
## [1] 98.357 1.378 0.266
El resultado nos arroja que son positivos, por lo que la expresion es un minimo.
Obtenga los autovalores de la matriz P. Compruebe que la traza de P es igual a la suma de sus autovalores.
autovalp<- eigen(matriP) round(autovalp$values,2)
## [1] 1 1 1 0 0 0
print(autovalp$values,5)
## [1] 1.0000e+00 1.0000e+00 1.0000e+00 1.9752e-15 1.7902e-16 -3.1122e-15
¿La traza de P es igual a la sumatoria de sus autovalores?
trazaP<- sum(diag(matriP)) print(trazaP)
## [1] 3
sum_autoval<- sum(autovalp$values) print(sum_autoval)
## [1] 3
La traza de P y la sumatoria de todos los autovalores son los mismos
Obtenga los autovalores de la matriz I-P e I+P Obtener autovalor de la matriz \(I-P\)
identite<- diag(1,6,6) id_p<- identite - matriP round(id_p,3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.417 -0.333 -0.083 -0.250 0.000 0.250 ## [2,] -0.333 0.667 -0.333 0.000 0.000 0.000 ## [3,] -0.083 -0.333 0.417 0.250 0.000 -0.250 ## [4,] -0.250 0.000 0.250 0.417 -0.333 -0.083 ## [5,] 0.000 0.000 0.000 -0.333 0.667 -0.333 ## [6,] 0.250 0.000 -0.250 -0.083 -0.333 0.417
auto_idp <- eigen(id_p) round(auto_idp$values,2)
## [1] 1 1 1 0 0 0
Obtener autovalores de la matriz \(I+P\)
idmp<- identite + matriP round(idmp,3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 1.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 1.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 1.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 1.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 1.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 1.583
auto_idmp<- eigen(idmp) round(auto_idp$values,2)
## [1] 1 1 1 0 0 0