library(readr)
library(dplyr)
ruta_archivo<-
("F:/DOCUMENTOS/ejercicioeco/practica_1_ejercicio.csv")
datos<-read_csv(file=ruta_archivo)
Marzo de 2019
library(readr)
library(dplyr)
ruta_archivo<-
("F:/DOCUMENTOS/ejercicioeco/practica_1_ejercicio.csv")
datos<-read_csv(file=ruta_archivo)
datos %>% select("Y") %>%
as.matrix() ->matrizY
print(matrizY)
## Y ## [1,] 90 ## [2,] 100 ## [3,] 110 ## [4,] 135 ## [5,] 145 ## [6,] 165
datos %>% mutate(Cte=1) %>%
select("Cte", "X1","X2") %>%
as.matrix() ->matrizX
print(matrizX)
## 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
X1<- as.matrix(matrizX[,1]) X2<- as.matrix(matrizX[,2]) t(X1)%*%(X2) ->producto_col print(producto_col)
## [,1] ## [1,] 21
XX<- t(matrizX)%*%(matrizX) print (XX)
## Cte X1 X2 ## Cte 6 21 3 ## X1 21 91 15 ## X2 3 15 3
XY<- t(matrizX)%*%(matrizY) print(XY)
## Y ## Cte 745 ## X1 2875 ## X2 445
XX_inv<- solve(XX) round (XX_inv, 3)
## Cte X1 X2 ## Cte 1.333 -0.50 1.167 ## X1 -0.500 0.25 -0.750 ## X2 1.167 -0.75 2.917
Beta<-(XX_inv)%*%(XY)
colnames(Beta)<- c("parámetros")
round(Beta, 3)
## parámetros ## Cte 75.000 ## X1 12.500 ## X2 10.833
Proy<- (matrizX)%*%(XX_inv)%*%t(matrizX) #'round'= redondea los elementos de la matriz a n cifras decimales. round(Proy, digits = 3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 0.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 0.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 0.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 0.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 0.583
Proy_idemp<-(Proy)%*%(Proy) round(Proy_idemp, digits = 3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 0.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 0.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 0.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 0.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 0.583
Yproy<- Proy%*%(matrizY) round(Yproy, digits = 3)
## Y ## [1,] 87.500 ## [2,] 100.000 ## [3,] 112.500 ## [4,] 135.833 ## [5,] 148.333 ## [6,] 160.833
Ydif<- matrizY-(Yproy) round(Ydif, digits = 3)
## Y ## [1,] 2.500 ## [2,] 0.000 ## [3,] -2.500 ## [4,] -0.833 ## [5,] -3.333 ## [6,] 4.167
XX_autovalores<- eigen(XX)$values round(XX_autovalores, digits = 3)
## [1] 98.357 1.378 0.266
Sí, son todos positivos, lo que significa que es una matriz definida positiva, su punto crítico es un mínimo.
Proy_autovalores<- eigen(Proy)$values Suma_PA<- sum(Proy_autovalores) print(Suma_PA)
## [1] 3
trazaProy<- sum(diag(Proy)) print(trazaProy)
## [1] 3
-Creando matriz I.
matrizI<- diag(1,
nrow = 6,
ncol = 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
-Calculo de la matriz I-P.
ImenosP<- (matrizI)-(Proy) round(ImenosP, 3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 0.417 -0.333 -0.083 -0.250 0.000 0.250 ## [2,] -0.333 0.667 -0.333 0.000 0.000 0.000 ## [3,] -0.083 -0.333 0.417 0.250 0.000 -0.250 ## [4,] -0.250 0.000 0.250 0.417 -0.333 -0.083 ## [5,] 0.000 0.000 0.000 -0.333 0.667 -0.333 ## [6,] 0.250 0.000 -0.250 -0.083 -0.333 0.417
-Autovalores de la matriz I-P.
Autovalores.ImenosP<- eigen(ImenosP)$values round(Autovalores.ImenosP, digits = 3)
## [1] 1 1 1 0 0 0
-Calculo de la matriz I+P.
ImasP<- (matrizI)+(Proy) round(ImasP, digits = 3)
## [,1] [,2] [,3] [,4] [,5] [,6] ## [1,] 1.583 0.333 0.083 0.250 0.000 -0.250 ## [2,] 0.333 1.333 0.333 0.000 0.000 0.000 ## [3,] 0.083 0.333 1.583 -0.250 0.000 0.250 ## [4,] 0.250 0.000 -0.250 1.583 0.333 0.083 ## [5,] 0.000 0.000 0.000 0.333 1.333 0.333 ## [6,] -0.250 0.000 0.250 0.083 0.333 1.583
-Autovalores de la matriz I+P.
Autovalores.ImasP<- eigen(ImasP)$values print(Autovalores.ImasP)
## [1] 2 2 2 1 1 1