Що таке основні компоненти балів?


71

Відповіді:


66

Спочатку давайте визначимо рахунок.

Джон, Майк та Кейт отримують такі відсотки за іспити з математики, науки, англійської мови та музики наступним чином:

      Maths    Science    English    Music    
John  80        85          60       55  
Mike  90        85          70       45
Kate  95        80          40       50

У цьому випадку 12 балів. Кожна оцінка представляє результати іспиту для кожної людини з певного предмета. Отже оцінка в цьому випадку є просто відображенням того, де перетинаються рядки та стовпці.

Тепер давайте неофіційно визначимо головний компонент.

У наведеній вище таблиці ви можете легко побудувати дані у двовимірному графіку? Ні, тому що є чотири теми (це означає чотири змінні: математика, наука, англійська та музика), тобто:

  • Ви можете побудувати два об'єкти точно так само, як і з координатами та y у двовимірному графіку.ху
  • Ви навіть можете побудувати три об'єкти таким же чином, як ви побудуєте , y та z в 3D-графіку (хоча це, як правило, погана практика, оскільки певне спотворення неминуче в двовимірному поданні 3D-даних).хуz

Але як би ви побудували 4 теми?

На даний момент у нас є чотири змінних, кожна з яких представляє лише один предмет. Тож методом навколо цього може бути якось поєднання предметів у, можливо, просто дві нові змінні, які ми можемо побудувати. Це відомо як багатовимірне масштабування .

Основний компонентний аналіз - це форма багатовимірного масштабування. Це лінійне перетворення змінних в простір нижнього розміру, який зберігає максимальну кількість інформації про змінні. Наприклад, це означатиме, що ми можемо розглянути типи предметів, якими може підходити кожен студент.

Отже, головним компонентом є комбінація вихідних змінних після лінійного перетворення. У R це:

DF<-data.frame(Maths=c(80, 90, 95), Science=c(85, 85, 80), English=c(60, 70, 40), Music=c(55, 45, 50))
prcomp(DF, scale = FALSE)

Що дасть вам щось подібне (перші два основні компоненти лише для простоти):

                PC1         PC2
Maths    0.27795606  0.76772853 
Science -0.17428077 -0.08162874 
English -0.94200929  0.19632732 
Music    0.07060547 -0.60447104 

Перший стовпець тут показує коефіцієнти лінійної комбінації, що визначає головний компонент №1, а другий стовпчик показує коефіцієнти для основного компонента №2.

Отже, що таке оцінка основного компонента?

Це оцінка з таблиці в кінці цієї публікації (див. Нижче).

Вищенаведений вихід з R означає, що тепер ми можемо побудувати оцінку кожної людини за всіма предметами у двовимірному графіку наступним чином. По-перше, нам потрібно централізувати оригінальні змінні, у яких мій віднімаючий стовпець означає:

      Maths    Science    English    Music    
John  -8.33       1.66       3.33       5  
Mike   1.66       1.66      13.33      -5
Kate   6.66       -3.33    -16.66       0

А потім утворюють лінійні комбінації , щоб отримати PC1 і PC2 бали :

      x                                                    y
John -0.28*8.33 + -0.17*1.66 + -0.94*3.33  + 0.07*5   -0.77*8.33 + -0.08*1.66 + 0.19*3.33   + -0.60*5 
Mike 0.28*1.66  + -0.17*1.66 + -0.94*13.33 + -0.07*5   0.77*1.66 + -0.08*1.66 + 0.19*13.33  + -0.60*5
Kate 0.28*6.66  + 0.17*3.33  + 0.94*16.66  + 0.07*0    0.77*6.66 +  0.08*3.33 + -0.19*16.66 + -0.60*0

Що спрощує:

        x       y
John   -5.39   -8.90
Mike  -12.74    6.78
Kate   18.13    2.12

У таблиці вище шість основних компонентів . Тепер ви можете скласти бали у двовимірному графіку, щоб зрозуміти тип предметів, для яких кожен студент, можливо, більше підходить.

Цей же вихід можна отримати в R, набравши текст prcomp(DF, scale = FALSE)$x.

EDIT 1: Хм, я, мабуть, міг би придумати кращий приклад, і тут є більше, ніж те, що я тут виклав, але сподіваюся, що ви зрозумієте цю ідею.

EDIT 2: повна заслуга @drpaulbrewer за коментар щодо покращення цієї відповіді.


10
Зусилля похвальні - АЛЕ - ні PC1, ні PC2 не говорять вам про те, хто найкраще зробив з усіх предметів. Для цього всі коефіцієнти предметів ПК повинні бути позитивними. PC1 має позитивні ваги для математики та музики, але негативні для науки та англійської мови. PC2 має позитивні ваги для математики та англійської мови, але негативні для науки та музики. Те, що підказують ПК, - це найбільша дисперсія в наборі даних. Отже, зважуючи випробуваних за коефіцієнтами в PC1, і використовуючи це для оцінки учнів, ви отримуєте найбільшу дисперсію або поширення в поведінці учнів. Він може класифікувати типи, але не ефективність.
Павло

+1 хороший коментар, ура. Ви, звичайно, правильні, я мав би це написати краще і зараз відредагував рядок образи, щоб дати зрозуміти, що я сподіваюся.
Тоні Брейял

Ви можете стандартизувати вари, а значить, обчислити суму, щоб побачити, хто найкращий, або, якщо вам зручніше, в R:apply(dtf, 1, function(x) sum(scale(x)))
aL3xa

2
@JohnPrior Чотири змінні (стовпці) - це математика, наука, англійська мова та музика, а рядки представляють особи. Термін "тема" часом стає неоднозначним, тому що п’ять років тому я вибрав жахливий приклад для відповіді.
Тоні Брейял

1
@Tony, я пішов далі і відредагував вашу відповідь, щоб зосередити змінні, перш ніж обчислити бали. Тепер обчислені бали підходять до prcompрезультатів. До цього цього не зробили.
амеба

23

Аналіз основних компонентів (PCA) - це один популярний підхід, що аналізує дисперсію, коли ви маєте справу з багатовимірними даними. У вас є випадкові величини X1, X2, ... Xn, які в різній мірі співвідносяться (позитивно чи негативно), і ви хочете краще зрозуміти, що відбувається. PCA може допомогти.

Що дає вам PCA - це зміна змінної на Y1, Y2, ..., Yn (тобто однакова кількість змінних), які є лінійними комбінаціями Xs. Наприклад, у вас може бути Y1 = 2.1 X1 - 1.76 X2 + 0.2 X3 ...

Ys приємна властивість, що кожен з них має нульову кореляцію між собою. Ще краще, ви отримуєте їх у порядку зменшення. Отже, Y1 "пояснює" велику частину дисперсії оригінальних змінних, Y2 трохи менше тощо. Зазвичай після перших кількох Y змінні стають дещо безглуздими. Оцінка PCA для будь-якого з Xi - це просто його коефіцієнт у кожному з Ys. У моєму попередньому прикладі оцінка для X2 в першій головній складовій (Y1) становить 1,76.

Те, як PCA робить цю магію, обчислює власні вектори матриці коваріації.

Для конкретного прикладу, уявіть, що X1, ... X10 - це зміни за 1 рік, 2 рік, ..., 10-річну прибутковість казначейських облігацій протягом певного періоду часу. Під час обчислення PCA ви зазвичай виявляєте, що перший компонент має бали за кожну зв'язок одного і того ж знака і приблизно однаковий знак. Це говорить вам про те, що більшість дисперсій в доходності облігацій відбувається від того, що все рухається однаково: "паралельні зміни" вгору або вниз. Другий компонент, як правило, показує "закручування" та "сплющення" кривої та має протилежні знаки для X1 та X10.


Як більш високе значення Y "пояснює" більшу частину дисперсії? Це, як обчислюється PCA? Якщо так, я думаю, що у мене є ще одне запитання;)
vrish88

1
Це правильно - якщо дисперсія ПК становить, скажімо, 3,5, то цей ПК "пояснює" мінливість 3,5 змінних від початкового набору. Оскільки ПК є адитивними, PC1 > PC2 > ... > PCnто сума їх дисперсій дорівнює сумі дисперсій початкового набору змінних, оскільки PCA обчислюється за коваріаційною матрицею, тобто змінні стандартизовані (SD = 1, VAR = 1).
aL3xa

6

Скажімо, у вас хмара з N точок, скажімо, у 3D (яка може бути перелічена у масиві 100x3). Тоді аналіз основних компонентів (PCA) вписує в дані довільно орієнтований еліпсоїд. Основна складова балів - це довжина діаметрів еліпсоїда.

У напрямку, в якому діаметр великий, дані сильно різняться, тоді як у напрямку, в якому діаметр малий, дані змінюються літте. Якщо ви хотіли спроектувати дані Nd у двовимірний графік розсіяння, ви розміщуєте їх уздовж двох найбільших основних компонентів, оскільки при такому підході ви відображаєте більшість дисперсій у даних.


Чи буде якась користь чи ви зможете побудувати їх на 3-денній ділянці?
vrish88

6

Мені подобається вважати основні показники компонентів "принципово безглуздими", поки ви фактично не надаєте їм певного сенсу. Інтерпретація балів ПК на "реальність" - справа хитра - і справді не може бути унікального способу зробити це. Це залежить від того, що ви знаєте про конкретні змінні, що надходять у PCA, і як вони співвідносяться один з одним з точки зору інтерпретацій.

Що стосується математики, я люблю інтерпретувати оцінки ПК як координати кожної точки стосовно основних осей компонентів. Отже, у сировинних змінниххi =(х1i,х2i,,хpi)х1х1izi =(z1i,z2i,,zpi)=А(хi-х¯)Аp×pх¯

Таким чином, ви можете вважати власні вектори як опис того, де знаходяться "прямі лінії", що описують ПК. Потім основні показники компонентів описують, де кожна точка даних лежить на кожній прямій, відносно "центріода" даних. Ви також можете вважати результати ПК у поєднанні з вагами / власними векторами як серію прогнозів ранжу 1 для кожної з оригінальних точок даних, які мають форму:

х^ji(к)=х¯j+zкiАкj

х^ji(к)ijк


4

Основними компонентами матриці даних є власні вектори-власні значення параметри матриці дисперсія-коваріація. По суті вони є декоррельованими фрагментами дисперсії. Кожна з них є лінійною комбінацією змінних для спостереження - припустимо, ви вимірюєте w, x, y, z для кожної групи предметів. Ваш перший ПК може виявитися чимось подібним

0,5w + 4x + 5y - 1,5z

Навантаження (власні вектори) тут (0,5, 4, 5, -1,5). Оцінка (власне значення) за кожне спостереження - це отримане значення, коли ви підставляєте спостережуване (w, x, y, z) і обчислюєте загальне.

Це стане в нагоді, коли ви проектуєте речі на їх основні компоненти (для, скажімо, зовнішнього виявлення), тому що ви просто побудуєте бали на кожному, як і будь-які інші дані. Це може виявити багато про ваші дані, якщо велика частина дисперсії співвідноситься (== на перших кількох ПК).


Тільки для ясності, коли ви говорите: "припустимо, ви вимірюєте w, x, y, z на кожну з груп предметів", ви не маєте на увазі "предметів" з відповіді @TonyBreyal, вище? Ви використовуєте слово "суб'єкти", щоб бути синонімом "спостереження" / "записи" / "рядки даних"?
Райан Чейз

4

i=1,,Nj=1,,М

Zi,1=ci,1Yi,1+ci,2Yi,2+...+ci,МYi,М

cY

Z1=(Z1,1,...,ZN,1

Вихід з R на PCA (підроблений приклад) виглядає приблизно так. PC1, PC2 ... - це основні компоненти 1, 2 ... У наведеному нижче прикладі показано лише перші 8 основних компонентів (з 17). Ви також можете витягти інші елементи з PCA, наприклад завантаження та партитури.

Importance of components:
                          PC1    PC2    PC3    PC4    PC5    PC6    PC7    PC8
Standard deviation     1.0889 1.0642 1.0550 1.0475 1.0387 1.0277 1.0169 1.0105
Proportion of Variance 0.0697 0.0666 0.0655 0.0645 0.0635 0.0621 0.0608 0.0601
Cumulative Proportion  0.0697 0.1364 0.2018 0.2664 0.3298 0.3920 0.4528 0.5129

1
Вибачте, але що таке завантаження (c у вашій формулі) і як їх визначати?
vrish88

@ vrish88 Я вважаю, що c - це "навантаження" власних векторів. Я розумію, що це, по суті, лише ті показники, які ви надаєте кожній із змінних. Тім це добре пояснює у своїй відповіді.
Райан Чейз

3

Оцінки основних компонентів - це група балів, які отримуються після аналізу принципових компонентів (PCA). У PCA взаємозв'язки між групою балів аналізуються таким чином, що створюється однакова кількість нових "уявних" змінних (також принципових компонентів). Перша з цих нових уявних змінних максимально корелює з усіма вихідними групами змінних. Наступний дещо менш співвіднесений, і так далі до того моменту, що якби ви використали всі основні бали компонентів для прогнозування будь-якої заданої змінної від початкової групи, ви зможете пояснити всю її дисперсію. Спосіб проходження PCA є складним і має певні обмеження. Серед них обмеження, що співвідношення будь-яких двох основних компонентів (тобто уявних змінних) дорівнює нулю; таким чином, це не '

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.