\end{aligned} \]
Now we can rotate each point in the dataset by simply applying the formula above to each pair \((x_{i,1}, x_{i,2})^\top\). Here is what the twin standardized heights look like after rotating each point by \(-45\) degrees:
-. \]
If we define:
-We can write code implementing a rotation by any angle \(\theta\) using linear algebra:
-rotate <- function(x, theta){
theta <- 2*pi*theta/360
A <- matrix(c(cos(theta), -sin(theta), sin(theta), cos(theta)), 2, 2)
@@ -623,7 +623,7 @@
\mathbf{Z} \mathbf{A}^\top = \mathbf{X} \mathbf{A}\mathbf{A}^\top\ = \mathbf{X}
\]
and therefore that \(\mathbf{A}^\top\) is the inverse of \(\mathbf{A}\). This also implies that all the information in \(\mathbf{X}\) is included in the rotation \(\mathbf{Z}\), and it can be retrieved via a linear transformation. A consequence is that for any rotation the distances are preserved. Here is an example for a 30 degree rotation, although it works for any angle:
-
+
@@ -654,7 +654,7 @@
Note that if \(\mathbf{A} \mathbf{A} ^\top= \mathbf{I}\), then the distance between the \(h\)th and \(i\)th rows is the same for the original and transformed data.
We refer to transformation with the property \(\mathbf{A} \mathbf{A}^\top = \mathbf{I}\) as orthogonal transformations. These are guaranteed to preserve the distance between any two points.
We previously demonstrated our rotation has this property. We can confirm using R:
-
+
A %*% t(A)
#> [,1] [,2]
#> [1,] 1.00e+00 1.01e-17
@@ -665,7 +665,7 @@
\sum_{1=1}^n ||\mathbf{z}_i||^2 = \sum_{i=1}^n ||\mathbf{A}^\top\mathbf{x}_i||^2 = \sum_{i=1}^n \mathbf{x}_i^\top \mathbf{A}\mathbf{A}^\top \mathbf{x}_i = \sum_{i=1}^n \mathbf{x}_i^\top\mathbf{x}_i = \sum_{i=1}^n||\mathbf{x}_i||^2
\]
We can confirm using R:
-
+
theta <- -45
z <- rotate(x, theta) # works for any theta
sum(x^2)
@@ -675,12 +675,12 @@
This can be interpreted as a consequence of the fact that an orthogonal transformation guarantees that all the information is preserved.
However, although the total is preserved, the sum of squares for the individual columns changes. Here we compute the proportion of TSS attributed to each column, referred to as the variance explained or variance captured by each column, for \(\mathbf{X}\):
-
-
+
We find that a -45 degree rotation appears to achieve the maximum, with over 98% of the total variability explained by the first dimension. We denote this rotation matrix with \(\mathbf{V}\):
-
+
@@ -712,11 +712,11 @@
\[
\mathbf{Z} = \mathbf{X}\mathbf{V}
\]
-
+
z <- x %*% V
The following animation further illustrates how different rotations affect the variability explained by the dimensions of the rotated data:
-
+
@@ -734,15 +734,15 @@
We also notice that the two groups, adults and children, can be clearly observed with the one number summary, better than with any of the two original dimensions.
-
+
-
+
-
+
In R, we can find the principal components of any matrix with the function prcomp
:
-
+
pca <- prcomp(x, center = FALSE)
Keep in mind that default behavior is to center the columns of x
before computing the PCs, an operation we don’t need because our matrix is scaled.
The object pca
includes the rotated data \(Z\) in pca$x
and the rotation \(\mathbf{V}\) in pca$rotation
.
We can see that columns of the pca$rotation
are indeed the rotation obtained with -45 (remember the sign is arbitrary):
-
+
pca$rotation
#> PC1 PC2
#> [1,] -0.707 0.707
#> [2,] -0.707 -0.707
The square root of the variation of each column is included in the pca$sdev
component. This implies we can compute the variance explained by each PC using:
-
+
pca$sdev^2/sum(pca$sdev^2)
#> [1] 0.9848 0.0152
The function summary
performs this calculation for us:
-
+
summary(pca)
#> Importance of components:
#> PC1 PC2
@@ -807,7 +807,7 @@
#> Cumulative Proportion 0.985 1.0000
We also see that we can rotate x
(\(\mathbf{X}\)) and pca$x
(\(\mathbf{Z}\)) as explained with the mathematical formulas above:
-
+
all.equal(pca$x, x %*% pca$rotation)
#> [1] TRUE
all.equal(x, pca$x %*% t(pca$rotation))
@@ -818,14 +818,14 @@
22.6.1 Iris example
The iris data is a widely used example in data analysis courses. It includes four botanical measurements related to three flower species:
-
+
names(iris)
#> [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"
#> [5] "Species"
If you print iris$Species
, you will see that the data is ordered by the species.
If we visualize the distances, we can clearly see the three species with one species very different from the other two:
-
+
Our features matrix has four dimensions, but three are very correlated:
-
+
cor(x)
#> Sepal.Length Sepal.Width Petal.Length Petal.Width
#> Sepal.Length 1.000 -0.118 0.872 0.818
@@ -848,7 +848,7 @@
#> Petal.Width 0.818 -0.366 0.963 1.000
If we apply PCA, we should be able to approximate this distance with just two dimensions, compressing the highly correlated dimensions. Using the summary
function, we can see the variability explained by each PC:
-
+
The first two dimensions account for almost 98% of the variability. Thus, we should be able to approximate the distance very well with two dimensions. We confirm this by computing the distance from first two dimensions and comparing to the original:
-
+
@@ -898,13 +898,13 @@
22.6.2 MNIST example
The written digits example has 784 features. Is there any room for data reduction? We will use PCA to answer this.
If not already loaded, let’s begin by loading the data:
-
+
library(dslabs)
if (!exists("mnist")) mnist <- read_mnist()
Because the pixels are so small, we expect pixels close to each other on the grid to be correlated, meaning that dimension reduction should be possible.
Let’s compute the PCs. This will take a few seconds as it is a rather large matrix:
-
+
pca <- prcomp(mnist$train$images)
@@ -915,7 +915,7 @@
-
+
We can see that the first few PCs already explain a large percent of the variability.
@@ -958,7 +958,7 @@
22.7 Exercises
1. We want to explore the tissue_gene_expression
predictors by plotting them.
-
+
dim(tissue_gene_expression$x)
We hope to get an idea of which observations are close to each other, but the predictors are 500-dimensional so plotting is difficult. Plot the first two principal components with color representing tissue type.
diff --git a/docs/highdim/dimension-reduction_files/figure-html/unnamed-chunk-7-1.png b/docs/highdim/dimension-reduction_files/figure-html/before-after-rotation-1.png
similarity index 100%
rename from docs/highdim/dimension-reduction_files/figure-html/unnamed-chunk-7-1.png
rename to docs/highdim/dimension-reduction_files/figure-html/before-after-rotation-1.png
diff --git a/docs/highdim/dimension-reduction_files/figure-html/digit-pc-boxplot-1.png b/docs/highdim/dimension-reduction_files/figure-html/digit-pc-boxplot-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..56a99c37cc3a87886a2f4f584460339fd3e9d82a
GIT binary patch
literal 58224
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