У меня есть матрица , где - количество генов, а - количество пациентов. Любой, кто работал с такими данными, знает, что всегда больше, чем . Используя выбор функции, я получил к более разумному числу, однако все еще больше, чем .p n p n p p n
Я хотел бы вычислить сходство пациентов на основе их генетических профилей; Я мог бы использовать евклидово расстояние, однако Махаланобис кажется более подходящим, поскольку он учитывает корреляцию между переменными. Проблема (как отмечено в этом посте ) заключается в том, что расстояние Махаланобиса, в частности ковариационная матрица, не работает, когда . Когда я пробегаю расстояние Махаланобиса в R, я получаю ошибку:
Error in solve.default(cov, ...) : system is computationally
singular: reciprocal condition number = 2.81408e-21
До сих пор, чтобы попытаться решить эту проблему, я использовал PCA и вместо генов я использую компоненты, и это, кажется, позволяет мне вычислять расстояние Махаланобиса; 5 компонентов представляют около 80% дисперсии, поэтому теперь .
Мои вопросы: могу ли я использовать PCA для значимого определения расстояния Махаланобиса между пациентами, или это неуместно? Существуют ли альтернативные метрики расстояния, которые работают, когда и существует также большая корреляция между переменными?n
PCA
работают методы уменьшения переменных, например , мне любопытно, можно ли использовать какую-либо метрику расстояния на выходах.
PCA
может нарушить корреляции переменных, если вы не используете что-то вроде наклонного вращения. Я также не уверен, как распределение дисперсииPCA
повлияет на расстояние Махаланобиса между подобными пациентами.