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