Я запустил PCA на 17 количественных переменных, чтобы получить меньший набор переменных, которые являются основными компонентами, которые будут использоваться в контролируемом машинном обучении для классификации экземпляров на два класса. После PCA на ПК1 приходится 31% отклонений в данных, на ПК2 - 17%, на ПК3 - 10%, на ПК4 - 8%, на ПК5 - 7% и на ПК6 - 6%.
Однако, когда я смотрю на средние различия между ПК между двумя классами, удивительно, что ПК1 не является хорошим разграничением между этими двумя классами. Остальные ПК - хорошие дискриминаторы. Кроме того, PC1 становится неактуальным, когда используется в дереве решений, что означает, что после сокращения дерева он даже не присутствует в дереве. Дерево состоит из ПК2-ПК6.
Есть ли объяснение этому явлению? Может ли быть что-то не так с производными переменными?
Ответы:
Это также может произойти, если переменные не масштабируются, чтобы иметь единичную дисперсию перед выполнением PCA. Например, для этих данных (уведомление о том , что шкалы идет только от - 0,5 до 1 , тогда как х идет от - 3 до 3 ):Y - 0,5 1 Икс - 3 3
PC1 приблизительно равен и учитывает почти все отклонения, но не имеет никакой дискриминационной силы, тогда как PC2 равен y и отлично различает классы.Икс Y
источник
prcomp(x, center=T, scale=T)
то же самое, что и делать (x-mean) / sd. В этом примере вы обнаружите, что ни один из главных компонентов не является хорошим разграничителем между классами; это работает, только если они оба используются вместе.Я предполагаю, что ответ и пример, предоставленный @Flounderer, подразумевают это, но я думаю, что это стоит изложить. Анализ основных компонентов (PCA) - это метка (классификация) безразличных. Все, что он делает, - это преобразовывает некоторые многомерные данные в другое пространственное пространство. Это может помочь в попытках классификации, например, путем создания набора данных, который легче отделить определенным методом. Тем не менее, это только побочный продукт (или побочный эффект) PCA.
источник
Когда мы проводим анализ главных компонентов, основные компоненты соответствуют направлениям максимальной изменчивости, они не гарантируют максимальную дискриминацию или разделение между классами.
Таким образом, 2-й компонент дает вам хорошую классификацию, значит, данные в этом направлении дают вам лучшую разницу между классами. Когда вы выполняете линейный дискриминантный анализ (LDA), он дает вам лучшие компоненты ортогонального направления, которые максимизируют расстояние между классами и минимизируют расстояние между классами.
Поэтому, если вы будете использовать LDA для данных вместо PCA, возможно, один из самых первых компонентов будет ближе к PC6, чем к PC1. Надеюсь это поможет.
источник