factor_analysis
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
factor_analysis [2018/07/19 20:23] – [Example] hkimscil | factor_analysis [2019/09/14 17:26] – [e.g. secu com finance 2007 example] hkimscil | ||
---|---|---|---|
Line 74: | Line 74: | ||
\end{equation} | \end{equation} | ||
- | 위 식 [1]에서 e는 error term을 말하고, F1, F2 는 각각 잠재적인 요인이다. finance, marketing, policy 점수는 F1과 F2의 기여로 만들어지는 점수이다. F1과 F2가 observation에 기초한 변인이 아니므로 데이터를 이용한 regression을 구하는 방법은 적당치 | + | 위 식 [1]에서 e는 error term을 말하고, F1, F2 는 각각 잠재적인 요인이다. finance, marketing, policy 점수는 F1과 F2의 기여로 만들어지는 점수이다. F1과 F2가 observation에 기초한 변인이 아니므로 데이터를 이용한 regression을 구하는 방법은 적당치 |
한편, $\beta_{ij}$ 는 표준화된 correlation coefficient 값을 말한다 (regression에서 beta값) -- factor analysis에서는 흔히 factor loading이라고 부른다. beta를 해석하는 방법과 마찬가지로 factor loading 값은 F1이나 F2의 인자가 finance (혹은 다른 변인 점수) 점수에 얼마나 기여하는지를 나타내 주는 지표라고 하겠다. | 한편, $\beta_{ij}$ 는 표준화된 correlation coefficient 값을 말한다 (regression에서 beta값) -- factor analysis에서는 흔히 factor loading이라고 부른다. beta를 해석하는 방법과 마찬가지로 factor loading 값은 F1이나 F2의 인자가 finance (혹은 다른 변인 점수) 점수에 얼마나 기여하는지를 나타내 주는 지표라고 하겠다. | ||
Line 91: | Line 91: | ||
위의 요인이 포함된 regression공식이 갖는 가정은 다음과 같다. | 위의 요인이 포함된 regression공식이 갖는 가정은 다음과 같다. | ||
- $E(e_{i}) = 0, \quad Var(e_{i}) = \sigma^2_{i}$ | - $E(e_{i}) = 0, \quad Var(e_{i}) = \sigma^2_{i}$ | ||
+ | * error의 분포에 관한 내용이다. | ||
* expected value = mean of error terms = 0, with standard deviation = $\sigma_{i}$ | * expected value = mean of error terms = 0, with standard deviation = $\sigma_{i}$ | ||
* 에러는 평균 0을 중심으로 무작위로 펼쳐져 있는 상태가 가정되므로 위와 같은 성격을 갖는다. | * 에러는 평균 0을 중심으로 무작위로 펼쳐져 있는 상태가 가정되므로 위와 같은 성격을 갖는다. | ||
- $E(F_{j}) = 0, \quad Var(F_{j}) = 1 $ | - $E(F_{j}) = 0, \quad Var(F_{j}) = 1 $ | ||
+ | * F는 표준화된 coefficient로 | ||
* Factors are standardized with mean =0, standard deviation = 1. Hence, Var(F) = 1. | * Factors are standardized with mean =0, standard deviation = 1. Hence, Var(F) = 1. | ||
* factors의 계수를 내기 전의 data는 표준점수 처리가 된 것을 가정한다. 따라서, F의 mean과 standard deviation값은 각각 0과 1이어야 하고, 따라서 F의 variance값 또한 1이 된다. | * factors의 계수를 내기 전의 data는 표준점수 처리가 된 것을 가정한다. 따라서, F의 mean과 standard deviation값은 각각 0과 1이어야 하고, 따라서 F의 variance값 또한 1이 된다. | ||
Line 192: | Line 194: | ||
$$ | $$ | ||
\begin{pmatrix} | \begin{pmatrix} | ||
- | \beta^2_{11} + \beta^2_{12} + \sigma^2_{1} | + | \beta^2_{11} + \beta^2_{12} + \sigma^2_{1} |
- | \beta_{11}\beta_{21} + \beta_{12}\beta_{22} | + | \beta_{11}\beta_{21} + \beta_{12}\beta_{22} |
- | \beta_{11}\beta_{31} + \beta_{12}\beta_{32} | + | \beta_{11}\beta_{31} + \beta_{12}\beta_{32} |
\end{pmatrix} | \end{pmatrix} | ||
$$ | $$ | ||
Line 239: | Line 241: | ||
등을 통해서 구한 matrix는 위의 theoretical variance covariance 매트릭스와 동일한 내용을 같는다. | 등을 통해서 구한 matrix는 위의 theoretical variance covariance 매트릭스와 동일한 내용을 같는다. | ||
- | 그런데, 모델 B는 로테이션 방법을 | + | 그런데, 모델 B는 모델 A의 loading값에 |
이 방법은 이제 해석에서 진가를 발휘한다. 즉, 모델 B의 loading값들은 이제 F1 혹은 F2의 영향력만이 표현이 된 것이이다. 따라서, Y1은 이제 F1만의 영향을 받는다고 이야기할 수 있다 ($\beta$ 값인 $(\sqrt2/ | 이 방법은 이제 해석에서 진가를 발휘한다. 즉, 모델 B의 loading값들은 이제 F1 혹은 F2의 영향력만이 표현이 된 것이이다. 따라서, Y1은 이제 F1만의 영향을 받는다고 이야기할 수 있다 ($\beta$ 값인 $(\sqrt2/ | ||
Line 253: | Line 255: | ||
| Policy, Y< | | Policy, Y< | ||
| total | T< | | total | T< | ||
+ | |||
+ | 각 변인의 Observed Variance는 df (즉, n-1)을 사용하는 대신 n을 사용하여 구함. | ||
+ | |||
+ | < | ||
+ | > fd <- read.csv(" | ||
+ | > attach(fd) | ||
+ | > m.fin <- mean(finance) | ||
+ | > m.mar <- mean(marketing) | ||
+ | > m.pol <- mean(policy) | ||
+ | > fin <- finance | ||
+ | > mar <- marketing | ||
+ | > pol <- policy | ||
+ | > n.fin <- length(fin) | ||
+ | > n.mar <- length(mar) | ||
+ | > n.pol <- length(pol) | ||
+ | |||
+ | > sum((fin-m.fin)^2)/ | ||
+ | [1] 9.84 | ||
+ | > sum((mar-m.mar)^2)/ | ||
+ | [1] 5.04 | ||
+ | > sum((pol-m.pol)^2)/ | ||
+ | [1] 3.04 | ||
+ | |||
+ | </ | ||
| Variable, \\ Y< | | Variable, \\ Y< | ||
| (1) | (2) | $F_{1}, b_{i1}$ \\ (3) | $F_{2}, b_{i2}$ \\ (4) | (5) | (6) = 100 x (5)/ | | (1) | (2) | $F_{1}, b_{i1}$ \\ (3) | $F_{2}, b_{i2}$ \\ (4) | (5) | (6) = 100 x (5)/ | ||
- | | Finance, $Y_{1}$ | + | | Finance, $Y_{1}$ |
- | | Marketing, $Y_{2}$ | + | | Marketing, $Y_{2}$ |
- | | policy, $Y_{3}$ | + | | policy, $Y_{3}$ |
| Overall \\ SS loadings | | Overall \\ SS loadings | ||
| | | 55.1% \\ (10) / (9) = | 44.7% \\ (11) / (9) = | | | | | | | | 55.1% \\ (10) / (9) = | 44.7% \\ (11) / (9) = | | | | | ||
+ | 각주 1) -> finance = 수학능력 = F1 | ||
+ | 각주 2), 3) -> marketing, policy = 언어능력 = F2 | ||
+ | 각주 4)는 아래와 같이 구함 | ||
+ | < | ||
+ | > l.f <- 3.136773 | ||
+ | > l.m <- -0.132190 | ||
+ | > l.p <- 0.127697 | ||
+ | > loadings.f1 <- c(l.f, | ||
+ | > sum(loadings.f1^2) # value of (10) in the above table | ||
+ | [1] 9.873126 | ||
+ | > </ | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | > fd | ||
+ | finance marketing policy | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 10 | ||
+ | 4 | ||
+ | 5 10 | ||
+ | |||
+ | 아래는 population variance, sd를 구하기 위한 function | ||
+ | < | ||
+ | + | ||
+ | + } | ||
+ | > psd <- function(x) { | ||
+ | + sqrt (sum((x - mean(x))**2) / length(x)) | ||
+ | + }</ | ||
+ | |||
+ | < | ||
+ | > tapply(fds$values, | ||
+ | finance marketing | ||
+ | 6.6 | ||
+ | > tapply(fds$values, | ||
+ | finance marketing | ||
+ | | ||
+ | > options(digits=5) | ||
+ | > tapply(fds$values, | ||
+ | finance marketing | ||
+ | | ||
+ | > | ||
+ | </ | ||
| Standardized \\ Variable, \\ Y< | | Standardized \\ Variable, \\ Y< | ||
Line 1078: | Line 1148: | ||
====== e.g., 5 ====== | ====== e.g., 5 ====== | ||
{{: | {{: | ||
+ | ====== e.g. secu com finance 2007 example | ||
+ | {{: | ||
+ | |||
+ | < | ||
+ | Sys.setlocale(" | ||
+ | secu_com_finance_2007 <- read.csv(" | ||
+ | secu_com_finance_2007 | ||
+ | </ | ||
====== etc. ====== | ====== etc. ====== | ||
< | < | ||
{{: | {{: | ||
{{: | {{: | ||
- | {{: | + | |
====== Reference ====== | ====== Reference ====== | ||
{{: | {{: | ||
factor_analysis.txt · Last modified: 2023/11/06 02:53 by hkimscil