PRACTICA 1

Yohana Argueta

13 de marzo de 2019

carga de datos y matrices

library(readr)
library(dplyr)
ruta_archivo<-"C:/Users/Yohana Argueta/Downloads/practica_1_ejercicio.csv"
datos <- read.csv(file = ruta_archivo)
mat_y<-matrix(data = c(90,100,110,135,145,165),
              nrow = 6 ,
              ncol = 1, byrow = TRUE)
colnames(mat_y) <-c("Y")
print(mat_y)
##        Y
## [1,]  90
## [2,] 100
## [3,] 110
## [4,] 135
## [5,] 145
## [6,] 165
datos %>% mutate(cte=1) %>% select( "cte","X1","X2") %>% as.matrix()->mat_x
print("X")
## [1] "X"
print(mat_x)
##      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

Ejercicio 1: Calcule el Producto Escalar

columna_1 <- as.matrix(mat_x[,1])
columna_2 <- as.matrix(mat_x[,2])
producto_escalar<-t(columna_1) %*% columna_2
print(producto_escalar)
##      [,1]
## [1,]   21

Ejercicio 2: Calcule Sigma matriz y Matriz cruzada

tx<-t(mat_x)
sigmatriz<-(tx%*%mat_x)

matcruzada<-(tx %*% mat_y)
print(matcruzada)
##        Y
## cte  745
## X1  2875
## X2   445

Ejercicio 3: Obtenga la inversa de la Sigmatriz

inversa<-solve(sigmatriz)
print(inversa)
##           cte    X1        X2
## cte  1.333333 -0.50  1.166667
## X1  -0.500000  0.25 -0.750000
## X2   1.166667 -0.75  2.916667

Ejercicio 4: Calcule el producto de inversa sigmatriz y matriz cruzada

parametro<-(inversa %*% matcruzada)
print(parametro)
##            Y
## cte 75.00000
## X1  12.50000
## X2  10.83333

Ejercicio 5: Calcule la matriz de proyeccion P, compruebe que P es idempotente

matp<-(mat_x %*% inversa %*% tx)
p_iden<-(matp %*% matp)
print(matp)
##               [,1]         [,2]          [,3]          [,4]          [,5]
## [1,]  5.833333e-01 3.333333e-01  8.333333e-02  2.500000e-01 -1.110223e-16
## [2,]  3.333333e-01 3.333333e-01  3.333333e-01 -1.110223e-16 -1.665335e-16
## [3,]  8.333333e-02 3.333333e-01  5.833333e-01 -2.500000e-01  0.000000e+00
## [4,]  2.500000e-01 2.220446e-16 -2.500000e-01  5.833333e-01  3.333333e-01
## [5,]  2.220446e-16 2.220446e-16  2.220446e-16  3.333333e-01  3.333333e-01
## [6,] -2.500000e-01 2.220446e-16  2.500000e-01  8.333333e-02  3.333333e-01
##               [,6]
## [1,] -2.500000e-01
## [2,] -2.220446e-16
## [3,]  2.500000e-01
## [4,]  8.333333e-02
## [5,]  3.333333e-01
## [6,]  5.833333e-01
print(p_iden)
##               [,1]         [,2]          [,3]          [,4]          [,5]
## [1,]  5.833333e-01 3.333333e-01  8.333333e-02  2.500000e-01 -3.330669e-16
## [2,]  3.333333e-01 3.333333e-01  3.333333e-01 -2.220446e-16 -2.590520e-16
## [3,]  8.333333e-02 3.333333e-01  5.833333e-01 -2.500000e-01 -8.326673e-17
## [4,]  2.500000e-01 4.579670e-16 -2.500000e-01  5.833333e-01  3.333333e-01
## [5,]  4.024558e-16 4.440892e-16  4.718448e-16  3.333333e-01  3.333333e-01
## [6,] -2.500000e-01 4.163336e-16  2.500000e-01  8.333333e-02  3.333333e-01
##               [,6]
## [1,] -2.500000e-01
## [2,] -4.024558e-16
## [3,]  2.500000e-01
## [4,]  8.333333e-02
## [5,]  3.333333e-01
## [6,]  5.833333e-01

Ejercicio 6: Calcule la proyeccion de Y sobre X, y-py

proyecciony<-(matp%*%mat_y)
print(proyecciony)
##             Y
## [1,]  87.5000
## [2,] 100.0000
## [3,] 112.5000
## [4,] 135.8333
## [5,] 148.3333
## [6,] 160.8333

Ejercicio 7: Calcule la diferencia entre y e Y

error<-(mat_y-proyecciony)
print(error)
##                  Y
## [1,]  2.500000e+00
## [2,]  1.136868e-13
## [3,] -2.500000e+00
## [4,] -8.333333e-01
## [5,] -3.333333e+00
## [6,]  4.166667e+00

Ejercicio 8: Obtenga los autovalores de la matriz X’X

autovaloressigm<-eigen(sigmatriz)
print(autovaloressigm$values)
## [1] 98.356654  1.377669  0.265677

¿Son todos positivos? Si. ¿Porqué? Porque cumple la propiedad de ser una matriz simetrica.

EJercicio 9: Obtenga los autovalores de la matriz P. Compruebe que la traza de P es igual a la suma de sus autovalores.

autovaloresmatp<-eigen(matp)
print(autovaloresmatp$values)
## [1]  1.000000e+00  1.000000e+00  1.000000e+00  1.319950e-15  1.381689e-16
## [6] -2.553501e-15
diag(matp)
## [1] 0.5833333 0.3333333 0.5833333 0.5833333 0.3333333 0.5833333
traza<-sum(diag(matp))
print(traza)
## [1] 3
sumautovalores <-sum(autovaloresmatp$values)
print(sumautovalores)
## [1] 3

Ejercicio 10: Obtenga los autovalores de la matriz I???P y I+P

matrizI<-diag(1,6,6)
print(matrizI)
##      [,1] [,2] [,3] [,4] [,5] [,6]
## [1,]    1    0    0    0    0    0
## [2,]    0    1    0    0    0    0
## [3,]    0    0    1    0    0    0
## [4,]    0    0    0    1    0    0
## [5,]    0    0    0    0    1    0
## [6,]    0    0    0    0    0    1
matresiduo<-matrizI-matp
print(matresiduo)
##               [,1]          [,2]          [,3]          [,4]          [,5]
## [1,]  4.166667e-01 -3.333333e-01 -8.333333e-02 -2.500000e-01  1.110223e-16
## [2,] -3.333333e-01  6.666667e-01 -3.333333e-01  1.110223e-16  1.665335e-16
## [3,] -8.333333e-02 -3.333333e-01  4.166667e-01  2.500000e-01  0.000000e+00
## [4,] -2.500000e-01 -2.220446e-16  2.500000e-01  4.166667e-01 -3.333333e-01
## [5,] -2.220446e-16 -2.220446e-16 -2.220446e-16 -3.333333e-01  6.666667e-01
## [6,]  2.500000e-01 -2.220446e-16 -2.500000e-01 -8.333333e-02 -3.333333e-01
##               [,6]
## [1,]  2.500000e-01
## [2,]  2.220446e-16
## [3,] -2.500000e-01
## [4,] -8.333333e-02
## [5,] -3.333333e-01
## [6,]  4.166667e-01
autovalor<-eigen(matresiduo)
print(autovalor$values)
## [1]  1.000000e+00  1.000000e+00  1.000000e+00  6.298480e-16  2.415019e-16
## [6] -8.479877e-16
matresiduo2<-matrizI+matp
autovalor2<-eigen(matresiduo2)
print(matresiduo2)
##               [,1]         [,2]          [,3]          [,4]          [,5]
## [1,]  1.583333e+00 3.333333e-01  8.333333e-02  2.500000e-01 -1.110223e-16
## [2,]  3.333333e-01 1.333333e+00  3.333333e-01 -1.110223e-16 -1.665335e-16
## [3,]  8.333333e-02 3.333333e-01  1.583333e+00 -2.500000e-01  0.000000e+00
## [4,]  2.500000e-01 2.220446e-16 -2.500000e-01  1.583333e+00  3.333333e-01
## [5,]  2.220446e-16 2.220446e-16  2.220446e-16  3.333333e-01  1.333333e+00
## [6,] -2.500000e-01 2.220446e-16  2.500000e-01  8.333333e-02  3.333333e-01
##               [,6]
## [1,] -2.500000e-01
## [2,] -2.220446e-16
## [3,]  2.500000e-01
## [4,]  8.333333e-02
## [5,]  3.333333e-01
## [6,]  1.583333e+00