Matriz asignada

La matriz asignada para la tarea corta, fue la #7

x <- matrix(c(4,1,3,
              2,5,7,
              8,3,9,
              6,7,2
              ),nrow=4,ncol=3,byrow =(TRUE))
print(x)
##      [,1] [,2] [,3]
## [1,]    4    1    3
## [2,]    2    5    7
## [3,]    8    3    9
## [4,]    6    7    2

Promedio y desviación estandar de X

meanx <- apply(x, 2,mean)
sdx  <- apply(x, 2,sd)
print(meanx)
## [1] 5.00 4.00 5.25
print(sdx)
## [1] 2.581989 2.581989 3.304038
## X centrada es:
X <- sweep(x, 2, meanx, FUN = "-")
print(X)
##      [,1] [,2]  [,3]
## [1,]   -1   -3 -2.25
## [2,]   -3    1  1.75
## [3,]    3   -1  3.75
## [4,]    1    3 -3.25

Descomposición en vectores y valores singulares

Se utiliza la función SVD para encontrar los vectores y valores singulares de X,siendo X la matriz centrada.

vvs <- svd(X)
print(vvs)
## $d
## [1] 5.991288 4.472136 4.105419
## 
## $u
##             [,1]       [,2]         [,3]
## [1,] -0.24718715 -0.6324555 -0.537492802
## [2,]  0.07499755 -0.3162278  0.802729946
## [3,]  0.76375594  0.3162278 -0.258218631
## [4,] -0.59156634  0.6324555 -0.007018513
## 
## $v
##            [,1]          [,2]       [,3]
## [1,]  0.2873999  7.071068e-01 -0.6460660
## [2,] -0.2873999  7.071068e-01  0.6460660
## [3,]  0.9136753 -2.220446e-16  0.4064449
U <- vvs$u
V <- vvs$v
D <- diag(vvs$d)

Verificar la descomposición en vectores y valores singulares

Como se sabe, la matriz X se puede “factorizar” o “descomponer” en valores y vectores singulares de la siguiente manera: X= UDt(V), donde:

U= vectores singulares a izquierda.

V= vectores singulares a derecha, pero en este caso, se utiliza la transpuesta.

D= valores singulares.

Veamos que la descomposición que se realizó anteriormente fue correcta

X <- U%*%D%*%t(V)
print(X)
##      [,1] [,2]  [,3]
## [1,]   -1   -3 -2.25
## [2,]   -3    1  1.75
## [3,]    3   -1  3.75
## [4,]    1    3 -3.25

Al multiplicar UDt(V) obtenemos X, lo que quiere decir que la descomposición en vectores y valores singulares esta bien.

Ahora, miremos los diferentes tipos de biplot que se pueden realizar, se debe tener presente que:

F= UD^(c/2)

G= VD^(1-c)/2

Donde c toma valores entre [0,1]

Veamos c=0.5

Al ser c=0.5, las matrices F y G quedan de la siguiente forma:

F= UD^(1/4)

G= VD^(1/4)

D_c0.5 <- sqrt(D)
D_c0.5 <- D_c0.5^(1/2)


F_c0.5 <- round(U%*%D_c0.5[,1:2],2)
G_c0.5 <- round(V%*%D_c0.5[,1:2],2)
print(F_c0.5)
##       [,1]  [,2]
## [1,] -0.39 -0.92
## [2,]  0.12 -0.46
## [3,]  1.19  0.46
## [4,] -0.93  0.92
print(G_c0.5)
##       [,1] [,2]
## [1,]  0.45 1.03
## [2,] -0.45 1.03
## [3,]  1.43 0.00

Gráfica para c=0.5 filas representadas por puntos y columnas por vectores.

Gráfica para c=0.5 filas representadas por vectores y columnas por puntos.

Al observar las gráficas anteriores, se nota que los puntos están bastante separados entre sí, al igual que los vectores. Esto sugiere que las filas de X son muy diferentes entre sí, al igual que sus columnas.

Sea c=0

Al ser c=0, las matrices F y G quedan de la siguiente forma:

F= U

G= VD^(1/2)

D_c0 <- sqrt(D)

F_c0 <-round(U[,1:2],2)
G_c0 <- round(V%*%D_c0[,1:2],2)
print(F_c0)
##       [,1]  [,2]
## [1,] -0.25 -0.63
## [2,]  0.07 -0.32
## [3,]  0.76  0.32
## [4,] -0.59  0.63
print(G_c0)
##       [,1] [,2]
## [1,]  0.70  1.5
## [2,] -0.70  1.5
## [3,]  2.24  0.0

Gráfica para c=0 filas representadas por puntos y columnas por vectores.

En esta representación, G esta en coordenadas principales,recordando que G= VD^(1/2).Al analizar el gráfico, se observa que los vectores están bastante separados, lo que indica que las columnas de la matriz X presentan diferencias significativas entre sí.

Para c=1

Al ser c=1, las matrices F y G quedan de la siguiente forma:

F= UD^(1/2)

G= V

D_c1 <- sqrt(D)
F_c1 <- round(U%*%D_c1[,1:2],2)
G_c1 <- round(V[,1:2],2)
print(F_c1)
##       [,1]  [,2]
## [1,] -0.61 -1.34
## [2,]  0.18 -0.67
## [3,]  1.87  0.67
## [4,] -1.45  1.34
print(G_c1)
##       [,1] [,2]
## [1,]  0.29 0.71
## [2,] -0.29 0.71
## [3,]  0.91 0.00

Gráfica para c=1 filas representadas por puntos y columnas por vectores.

En este caso, F esta en coordenadas principales,recordando que F= UD^(1/2). Al analizar el gráfico, se observa una notable separación entre los puntos, lo que sugiere que las filas de la matriz X difieren considerablemente entre sí