요인분석(factor analysis, FA)은 관측한 여러 변수로부터 요인을 추출하여 요인들을 통해 변수 간의 관련성을 설명하려는 기법이다. 예를 들어, 제품에 대한 소비자 평가를 위해 20개의 평가 설문항목을 만들 경우, 설문항목은 제품품질, 제품서비스, 제품가치 등과 같은 세 가지 잠재요인(Latent factor)의 함수로서 표현할 수 있다. 이처럼 요인분석은 여러 관측변수로부터 직접적으로 관측이 가능하지 않은 공통의 요인을 추출하는데 이용한다.
주성분분석처럼 적재값을 산출하여 점수화하지만, 주성분분석과는 달리 요인분석은 측정 가능한 변수들로부터 그 안에 잠재되어 있는 해석 가능한 소수의 요인을 찾는 것을 목적으로 한다. 이를 위해 요인과 변수 간의 관계가 명확히 드러나도록 요인의 축을 회전(rotation)시키는 방법을 사용한다.
요인의 축을 회전시키면 각 요인은 몇몇 변수와의 요인적재값이 커지는 반면, 다른 변수와의 요인 적재값은 작아지게 된다. 그렇게 되면 요인적재값이 큰 변수들을 이용하여 각 요인을 의미 있게 해석하는 것이 가능해지고 각 요인들은 쉽게 구분된다.
예를 들어 $F_1$과 $F_2$의 요인을 나타내는 변수가 존재하고, $x_1, x_2, x_3, x_4, x_5$의 각 변수가 존재한다고 가정하자. 이때 $F_1$ = $b_1 \cdot x_1 + b_2 \cdot x_2 + b_3 \cdot x_3 + b_4 \cdot x_4 + b_5 \cdot x_5 $로 나타낼 수 있을 것이다. 이때 축을 회전시켜 $x_1$를 찾는 문제로 바꾸면 $x_1 = a_1 \cdot F_1 + a_2 \cdot F_2 + U_1$으로 표현할 수 있을 것이다.
요인과 오차는 직접적으로는 찾을 수 없지만, 변수 간의 상관관계를 통해서 간접적으로 추정할 수 있다. 위 식에서 나타난 $F_i$는 공통요인이라 부르며, $U_i$는 공통요인에 의해서 설명될 수 없는 변수 고유의 성분과 오차를 나타낸다. 이 식을 일반화 하면 다음과 같다.
$x_i = b_{i1}F_1 + b_{i2}F_2+ \ \cdots \ + b_{ik}F_k + U_i$
우리가 요인분석을 수행할 때 가장 먼저 수행해야하는 작업은 추출할 요인의 개수를 결정하는 것이다. 데이터의 복잡성을 줄이면서 해석 가능한 요인을 추출하는 것이 요인분석의 주요한 목적이기 때문에 가능한 많은 분산을 설명하는 최소한의 요인을 추출해야하며, 요인의 개수를 결정하는 기준은 다음과 같다.
1. 고유값(eigenvalue)
- 고유값 기준에 의하면 1보다 큰 고유값을 갖는 요인의 개수만큼 추출하며, 1보다 작은 고유값을 갖는 요인은 원래의 개별 변수가 갖고 있는 분산 1보다도 작기 때문에 이를 새로운 변수로 추출하는 것은 무의미하기 때문이다.
2. elbow
- 주성분분석과 마찬가지로 그래프를 그려 급격하게 꺽이는 지점(elbow point)를 찾아 요인의 개수를 결정할 수 있다.
3. random matrix
- 원래의 데이터셋과 동일한 표본크기를 갖는 무작위 데이터 행렬로부터 고유값을 추출하는 방식으로 시뮬레이션을 수행하여 요인 개수를 결정할 수 있다. (ALS, SVD, SGD, ...)
'Mathematics > Statistics' 카테고리의 다른 글
[Statistics] F-test (0) | 2022.03.23 |
---|---|
[Statisctics] entropy, cross entropy, KL-Divergence (0) | 2022.03.11 |
[Statistics] non-parametric test with bootstrapping (0) | 2021.11.05 |
[Statistics] non-parametric statistics with rank sum (0) | 2021.11.05 |
[Statistics] Logistic Regression with binomial (0) | 2021.11.05 |