"Машинне навчання хакерам" О'Рейлі говорить, що кожен головний компонент становить відсоток дисперсії. Я цитував відповідну частину сторінки нижче (глава 8, с.207). Розмовляючи з іншим експертом, вони погодилися, що це відсоток.
Однак 24 компоненти складають 133.2095%. Як це може бути?
Переконавшись у тому, що ми можемо використовувати PCA, як це робити в R? Знову ж таки, це місце, де R світить: всю PCA можна виконати в одному рядку коду. Ми використовуємо функцію princomp для запуску PCA:
pca <- princomp(date.stock.matrix[,2:ncol(date.stock.matrix)])
Якщо ми просто наберемо pca в R, ми побачимо короткий підсумок основних компонентів:
Call: princomp(x = date.stock.matrix[, 2:ncol(date.stock.matrix)]) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 29.1001249 20.4403404 12.6726924 11.4636450 8.4963820 8.1969345 5.5438308 Comp.8 Comp.9 Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 5.1300931 4.7786752 4.2575099 3.3050931 2.6197715 2.4986181 2.1746125 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19 Comp.20 Comp.21 1.9469475 1.8706240 1.6984043 1.6344116 1.2327471 1.1280913 0.9877634 Comp.22 Comp.23 Comp.24 0.8583681 0.7390626 0.4347983 24 variables and 2366 observations.
У цьому резюме стандартні відхилення вказують на те, яка кількість дисперсії в наборі даних припадає на різні основні компоненти. На перший компонент, який називається Comp.1, припадає 29% дисперсії, а на наступний - 20%. Нарешті, на останній компонент, Comp.24, припадає менше 1% дисперсії. Це говорить про те, що ми можемо багато дізнатися про наші дані, просто переглянувши перший головний компонент.
[Код та дані можна знайти в github .]
R
програмного забезпечення. Виявлення цієї помилки було гарним уловом (я сподіваюся, що вам було корисно дізнатися, що насправді відбувається з PCA)!
Standard deviations
трохи відхилена. Оскільки стандартні відхилення насправді є стандартними відхиленнями, ми повинні їх квадратизувати, щоб побачити, скільки дисперсії представляє кожен компонент. Перший компонент буде представляти відсотків від загальної дисперсії.