함수 > 데이터 분석 > 주성분 분석 > 예제: 주성분 분석 1
  
예제: 주성분 분석 1
Nipals, loadings, scores, PCAeigenvalsPCAvariance 함수를 사용하여 PCA(주성분 분석)을 수행합니다.
Nipals 함수
1. 각 열이 변수를 하나씩 나타내는 데이터 집합을 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
2. 데이터 집합을 도표화합니다.
이 식을 복사하려면 클릭
이 그래프에서는 데이터의 추세를 찾아내기 위해 x-y 평면과 x-z 평면을 겹쳐 놓았습니다. 이 데이터는 사실상 거의 한 평면 위에 놓여 있는 점들의 타원형 구름입니다. 변수 세 개가 선형으로 관련되어 있으며, 노이즈 때문에 데이터가 완벽한 평면을 이루지 못하고 편차가 발생하고 있습니다.
3. rowscols 함수를 사용하여 행 및 열 지수를 정의합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
4. mean 함수를 사용하여 데이터의 평균을 구한 다음 데이터의 중앙값을 구하기 위해 각 변수에서 평균 값을 뺍니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
5. 중앙값 데이터를 도표화합니다.
이 식을 복사하려면 클릭
* 
이제 데이터가 원점을 중심으로 배치됩니다. 이는 Nipals 함수를 통해 자동으로 처리되는 단계 중 하나입니다.
대부분의 PCA 응용 프로그램에서는 변수의 가중치가 같아지도록 데이터의 배율을 조정하는 것이 좋습니다. 각 변수의 단위가 서로 다른 경우 등이 여기에 해당합니다. 각 변수(데이터의 각 열)를 단위 분산으로 배율 조정하는 것이 일반적이지만 이 데이터에는 그와 같은 작업이 적합하지 않으므로 여기서는 배율을 조정하지 않습니다.
6. Nipals 함수를 사용하여 새 변수 공간을 만듭니다. 주성분 세 개를 사용합니다. 처음 시작할 때의 변수가 세 개뿐이었으므로 사용 가능한 주성분이 최대 세 개까지입니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
Nipals 함수의 출력은 개별 행렬 여섯 개가 중첩된 행렬입니다. 이 출력을 사용하여 데이터의 loadings, scores, eigenvalseigenvecs를 구합니다. 필요한 경우 Nipals2 함수와 마지막 두 행렬을 사용하여 추가 성분을 추출합니다.
로드와 점수
1. loadings 함수를 호출하여 NIPALS_Result의 둘째 행렬에서 구한 데이터를 읽어들입니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
LOADINGS의 각 열은 로드 벡터입니다.
2. scores 함수를 호출하여 NIPALS_Result의 첫째 행렬에서 구한 데이터를 읽어들입니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
점수는 원래 스펙트럼을 다시 만들기 위해 로드 벡터가 추가되는 비율을 나타냅니다. 데이터를 광도로 이해하면 됩니다. 데이터 = LOADINGS * SCOREST.
3. SCORES 행렬에 저장되어 있는 데이터를 도표화합니다.
이 식을 복사하려면 클릭
데이터가 회전되었으므로 첫 번째 변수로 최대 분산량이 설명됩니다. 데이터가 회전했다는 것은 그래프에서 타원형 구름의 축 중 길이가 긴 쪽이 X축에 평행하게 놓여 있다는 사실로도 알 수 있습니다. Z축에 평행인 셋째 변수의 값은 매우 작습니다. 대부분의 경우 이 변수는 무시해도 됩니다. 데이터가 압축되었습니다.
PCA 분산과 고유값
1. PCAvariance 함수를 사용하여 주성분 세 개의 누적 분산을 구합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭
처음 두 성분이 시스템의 분산 중 99.9%를 차지합니다.
2. PCAeigenvals 함수를 사용하여 주성분의 고유값을 추출합니다.
이 식을 복사하려면 클릭
이 식을 복사하려면 클릭