Alexander Daniel Alvarez Berardi
22/03/19
## 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
col1<-as.matrix(X[,1])
col2<-as.matrix(X[,2])
produc_escalar<- t(col1)%*%col2
print(produc_escalar)## [,1]
## [1,] 21
XX<-t(X)%*%X
print(XX)## Cte X1 X2
## Cte 6 21 3
## X1 21 91 15
## X2 3 15 3
XY<-t(X)%*%Y
print(XY)## Y
## Cte 745
## X1 2875
## X2 445
-Obtenga la inversa de X’X.
XX_inv<-solve(XX)
print(XX_inv)## Cte X1 X2
## Cte 1.333333 -0.50 1.166667
## X1 -0.500000 0.25 -0.750000
## X2 1.166667 -0.75 2.916667
-Calcule el producto de [X’X]???1 y X’Y.
beta<- XX_inv%*%XY
print(beta)## Y
## Cte 75.00000
## X1 12.50000
## X2 10.83333
-Calcule la matriz de proyeccción P compruebe que P es una matriz idempotente.
P<-X%*%XX_inv%*%t(X)
print(P)## [,1] [,2]
## [1,] 0.5833333333333332593185 0.3333333333333333148296
## [2,] 0.3333333333333333148296 0.3333333333333332593185
## [3,] 0.0833333333333333703408 0.3333333333333332593185
## [4,] 0.2500000000000001110223 0.0000000000000002220446
## [5,] 0.0000000000000002220446 0.0000000000000002220446
## [6,] -0.2499999999999997779554 0.0000000000000002220446
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999997779554
## [2,] 0.3333333333333332038073 -0.0000000000000001110223
## [3,] 0.5833333333333331482962 -0.2500000000000000000000
## [4,] -0.2499999999999996669331 0.5833333333333334813631
## [5,] 0.0000000000000002220446 0.3333333333333337034077
## [6,] 0.2500000000000002220446 0.0833333333333337034077
## [,5] [,6]
## [1,] -0.0000000000000001110223 -0.2500000000000001110223
## [2,] -0.0000000000000001665335 -0.0000000000000002220446
## [3,] 0.0000000000000000000000 0.2499999999999997779554
## [4,] 0.3333333333333334813631 0.0833333333333337034077
## [5,] 0.3333333333333337034077 0.3333333333333337034077
## [6,] 0.3333333333333337034077 0.5833333333333337034077
print(P%*%P)## [,1] [,2]
## [1,] 0.5833333333333332593185 0.3333333333333332593185
## [2,] 0.3333333333333332593185 0.3333333333333332038073
## [3,] 0.0833333333333333980963 0.3333333333333331482962
## [4,] 0.2500000000000002220446 0.0000000000000004579670
## [5,] 0.0000000000000004024558 0.0000000000000004440892
## [6,] -0.2499999999999995003996 0.0000000000000004163336
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999995559108
## [2,] 0.3333333333333330927850 -0.0000000000000002220446
## [3,] 0.5833333333333329262516 -0.2499999999999999722444
## [4,] -0.2499999999999993061106 0.5833333333333337034077
## [5,] 0.0000000000000004718448 0.3333333333333339809634
## [6,] 0.2500000000000003885781 0.0833333333333341058635
## [,5] [,6]
## [1,] -0.00000000000000033306691 -0.2500000000000002220446
## [2,] -0.00000000000000025905204 -0.0000000000000004024558
## [3,] -0.00000000000000008326673 0.2499999999999995836664
## [4,] 0.33333333333333381442998 0.0833333333333340642302
## [5,] 0.33333333333333403647458 0.3333333333333340364746
## [6,] 0.33333333333333403647458 0.5833333333333340364746
La matriz P es idempotente ya que al multiplicarla por ella misma resulta la misma matriz.
-Calcule la proyección de y sobre X, Y^ = PY.
Y_<-X%*%beta
print(Y_)## Y
## [1,] 87.5000
## [2,] 100.0000
## [3,] 112.5000
## [4,] 135.8333
## [5,] 148.3333
## [6,] 160.8333
-Calcule la diferencia entre Y e Y^.
E<-Y-Y_
print(E)## Y
## [1,] 2.5000000000001705303
## [2,] 0.0000000000001136868
## [3,] -2.4999999999999431566
## [4,] -0.8333333333337122895
## [5,] -3.3333333333337691329
## [6,] 4.1666666666661740237
-Obtenga los autovalores de la matriz X’X ¿Son todos positivos? ¿Porqué?
autovalor_XX<-eigen(XX)
print(autovalor_XX$values)## [1] 98.356654 1.377669 0.265677
Todos los autovalores son positivos, esto significa que es una matriz definida positiva y que cumple con la condicion de 2° orden del modelo, siendo estos valores un mínimo de la función
-Obtenga los autovalores de la matriz P. Compruebe que la traza de P es igual a la suma de sus autovalores.
autovalor_P<-eigen(P)
print(autovalor_P$values)## [1] 1.0000000000000015543122 0.9999999999999996669331
## [3] 0.9999999999999995559108 0.0000000000000013199503
## [5] 0.0000000000000001381689 -0.0000000000000025535006
traza<-sum(diag(P))
print(traza)## [1] 3
print(sum(autovalor_P$values))## [1] 3
-Obtenga los autovalores de la matriz I???P y I+P
I<-diag(1,6,6) %>% as.matrix()
M<-I-P
print(M)## [,1] [,2]
## [1,] 0.4166666666666667406815 -0.3333333333333333148296
## [2,] -0.3333333333333333148296 0.6666666666666667406815
## [3,] -0.0833333333333333703408 -0.3333333333333332593185
## [4,] -0.2500000000000001110223 -0.0000000000000002220446
## [5,] -0.0000000000000002220446 -0.0000000000000002220446
## [6,] 0.2499999999999997779554 -0.0000000000000002220446
## [,3] [,4]
## [1,] -0.0833333333333333703408 -0.2499999999999997779554
## [2,] -0.3333333333333332038073 0.0000000000000001110223
## [3,] 0.4166666666666668517038 0.2500000000000000000000
## [4,] 0.2499999999999996669331 0.4166666666666665186369
## [5,] -0.0000000000000002220446 -0.3333333333333337034077
## [6,] -0.2500000000000002220446 -0.0833333333333337034077
## [,5] [,6]
## [1,] 0.0000000000000001110223 0.2500000000000001110223
## [2,] 0.0000000000000001665335 0.0000000000000002220446
## [3,] 0.0000000000000000000000 -0.2499999999999997779554
## [4,] -0.3333333333333334813631 -0.0833333333333337034077
## [5,] 0.6666666666666662965923 -0.3333333333333337034077
## [6,] -0.3333333333333337034077 0.4166666666666662965923
M_<-I+P
print(M_)## [,1] [,2]
## [1,] 1.5833333333333332593185 0.3333333333333333148296
## [2,] 0.3333333333333333148296 1.3333333333333332593185
## [3,] 0.0833333333333333703408 0.3333333333333332593185
## [4,] 0.2500000000000001110223 0.0000000000000002220446
## [5,] 0.0000000000000002220446 0.0000000000000002220446
## [6,] -0.2499999999999997779554 0.0000000000000002220446
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999997779554
## [2,] 0.3333333333333332038073 -0.0000000000000001110223
## [3,] 1.5833333333333330372739 -0.2500000000000000000000
## [4,] -0.2499999999999996669331 1.5833333333333334813631
## [5,] 0.0000000000000002220446 0.3333333333333337034077
## [6,] 0.2500000000000002220446 0.0833333333333337034077
## [,5] [,6]
## [1,] -0.0000000000000001110223 -0.2500000000000001110223
## [2,] -0.0000000000000001665335 -0.0000000000000002220446
## [3,] 0.0000000000000000000000 0.2499999999999997779554
## [4,] 0.3333333333333334813631 0.0833333333333337034077
## [5,] 1.3333333333333337034077 0.3333333333333337034077
## [6,] 0.3333333333333337034077 1.5833333333333337034077
autovalor_M<-eigen(M)
print(autovalor_M$values)## [1] 1.0000000000000002220446 0.9999999999999998889777
## [3] 0.9999999999999994448885 0.0000000000000006298480
## [5] 0.0000000000000002415019 -0.0000000000000008479877
autovalor_M_<-eigen(M_)
print(autovalor_M_$values)## [1] 2 2 2 1 1 1