Dennis Ariel Fuentes Burgos
14 de marzo de 2019
library(readr)
library(dplyr)
options(scipen=999)
ruta_archivo<-"C:/Users/ariel/Downloads/practica_1_ejercicio(1).csv"
datos<-read_csv(file=ruta_archivo)datos## # A tibble: 6 x 3
## Y X1 X2
## <dbl> <dbl> <dbl>
## 1 90 1 0
## 2 100 2 0
## 3 110 3 0
## 4 135 4 1
## 5 145 5 1
## 6 165 6 1
datos %>% mutate(Cte=1) %>% select("Cte", "X1", "X2") %>% as.matrix()-> mat_X
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
datos %>% select(Y) %>% as.matrix()-> mat_Y
mat_Y## Y
## [1,] 90
## [2,] 100
## [3,] 110
## [4,] 135
## [5,] 145
## [6,] 165
Columna_1<- as.matrix(mat_X[,1])
Columna_1## [,1]
## [1,] 1
## [2,] 1
## [3,] 1
## [4,] 1
## [5,] 1
## [6,] 1
columna_2<- as.matrix(mat_X[,2])
columna_2## [,1]
## [1,] 1
## [2,] 2
## [3,] 3
## [4,] 4
## [5,] 5
## [6,] 6
producto_escalar=t(Columna_1)%*%columna_2
producto_escalar## [,1]
## [1,] 21
XX=t(mat_X)%*%mat_X
XX## Cte X1 X2
## Cte 6 21 3
## X1 21 91 15
## X2 3 15 3
XY=t(mat_X)%*%mat_Y
XY## Y
## Cte 745
## X1 2875
## X2 445
XX_inv= solve(XX)
XX_inv## Cte X1 X2
## Cte 1.333333 -0.50 1.166667
## X1 -0.500000 0.25 -0.750000
## X2 1.166667 -0.75 2.916667
Beta<-XX_inv%*%XY
Beta## Y
## Cte 75.00000
## X1 12.50000
## X2 10.83333
mat_P= mat_X%*%XX_inv%*%t(mat_X)
mat_P## [,1] [,2]
## [1,] 0.5833333333333332593185 0.3333333333333333148296
## [2,] 0.3333333333333333148296 0.3333333333333332593185
## [3,] 0.0833333333333333703408 0.3333333333333332593185
## [4,] 0.2500000000000001110223 0.0000000000000002220446
## [5,] 0.0000000000000002220446 0.0000000000000002220446
## [6,] -0.2499999999999997779554 0.0000000000000002220446
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999997779554
## [2,] 0.3333333333333332038073 -0.0000000000000001110223
## [3,] 0.5833333333333331482962 -0.2500000000000000000000
## [4,] -0.2499999999999996669331 0.5833333333333334813631
## [5,] 0.0000000000000002220446 0.3333333333333337034077
## [6,] 0.2500000000000002220446 0.0833333333333337034077
## [,5] [,6]
## [1,] -0.0000000000000001110223 -0.2500000000000001110223
## [2,] -0.0000000000000001665335 -0.0000000000000002220446
## [3,] 0.0000000000000000000000 0.2499999999999997779554
## [4,] 0.3333333333333334813631 0.0833333333333337034077
## [5,] 0.3333333333333337034077 0.3333333333333337034077
## [6,] 0.3333333333333337034077 0.5833333333333337034077
idem=mat_P%*%mat_P
idem## [,1] [,2]
## [1,] 0.5833333333333332593185 0.3333333333333332593185
## [2,] 0.3333333333333332593185 0.3333333333333332038073
## [3,] 0.0833333333333333980963 0.3333333333333331482962
## [4,] 0.2500000000000002220446 0.0000000000000004579670
## [5,] 0.0000000000000004024558 0.0000000000000004440892
## [6,] -0.2499999999999995003996 0.0000000000000004163336
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999995559108
## [2,] 0.3333333333333330927850 -0.0000000000000002220446
## [3,] 0.5833333333333329262516 -0.2499999999999999722444
## [4,] -0.2499999999999993061106 0.5833333333333337034077
## [5,] 0.0000000000000004718448 0.3333333333333339809634
## [6,] 0.2500000000000003885781 0.0833333333333341058635
## [,5] [,6]
## [1,] -0.00000000000000033306691 -0.2500000000000002220446
## [2,] -0.00000000000000025905204 -0.0000000000000004024558
## [3,] -0.00000000000000008326673 0.2499999999999995836664
## [4,] 0.33333333333333381442998 0.0833333333333340642302
## [5,] 0.33333333333333403647458 0.3333333333333340364746
## [6,] 0.33333333333333403647458 0.5833333333333340364746
y<-mat_P%*%mat_Y
y## Y
## [1,] 87.5000
## [2,] 100.0000
## [3,] 112.5000
## [4,] 135.8333
## [5,] 148.3333
## [6,] 160.8333
residuo=mat_Y-y
residuo## Y
## [1,] 2.5000000000001136868
## [2,] 0.0000000000001136868
## [3,] -2.4999999999999431566
## [4,] -0.8333333333335133375
## [5,] -3.3333333333335701809
## [6,] 4.1666666666664582408
autovaloresxx<-eigen(XX)
autovaloresxx## eigen() decomposition
## $values
## [1] 98.356654 1.377669 0.265677
##
## $vectors
## [,1] [,2] [,3]
## [1,] -0.2238107 0.8591615 0.4601633
## [2,] -0.9616881 -0.1179798 -0.2474608
## [3,] -0.1583188 -0.4979179 0.8526505
estos son positivos, la teoria matematica nos dice que es un minimo
autovaloresp<-eigen(mat_P)
autovaloresp## eigen() decomposition
## $values
## [1] 1.0000000000000015543122 0.9999999999999996669331
## [3] 0.9999999999999995559108 0.0000000000000013199503
## [5] 0.0000000000000001381689 -0.0000000000000025535006
##
## $vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.17027481 0.55319973 -0.49830702 -0.01465309 0.64533088
## [2,] 0.11959527 0.05982443 -0.56165055 0.50484213 -0.50503474
## [3,] 0.06891573 -0.43355086 -0.62499408 -0.49018903 -0.14029614
## [4,] 0.61246753 0.42129574 0.17529049 0.01769475 -0.38703946
## [5,] 0.56178799 -0.07207956 0.11194696 -0.51092544 -0.01154811
## [6,] 0.51110845 -0.56545485 0.04860342 0.49323069 0.39858757
## [,6]
## [1,] 0.00005384555
## [2,] -0.39590529389
## [3,] 0.39585144835
## [4,] 0.51628869734
## [5,] -0.63677979188
## [6,] 0.12049109454
traza=sum(diag(mat_P))
traza## [1] 3
suma_autovalores<-sum(autovaloresp$values)
suma_autovalores## [1] 3
id6=diag(1, nrow=6)
id6## [,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
mat_M= id6-mat_P
mat_M## [,1] [,2]
## [1,] 0.4166666666666667406815 -0.3333333333333333148296
## [2,] -0.3333333333333333148296 0.6666666666666667406815
## [3,] -0.0833333333333333703408 -0.3333333333333332593185
## [4,] -0.2500000000000001110223 -0.0000000000000002220446
## [5,] -0.0000000000000002220446 -0.0000000000000002220446
## [6,] 0.2499999999999997779554 -0.0000000000000002220446
## [,3] [,4]
## [1,] -0.0833333333333333703408 -0.2499999999999997779554
## [2,] -0.3333333333333332038073 0.0000000000000001110223
## [3,] 0.4166666666666668517038 0.2500000000000000000000
## [4,] 0.2499999999999996669331 0.4166666666666665186369
## [5,] -0.0000000000000002220446 -0.3333333333333337034077
## [6,] -0.2500000000000002220446 -0.0833333333333337034077
## [,5] [,6]
## [1,] 0.0000000000000001110223 0.2500000000000001110223
## [2,] 0.0000000000000001665335 0.0000000000000002220446
## [3,] 0.0000000000000000000000 -0.2499999999999997779554
## [4,] -0.3333333333333334813631 -0.0833333333333337034077
## [5,] 0.6666666666666662965923 -0.3333333333333337034077
## [6,] -0.3333333333333337034077 0.4166666666666662965923
autovaloresm= eigen(mat_M)
autovaloresm## eigen() decomposition
## $values
## [1] 1.0000000000000002220446 0.9999999999999998889777
## [3] 0.9999999999999994448885 0.0000000000000006298480
## [5] 0.0000000000000002415019 -0.0000000000000008479877
##
## $vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.011460289 0.48745947 -0.422987696 -0.08688822 0.6790624
## [2,] 0.004197312 0.02426751 0.816125074 -0.39233960 0.2839582
## [3,] -0.015657601 -0.51172699 -0.393137379 -0.69779098 -0.1111460
## [4,] 0.394533813 -0.51072167 0.013157252 0.53997696 0.1840166
## [5,] -0.816185516 0.02225688 0.003535813 0.23452558 -0.2110876
## [6,] 0.421651703 0.48846479 -0.016693065 -0.07092580 -0.6061918
## [,6]
## [1,] 0.3386119
## [2,] 0.3142781
## [3,] 0.2899442
## [4,] 0.5078347
## [5,] 0.4835009
## [6,] 0.4591670
(autovaloresm$values)## [1] 1.0000000000000002220446 0.9999999999999998889777
## [3] 0.9999999999999994448885 0.0000000000000006298480
## [5] 0.0000000000000002415019 -0.0000000000000008479877
mat_km=id6+mat_P
mat_km## [,1] [,2]
## [1,] 1.5833333333333332593185 0.3333333333333333148296
## [2,] 0.3333333333333333148296 1.3333333333333332593185
## [3,] 0.0833333333333333703408 0.3333333333333332593185
## [4,] 0.2500000000000001110223 0.0000000000000002220446
## [5,] 0.0000000000000002220446 0.0000000000000002220446
## [6,] -0.2499999999999997779554 0.0000000000000002220446
## [,3] [,4]
## [1,] 0.0833333333333333703408 0.2499999999999997779554
## [2,] 0.3333333333333332038073 -0.0000000000000001110223
## [3,] 1.5833333333333330372739 -0.2500000000000000000000
## [4,] -0.2499999999999996669331 1.5833333333333334813631
## [5,] 0.0000000000000002220446 0.3333333333333337034077
## [6,] 0.2500000000000002220446 0.0833333333333337034077
## [,5] [,6]
## [1,] -0.0000000000000001110223 -0.2500000000000001110223
## [2,] -0.0000000000000001665335 -0.0000000000000002220446
## [3,] 0.0000000000000000000000 0.2499999999999997779554
## [4,] 0.3333333333333334813631 0.0833333333333337034077
## [5,] 1.3333333333333337034077 0.3333333333333337034077
## [6,] 0.3333333333333337034077 1.5833333333333337034077
autovaloreskm= eigen(mat_km)
autovaloreskm## eigen() decomposition
## $values
## [1] 2 2 2 1 1 1
##
## $vectors
## [,1] [,2] [,3] [,4] [,5]
## [1,] -0.1138717 0.3811271 0.65200363 -0.078635361 0.640687425
## [2,] -0.1845675 -0.1004822 0.53774668 -0.564835333 -0.589599590
## [3,] -0.2552633 -0.5820914 0.42348974 0.643470694 -0.051087835
## [4,] -0.4702333 0.5998184 -0.04931457 0.360195210 -0.344932322
## [5,] -0.5409291 0.1182091 -0.16357151 0.001715635 -0.001910616
## [6,] -0.6116249 -0.3634001 -0.27782846 -0.361910845 0.346842938
## [,6]
## [1,] -0.0016644573
## [2,] 0.0001928336
## [3,] 0.0014716238
## [4,] 0.4098143121
## [5,] -0.8164925430
## [6,] 0.4066782310
(autovaloreskm$values)## [1] 2 2 2 1 1 1