Расстояние Махаланобиса через PCA, когда

10

У меня есть матрица , где - количество генов, а - количество пациентов. Любой, кто работал с такими данными, знает, что всегда больше, чем . Используя выбор функции, я получил к более разумному числу, однако все еще больше, чем .p n p n p p nn×ppnpnppn

Я хотел бы вычислить сходство пациентов на основе их генетических профилей; Я мог бы использовать евклидово расстояние, однако Махаланобис кажется более подходящим, поскольку он учитывает корреляцию между переменными. Проблема (как отмечено в этом посте ) заключается в том, что расстояние Махаланобиса, в частности ковариационная матрица, не работает, когда . Когда я пробегаю расстояние Махаланобиса в R, я получаю ошибку:n<p

 Error in solve.default(cov, ...) :    system is computationally
 singular: reciprocal condition number = 2.81408e-21

До сих пор, чтобы попытаться решить эту проблему, я использовал PCA и вместо генов я использую компоненты, и это, кажется, позволяет мне вычислять расстояние Махаланобиса; 5 компонентов представляют около 80% дисперсии, поэтому теперь .n>p

Мои вопросы: могу ли я использовать PCA для значимого определения расстояния Махаланобиса между пациентами, или это неуместно? Существуют ли альтернативные метрики расстояния, которые работают, когда и существует также большая корреляция между переменными?nn<pn

user4673
источник
Это PCAможет нарушить корреляции переменных, если вы не используете что-то вроде наклонного вращения. Я также не уверен, как распределение дисперсии PCAповлияет на расстояние Махаланобиса между подобными пациентами.
Мишель
Если PCA нарушает корреляции переменных, могу ли я использовать другую метрику расстояния (например, расстояние Пирсона) вместо расстояния Махаланобиса?
user4673
Я не знаю достаточно, чтобы рекомендовать дальше. Я надеялся, что кто-то еще запустит разговор. :) Учитывая, как PCAработают методы уменьшения переменных, например , мне любопытно, можно ли использовать какую-либо метрику расстояния на выходах.
Мишель
Я не эксперт в этой области. Я просто хочу поделиться, что у вас есть проблема с улыбкой, и я использовал 'cov.shrink' из пакета corpcor .
Бруно Соуза

Ответы:

8

Если вы оставите все компоненты в PCA - тогда евклидовы расстояния между пациентами в новом PCA-пространстве будут равны их расстояниям Махаланобиса в наблюдаемо-переменном пространстве. Если вы пропустите некоторые компоненты, это немного изменится, но в любом случае. Здесь я имею в виду PCA-компоненты с единичной дисперсией, а не тот, чья дисперсия равна собственному значению (я не уверен в вашей реализации PCA).

Я просто имею в виду, что если вы хотите оценить расстояние Махаланобиса между пациентами, вы можете применить PCA и оценить евклидово расстояние. Оценка расстояния Махаланобиса после применения PCA кажется мне бессмысленной.

Дмитрий Лаптев
источник
Вот небольшая статья, в которой обсуждается это отношение: Бреретон Р.Г. Расстояние Махаланобиса и его связь с оценками главных компонентов Journal of Chemometrics, Wiley-Blackwell, 2015, 29, 143–145. dx.doi.org/10.1002/cem.2692 . Обратите внимание, что PCA в хемометрике по умолчанию является чистым вращением данных, поэтому это не версия с единичной дисперсией, на которую ссылается Дмитрий.
cbeleites недоволен SX
2

Взгляните на следующую статью:

Зубер В., Сильва А.П.Д. и Стриммер К. (2012). Новый алгоритм одновременной селекции SNP в многомерных исследованиях по всему геному . BMC биоинформатика , 13 (1), 284.

Это точно решает вашу проблему. Авторы предполагают использование новых измерений важности переменной, кроме того, что ранее они вводили штрафной метод оценки для корреляционной матрицы объясняющих переменных, который подходит для вашей задачи. Они также используют расстояние Махаланобиса для декорреляции!

Методы включены в R-пакет «Уход», доступный на CRAN.

Claas
источник
0

Оценки PCA (или результаты PCA) используются в литературе для вычисления расстояния Махаланобиса между образцом и распределением образцов. Для примера, смотрите эту статью . В разделе «Методы анализа» авторы заявляют:

Наборы данных спектров флуоресценции (681) сводятся к более низкому измерению (11) путем оценки главных компонентов (ПК) корреляционной матрицы (681 × 681). Оценки ПК оцениваются путем проецирования исходных данных вдоль ПК. Классификация между наборами данных была проведена с использованием модели расстояний Махаланобиса путем вычисления расстояний Махаланобиса для баллов ПК.

Я видел другие примеры дискриминантного анализа PCA / Mahalanobis в литературе и в меню справки программного обеспечения GRAMS IQ chemometrics. Эта комбинация имеет смысл, поскольку расстояние Махаланобиса не работает должным образом, когда число переменных превышает количество доступных выборок, а PCA уменьшает количество переменных.

Алгоритмы машинного обучения для одноклассной классификации (например, Isolation Forest, One-ClassSVM и т. Д.) Являются возможной альтернативой дискриминантному анализу PCA / Mahalanobis. В нашей лаборатории Isolation Forest в сочетании с предварительной обработкой данных дали хорошие результаты в классификации спектров ближнего инфракрасного спектра.

На слегка связанном примечании, обнаружение выброса или новизны с расстоянием PCA / Mahalanobis, для данных большого размера, часто требует вычисления предела расстояния Mahalanobis . В этой статье предполагается, что отсечка может быть рассчитана как квадратный корень критического значения распределения хи-квадрат , при условии, что данные распределены нормально. Это критическое значение требует количества степеней свободы и значения вероятности, связанного с данными. Похоже, что в статье предполагается, что количество оставшихся основных компонентов равно количеству степеней свободы, необходимых для расчета критического значения, поскольку авторы использовали количество признаков в наборе данных для своих расчетов.

Шериф Диалло
источник
Добро пожаловать на наш сайт. Потому что это не явно в своем ответе, не могли бы вы объяснить , как он обращается к обстоятельству положенного в вопросе? n<p
whuber
Когда n <p, PCA используется для уменьшения p. Количество компонентов, оставшихся в результате анализа PCA (nc), обычно намного меньше, чем p, и оно также может быть меньше, чем n, в зависимости от размера n. Таким образом, PCA изменяет проблему «n by p» на проблему «n by nc». В нашей лаборатории, где мы анализируем NIR-спектры, p представляет количество длин волн, которое обычно превышает две тысячи. n представляет количество обучающих образцов (от 20 до 150). nc обычно составляет от 3 до 11. Когда n> nc, анализ PCA / Mahalanobis дает хорошие результаты.
Шериф Диалло
1
Вопрос не в том, что делает PCA. Это хорошо освещено в других темах на этом сайте. Проблема заключается в том, что расстояние махаланобисов обычно не может быть вычислено в этом случае из-за особенности ковариационной матрицы: это обстоятельство, описанное в вопросе.
whuber
Спасибо за ваши добрые комментарии. Похоже, у нас разные интерпретации того, что спрашивает пользователь. В принятом ответе говорится: «Если вы хотите оценить расстояние Махаланобиса между пациентами, вы можете применить PCA и оценить евклидово расстояние. Оценка расстояния Махаланобиса после применения PCA кажется чем-то бессмысленным ...». Я думаю, что последнее предложение не соответствует литературе, которую я видел и цитировал. Что вы думаете? С наилучшими пожеланиями.
Шериф Диалло
1
Понял. Спасибо :)!
Шериф Диалло