Matriz y
mat_Y<-matrix(data = c(30,20,36,24,40),
nrow = 5,
ncol = 1,byrow = TRUE)
colnames(mat_Y) <-c("mat_Y")
print(mat_Y)
## mat_Y
## [1,] 30
## [2,] 20
## [3,] 36
## [4,] 24
## [5,] 40
Matriz X
mat_X <- cbind(rep(x = 1, 5),
matrix(data = c(4, 10, 3, 8, 6, 11, 4, 9,8, 12),
nrow = 5,
ncol = 2,
byrow = TRUE))
colnames(mat_X) <-c("Cte", "X1", "X2")
print(mat_X)
## Cte X1 X2
## [1,] 1 4 10
## [2,] 1 3 8
## [3,] 1 6 11
## [4,] 1 4 9
## [5,] 1 8 12
Matriz A
mat_A <- (t(mat_X )%*% mat_X) %*% t(mat_X)
print(mat_A)
## [,1] [,2] [,3] [,4] [,5]
## Cte 605 480 705 555 805
## X1 3209 2544 3753 2947 4297
## X2 6198 4916 7232 5688 8266
Beta
Beta <- mat_A %*% mat_Y
print(Beta)
## mat_Y
## Cte 98650
## X1 524866
## X2 1011764
Matriz P
mat_P <- mat_X %*% solve(t(mat_X) %*% mat_X) %*% t(mat_X)
print(mat_P)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.825 -0.05 0.325 0.075 -0.175
## [2,] -0.050 0.70 -0.050 0.450 -0.050
## [3,] 0.325 -0.05 0.325 0.075 0.325
## [4,] 0.075 0.45 0.075 0.325 0.075
## [5,] -0.175 -0.05 0.325 0.075 0.825
Estimacion de “Y”
Y_estimada <- mat_P %*% mat_Y
print(Y_estimada)
## mat_Y
## [1,] 30.25
## [2,] 19.50
## [3,] 35.25
## [4,] 24.75
## [5,] 40.25
Matriz M
mat_M <- diag(nrow(mat_X)) - mat_P
print(mat_M)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.175 0.05 -0.325 -0.075 0.175
## [2,] 0.050 0.30 0.050 -0.450 0.050
## [3,] -0.325 0.05 0.675 -0.075 -0.325
## [4,] -0.075 -0.45 -0.075 0.675 -0.075
## [5,] 0.175 0.05 -0.325 -0.075 0.175
Propiedades de P y M
Idempotencia
# Demostrar que: P.P = P
Idem_p <- mat_P %*% mat_P
print(Idem_p)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.825 -0.05 0.325 0.075 -0.175
## [2,] -0.050 0.70 -0.050 0.450 -0.050
## [3,] 0.325 -0.05 0.325 0.075 0.325
## [4,] 0.075 0.45 0.075 0.325 0.075
## [5,] -0.175 -0.05 0.325 0.075 0.825
# P.P - P = 0
nula_1 <- (mat_P %*% mat_P - mat_P) |> round(digits = 4)
print(nula_1)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
## [5,] 0 0 0 0 0
# Demostrar que: M.M = M
Idem_M <- mat_M %*% mat_M
print(Idem_M)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0.175 0.05 -0.325 -0.075 0.175
## [2,] 0.050 0.30 0.050 -0.450 0.050
## [3,] -0.325 0.05 0.675 -0.075 -0.325
## [4,] -0.075 -0.45 -0.075 0.675 -0.075
## [5,] 0.175 0.05 -0.325 -0.075 0.175
# M.M - M = 0
nula_2 <- (mat_M %*% mat_M - mat_M) |> round(digits = 4)
print(nula_2)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
## [5,] 0 0 0 0 0
Simetricas
# Demostrar que: t(P) = P
sim_P <- t(mat_P) |> all.equal(mat_P)
print(sim_P)
## [1] TRUE
# t(P) - P = 0
nula_3 <- (t(mat_P) -mat_P)|> round(digits = 4)
print(nula_3)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
## [5,] 0 0 0 0 0
# Demostrar que: t(M) = M
sim_M <- t(mat_M) |> all.equal(mat_M)
print(sim_M)
## [1] TRUE
# t(P) - P = 0
nula_3 <- (t(mat_M) -mat_M)|> round(digits = 4)
print(nula_3)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
## [5,] 0 0 0 0 0
Ortogonales
# Demostrar que: MP = 0
ort_MP <- mat_M %*% mat_P |> round(digits = 4)
print(ort_MP)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 0 0 0 0
## [2,] 0 0 0 0 0
## [3,] 0 0 0 0 0
## [4,] 0 0 0 0 0
## [5,] 0 0 0 0 0
# Demostrar que: MX = 0
ort_MX <- mat_M %*% mat_X |> round(digits = 4)
print(ort_MX)
## Cte X1 X2
## [1,] 0 0 0
## [2,] 0 0 0
## [3,] 0 0 0
## [4,] 0 0 0
## [5,] 0 0 0
Proy. de X sobre X
# Demostrar que: PX = X
Proy_XX <- mat_P %*% mat_X |> round(digits = 4)
print(Proy_XX) |> all.equal(mat_X)
## Cte X1 X2
## [1,] 1 4 10
## [2,] 1 3 8
## [3,] 1 6 11
## [4,] 1 4 9
## [5,] 1 8 12
## [1] TRUE