Describe 레만투_독립성분분석 here 독립성분분석을 지원하는 패키지에는 fastICA와 mlica가 있다. 보통 fastICA가 널리 쓰인다. 예제 자료 만들기 간단한 예제를 하나 따라가면서 해보자. 먼저 2개의 값을 가지는 500개의 자료를 만들자. {{{ S = matrix(runif(1000), 500, 2) }}} 다음엔 혼합 행렬(mixing matrix)를 만든다. {{{ A = matrix(c(1, 1, -1, 3), 2, 2, byrow = TRUE) }}} 원자료와 혼합행렬을 곱하면 관찰자료가 만들어진다. {{{ X <- S%*%A }}} fastICA fastICA는 간단히 패키지를 불러들인 다음 관찰자료와 성분의 개수만 넣어주면 된다. {{{ require(fastICA) a <- fastICA(X, 2) }}} mlica mlica는 PriorNormPCA으로 주성분분석을 실시한 후에, proposeNCP으로 성분 수를 결정하고 mlica 함수에 넘겨주면 된다. {{{ require(mlica) prPCA <- PriorNormPCA(S) prNCP <- proposeNCP(prPCA,0.01) b = mlica(prNCP,nruns=5) }}} 그래프 맨 위의 그림을 그래프로 그리려면 아래와 같다. {{{ par(mfrow = c(1, 5)) plot(S, main="original") plot(a$X, main = "Pre-processed",col="red") plot(a$X%*%a$K, main = "PCA",col="green") plot(a$S, main = "fastICA",col="blue") plot(b$S, main = "mlICA",col="purple") }}}