# 파라미터 추정 및 시스템 식별

시스템 모델링에서 중요한 단계 중 하나는 시스템의 파라미터를 추정하고, 이를 통해 시스템을 식별하는 과정이다. 일반적으로 시스템의 동작을 수학적으로 표현할 수 있지만, 그 수학적 모델의 파라미터는 실험 데이터를 통해 추정해야 하는 경우가 많다. 이 과정은 특히 실세계에서 사용되는 제어 시스템에 필수적이다.

#### 파라미터 추정의 개념

파라미터 추정이란, 시스템의 입력과 출력 데이터를 바탕으로 미지의 파라미터를 결정하는 과정을 말한다. 파라미터 추정 과정은 크게 두 가지로 나눌 수 있다.

1. **오프라인 추정**: 데이터를 수집한 후, 데이터를 바탕으로 파라미터를 추정하는 방법이다.
2. **온라인 추정**: 시스템이 동작하는 동안 실시간으로 데이터를 기반으로 파라미터를 추정하는 방법이다.

파라미터 추정의 대표적인 방법에는 최소자승법(Least Squares Method), 최대우도추정법(Maximum Likelihood Estimation), 베이즈 추정법(Bayesian Estimation) 등이 있다.

#### 최소자승법

최소자승법은 파라미터 추정에서 가장 널리 사용되는 방법 중 하나이다. 주어진 시스템의 출력 $\mathbf{y}(t)$와 모델의 출력 $\hat{\mathbf{y}}(t)$ 간의 차이를 최소화하는 파라미터 $\boldsymbol{\theta}$를 찾는 것이 목표이다. 즉, 다음과 같은 손실 함수 $J(\boldsymbol{\theta})$를 최소화한다.

$$
J(\boldsymbol{\theta}) = \sum\_{t=1}^{N} \left( \mathbf{y}(t) - \hat{\mathbf{y}}(t, \boldsymbol{\theta}) \right)^2
$$

여기서:

* $\mathbf{y}(t)$는 실제 시스템의 출력 데이터
* $\hat{\mathbf{y}}(t, \boldsymbol{\theta})$는 모델의 출력으로, 파라미터 $\boldsymbol{\theta}$에 의존한다.
* $N$은 데이터의 총 개수이다.

이 손실 함수 $J(\boldsymbol{\theta})$를 최소화하기 위해 미분하여 $\boldsymbol{\theta}$에 대해 최적화할 수 있다.

#### 시스템 식별의 개념

시스템 식별이란, 시스템의 입력 및 출력 데이터를 바탕으로 시스템의 수학적 모델을 결정하는 과정을 말한다. 시스템 식별은 두 가지 주요 방식으로 이루어진다.

1. **블랙박스 모델링**: 시스템 내부 구조에 대한 정보 없이, 입력과 출력 데이터만을 바탕으로 모델을 구축하는 방식이다. 주로 전달함수 또는 상태 공간 모델로 시스템을 표현한다.
2. **그레이박스 모델링**: 시스템에 대한 일부 정보가 주어진 상태에서, 미지의 파라미터를 추정하여 모델을 완성하는 방식이다.

시스템 식별의 과정에서는 입력 $\mathbf{u}(t)$와 출력 $\mathbf{y}(t)$ 간의 관계를 규명해야 하며, 이 관계는 다음과 같은 형태로 나타낼 수 있다.

$$
\mathbf{y}(t) = f(\mathbf{u}(t), \boldsymbol{\theta}) + \mathbf{e}(t)
$$

여기서:

* $\mathbf{u}(t)$는 입력 벡터,
* $\mathbf{y}(t)$는 출력 벡터,
* $\boldsymbol{\theta}$는 시스템 파라미터,
* $\mathbf{e}(t)$는 측정 오차이다.

시스템 식별 과정은 이 함수 $f(\mathbf{u}(t), \boldsymbol{\theta})$를 결정하고, 파라미터 $\boldsymbol{\theta}$를 추정하는 데 초점을 맞춘다.

#### 시스템 식별 방법

시스템 식별에는 여러 가지 기법이 존재하며, 이를 통해 입력과 출력 데이터로부터 시스템을 모델링할 수 있다. 대표적인 시스템 식별 방법은 다음과 같다.

**ARX (Auto-Regressive with eXogenous input) 모델**

ARX 모델은 가장 간단한 형태의 선형 시스템 모델로, 입력과 출력 간의 관계를 회귀 모델로 나타낸다. 이 모델의 구조는 다음과 같다.

$$
\mathbf{y}(t) = \sum\_{i=1}^{n\_a} a\_i \mathbf{y}(t-i) + \sum\_{i=1}^{n\_b} b\_i \mathbf{u}(t-i) + \mathbf{e}(t)
$$

여기서:

* $a\_i$와 $b\_i$는 각각 출력과 입력에 대한 회귀 계수이다.
* $n\_a$와 $n\_b$는 각각 출력과 입력의 회귀 차수이다.
* $\mathbf{e}(t)$는 백색 잡음(white noise) 항이다.

ARX 모델은 단순하면서도 계산량이 적고, 해석이 쉬워 시스템 식별에서 자주 사용된다. 하지만 출력과 입력의 관계를 선형으로 가정하기 때문에 비선형 시스템에 대해서는 부적합할 수 있다.

**ARMAX (Auto-Regressive Moving Average with eXogenous input) 모델**

ARMAX 모델은 ARX 모델에 이동 평균(Moving Average, MA) 항을 추가한 모델이다. 이동 평균 항은 시스템 출력에 나타나는 잡음을 더욱 정확하게 모델링할 수 있다. 모델의 수식은 다음과 같다.

$$
\mathbf{y}(t) = \sum\_{i=1}^{n\_a} a\_i \mathbf{y}(t-i) + \sum\_{i=1}^{n\_b} b\_i \mathbf{u}(t-i) + \sum\_{i=1}^{n\_c} c\_i \mathbf{e}(t-i) + \mathbf{e}(t)
$$

여기서:

* $c\_i$는 이동 평균 항의 계수이다.
* $n\_c$는 이동 평균 항의 차수이다.

ARMAX 모델은 ARX 모델보다 복잡하지만, 잡음 모델링이 더 정확하여 실제 시스템에서의 적용이 더 넓다.

**Box-Jenkins 모델**

Box-Jenkins 모델은 시스템의 동적 성능뿐만 아니라 잡음 모델까지 포함하여 시스템을 더욱 정밀하게 식별하는 방법이다. 이 모델은 다음과 같이 표현된다.

$$
\mathbf{y}(t) = \frac{B(q)}{A(q)} \mathbf{u}(t) + \frac{C(q)}{D(q)} \mathbf{e}(t)
$$

여기서:

* $A(q)$, $B(q)$, $C(q)$, $D(q)$는 각각 이동 연산기 $q$에 대한 다항식이다.
* $q$는 시차 연산자로 $q^{-1}$은 한 시점 이전의 값을 나타낸다.

Box-Jenkins 모델은 파라미터 추정에서 더 높은 정확도를 요구하는 상황에서 주로 사용된다.

**상태 공간 모델**

상태 공간 모델은 시스템을 상태 벡터로 표현하여 시스템의 동작을 설명하는 방법이다. 상태 공간 모델은 다음과 같은 두 가지 방정식으로 표현된다.

$$
\mathbf{x}(t+1) = \mathbf{A} \mathbf{x}(t) + \mathbf{B} \mathbf{u}(t)
$$

$$
\mathbf{y}(t) = \mathbf{C} \mathbf{x}(t) + \mathbf{D} \mathbf{u}(t)
$$

여기서:

* $\mathbf{x}(t)$는 상태 벡터,
* $\mathbf{A}$, $\mathbf{B}$, $\mathbf{C}$, $\mathbf{D}$는 상태 공간 모델의 매트릭스이다.

상태 공간 모델은 시스템의 동작을 상태 벡터 $\mathbf{x}(t)$를 통해 기술하며, 입력과 출력의 관계를 설명하는 매우 일반적인 모델이다.

#### 시스템 식별 과정에서의 가정과 한계

시스템 식별에서 사용되는 방법들은 일반적으로 몇 가지 가정하에 이루어진다. 이러한 가정들은 모델의 단순성을 높이지만, 실세계 시스템에서는 항상 성립하지 않을 수 있다.

1. **선형성 가정**: 대부분의 시스템 식별 방법은 시스템이 선형적이라고 가정한다. 하지만 많은 실제 시스템은 비선형적인 특성을 가지므로, 선형 모델로는 정확하게 설명되지 않을 수 있다.
2. **노이즈의 백색성 가정**: 시스템 식별에서는 잡음이 백색 잡음(white noise)이라고 가정하는 경우가 많다. 즉, 잡음은 평균이 0이고 분산이 일정하며 시간에 대한 상관관계가 없는 독립적인 데이터로 간주한다. 하지만 실제 잡음은 이러한 특성을 가지지 않을 수 있다.
3. **정상성 가정**: 일부 방법에서는 시스템이 시간이 지나도 일정한 특성을 유지하는 정상 시스템(stationary system)이라고 가정한다. 그러나 실제 시스템은 시간에 따라 동적 특성이 변하는 경우가 많다.

이러한 가정과 한계는 시스템 식별의 정확성에 영향을 미칠 수 있으며, 시스템을 더 정확하게 모델링하려면 비선형 모델이나 시변 모델이 필요할 수 있다.
