멱족변환 (Power Family of Transformation)

 

데이터 변환은 데이터 분산의 안정화(stabilizing) 측면에서 유용하다. 특히 시계열 데이터에서 분산이 일정하지 않은 경우는 꽤 흔하다. 일정하지 않은 분산(nonconstant variance)을 다루기 위해 많이 사용하는 데이터 변환 방식 중 하나가 멱변환(power transformation)이다. 이를 활용한 것이 박스-콕스 변환(Box-Cox transformation)인데 아래와 같다.

$$ y^{(\lambda)} = \begin{cases} \dfrac{y^\lambda - 1}{\lambda} , & \quad (\lambda \neq 0) \\ \ln y, & \quad (\lambda = 0) \end{cases} $$

여기에 스케일 계수(scale factor)로 기하평균 $ \dot{y} $ 를 사용하여 스케일을 맞춰준다. $ \dot{y} = \exp \left[\frac{1}{T} \sum_{t=1}^T \ln y_t \right] $ 이다.

$$ y^{(\lambda)} = \begin{cases} \dfrac{y^\lambda - 1}{\lambda \dot{y}^{\lambda - 1}} , & \quad (\lambda \neq 0) \\ \dot{y} \ln y, & \quad (\lambda = 0) \end{cases} $$

여기서 $ \lambda $ 로 어떤 값을 사용하느냐에 따라 다른 변환이 된다.

  • $ \lambda = 1 $ : 변환 안함
  • $ \lambda = 0 $ : 로그 변환(log transformation)
  • $ \lambda = -0.5 $ : 역제곱근 변환(reciprocal square root transformation)
  • $ \lambda = 0.5 $ : 제곱근 변환 (square root transformation)
  • $ \lambda = -1 $ : 역변환(reciprocal transformation)

여기서 적절한 $ \lambda $ 값은 경험적으로 선택한다. 즉 최소제곱법을 사용한다면 $ y^\lambda $ 에 대한 모델을 적합시켜 최소 $ SSE $ 를 갖는 값을 선택한다.

 


로그 변환 (Log Transformation)

 

시계열의 변동성(variability)이 시계열의 평균 수준과 함께 증가하는 경우 자주 사용되는 것이 로그 변환이다. 원 시계열(original time series)의 표준편차가 평균에 대해 선형적으로 증가한다면 로그 변환은 실제 최적의 분산 안정화 변환(optimal variancestabilizing transformation)이다. 단 이상적인(ideal)이 아니라 최적(optimal)이다.

이를 설명하기 위해 시계열을 $ y_1, y_2, \cdots, y_T $ 라 하고, $ y_t $ 의 백분율 변화에 관심있다고 가정해보자. 예를 들어 $ x_t $ 가 다음과 같다고 해보자.

$$ x_t = \frac{(y_t - y_{t-1})}{y_{t-1}} \cdot 100 $$

$ y_t $ 의 대략적인 백분율 변화는 로그 변환된 시계열의 차이로 계산 가능하다. 즉 다음과 같다.

$$ x_t \cong 100 \cdot \left( \ln y_t - \ln y_{t-1} \right) $$

Open Proof

$ 100 \cdot ( \ln y_t - \ln y_{t-1} ) = 100 \ln \left(\dfrac{y_t}{y_{t-1}}\right) $

$ = 100 \ln \left( \dfrac{y_{t-1} + (y_t - y_{t-1})}{y_{t-1}} \right) $

$ = 100 \ln \left( 1 + \dfrac{x_t}{100} \right) $

여기서 $ z $ 가 작을 때 $ \ln (1 + z) \cong z $ 라는 것을 이용할 수 있고, 이를 이용하면 다음과 같다.

$ 100 \ln \left( 1 + \dfrac{x_t}{100} \right) \cong x_t $

 

애스터로이드