주성분 분석 함수 정보
PTC Mathcad에서 제공하는 여러 가지 함수를 사용하여 PCA(주성분 분석)을 수행할 수 있습니다.
주성분 분석 정보
서로 관련이 있거나 중복된 변수의 수가 매우 많은 데이터 집합을 접하는 경우가 자주 있습니다. 이러한 데이터 집합에서는 데이터를 분석할 때 계산의 효율성이 떨어질 뿐만 아니라 수치에 문제가 생길 수도 있습니다(역행렬 단계 등). 이 경우에는 데이터를 압축하여 직교 변수의 수를 줄일 수 있는 방법이 필요합니다. 바로 이와 같은 용도로 사용할 수 있는 방법이 여러 가지가 있으며 이를 통칭하여 인수 분석 방법이라고 합니다. 이러한 방법 중 가장 기본이 되는 것이 PCA, 즉 데이터를 가장 주된 인수로 압축하는 방법입니다.
PCA에서는 n차원 데이터 공간을 사용하여 데이터의 분산을 가장 적합한 방식으로 설명하는 새로운 직교 축 집합, 즉 새 변수 집합을 정의합니다. 새 변수 집합은 첫째 변수가 변동 가능한 최대량, 즉 최대 분산을 설명하고 둘째 변수가 나머지 변동의 최대량을 설명하는 식으로 최적화됩니다. 이를 가리켜 데이터 집합의 주성분이라고 합니다.
시작 변수들이 상호 의존적이거나 서로 관련되어 있는 데이터 집합에서는 더 높은 주성분이 0에 가까워 단순한 노이즈에 불과한 경우가 많으므로 이를 버릴 수 있습니다. 기본이 되는 변수, 즉 직교하여 서로 관련되지 않은 변수를 잠재 변수라고 하며, 데이터를 설명하기 위해서는 데이터 순위만큼에 해당하는 수의 변수가 필요합니다.
NIPALS 및 SVD 비교
대부분의 데이터 집합에 대해
svd 함수를 사용하여 점수와 로드를 계산할 수는 있지만 일반적으로 이 방법은 사용하지 않는 것이 좋습니다.
• SVD(특이값 분해)의 경우 상위 점수가 필요하지 않더라도 모든 점수를 계산해야만 합니다. 따라서 데이터 집합의 크기가 크고 중복되는 변수가 많은 경우 SVD를 사용하면 계산의 효율성이 떨어지고 계산 자체가 실패할 수도 있습니다.
• svd 함수를 사용하려면 데이터 행렬의 행 수보다 열 수가 더 많아야 합니다. 따라서 변수보다 측정치가 더 많은 경우 문제가 됩니다.
NIPALS(반복적인 비선형 부분 최소자승) 알고리즘을 사용하면 점수와 로드를 반복적으로 계산하여 이러한 문제를 피할 수 있습니다. 이 경우 매우 안정적인 수치를 얻을 수 있으며 데이터 집합의 크기에 상관없이 알고리즘을 실행할 수 있습니다. 이 방법을 사용하면 원하는 수의 주성분만 계산할 수 있습니다.