Data Science Fundamentals

ARX(AutoRegressive with eXogenous inputs) 모델 알아보기

jisuleee 2026. 6. 19. 10:15

목차는 아래와 같다.

1. ARX 모델이란?
2. ARX 모델의 구조
3. 실습

 

1. ARX 모델이란?

1) ARX 모델의 정의

ARX(AutoRegressive with eXogenous inputs)모델은 시계열 데이터의 현재값을 과거의 출력 및 외부 입력으로 설명하는 대표적인 선형 동적 모델이다. 특히 입력과 출력 데이터가 모두 존재하는 환경에서 시스템의 동적 특성을 분석하거나 미래 상태를 예측하는 목적으로 활용된다.

 

 ARX는 두 가지 구성요소에서 유래한다.

  • AutoRegressive (AR): 과거 출력값의 영향
  • eXogenous inputs (X): 외부 입력의 영향

즉, ARX 모델은 "현재 상태는 과거 상태와 외부 자극의 영향을 동시에 받는다"는 가정에 기반한 모델이다.

 

$$y(t)=\Sigma_{i=1}^{n_a}a_iy(t-i)+\Sigma_{j=1}^{n_b}b_ju(t-j)+e(t)$$

 

여기에서 $y(t)$는 현재 출력값, $y(t-i)$는 i시점 이전의 과거 출력 값, $u(t-j)$는 i시점 이전의 과거 외부 입력값, 

$a_i$는 자기 회귀 계수, $b_j$는 입력 영향 계수, $e(t)$는 오차항, $n_a$와 $n_b$는 출력 및 입력 차수를 의미한다.

 

2) ARX 모델의 파라미터 추정

일반적으로 ARX 모델을 구축한다는 것은 결국 계수 $a_i$와 $b_j$를 추정하는 과정이라고 볼 수 있다.

예를 들어 

$$y(t)=0.8y(t-1)+0.1u(t-1)$$

라는 모델은 "현재 상태의 80%는 직전 상태에 의해 결정되고, 외부 입력은 10% 정도 영향을 미친다"고 해석할 수 있다.

 

ARX 모델은 수식이 선형 구조를 가지므로 아래와 같은 행렬 형태로 변환할 수 있다.

$$Y=\Phi \theta +E$$

이때 $Y$는 실제 출력, $\Phi$는 데이터 행렬, $\theta$는 찾고자하는 파라미터, $E$는 오차이다.


*대표적인 파라미터 추정 방법

최소제곱법(Least Squares)

실제값과 예측값의 차이로 계산되는 오차(error)를 단순히 더하면 양수와 음수가 상쇄되는 문제가 발생한다.

이러한 문제를 방지하고자 오차를 제곱하여 사용함으로써 양수/음수 상쇄가 발생하지 않고 큰 오차에 더 큰 패널티를 줄 수 있다.

 

특히 ARX 모델은 계수들이 선형적으로 존재하기 때문에, 복잡한 신경망처럼 반복 학습을 수행할 필요 없이 최소 제곱법으로 한 번에 계산할 수 있다. 계산 및 구현이 쉽고, 해석이 명확하기 때문에 ARX 모델의 대표적인 파라미터 추정 방법으로 활용된다.

 

최소제곱법은 다음을 최소로 만드는 파라미터를 찾는다.

$$J=\Sigma_{t=1}^Ne(t)^2=\Sigma_{t=1}^N((y(t)-\hat{y}(t))^2$$

이때 $e(t)$는 예측 오차, $N$은 데이터 개수, $y(t)$는 실제값, $\hat{y}(t)$는 모델의 예측값을 의미한다.

 

선형대수학에서 증명되는 결과에 따르면, 오차제곱합을 최소로 만드는 파라미터 $\hat{\theta} $

아래 정규방정식(Normal Equation)을 통해 계산할 수 있다.

$$\hat{\theta}=(\Phi^T\Phi)^{-1}\Phi^TY$$

 

더보기

<정규방정식 유도하기>

 

ARX 모델의 행렬 형태 $Y=\Phi \theta +E$에서 오차를 정의하자.

$$E=Y-\Phi\theta$$

 

최소제곱법은 오차($E$) 제곱합($J=E^TE$)이 최소가 되도록 $\theta$를 찾는 것을 목표로 한다.

 

$J$에 $E$를 대입하고 전개하면

$$
\begin{align}
J &= (Y-\Phi\theta)^T(Y-\Phi\theta) \\
&= Y^TY-Y^T\Phi\theta-\theta^T\Phi^TY+\theta^T\Phi^TY+\theta^T\Phi^T\Phi\theta \\
&= Y^TY-2\theta^T\Phi^TY+\theta^T\Phi^T\Phi\theta
\end{align}
$$

 

$J$를 최소화하기 위해 $\theta$로 미분하면

$$\frac{\partial J}{\partial \theta}=-2\Phi^{T}Y+2\Phi^{T}\Phi\theta$$

 

$\theta$에 대해 정리하면 $$\hat{\theta}=(\Phi^T\Phi)^{-1}\Phi^TY$$이 나온다.


2. ARX 모델의 구조

1) AutoRegressive(AR)

과거 출력값이 현재 출력값에 미치는 영향을 나타낸다.

$$y(t)=a_ty(t-1)+a_2y(t-2)=...$$

예를 들어 현재의 실내 온도가 5분 전, 10분 전 실내온도와 높은 상관관계를 가진다면 이러한 특성을 AR 부분이 표현하게 된다. 

즉, 시스템의 관성(Inertia) 또는 상태 지속성(Persistence)을 모델링하는 역할을 한다.

 

2) eXogenous Input(X)

외부 입력이 시스템에 미치는 영향을 나타낸다.

$$y(t)=b_1u(t-1)+b_2u(t-2)+...$$

예를 들어, 난방기 출력, 창문 개도율, 냉방기 가동 여부와 같은 제어 입력이 실내온도에 영향을 미친다면 이를 X 부분이 설명한다.


3. 실습

 

연습 코드 다운로드:

arx_basic_example.ipynb
0.07MB