Чи можна застосувати аналіз основних компонентів до наборів даних, що містять суміш безперервних і категоричних змінних?


147

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



Існує дискусія на ResearchGate: researchgate.net/post/Should_I_use_PCA_with_categorical_data
GoingMyWay

Відповіді:


87

Хоча PCA, застосований на двійкових даних, дасть результати, порівнянні з результатами, отриманими в результаті аналізу множинної кореспонденції (показники коефіцієнтів та власні значення лінійно пов'язані), існують більш відповідні методи поводження зі змішаними типами даних, а саме багатофакторний аналіз змішаних даних, наявних у FactoMineR пакет R ( AFDM()). Якщо ваші змінні можуть розглядатися як структуровані підмножини описових атрибутів, то багатофакторний аналіз ( MFA()) також є варіантом.

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


2
chl, дякую за вказівник на FADM. Мені все ж було цікаво: як тільки я застосую FADM до набору даних (obj <- FADM (x)), я можу легко отримати доступ до перетвореного набору даних через: obj $ ind $ ordord. Однак якщо я хочу застосувати те саме перетворення до іншого набору даних, як це зробити? (Це необхідно, наприклад, якщо у мене є комплект поїздів, і я знаходжу "основні компоненти" з цього набору поїздів, а потім хочу переглянути тестовий набір через ці "основні компоненти"). Документація щодо цього не зовсім зрозуміла, а папір, на якій базується функція, є французькою мовою.
касандра

Щодо: Although a PCA applied on binary data would yield results comparable to those obtained from a Multiple Correspondence Analysisчи не можемо ми перетворити номінальну категоричну змінну (скажімо, з N кардинальності) у колекцію (N-1) фіктивних двійкових файлів, а потім виконати PCA за цими даними? (Я розумію, є більш відповідні методи)
Жубарб

31

Пошук Google "pca для дискретних змінних" дає цей прекрасний огляд С. Коленікова (@StasK) та Г. Анджелеса. Щоб додати відповідь chl, аналіз ПК - це дійсно аналіз власних векторів коваріаційної матриці. Тож проблема полягає в тому, як обчислити "правильну" матрицю коваріації. Одним із підходів є використання поліхорної кореляції .


(+1) Дякую за посилання. Можна також розглянути гетерогенну кореляційну матрицю (див., Наприклад, hetcor()з пакета polycor ). За умови, що матриця VC є SDP, вона повинна виконувати роботу - переважно в дусі факторного аналізу. Номінальні змінні можуть бути фіксованими.
chl

@StasK, kudos :) Здається, що не тільки я вважав цю розмову корисною, інакше вона не була б на вершині в пошуку gooogle. Час від часу виникає це запитання, тож, можливо, ви хочете зробити публікацію про це для нашого блогу спільноти?
mpiktas

@StasK, я редагував публікацію, щоб згадати авторів огляду. Первісний намір полягав у тому, щоб продемонструвати, що пошук у google може знайти хороші відповіді, тому явно не потрібно тут питати. Але це не привід не цитувати авторів, враховуючи нестабільність Інтернету.
mpiktas

1
@mpiktas, дякую. Була реальна стаття, спрямована на економістів, випущена з цієї роботи: dx.doi.org/10.1111/j.1475-4991.2008.00309.x , хоча редактори просили нас так скоротити, що я пропоную прочитати робочий документ для інформацію та цитуйте опубліковану.
Стаск

9

Я б запропонував ознайомитися з Linting & Kooij, 2012 " Нелінійний аналіз основних компонентів з CATPCA: навчальний посібник ", Journal of Personality Assessment ; 94 (1).

Анотація

Ця стаття створена як навчальний посібник для аналізу нелінійних основних компонентів (NLPCA), систематично проводячи читача через процес аналізу фактичних даних про оцінку особистості за допомогою тесту Rorschach Inkblot. NLPCA - це більш гнучка альтернатива лінійному PCA, який може обробляти аналіз можливо нелінійно пов'язаних змінних з різними типами рівня вимірювання. Метод особливо підходить для аналізу номінальних (якісних) та порядкових (наприклад, типів Лікерта) даних, можливо, комбінованих із числовими даними. Програма CATPCA з модуля "Категорії" в SPSS використовується в аналізах, але опис методу може бути легко узагальнений до інших програмних пакетів.


4

Я ще не отримаю привілею коментувати чужий пост, тому я додаю свій коментар як окрему відповідь, тому, будь ласка, попросіть мене.

Продовжуючи те, що прокоментував @Martin F, нещодавно я зіткнувся з нелінійними PCA. Я розглядав нелінійні PCA як можливу альтернативу, коли безперервна змінна наближається до розподілу порядкової змінної, оскільки дані стають рідшими (в генетиці це трапляється багато разів, коли незначна частота алелі змінної стає все нижчою і нижчою, і ви залишаєтеся з дуже низькою кількістю підрахунків, в яких ви не можете дійсно виправдати розподіл безперервної змінної, і ви повинні послабити припущення щодо розподілу, зробивши його або порядковою змінною, або категоріальною змінною.) Нелінійна PCA може обробляти обидва ці умови, але після обговорюючи зі статистичними маестроми на генетичному факультеті, заклик консенсусу полягав у тому, що нелінійні PCA не використовуються дуже часто, а поведінка цих PCA ще не перевірена широко (можливо, вони стосуються лише генетичної галузі, тому, будь ласка, прийміть її із зерном солі). Дійсно, це захоплюючий варіант. Я сподіваюся, що я додав до дискусії 2 центи (на щастя, відповідні).


Вітаючи вашу відповідь, Мандаре. Ви маєте на увазі нелінійну PCA методом CATPCA або інший нелінійний PCA (який метод, тоді?). Зауважте також, що для бінарних змінних CATPCA є, скажімо, марними або тривіальними, оскільки дихотомічну шкалу не можна кількісно визначити, крім ... дихотомічної!
ttnphns

thnak ви @ttnphns. Я погоджуюся з вашою думкою щодо бінарних змінних, що стосується бінарної змінної, будь-яке припущення не має значення. В іншому випадку я фактично мав на увазі книгу з розділу "Вступ до нелінійного PCA" [посилання] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). Це стосується переважно CATPCA та ПРИНКВАЛЬНИХ пакетів від SAS.
Мандар

2

Нещодавно розроблений підхід до таких проблем: Узагальнені моделі низького рангу .

Один з паперів, що використовують цю методику, навіть називається PCA на фреймі даних .


PCA можна поставити так:

nmM

nkX^kmY^k

X^,Y^argminX,YMXYF2

«Узагальнений» від GLRM означає зміну до чогось іншого і додавши термін регуляризації.F2


Це звучить більше як винахід, ніж нова ідея. Шукайте gifi!
kjetil b halvorsen

Ви не зовсім праві, схоже, що GLRM - це узагальнення (насправді папір, з якою я пов’язував, цитує папір gifi-пакет).
Якуб Бартчук

1

PCAmixdataПакет #Rstats :

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

Приклад з віньєтки показує результати як для безперервного, так і категоричного виведення

введіть тут опис зображення

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