Yohana Argueta
13 de marzo de 2019
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
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
tx<-t(mat_x)
sigmatriz<-(tx%*%mat_x)
matcruzada<-(tx %*% mat_y)
print(matcruzada)## Y
## cte 745
## X1 2875
## X2 445
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
parametro<-(inversa %*% matcruzada)
print(parametro)## Y
## cte 75.00000
## X1 12.50000
## X2 10.83333
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
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
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
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.
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
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