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


147

У меня есть набор данных, который содержит как непрерывные, так и категориальные данные. Я анализирую с помощью PCA и задаюсь вопросом, можно ли включать категориальные переменные в качестве части анализа. Насколько я понимаю, PCA может применяться только к непрерывным переменным. Это правильно? Если его нельзя использовать для категориальных данных, какие существуют альтернативы для их анализа?



Существует обсуждение ResearchGate: researchgate.net/post/Should_I_use_PCA_with_categorical_data
GoingMyWay

Ответы:


87

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

Задача с категориальными переменными состоит в том, чтобы найти подходящий способ представления расстояний между переменными категориями и индивидами в факториальном пространстве. Чтобы преодолеть эту проблему, вы можете искать нелинейное преобразование каждой переменной - будь то номинальное, порядковое, полиномиальное или числовое - с оптимальным масштабированием. Это хорошо описано в методах Gifi для оптимального масштабирования в R: homals пакета и реализация доступна в соответствующих R пакет homals .


2
хл, спасибо за указатель на FADM. Мне было интересно, хотя: как только я применю FADM к набору данных (obj <- FADM (x)), я могу легко получить доступ к преобразованному набору данных с помощью: obj $ ind $ ordin. Однако, если я хочу применить то же преобразование к другому набору данных, как я могу это сделать? (Это необходимо, например, если у меня есть набор поездов, и я нахожу «основные компоненты» из этого набора поездов, а затем хочу просмотреть набор тестов через эти «основные компоненты»). Документация по этому вопросу не совсем ясна, и документ, на котором основана эта функция, написан на французском языке.
Касандра

Что касается: не 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 ). При условии, что матрица ВК - SDP, она должна выполнять свою работу - в основном в духе факторного анализа. Номинальные переменные могут быть фиктивно закодированы.
хл

@StasK, спасибо :) Похоже, что не только я нашел этот разговор полезным, иначе он не был бы на вершине в поиске Google. Этот вопрос всплывает время от времени, так что, может быть, вы хотите написать о нем в блоге нашего сообщества?
mpiktas

@StasK, я редактировал пост, чтобы упомянуть авторов обзора. Моим первоначальным намерением было продемонстрировать, что поиск в Google может дать хорошие ответы, поэтому здесь нет особой необходимости спрашивать. Но это не повод, чтобы не ссылаться на авторов, учитывая нестабильность интернета.
mpiktas

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

9

Я бы посоветовал взглянуть на Linting & Kooij, 2012 " Нелинейный анализ основных компонентов с помощью CATPCA: учебное пособие ", Журнал оценки личности ; 94 (1).

Абстрактные

Эта статья создана в качестве учебного пособия по нелинейному анализу основных компонентов (NLPCA), систематически направляя читателя к процессу анализа фактических данных по оценке личности с помощью теста Роршаха. NLPCA является более гибкой альтернативой линейному PCA, который может обрабатывать анализ, возможно, нелинейно связанных переменных с различными типами уровня измерения. Этот метод особенно подходит для анализа номинальных (качественных) и порядковых (например, типа Лайкерта) данных, возможно, в сочетании с числовыми данными. Программа CATPCA из модуля Категории в SPSS используется в анализах, но описание метода может быть легко обобщено для других пакетов программного обеспечения.


4

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

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


Приветствуя ваш ответ, Мандар. Вы имеете в виду нелинейный PCA методом CATPCA или другой нелинейный PCA (какой метод тогда?). Также обратите внимание, что для двоичных переменных CATPCA, скажем, бесполезен или тривиален, потому что дихотомическая шкала не может быть определена количественно, кроме как ... дихотомической!
ttnphns

спасибо, @ttnphns. Я согласен с вашей точкой зрения о бинарных переменных, что касается бинарных переменных, любое предположение не имеет значения. В противном случае я имел в виду главу книги «Введение в нелинейный PCA» [ссылка] ( openaccess.leidenuniv.nl/bitstream/handle/1887/12386/… ). В основном это относится к CATPCA и PRINQUAL пакетам от SAS.
Мандар

2

Существует недавно разработанный подход к таким проблемам: обобщенные модели низкого ранга .

Одна из работ, в которой используется этот метод, даже называется PCA на фрейме данных .


PCA можно представить так:

Для x матрицым МnmM

найти матрицу x и матрицу x (это неявно кодирует ограничение ранга e) так, чтобык Й к м У к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.