PCA를 수행하기 전에 다른 표준화 요소가 아닌 표준 편차로 나누는 이유는 무엇입니까?


17

원시 데이터를 표준 편차로 나누는 이유에 대한 다음과 같은 정당성을 읽었습니다 (cs229 코스 노트에서).

여기에 이미지 설명을 입력하십시오

설명이 말하는 것을 이해하더라도 표준 편차로 나누는 것이 왜 그러한 목표를 달성 할 수 있는지는 분명하지 않습니다. 그것은 모두가 같은 "규모"에 더 가깝도록 말합니다. 그러나 표준 편차로 나누는 것이 그렇게되는지 완전히 명확하지는 않습니다 . 분산으로 나눌 때 무엇이 ​​잘못 되었습니까? 왜 다른 수량? 절대 값의 합처럼? 또는 다른 표준 ... STD를 선택하기위한 수학적 근거가 있습니까?

이 추출의 주장은 수학 (및 / 또는 통계)을 통해 도출 / 증명 될 수있는 이론적 진술입니까, 아니면 그것이 "연습"에서 작동하는 것처럼 보이기 때문에 우리가하는 그러한 진술 중 하나입니까?

기본적으로 왜 직관이 사실인지에 대한 엄격한 수학적 설명을 제공 할 수 있습니까? 또는 단지 경험적 관찰이라면 PCA를 수행하기 전에 일반적으로 효과가 있다고 생각하는 이유는 무엇입니까?

또한 PCA와 관련하여 표준화 또는 표준화 프로세스입니까?


STD가 왜 "설명"될 수있는 다른 생각들 :

PCA는 분산을 최대화하여 얻을 수 있기 때문에 STD와 같은 관련 수량으로 나누는 것이 STD로 나눈 이유 중 하나 일 수 있습니다. 그러나 다른 표준과의 "변이"를 정의하면 이면 우리는 표준의 STD로 나눕니다 (pth 근을 취함으로써). 그러나 그것은 단지 추측 일 뿐이며 나는 이것에 대해 100 %가 아니므로 질문입니다. 누군가 이것과 관련된 것을 알고 있는지 궁금합니다.1ni=1n(xiμ)p


관련 질문이 있음을 알았습니다.

상관 또는 공분산에 대한 PCA?

그러나 "상관성"또는 "공분산"을 사용할시기에 대해 더 많이 이야기하는 것처럼 보였지만 엄격하거나 설득력이 있거나 자세한 정당화가 부족했습니다.

동일 :

분석 전에 데이터를 정규화해야하는 이유

관련 :

SVD / PCA의 "정규화"변수


1
수학적인 이유가 있습니다. 각 변수에 대해 (중심) 데이터를 SD로 나누면 공분산 행렬이 단순히 원본 (중심) 데이터의 상관 행렬 인 변환 된 데이터 세트가 생성됩니다. 그 후, 우리는 상관 관계 대 공분산 행렬 영역에 다시 있습니다. 데이터 정규화가 공분산 행렬을 상관 행렬로 만드는 방법에 대한 증거를 찾고 있습니까?
은어

제목 질문은 표준화의 목적이 무엇인지 묻는 것처럼 읽습니다 (정규화가 아닌). 이것은 "상관 또는 공분산에 대한 PCA"의 복제본입니다. 그러나 실제로 묻는 것처럼 STD로 나누어 정규화를 수행하는 이유는 (분산 또는 범위 등으로 나누는 것과는 대조적으로)입니다. 그렇다면 제목 질문의 정확성을 높이기 위해 편집하고 싶습니까?
amoeba는

3
용어에 관해, "정규화"는 정확한 용어가 아니며 다양한 것을 지칭 할 수있다. 반면 "표준화"는 평균을 빼고 표준 편차로 나눈 것을 의미합니다.
amoeba는

2
나는 당신의 질문이 매우 좋다고 생각합니다 (+1). 실제로 다른 것으로 나누어서 정규화 할 수 있습니다. 예를 들어 표준 편차는 매우 견고하지 않은 측정 값이며 강한 특이 치가있는 경우 오도 될 수 있습니다. 따라서 스프레드의 강력한 측정 단위로 나눌 수 있습니다 (예 : "중앙 절대 편차"참조). STD를 사용하는 것이 정규화하는 가장 좋은 방법 인 이유에 대한 "엄밀한 수학적 설명"은 없으며, 종종 "실증적 인 관찰"이라는 말이 옳습니다.
amoeba는

2
"대신 분산으로 나누지 않는 이유"는 차원 불일치로 쉽게 설명 할 수 있습니다. 예를 들어 변수 중 하나의 단위를 변경하면 이상한 결과를 얻을 수 있습니다. "MAD로 나누지 않는 이유"-데이터가 정규 분포를 따르는 경우 (인구에서) MAD가 SD에 비례하기 때문에 적절한 MAD의 배수로 나눠서 비효율적이지만 견고 할 수 있습니까? ) 상관의 추정치. 더 흥미 롭습니다.
Silverfish

답변:


11

이것은 왜 표준 편차로 나누는 것이 그러한 목표를 달성 할 수 있는지에 대해서는 명확하지 않습니다. 특히 변환 된 (표준화 된) 데이터를 "동일한 스케일"에 배치하는 이유는 무엇입니까? 이 질문은 더 심오한 문제 ( "작동 된"것, "수행 된"이 의미하는 것, 심지어 수학적으로 연결된 것 ")를 암시하지만 적어도이 절차가"작동하는 "이유에 대한보다 간단한 측면을 다루는 것이 합리적이었습니다. 즉, 본문에서 주장을 달성합니다.

공분산 행렬의 행 와 열 j 의 항목 은 i t hj t h 변수 사이의 공분산 입니다. 대각선, 행 i 및 열 i에서 , 이것은 i t h 변수와 그 자체 의 공분산이됩니다 .ijithjthiiith 변수.ith

변수 X ij t h 변수 X j를 호출 해 봅시다 . 나는 이것들이 이미 0이되도록 중심에 있다고 가정합니다. 그 리콜 C O V ( X I , X의 J )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우리가 예상 한 것처럼 전체 대각선이 대각선으로 채워집니다. 이런 의미에서 데이터는 이제 "동일한 규모"입니다. 최소한 한계가 평균 0과 분산 (및 표준 편차)으로 시작하기 위해 한계 분포가 매우 유사하게 보일 것입니다. 한 변수의 가변성이 다른 변수를 늪으로 빠뜨리는 경우는 더 이상 없습니다. 물론 다른 스프레드 단위로 나 have 수도 있습니다. 차이는 치수 불일치로 인해 특히 좋지 않은 선택이었습니다 (예를 들어, 변수 중 하나의 단위를 미터에서 킬로미터로 변경 한 경우 어떤 일이 있었는지 생각해보십시오). 중간 절대 편차 (또는 MAD의 적절한 배수)와 같은 것표준 편차의 강력한 추정량으로 사용하려는 경우)이 더 적합 할 수 있습니다. 그러나 여전히 대각선을 대각선으로 바꾸지 않습니다.

결론은 표준화 된 데이터의 공분산 행렬에서 작동하는 방법이 원래 데이터의 상관 행렬을 사용한다는 것입니다. PCA에서 사용하기를 원하는 것은 상관 관계 또는 공분산에 대한 PCA를 참조하십시오 .


2
이 답변은 왜 표준 편차가 확산의 척도로 측정되어 정규화에 사용되는지 에 대한 실제 (그리고 사소하지 않은) 질문에 실제로 영향을 미치지는 않는다고 생각합니다 . 중앙값 절대 편차를 대신 사용하지 않는 이유는 무엇입니까? 물론, 결과 공분산 행렬은 "기본"상관 행렬이 아니지만, 아마도 상관 행렬의보다 강력한 추정과 같이 더 나을 것입니다. OP에 대한 마지막 의견도 참조하십시오.
amoeba는

2
@ameoba "중간 심도"지점에서, 새로운 공분산 행렬의 대각선 아래로 분산을 얻는다는 사실은 본질적으로 변환 된 데이터가 PCA 관점에서 "동일한 규모로"변수를 갖도록하는 것을 의미합니다. 이 질문에 의해 제기 된 "매우 깊은"문제에 대해, "왜 우리는 왜 분산을 PCA의 척도 척도로 사용합니까?"를 묻는 것 사이에 많은 차이가 있는지 잘 모르겠습니다. "PCA가 왜 (공) 분산과 관련이 있습니까?" 또는 적어도 두 문제는 밀접하게 관련되어 있습니다.
Silverfish

1
@amoeba, 왜 SD 대신에 MAD 또는 분산으로 나눌 수없는가는 본질적으로 차등 적으로 확장하는 이유와 같은 질문입니다. 즉, 공분산에서 PCA를 대신하지 않는 이유는 무엇입니까? 나는 이전 의견에서이 아이디어를지지한다.
ttnphns

1
@ttnphns : 다른 변수가 완전히 비교할 수없는 척도 (온도, 길이, 무게 등)를 가지고 있다면 어떻게 든 변수를 정규화하려는 욕구를 이해할 수 있습니다. 이것이 공분산 행렬 대신 상관 행렬을 사용하는 일반적인 주장입니다. 그러나 누군가 이상치에 대해 걱정한다면 평균 대신 중간 값을 빼고 SVD 대신 MAD로 나누는 데 아무런 문제가 없습니다 ... 나는 직접하지는 않았지만 합리적인 일처럼 들리는 것 같습니다.
amoeba는 Reinstate Monica

1
@amoeba, Linear PCA는 매트릭스가 SSCP 유형의 매트릭스 여야합니다 . 원래 변수의 선형 변환은이 유형을 유지합니다. 물론, 비선형 변환 (예 : 순위, Spearman rho 행렬을 얻기위한 순위 지정)도 수행 할 수 있지만 구성 요소 점수와로드는 데이터와의 직접적인 (최소 제곱 최소화 의미) 연결을 느슨하게합니다. 이제 변환 된 데이터를 대신 나타냅니다!
ttnphns

5

왜 분산으로 나눌 때 표준 편차
로 나눌까요?

@Silverfish가 이미 주석에서 지적했듯이 표준 편차는 측정과 동일한 단위를 갖습니다. 따라서 분산과 대조적으로 표준 편차로 나누면 평균과 표준 편차로 측정 된 사례가 평균과 스프레드의 상대적인 위치를 알려주는 일반 숫자로 끝납니다. 이것은 매우 가깝습니다.z . 데이터가 정규 분포를 따르는 경우 는 데이터를 표준 정규 분포로 변환합니다.

따라서 데이터에 적합한 표준 정규 분포를 고려하면 표준화 (평균 중심화 + 표준 편차에 의한 스케일링) 가 의미가 있습니다.

왜 다른 수량? 절대 값의 합처럼? 아니면 다른 표준 ...

다른 수량은 스케일링에 사용됩니다 데이터 되지만 평균 중심화를 사용하고 표준 편차로 나누는 경우에만 표준화라고합니다. 스케일링은 일반적인 용어입니다.

예를 들어, 분광 데이터로 작업하고 검출기에 파장에 따른 감도와 (전자) 바이어스가 있음을 알고 있습니다. 따라서 I를 보정 오프셋 (공백) 신호를 감산하고 보정 계수 (분할)을 곱하여.

또한 나는 평균이 아니라 대 평균 대신 제어 그룹의 평균과 같은 다른 기준 값을 중심으로 할 수 있습니다. (개인적으로, 변형이 이미 동일한 물리적 단위를 가지고 있고 동일한 크기의 순서로 있기 때문에 거의 표준화하지 않습니다)

참조 : 모델을 만들기 전에 변수를 조정 (예 : 표준화)하는 경우가 종종 있습니다. 언제 이것이 좋은 아이디어이고 언제 나쁜가요?


+1. 분광 데이터를 사용한 좋은 예입니다. 그건 그렇고, 10k 담당자에게 축하드립니다!
amoeba 말한다 Reinstate Monica

0

이 링크는 귀하의 질문에 명확하게 대답합니다. http://sebastianraschka.com/Articles/2014_about_feature_scaling.html

나는 작은 조각을 인용한다 :

Z- 점수 표준화 또는 최소 최대 스케일링?

"표준화 또는 최소-최대 스케일링?"-이 질문에 대한 명확한 대답은 없습니다. 실제로 응용 프로그램에 따라 다릅니다.

예를 들어, 군집 분석에서 특정 거리 측정을 기반으로 형상 간의 유사성을 비교하기 위해 표준화가 특히 중요 할 수 있습니다. 또 다른 두드러진 예는 Principal Component Analysis (주성분 분석)입니다. 여기서 우리는 Min-Max 스케일링보다 표준화를 선호합니다. 왜냐하면 우리는 분산을 최대화하는 성분에 관심이 있기 때문입니다 (질문에 따라 PCA가 상관 행렬 대신 공분산 행렬;하지만 이전 기사의 PCA에 대한 자세한 내용).

그러나 이것이 Min-Max 스케일링이 전혀 유용하지 않다는 것을 의미하지는 않습니다! 널리 사용되는 응용 프로그램은 이미지 처리이며, 픽셀 강도를 특정 범위 (예 : RGB 색상 범위의 경우 0-255)에 맞게 정규화해야합니다. 또한 일반적인 신경망 알고리즘에는 0-1 스케일의 데이터가 필요합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.