Как отбелить данные с помощью анализа основных компонентов?


18

Я хочу преобразовать свои данные так, чтобы отклонения были равны единице, а ковариации были равны нулю (т.е. я хочу отбелить данные). Кроме того, средства должны быть нулевыми.X

Я знаю, что доберусь туда, выполнив Z-стандартизацию и PCA-преобразование, но в каком порядке я должен их делать?

Следует добавить, что составное отбеливающее преобразование должно иметь вид xWx+b .

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


(Мой первый комментарий был основан на неправильном прочтении вашего вопроса.) PCA дает вам нулевые ковариации; Вы можете стандартизировать ПК впоследствии, если хотите. Это звучит странно, но вы можете это сделать.
Ник Кокс

@NickCox Может быть, это кажется странным, потому что преобразованные данные тогда являются сферическими, что кажется неинформативным. Тем не менее, это трансформация, которую я должен знать, а не конечный результат. Тем не менее я не знаю, как будет выглядеть трансформация. Я все еще читаю о PCA, все же.
Angelorf

Ответы:


31

Во-первых, вы получаете среднее значение ноль, вычитая среднее значение .μ=1Nx

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

В-третьих, после поворота каждый компонент будет иметь дисперсию, заданную соответствующим собственным значением. Таким образом, чтобы сделать дисперсию равной , вам нужно разделить на квадратный корень из Λ .1Λ

Все вместе, отбеливающий преобразование . Вы можете открыть скобки, чтобы получить форму, которую вы ищете.xΛ1/2U(xμ)


Обновить. См. Также эту более позднюю ветку для более подробной информации: В чем разница между отбеливанием ZCA и отбеливанием PCA?


2
Я думаю, что вам нужно делить на квадратные корни из собственных значений, так как это вопрос масштабирования по SD, а не дисперсии.
Ник Кокс

@NickCox: да, конечно, вы правы. Я исправил свой ответ. Спасибо!
говорит амеба: восстанови Монику

1
Я эмпирически проверил формулу. Спасибо за помощь!
Angelorf
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.