Gabriela Lisbeth Palencia Flores PF13012 Econometria GT 02
20 de marzo de 2019
library (readr)
library (dplyr)
ruta_archivo <- 'C:/Users/mauro/Downloads/practica_1_ejercicio (1).csv'
datos <- read.csv(file = ruta_archivo)
matrizY<-datos %>% select('ï..Y') %>% as.matrix()
matrizx<-datos %>% mutate(cte=1) %>% select("cte","X1","X2") %>% as.matrix()columna_1<- matrizx[,1] %>% as.matrix()
columna_2<- matrizx[,2] %>% as.matrix()
producto_escalar<- t(columna_1) %*% columna_2
print (producto_escalar)## [,1]
## [1,] 21
xtranspuesta <-t(matrizx) %*% matrizx
Ytranspuesta <-t(matrizx) %*% matrizY
print(xtranspuesta)## cte X1 X2
## cte 6 21 3
## X1 21 91 15
## X2 3 15 3
print(Ytranspuesta)## ï..Y
## cte 745
## X1 2875
## X2 445
inversaxtranspuesta <- solve(xtranspuesta)
print (inversaxtranspuesta)## cte X1 X2
## cte 1.333333 -0.50 1.166667
## X1 -0.500000 0.25 -0.750000
## X2 1.166667 -0.75 2.916667
prodxy <- inversaxtranspuesta %*% Ytranspuesta
print (prodxy)## ï..Y
## cte 75.00000
## X1 12.50000
## X2 10.83333
matP <- matrizx %*% inversaxtranspuesta
matrizproyectadaP <- matP %*% t(matrizx)
print(matrizproyectadaP)## [,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
#comprobacion
comprobacion1 <- matrizproyectadaP %*% matrizproyectadaP
comprobacion2 <- matrizproyectadaP - comprobacion1
comprobacion2 %>% round (digits=3) %>% print (comprobacion2)## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0 0 0 0 0 0
## [2,] 0 0 0 0 0 0
## [3,] 0 0 0 0 0 0
## [4,] 0 0 0 0 0 0
## [5,] 0 0 0 0 0 0
## [6,] 0 0 0 0 0 0
matrizproyectadaY <- matrizproyectadaP %*% matrizY
print(matrizproyectadaY)## ï..Y
## [1,] 87.5000
## [2,] 100.0000
## [3,] 112.5000
## [4,] 135.8333
## [5,] 148.3333
## [6,] 160.8333
difencia <- matrizY - matrizproyectadaY
print (difencia)## ï..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
autovaloresx <- eigen(xtranspuesta)
print (autovaloresx$values)## [1] 98.356654 1.377669 0.265677
#Si, son positivos; y son positivos porque para toda matriz real simetrica los autovalores son positivos.autovaloresP <- eigen (matrizproyectadaP)
comprobacionP <- sum (autovaloresP$values)
trazaP <- sum (diag(matrizproyectadaP))
print (autovaloresP$values)## [1] 1.000000e+00 1.000000e+00 1.000000e+00 1.319950e-15 1.381689e-16
## [6] -2.553501e-15
print (comprobacionP)## [1] 3
print (trazaP)## [1] 3
#Los valores de la traza de P y la suma de los autovalores, dan como resultado 3.identidad <- diag(6)
matrizimenosP <- identidad - matrizproyectadaP
autorvaloresimenosp <- eigen (matrizimenosP)
matrizimasP <- identidad + matrizproyectadaP
autovaloresmatrizimasP <- eigen (matrizimasP)
print (autorvaloresimenosp$values)## [1] 1.000000e+00 1.000000e+00 1.000000e+00 6.298480e-16 2.415019e-16
## [6] -8.479877e-16
print (autovaloresmatrizimasP$values)## [1] 2 2 2 1 1 1