Почему мы делим на стандартное отклонение, а не какой-то другой фактор стандартизации, прежде чем делать PCA?


17

Я читал следующее обоснование (из заметок курса cs229) о том, почему мы делим необработанные данные на их стандартное отклонение:

введите описание изображения здесь

хотя я понимаю, что говорится в объяснении, мне не ясно, почему деление на стандартное отклонение приведет к такой цели. Это говорит о том, что все больше в одном и том же «масштабе». Однако не совсем понятно, почему деление на стандартное отклонение достигает этого. Мол, что не так с делением на дисперсию? Почему не какое-то другое количество? Как ... сумма абсолютных значений? или какая-то другая норма ... Есть ли математическое обоснование выбора ЗППП?

Являются ли утверждения в этом отрывке теоретическим утверждением, которое может быть получено / доказано с помощью математики (и / или статистики), или это больше одно из тех утверждений, которые мы делаем, потому что оно, похоже, работает «на практике»?

По сути, можно ли дать строгое математическое объяснение того, почему эта интуиция верна? Или если это просто эмпирическое наблюдение, почему мы думаем, что это работает в целом, прежде чем делать PCA?

Кроме того, в контексте PCA, это процесс стандартизации или нормализации?


Некоторые другие мысли, которые у меня были, могли бы «объяснить», почему ЗППП:

Поскольку PCA может быть получено из максимизации дисперсии, я предположил, что деление на связанную величину, такую ​​как ЗППП, может быть одной из причин, по которой мы разделили ЗППП. Но потом я подумал, что, может быть, если мы определим, может быть, «дисперсию» с любой другой нормой, , то мы бы поделили на STD этой нормы (взяв корень pth или что-то еще). Хотя, это было только предположение, и я не на 100% об этом, поэтому вопрос. Мне было интересно, если кто-нибудь знал что-нибудь, связанное с этим.1ni=1n(xiμ)п


Я видел, что, возможно, был связанный вопрос:

СПС по корреляции или ковариации?

но, похоже, больше говорилось о том, когда использовать «корреляцию» или «ковариацию», но не хватало строгих, убедительных или подробных обоснований, и это то, что меня в основном интересует.

То же самое для:

Почему нам нужно нормализовать данные перед анализом

Связанный:

«Нормализующие» переменные для SVD / PCA


1
Существует математическая причина - при делении (центрированных) данных на SD для каждой переменной получается преобразованный набор данных, ковариационная матрица которого является просто корреляционной матрицей исходных (центрированных) данных. После этого мы снова находимся на территории соотношения ковариационной матрицы. Вы ищете доказательство того, как нормализация данных превращает ковариационную матрицу в корреляционную матрицу?
Серебряная рыба

Ваш титульный вопрос звучит так, как будто вы спрашиваете, какова цель его нормализации (в отличие от того, чтобы не нормализовать). Это будет дубликат «PCA по корреляции или ковариации». Однако, на самом деле вы, похоже, спрашиваете, почему нормализация выполняется посредством деления на ЗППП (в отличие от деления на дисперсию или диапазон и т. Д.). Если да, возможно, вы хотите отредактировать, чтобы сделать заглавный вопрос более точным?
говорит амеба, восстанови Монику

3
Что касается терминологии, «нормализация» не является точным термином и может относиться к различным вещам. Принимая во внимание, что «стандартизация» означает вычитание среднего значения и деление на стандартное отклонение, на которое вы ссылаетесь.
говорит амеба: восстанови Монику

2
Я должен добавить, что я думаю, что ваш вопрос очень хороший (+1). Можно действительно нормализовать, разделив на что-то еще; Например, стандартное отклонение является очень ненадежной мерой и может вводить в заблуждение при наличии сильных выбросов. Таким образом, вместо этого можно выбрать деление на некоторую надежную меру разброса (см., Например, «среднее абсолютное отклонение»). Не существует «строгого математического объяснения» того, почему использование ЗППП является лучшим способом нормализации, и вы совершенно правы, что это «просто эмпирическое наблюдение», что оно часто работает хорошо.
говорит амеба, восстанови Монику

2
«Почему бы вместо этого не делить на дисперсию» - это довольно легко объяснить несогласованностью размеров. Это даст вам странные результаты, если вы, например, измените единицы измерения, в которых находилась одна из переменных. «Почему бы не разделить на MAD» - если данные были нормально распределены, то, поскольку (в популяции) MAD пропорционально SD, можно было бы разделить на соответствующее кратное MAD и получить (неэффективное, но, возможно, надежное? ) оценка корреляции. Это интереснее.
Серебряная рыба

Ответы:


11

Это частичный ответ на вопрос «мне непонятно, почему деление на стандартное отклонение позволило бы достичь такой цели». В частности, почему он переводит преобразованные (стандартизированные) данные в «тот же масштаб». Вопрос намекает на более глубокие вопросы (что еще могло бы «сработать», что связано с тем, что «сработало» могло бы даже означать математически?), Но казалось разумным, по крайней мере, рассмотреть более простые аспекты того, почему эта процедура «работает» - то есть достигает претензий, предъявляемых к нему в тексте.

ijithjthiiithith переменной .

ithXijthXj

Cov(Xi,Xj)=σXiσXjCor(Xi,Xj)

Zi=XiσXi

Var(Zi)=Var(XiσXi)=1σXi2Var(Xi)=1σXi2σXi2=1

Zjij

Cov(Zi,Zj)=σZiσZjCor(Zi,Zj)=Cor(Zi,Zj)

Cor(Zi,Zj)Cor(Xi,Xj) т.е. корреляция между исходными данными.

Cov(Zi,Zi)=Var(Zi)=1поэтому вся диагональ заполнена единицами, как и следовало ожидать. Именно в этом смысле данные теперь «в одном масштабе» - их предельные распределения должны выглядеть очень похожими, по крайней мере, если бы они были примерно нормально распределены для начала, со средним нулем и с дисперсией (и стандартным отклонением). Это больше не тот случай, когда изменчивость одной переменной затопляет другие. Конечно, вы могли бы разделить на другую меру распространения. Дисперсия была бы особенно плохим выбором из-за несогласованности размеров (подумайте о том, что произошло бы, если бы вы изменили единицы, в которых находилась ваша переменная, например, с метров на километры). Что-то вроде среднего абсолютного отклонения (или соответствующего кратного MADесли вы пытаетесь использовать его как своего рода надежную оценку стандартного отклонения), возможно, было бы более подходящим. Но это все равно не превратит эту диагональ в диагональ единиц.

В результате метод, который работает на ковариационной матрице стандартизированных данных, по существу использует корреляционную матрицу исходных данных. Что вы предпочитаете использовать на PCA, см. PCA о корреляции или ковариации?


2
Я думаю, что этот ответ на самом деле не затрагивает актуальный (и нетривиальный) вопрос о том, почему стандартное отклонение берется в качестве меры разброса и используется для нормализации. Почему бы не принять среднее абсолютное отклонение вместо этого? Конечно, результирующая ковариационная матрица не будет корреляционной матрицей «по умолчанию», но, возможно, она будет лучше, например, более надежная оценка корреляционной матрицы. Смотрите также мой последний комментарий к ОП.
говорит амеба, восстанови Монику

2
@ameoba С точки зрения «средней глубины», тот факт, что мы получаем дисперсию в единицу по диагонали новой ковариационной матрицы, по сути, означает, что преобразованные данные имеют переменные «в одном масштабе» с точки зрения PCA. Что касается "очень глубоких" вопросов, поднятых этим вопросом, я не уверен, что есть большая разница между вопросом "ну почему мы используем дисперсию в качестве нашей меры масштаба в PCA?" и спрашивая "почему PCA касается (со) дисперсий?" - или, по крайней мере, что эти два вопроса будут тесно связаны.
Серебряная рыба

1
@amoeba, почему бы не разделить по MAD или по дисперсии вместо SD, по сути, это тот же вопрос, что и вообще вообще делать дифференциальное масштабирование: то есть, почему бы вместо этого не делать PCA на ковариациях? Я поддерживаю эту идею в предыдущем комментарии.
ttnphns

1
@ttnphns: Если разные переменные имеют абсолютно несопоставимые масштабы (температура, длина, вес и т. д.), то желание как-то нормализовать переменные вполне понятно. Это общий аргумент в пользу использования матрицы корреляции вместо ковариационной матрицы. Но если кто-то беспокоится о выбросах, я не вижу ничего плохого в том, чтобы вычитать медиану вместо среднего и делить на MAD вместо SVD ... Я никогда не делал этого сам, но я думаю, что это звучит разумно.
амеба говорит восстановить монику

1
@amoeba, Линейный PCA нуждается в матрице, чтобы быть матрицей типа SSCP . Любое линейное преобразование исходных переменных сохраняет этот тип. Конечно, вы можете также выполнить любое нелинейное преобразование (например, ранжирование, чтобы получить матрицу Спирмена), но тогда оценки компонентов и нагрузки теряют свою прямую (в смысле минимизации наименьших квадратов) связь с данными: они вместо этого представьте преобразованные данные!
ttnphns

5

Почему мы делим на стандартное отклонение,
что не так с делением на дисперсию?

z : если данные распределяются нормально, стандартизация преобразует их в стандартное нормальное распределение.

Итак: стандартизация (среднее центрирование + масштабирование по стандартному отклонению) имеет смысл, если вы считаете, что стандартное нормальное распределение целесообразно для ваших данных.

Почему не какое-то другое количество? Как ... сумма абсолютных значений? или какая-то другая норма ...

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

Например, я работаю со спектроскопическими данными и знаю, что мой детектор имеет чувствительность, зависящую от длины волны, и (электронный) сдвиг. Таким образом, я калибрую , вычитая сигнал смещения (пустой) и умножая (деля) на коэффициент калибровки.

Кроме того, я могу сосредоточиться не на среднем, а на каком-то другом базовом значении, таком как среднее контрольной группы вместо общего среднего. (Лично я почти никогда не стандартизирую, так как мои вариации уже имеют одинаковую физическую единицу и имеют тот же порядок величины)

См. Также: Переменные часто корректируются (например, стандартизируются) перед созданием модели - когда это хорошая идея, а когда плохая?


+1. Хороший пример со спектроскопическими данными. Кстати, поздравляю с достижением 10к реп!
говорит амеба, восстановите Монику

0

Я полагаю, что эта ссылка четко отвечает на ваш вопрос: http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

Я цитирую небольшой кусок:

Стандартизация по Z-шкале или шкала Min-Max?

«Стандартизация или минимальное масштабирование?» - на этот вопрос нет однозначного ответа: это действительно зависит от приложения.

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

Однако это не означает, что масштабирование Min-Max вообще бесполезно! Популярным приложением является обработка изображений, где интенсивность пикселей необходимо нормализовать для соответствия определенному диапазону (т. Е. От 0 до 255 для цветового диапазона RGB). Кроме того, типичный алгоритм нейронной сети требует данных, которые в масштабе 0-1.

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