PCA 공식에 상수 성분이 있는 이유PCA 분석을 수행할 때 저장된 공식에서 상수 구성 요소를 보고 놀랐습니다. 예를 들어 다음과 같은 표준화된 데이터 세트(중앙 및 스케일링된 데이터)에 첫 번째 2개의 주성분을 저장합니다.
| 표준화된(중앙화 + 스케일링된) 데이터 |
| 길이 | 폭 | 길이 | 폭 |
| 0.27 | 0.19 | -0.36 | -0.44 |
| -0.30 | -1.14 | -0.36 | -0.44 |
| -0.88 | -0.61 | -0.94 | -0.44 |
| -1.16 | -0.87 | 0.22 | -0.44 |
| -0.02 | 0.46 | -0.36 | -0.44 |
| 1.13 | 1.26 | 1.38 | 1.48 |
| -1.16 | -0.07 | -0.36 | 0.52 |
| -0.02 | -0.07 | 0.22 | -0.44 |
| -1.74 | -1.41 | -0.36 | -0.44 |
| -0.30 | -0.87 | 0.22 | -1.40 |
| 1.13 | 0.72 | 0.22 | -0.44 |
| -0.59 | -0.07 | 0.80 | -0.44 |
| -0.59 | -1.14 | -0.36 | -1.40 |
| -2.02 | -1.14 | -2.11 | -1.40 |
| 2.28 | 1.52 | -1.52 | -0.44 |
| 1.99 | 2.59 | 0.22 | 1.48 |
| 1.13 | 1.26 | -0.94 | 1.48 |
| 0.27 | 0.19 | -0.36 | 0.52 |
| 1.99 | 0.99 | 1.38 | 0.52 |
| 0.27 | 0.99 | 0.22 | 0.52 |
| 1.13 | -0.07 | 1.38 | -0.44 |
| 0.27 | 0.72 | 0.22 | 1.48 |
| -1.16 | 0.46 | -2.69 | -0.44 |
| 0.27 | -0.34 | 1.38 | 2.43 |
| -0.59 | -0.07 | 2.55 | -0.44 |
| -0.02 | -1.14 | 0.80 | -0.44 |
| -0.02 | -0.07 | 0.80 | 1.48 |
| 0.56 | 0.19 | 0.22 | -0.44 |
| 0.56 | -0.07 | -0.36 | -0.44 |
| -0.88 | -0.61 | 0.80 | -0.44 |
| -0.59 | -0.87 | 0.80 | -0.44 |
| 1.13 | -0.07 | 0.22 | 1.48 |
| 0.56 | 1.79 | 0.22 | -1.40 |
| 1.42 | 2.06 | -0.36 | -0.44 |
| -0.30 | -0.87 | 0.22 | -0.44 |
| -0.02 | -0.61 | -1.52 | -0.44 |
| 1.42 | 0.19 | -0.94 | -0.44 |
| -0.30 | 0.46 | -0.36 | -1.40 |
| -1.74 | -1.14 | -0.94 | -0.44 |
| 0.27 | -0.07 | 0.22 | -0.44 |
| -0.02 | 0.19 | -0.94 | 0.52 |
| -1.45 | -3.01 | -0.94 | 0.52 |
| -1.74 | -0.61 | -0.94 | -0.44 |
| -0.02 | 0.19 | 0.80 | 3.39 |
| 0.27 | 0.99 | 2.55 | 1.48 |
| -0.59 | -1.14 | -0.36 | 0.52 |
| 0.27 | 0.99 | 0.80 | -0.44 |
| -1.16 | -0.61 | -0.36 | -0.44 |
| 0.84 | 0.72 | 0.22 | -0.44 |
| -0.02 | -0.34 | -0.36 | -0.44 |
공식은 다음과 같습니다.
Prin1: 0.59834170442161 * :SLength + 0.569834108206745 * :SWidth + 0.371661472844918 *
:P길이 + 0.39892861952586 * :P폭 + 2.15154543958667e-16
Prin2: -0.331623960696996 * :SLength + -0.436415344018397 * :SWidth + 0.620670317712319
* :P길이 + 0.54252700661609 * :P폭 + (-1.4778627619204e-16)
두 개의 상수 구성 요소가 거의 0에 가깝지만(BTW, 다른 경우에는 상수 >> 0을 보았음) Prin1 및 Prin2가 있어야 하므로 첫 번째 위치에서 수식의 일부가 되는 이유를 이해할 수 없습니다. 첫 번째와 두 번째 고유 벡터와 데이터 사이의 곱입니다.
matlab에서 자세한 계산은 다음과 같습니다.
[USV] = svd(cov(X));
Z2 = X * U(:,1:2) ;
Prin1 = Z2(:,1);
Prin2 = Z2(:,2);
귀하의 설명을 기대하고 미리 감사드립니다!
Re: PCA 공식에 상수 성분이 있는 이유제공한 데이터를 사용하여 Distributions를 사용하여 살펴보고 다음과 같은 결과를 얻었습니다.

반올림 오차를 주기에 충분한 차이입니다. 다시 말하지만, 표준 편차가 정확히 1이더라도 0에 매우 가까운 상수 항을 얻을 수 있습니다. 스케일링은 모든 것이 고유 벡터와 데이터의 곱이 되는 것을 방지하는 것입니다. 데이터만 사용하는 것이 아니라 스케일링된 데이터를 사용하고 있습니다(데이터에서 알 수 있듯이 표준 편차 = 1을 항상 알 수는 없기 때문에 JMP가 스케일링을 수행할 때마다). 추정은 때때로 지저분한 게임이 될 수 있습니다.
Re: PCA 공식에 상수 성분이 있는 이유표시된 바와 같이 데이터는 표준화(중심화 및 크기 조정)되었으므로 평균이 0이고 표준 편차가 1입니다. 나는 "규모가 조정되지 않은"옵션을 시도했지만 실제로 상수 용어가 사라졌습니다.
그러나 주요 구성 요소가 고유 벡터와 데이터의 곱에서 파생된다는 점을 감안할 때 여전히 마음을 감쌀 수 없습니다. 그래도 답변에 감사드립니다.
Re: PCA 공식에 상수 성분이 있는 이유귀하가 제공한 데이터의 평균은 0이고 표준 편차는 1이 아닙니다. PC의 상수와 마찬가지로 그들은 가깝지만 정확히 0과 1은 아닙니다. 그것만으로도 PC에서 일정한 기간을 얻을 수 있습니다.
평균과 표준 편차가 정확히 1인 경우에도 사용 중인 추정 프로세스와 반올림 오류로 인해 0에 매우 가까운 상수 항을 얻을 수 있습니다. 입력 데이터에 관계없이 JMP는 사용자가 그렇게 하지 않도록 지시하지 않는 한 변수를 확장합니다.
상수 항을 절대 원하지 않는 경우 빨간색 팝업 메뉴로 이동하여 PC "On Unscaled" 변수를 형성하도록 선택합니다. 이것은 일반적으로 권장되지 않지만 일정 기간이 없는 PC를 제공합니다.