Guia Practica 1

Gabriela Lisbeth Palencia Flores PF13012 Econometria GT 02

20 de marzo de 2019

Guia Practica

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()

Ejercicio 1: Producto escalar de primera y segunda columna de X.

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

Ejercicio 2: X’X y X’Y.

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

Ejercicio 3: Inversa de X’X.

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

Ejercicio 4: Producto de \([X'X]^{-1}\) y X’Y.

prodxy <- inversaxtranspuesta %*% Ytranspuesta
print (prodxy)
##         ï..Y
## cte 75.00000
## X1  12.50000
## X2  10.83333

Ejercicio 5: Matriz de proyecccion P y comprobacion que P es una matriz idempotente.

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

Ejercicio 6: Proyeccion de Y sobre X, \(\hat{Y}\) = PY.

matrizproyectadaY <- matrizproyectadaP %*% matrizY
print(matrizproyectadaY)
##          ï..Y
## [1,]  87.5000
## [2,] 100.0000
## [3,] 112.5000
## [4,] 135.8333
## [5,] 148.3333
## [6,] 160.8333

Ejercicio 7: Diferencia entre Y e \(\hat{Y}\).

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

Ejercicio 8: Autovalores de la matriz X’X ¿Son todos positivos? ¿Porqué?.

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.

Ejercicio 9: Autovalores de la matriz P y comprobacion que la traza de P es igual a la suma de sus autovalores.

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.

Ejercicio 10: Autovalores de la matriz I-P y I+P

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