본문 바로가기
Linear Algebra

대각화(1)

by winston1214 2022. 1. 4.
반응형

## 자기 회귀 모델(AR)

자기회귀모델(AR)은 시계열 분석에 많이 쓰이는 모델이다. 이러한 식은 보통 다음과 같은 식처럼 이뤄진다. 예를 들어 실제 숫자를 대입해서 해보자

$$ \xi (t) = -0.5 \xi (t-1) + 0.34 \xi (t-2) + 0.08 \xi (t-3) + 2u(t)$$

$$ init. \ \xi (0) = 0.78 , \ \xi(-1) = 0.8, \ \xi (-2) = 1.5 $$

이 때 t는 이산적인 시간 즉, 하루전 이틀전 의 시간으로 나타낸다.

이번 포스팅에서는 이런 AR 형태를 가진 모델이 안정성을 갖는지 아니면 \( \infty \) 로 발산하는 지를 알아본다.

여기서 안정성을 갖는다는 예시는 다음의 식과 같다.

$$ \xi (t) = 0.5 \xi (t-1) $$

로 \( \lim_{t \to \infty } \xi (t) \) 일 때 0이 되므로 0으로 수렴하는 식이 된다. 이를 안정성을 갖는다라고 한다.

반대로 발산하는 경우는 \( \xi (t) = 2 \xi (t-1) \) 처럼 점점 커지는 형태로 \( \infty \)로 발산하는 형태를 갖는다.

 

## 1차원인 경우

이런 안정성과 불안정성을 체크하기 전에 간단한 1차원을 통해서 먼저 알아본다.

예를 들어 \( x(t) = 7x(t-1) \) 이라는 식이 있다하자. 이를 한 번 쭉 풀어써보자

$$ x(t) = 7x(t-1) = 7 \cdot 7x(t-2) = 7 \cdot 7 \cdot 7x(t-3) = ... 7^{t} x(0) $$

이런식으로 진행이 된다. 시계열적으로 해석하면 첫번째는 하루 전에 대한 값을 이용한 정리, 두번째는 이틀 전에 대한 값을 이용한 정리, 마지막은 t일 전에 대한 값을 이용한 정리로 된다.

따라서 이런 식으로 \( x(t) = ax(t-1) \)로 정의할 수 있고 a<=1 이면 안정성을 갖고 a >1 이면 불안정성을 갖는다.

 

## 다차원인 경우(대각행렬)

위에서 말한 \( x(t) = ax(t-1) \) 에서 a가 단순 scalar가 아닌 diagonal matrix라고 해보자. 

예를 들어 \( x(t) = ( x_1 (t) , x_2 (t) , x_3 (t) )^T \) 라고 하고 식을 세워보자

$$ x(t)= \begin{pmatrix} 5 & 0 & 0 \\ 0 & -3 & 0 \\ 0 & 0 & 0.8 \end{pmatrix}  x(t-1) $$

이를 계산하면

$$ \begin{pmatrix} x_1 (t) \\ x_2 (t) \\ x_3 (t) \end{pmatrix} = \begin{pmatrix} 5x_1 (t-1) \\ -3x_2 (t-1) \\ 0.8 x_3 (t-1) \end{pmatrix} $$ 

이런 식으로 나타난다.

또한 이를 식으로 나타내면 

\begin{align} x_1 (t) = 5^t x_1 (0) \\ x_2 (t) = (-3)^t x_2 (0) \\ x_3 (t) = 0.8^t x_3(0) \end{align}

으로 나타내진다. 아까 1차원일 경우 계산한 것을 참고하면 된다.

이를 행렬로 나타내면 

$$ x(t) = \begin{pmatrix} 5^t & 0 &0 \\ 0 & (-3)^t & 0 \\ 0& 0& 0.5^t \end{pmatrix} x(0) = \begin{pmatrix} 5 & 0 &0 \\ 0 & -3& 0 \\ 0& 0& 0.5 \end{pmatrix}^t x(0) $$

로 나타낼 수 있다.

따라서 대각행렬인 경우는 간단하게 대각값의 곱으로 나타낼 수 있으며 \( Ax = (a_1 x_1 , ... , a_n x_n )^T 로 나타낼 수 있다. 여기서 대각 원소의 절대값이 하나라도 1보다 크게 되면 불안정성(발산) 하게 되고 모두 1보다 작으면 안정성을 가진다.

 

## 대각화 할 수 있는 경우

diag A 형태가 되면 쉽게 풀어낼 수 있다. 따라서 일반적인 A 행렬을 대각행렬로 변환시켜서 풀면 된다. 대부분은 거의 대각행렬로 변환할 수 있지만 변환되지 않는 경우도 있다. 일단 우선적으로 대각행렬로 변환이 가능한 행렬의 경우만 살펴본다. 대각행렬로 변환시키는 방법은 변수변환, 좌표변환 , 거듭제곱 계산 의 방식이 있다.

## 변수변환

구체적인 예를 통해서 변수 변환에 대해 설명한다. 변수 변환은 즉, 임의의 변수를 설정해서 푸는 방법이다.

위의 행렬식을 풀어서 \( y_1 (t) , y_2 (t) \) 의 식으로 풀어쓴다. 그리고 이를 이용해서 \( x_1 (t) , x_2 (t) \)로 변환 시킨다.

이렇게 전개를 하였을 때 다음과 같이 도출이 된다. 여기서 \(t \rightarrow  \infty \) 일 때 발산한다.

이렇게 식으로 풀었던 것을 행렬로 한 번 풀어본다

위 식 \( x(t) = Ax(t-1) \)를 y에 대한 식으로 풀면 \( y(t) = \Lambda y(t-1) \) 로 변형이 가능하다.  이 때 \( \Lambda \)는 \begin{pmatrix} 6 & 0 \\ 0 & 4 \end{pmatrix} 이다. \( \Lambda \)는 대각 행렬 이므로 

$$ y(t) = \Lambda^t y(0) = \begin{pmatrix} 6 & 0 \\ 0 & 4 \end{pmatrix}^{t} \begin{pmatrix} y_1 (0) \\ y_2 (0) \end{pmatrix} = \begin{pmatrix} 6^t y_1 (0) \\ 4^t y_2 (0) \end{pmatrix} $$

간단하게 풀 수 있다.

이렇게 y에 대해서 푼 식을 x에 대한 식으로 변환시켜보자

$$ \begin{pmatrix} x_1 (t) \\ x_2 (t) \end{pmatrix} = \begin{pmatrix} \frac{y_1 (t) + y_2 (t) }{2} \\ \frac{y_1 (t) - y_2 (t)}{2} \end{pmatrix} $$

이를 요약해서 풀어보자. 일단 풀기 전에 y에 대한 식으로 나타내면 \( y(t) = Cx(t) \) 가 된다. 이는 위 y에 대한 정의를 참고하면 된다. 그럼 이 때 C는 \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} 가 된다.

따라서 이를 이용하여 x(t)를 다시 정의하면 \( x(t) = C^{-1} y(t) \)가 되고 이를 풀면

$$ \begin{pmatrix} x_1(t) \\ x_2(t) \end{pmatrix} = \begin{pmatrix} 6^t / 2 & 4^t / 2 \\ 6^t / 2 & -4^t / 2 \end{pmatrix} \begin{pmatrix} y_1 (0) \\ y_2 (0) \end{pmatrix} $$

로 정리된다. 마지막으로 y를 모두 x로 바꿔주면

$$ \begin{pmatrix} x_1(t) \\ x_2(t) \end{pmatrix} = \begin{pmatrix} \frac{6^t + 4^t}{2} & \frac{6^t - 4^t}{2} \\ \frac{6^t - 4^t}{2} & \frac{6^t + 4^t}{2} \end{pmatrix} \begin{pmatrix} x_1 (0) \\ x_2 (0) \end{pmatrix} $$

이렇게 식이 정리가 된다.

지금까지 했던 내용을 정리하자면

  1. 행렬 C를 사용하여 변수 x(t)  를 다른 변수 y(t) = Cx(t) 로 변환한다.
  2. x(t) 식으로 주어진 차분방정식을 y(t) 식으로 다시 쓴다.
  3. 고쳐 쓴 식은 대각행렬(diag)가 되어서 간단하게 풀린다.
  4. y(t)를 원래의 x(t)로 되돌리면 된다.

단, 언급한 matrix C는 일대일 대응이 되는 역행렬이 존재하는 matrix여야한다.

 

이러한 방식을 일반화로 식을 정리한다.

일단 먼저 \( x(t) = Py(t) \) 에서 다른변수  y(t)로 변환하는 것을 생각해보자. 이 경우 \( x(t) = Py(t) \) 이라는 표현을 y(t)에 대해서 정리하면 \( y(t) = P^{-1} x(t) \) 로 변환된다. 이를 쭉 다시 풀어쓰면

\( y(t) =  P^{-1} x(t) = P^{-1} Ax(t-1) = P^{-1}A(Py(t-1)) = (P^{-1}AP)y(t-1) \) 로 되는데 이는 앞서 본 식 \( y(t) = \Lambda y(t-1) \) 에서 \( \Lambda = P^{-1}AP \) 가 된다. 여기서 만약 \( \Lambda \)가 diag matrix이면 앞서 언급한 내용과 같이 간단하게 구해진다.

따라서 결국 \( P^{-1} A P \)를 구하는 것이 핵심이고 이를 대각화 라고 한다.

대각화에 대해 더욱 자세히 알아보는 것은 다음 포스팅에서 한다.

반응형

'Linear Algebra' 카테고리의 다른 글

Eigen value, Eigen Vector  (0) 2022.02.08
대각화(2)  (0) 2022.01.20
역행렬이 존재할 때와 존재하지 않을 때  (0) 2022.01.02
Rank 계산  (0) 2022.01.02
차원 정리 및 Rank  (0) 2021.12.31

댓글