28 개의 다른 통화에 대한 10 년 간의 일일 반품 데이터가 있습니다. 첫 번째 주요 구성 요소를 추출하고 싶지만 10 년 전체에 PCA를 운영하는 대신 통화의 동작이 발전하고이를 반영하기 위해 2 년 창을 적용하고 싶습니다. 그러나 중요한 문제가 있습니다. 즉, princomp () 및 prcomp () 함수는 종종 인접한 PCA 분석에서 양수에서 음수로 점프합니다 (즉, 1 일 간격). EUR 통화의 로딩 차트를 살펴보십시오.
인접한 하중이 양에서 음으로 점프하기 때문에 이것을 사용할 수 없으므로 분명히 이것을 사용할 수 있습니다. 이제 EUR 통화 로딩의 절대 값을 살펴보십시오.
문제는 상단 차트에서 로딩이 음수에서 양수로 바뀌고 때로는 되돌아가는 것을 볼 수 있기 때문에 여전히 이것을 사용할 수 없다는 것입니다.
이 문제를 해결할 수있는 방법이 있습니까? 인접한 PCA에서 고유 벡터 방향을 항상 동일하게 유지할 수 있습니까?
그런데이 문제는 FactoMineR PCA () 함수에서도 발생합니다. rollapply의 코드는 다음과 같습니다.
rollapply(retmat, windowl, function(x) summary(princomp(x))$loadings[, 1], by.column = FALSE, align = "right") -> princomproll
EUR -0.2 ZAR +0.8 USD +0.41
하고 EUR +0.21 ZAR -0.79 USD -0.4
있습니다 매우 매우 유사합니다. 두 결과 중 하나만 로그인하면됩니다.