# 시계열 분석과 상태공간 모델

#### 이산 시계열의 기본 개념

시계열은 시간 축에 따라 순서 있게 관측된 데이터 열이다. 이를 다루는 가장 기초적인 방법은 확률적 과정을 가정하여 미래의 관측값을 예측하거나 현재 시점에서 관측되지 않은 값을 추정하는 것이다. 센서 퓨전에서 시간축상의 정보 결합은 필연적으로 발생하므로, 시계열 모델에 대한 이해는 센서 데이터를 최적화된 방식으로 해석하는 핵심이 된다.

이산 시계열에서 시점은 $t=1,2,3,\dots$ 같은 자연수로 표현된다. 시계열 데이터가 $x\_1, x\_2, x\_3, \dots$로 관측된다면, 이 데이터가 생성되는 확률적 메커니즘을 모형화하는 것이 중요하다. 실제로 대부분의 센서 측정값은 잡음이 포함되어 있고, 외부 환경에 의존적인 구조적 변동이 있을 수 있다. 이런 잡음과 구조적 변동을 구분하여 분석하면 추정 성능을 높일 수 있다.

시계열 분석 기초에서 중요한 개념 중 하나는 정상성(stationarity)이다. 시계열이 정상(stationary)이려면 분산과 자기공분산이 시간에 따라 불변이어야 한다. 그러나 현실적 시계열은 종종 추세(trend)나 계절성(seasonality)을 포함하기 때문에 비정상(non-stationary)이 된다. 센서 데이터의 경우에도 환경이 바뀌거나 센서가 노후화되는 등의 이유로 장기 추세나 변동이 나타날 수 있다. 이를 처리하기 위해 차분(differencing) 기법을 사용하거나, 비정상성을 직접 반영할 수 있는 모형을 적용한다.

#### 자기회귀(AR) 모형과 확장

가장 간단한 확률적 시계열 모형 중 하나로 자기회귀(Autoregressive, AR) 모형이 있다. $p$차 AR 모형은 현재 시점의 값이 과거 $p$개 항의 선형 결합 및 잡음에 의해 결정된다고 가정한다. 이를 수식으로 표현하면

$$
\begin{align} x\_{t} &= \phi\_1 x\_{t-1} + \phi\_2 x\_{t-2} + \dots + \phi\_p x\_{t-p} + \epsilon\_t  \end{align}
$$

여기서 $\phi\_1, \dots, \phi\_p$는 모수, $\epsilon\_t$는 평균 0이고 분산 $\sigma\_\epsilon^2$를 갖는 백색잡음(white noise) 항이다. 이 모형이 정상성을 만족하려면 AR 특성방정식의 근들이 모두 단위원 밖에 존재해야 한다.

AR 모형은 비교적 간단하며, 과거 값들 사이의 의존관계를 빠르게 파악할 수 있는 장점이 있다. 그러나 센서에서 취득되는 시계열이 잡음뿐 아니라 다양한 주파수 대역의 변동, 혹은 외부 충격에 따른 급격한 변화를 나타낼 때는 좀 더 복합적인 모형으로 확장할 필요가 있다.

#### 이동평균(MA) 모형과 ARMA 모형

이동평균(Moving Average, MA) 모형은 과거 잡음 항들의 선형 결합으로 현재값이 표현되는 구조를 갖는다. $q$차 MA 모형은

$$
\begin{align} x\_{t} &= \epsilon\_t + \theta\_1 \epsilon\_{t-1} + \theta\_2 \epsilon\_{t-2} + \dots + \theta\_q \epsilon\_{t-q}  \end{align}
$$

와 같이 쓸 수 있다. AR 모형과 달리 MA 모형은 관측값보다 과거 잡음 항들에 초점을 맞추며, 단기 예측 성능에서 이점이 있다.

AR 모형과 MA 모형을 결합한 형태가 ARMA($p, q$) 모형이다.

$$
\begin{align} x\_{t} &= \phi\_1 x\_{t-1} + \dots + \phi\_p x\_{t-p} + \epsilon\_t + \theta\_1 \epsilon\_{t-1} + \dots + \theta\_q \epsilon\_{t-q}  \end{align}
$$

ARMA 모형은 시계열 분석에서 가장 널리 쓰이는 기본적 도구 중 하나다. 센서에서 관측된 데이터가 정상성을 만족한다고 가정하면 ARMA 모형을 통해 비교적 적은 차수로도 상당히 정확한 예측과 잡음 모델링이 가능하다.

#### ARIMA와 비정상성 처리

실제 센서 데이터는 장기적 추세나 계절성이 있어 비정상적 특성을 갖는 경우가 많다. 이런 경우 차분(difference) 연산으로 비정상성을 제거한 뒤 ARMA 모형을 적용한다. 이를 통칭하여 ARIMA($p, d, q$) 모형이라고 부른다. 여기서 $d$는 차분(differencing)의 차수다. 예를 들어 1차 차분을 사용하면

$$
\begin{align} (1 - B)x\_t &= \nabla x\_t = x\_t - x\_{t-1} \end{align}
$$

와 같이 표현되며, 여기서 $B$는 시프트 연산자(Backshift operator)로 $Bx\_t = x\_{t-1}$를 의미한다. 따라서

$$
\begin{align} (1 - B)^d x\_t = (1 - B)(1 - B)\dots(1 - B)x\_t \end{align}
$$

와 같이 $d$차 차분을 취함으로써 비정상성이 제거되면, 차분한 데이터에 ARMA 모델을 적용한다. 이는 센서 데이터가 단순한 정상성을 만족하지 않을 때 유용하다. 예컨대 온도 센서, 기압 센서, 또는 플랫폼이 장기적으로 드리프트(drift)를 일으키는 관성 센서 등의 데이터에서 효과적이다.

#### 상태공간 모델로의 전환

시계열을 ARIMA 계열 모형으로 다루는 것은 편리하지만, 센서 퓨전 단계에서는 다차원 관측, 동적 시스템의 설계 파라미터 추정, 노이즈 공분산의 변화 등을 좀 더 구조적으로 고려해야 한다. 이때 상태공간(State-Space) 모델이 유용하다. 상태공간 모델은 다음과 같이 표현한다.

$$
\begin{align} \mathbf{x}\_{t+1} &= \mathbf{F}\_t \mathbf{x}\_t + \mathbf{u}\_t + \mathbf{w}\_t  \mathbf{z}\_t &= \mathbf{H}\_t \mathbf{x}\_t + \mathbf{v}\_t \end{align}
$$

여기서

* $\mathbf{x}\_t$는 크기가 $n$인 상태(state) 벡터,
* $\mathbf{z}\_t$는 크기가 $m$인 관측(observation) 벡터,
* $\mathbf{F}\_t$는 $n \times n$ 크기의 상태 전이(transition) 행렬,
* $\mathbf{H}\_t$는 $m \times n$ 크기의 관측(observation) 행렬,
* $\mathbf{u}\_t$는 시스템에 대한 제어(control) 혹은 입력(input) 항,
* $\mathbf{w}\_t$와 $\mathbf{v}\_t$는 각각 과정(process) 잡음과 관측 잡음을 의미한다.

이 구조에서 잡음 항은 보통 다음과 같이 가정한다.

$$
$ \mathbf{w}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}\_t ), \quad \mathbf{v}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{R}\_t )
$$

상태공간 모델은 시스템의 동학(dynamics)과 관측 사이의 관계를 명시적으로 반영하기 때문에, 여러 센서에서 얻은 다양한 종류의 측정값을 일관성 있게 통합하는 데 효과적이다. 특히 칼만필터나 확장 칼만필터, 혹은 입자필터(particle filter) 등의 기법으로 상태 추정을 수행하면, 시계열 분석 기법을 확률적 상태 추정으로 일반화할 수 있다.

#### AR, ARMA 계열 모형과 상태공간 표현의 관계

실제로 AR 혹은 ARMA 모형은 상태공간 모델로 재구성될 수 있다. 예를 들어 2차 AR 모형인

$$
\begin{align} x\_t &= \phi\_1 x\_{t-1} + \phi\_2 x\_{t-2} + \epsilon\_t \end{align}
$$

을 상태공간 형태로 표현하기 위해 다음과 같이 상태변수를 설정해보자.

$$
\begin{align} \mathbf{x}*t &= \begin{bmatrix} x\_t \ x*{t-1} \end{bmatrix} \end{align}
$$

이 경우

$$
\begin{align} \mathbf{x}\_{t+1} &= \begin{bmatrix} \phi\_1 & \phi\_2 \ 1 & 0 \end{bmatrix} \mathbf{x}\_t + \begin{bmatrix} \epsilon\_t \ 0 \end{bmatrix} \\
\mathbf{z}\_t &=  \begin{bmatrix} 1 & 0 \end{bmatrix} \mathbf{x}\_t \end{align}
$$

로 나타낼 수 있다. 이를 통해 단순한 AR 모형도 상태공간으로 해석 가능함을 알 수 있다. ARMA 모형에서도 비슷하게 보조변수를 도입하여 확장된 상태공간 형태로 기술할 수 있으며, 결과적으로 시계열 분석과 동적 시스템 이론이 공통의 틀에서 정합됨을 보여준다.

이처럼 상태공간 모델은 시계열 분석, 특히 ARMA 계열 모델과 호환 가능하면서도 센서 퓨전에 필요한 다차원 확장성을 제공한다. 다음 단계에서는 센서 퓨전에 직접 적용되는 상태공간 모델의 구체적 형태와, 잡음 공분산 추정 등 고급 기법을 다룰 수 있다.

#### 비선형 상태공간 모델

현실에서 많은 센서 데이터는 비선형적 동역학이나 비선형 관측 함수를 갖는 물리적 과정을 반영한다. 예를 들어 로봇의 궤적 추정 문제에서 회전 운동이나 센서의 측정 과정 자체가 선형성을 깨는 경우가 일반적이다. 이때 상태공간 모델은 다음과 같은 형태를 갖는다.

$$
\begin{align} \mathbf{x}\_{t+1} &= f(\mathbf{x}\_t, \mathbf{u}\_t) + \mathbf{w}\_t  \\
\mathbf{z}\_t &= h(\mathbf{x}\_t) + \mathbf{v}\_t  \end{align}
$$

여기서 $f(\cdot)$는 비선형 상태 전이 함수, $h(\cdot)$는 비선형 관측 함수다. $\mathbf{w}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}\_t)$, $\mathbf{v}\_t \sim \mathcal{N}(\mathbf{0}, \mathbf{R}\_t)$인 가우시안 잡음을 두었다고 가정하면, 비선형 필터링 기법이 요구된다.

비선형 상태공간 모델을 분석하기 위해서는 확장 칼만필터(Extended Kalman Filter, EKF)나 언센티드 칼만필터(Unscented Kalman Filter, UKF) 같은 선형화 혹은 근사화 기법을 사용한다. 잡음 항이 가우시안이라는 가정 하에서 이들 방법은 비교적 계산량이 적으면서도 만족스러운 추정 성능을 제공한다. 그럼에도 불구하고 상태공간 차원이 커지거나 잡음 분포가 크게 편차를 보이면 보편적 근사(filtering)를 위해 입자필터(Particle Filter, PF) 같은 몬테카를로 기법이 널리 쓰인다.

#### 확장 칼만필터(EKF)

확장 칼만필터는 비선형 모델을 국소적으로 선형화하는 접근을 취한다. $f(\cdot)$와 $h(\cdot)$를 1계 테일러 전개하여 상태 예측과 관측 예측을 각각 1차 근사함으로써, 선형 칼만필터와 유사한 형태의 업데이트 식을 얻는다. 상태예측 단계는

$$
\begin{align} \hat{\mathbf{x}}*{t+1|t} &= f(\hat{\mathbf{x}}*{t|t}, \mathbf{u}*t)\\
\mathbf{P}*{t+1|t} &= \mathbf{F}*t \mathbf{P}*{t|t} \mathbf{F}\_t^\top + \mathbf{Q}\_t \end{align}
$$

의 형태이고, 관측 업데이트 단계는

$$
\begin{align} \mathbf{K}*t &= \mathbf{P}*{t|t-1}\mathbf{H}\_t^\top \bigl(\mathbf{H}*t \mathbf{P}*{t|t-1}\mathbf{H}*t^\top + \mathbf{R}*t\bigr)^{-1}\\
\hat{\mathbf{x}}*{t|t} &= \hat{\mathbf{x}}*{t|t-1} + \mathbf{K}*t\bigl(\mathbf{z}*t - h(\hat{\mathbf{x}}*{t|t-1})\bigr)\\
\mathbf{P}*{t|t} &= \bigl(\mathbf{I} - \mathbf{K}\_t \mathbf{H}*t\bigr)\mathbf{P}*{t|t-1} \end{align}
$$

의 형태가 된다. 여기서 $\mathbf{F}*t = \frac{\partial f}{\partial \mathbf{x}} \bigl\vert*{\hat{\mathbf{x}}\_{t|t}, \mathbf{u}*t}$와 $\mathbf{H}t = \frac{\partial h}{\partial \mathbf{x}} \bigl\vert{\hat{\mathbf{x}}*{t|t-1}}$는 상태와 관측 방정식을 1차 선형화한 야코비(Jacobian) 행렬이다. EKF는 상황에 따라 국소적 선형화 오차가 누적될 수 있다는 단점이 있으나, 실제 센서 퓨전 환경에서 많은 응용에서 폭넓게 사용된다.

#### 언센티드 칼만필터(UKF)

언센티드 칼만필터는 선형화를 직접 수행하는 대신, 언센티드 변환(Unscented Transform)이라 불리는 확률적 샘플링 기법을 사용한다. 가우시안 분포로 가정한 상태추정치 $\hat{\mathbf{x}}*{t|t}$와 공분산 $\mathbf{P}*{t|t}$에 대해, 시그마 포인트(sigma point)라는 적절한 표본 집합을 생성한 뒤 이를 비선형 함수 $f(\cdot)$와 $h(\cdot)$에 통과시켜 상태예측과 관측예측을 수행한다. 이 과정을 통해 1차 테일러 전개보다 더 정확한 근사 결과를 얻을 수 있다. 특히 강한 비선형성이 존재하는 문제에서도 EKF보다 정밀한 추정이 가능한 경우가 많다.

언센티드 칼만필터는 시그마 포인트 생성 과정에서

$$
\mathbf{\chi}*{t|t} = \hat{\mathbf{x}}*{t|t} \pm \sqrt{(n + \lambda)\mathbf{P}\_{t|t}}
$$

등의 연산을 통해 $2n + 1$개의 시그마 포인트를 만든다. 여기서 $n$은 상태 차원, $\lambda$는 알고리즘 튜닝 파라미터다. 이렇게 생성된 점들을 비선형 맵에 통과시키고, 그 결과로 얻어지는 출력 분포를 다시 가우시안으로 근사하여 공분산 업데이트를 수행한다.

#### 입자필터(Particle Filter)

심각하게 비선형적이거나 다봉(multi-modal) 성격의 분포, 혹은 가우시안 잡음 가정이 맞지 않는 상황에서는 몬테카를로 방법론인 입자필터가 활용된다. 입자필터는 중요도 샘플링(importance sampling)과 재샘플링(resampling)을 통해 상태공간에 대한 확률분포를 표본 집합(입자)으로 표현한다. 간단히 말해, 여러 개의 입자를 시간에 따라 예측 단계에서 상태 전이를 통해 이동시키고, 관측 단계에서 각 입자의 가중치를 관측 모델에 따라 갱신한 뒤, 재샘플링을 통해 높은 가중치를 가진 입자들을 중점적으로 보존한다. 이를 통해 필터는 임의 형태의 확률분포를 근사할 수 있다.

입자필터는 차원이 큰 상태공간에서는 샘플 수가 기하급수적으로 증가해야 한다는 문제점을 갖는다. 그러나 센서 퓨전 문제에서 상태 차원이 비교적 크지 않거나, 분포가 다봉인 특수 상황(예: 로봇 위치추정 문제에서 지도 정보가 부분적으로 중첩되는 경우)에 유용하다. 또, 병렬 계산이 용이해 하드웨어적으로 가속하기 쉬운 장점도 있어 다양한 실시간 센서 융합 시스템에 실제 적용되기도 한다.

#### 시계열 분석과 베이지안 필터링의 통합적 시각

시계열 분석에 사용되는 AR, ARMA, ARIMA 모형은 선형 동특성과 가우시안 잡음을 가정한다면 상태공간 모델로 직접 치환하여 칼만필터 계열로 풀 수 있다. 이 과정을 베이지안 필터링 관점에서 보면 AR 계열 모형의 모든 단계가 선형 가우시안 문제로 귀결되므로, 칼만필터가 최적 추정량을 제공한다. 비정상성이나 비선형성, 혹은 특수 분포 조건이 있다면 해당 문제에 맞게 확장 칼만필터, 언센티드 칼만필터, 입자필터 등을 적용할 수 있다.

센서퓨전에서 가장 중요한 점은 여러 센서에서 시계열적으로 관측된 데이터를 한꺼번에 최적 추정치로 모으는 과정이다. 이때 상태공간 모델은 동적 시스템과 관측 시스템을 명확히 구분하여, 센서가 많아지더라도 구조적 확장을 비교적 단순화할 수 있다. 상태벡터의 차원을 늘리고 관측행렬을 블록 형태로 구성하면, 여러 센서가 동시에 혹은 비동기적으로 관측하는 상황까지도 수용 가능하다. 결과적으로 시계열 분석의 통계적 기법과 베이지안 필터링이 융합되어, 센서 데이터에서 노이즈를 제거하고, 잠재 상태를 추정하며, 미래 상태나 관측을 예측하는 전 과정을 아우르는 체계를 구축하게 된다.

#### 동적 공분산 추정과 적응형 필터

현실에서는 잡음 공분산 $\mathbf{Q}\_t$와 $\mathbf{R}\_t$가 시간에 따라 달라지는 비정상적 상황이 종종 발생한다. 예를 들어 센서 노이즈는 온도, 전력 상태, 노후화 등에 따라 동적으로 변할 수 있고, 시스템 공정 잡음 또한 외부 충격이나 임의 교란 요소에 따라 세기가 달라질 수 있다. 이를 적절히 추정하지 못하면 필터 성능이 크게 떨어진다. 따라서 적응형(adaptive) 칼만필터(또는 그 확장형들)가 제안되어 왔다.

적응형 필터는 $\mathbf{Q}\_t$와 $\mathbf{R}\_t$를 직접 추정하거나, 필터의 잔차(residual) 통계를 추적하여 동적으로 공분산을 업데이트하는 다양한 알고리즘을 사용한다. 예를 들어 잔차 $\mathbf{z}*t - \hat{\mathbf{z}}*{t|t-1}$의 분포가 필터 초기 설계와 부합하지 않으면, 이를 근거로 $\mathbf{R}\_t$를 재조정한다. 또, 시스템 실험 데이터를 이용해 공분산 변화를 학습하거나, 온라인 EM 알고리즘을 통해 최대우도 추정을 시도하기도 한다.

#### 시계열 모델에서의 관측 누락(missing data) 처리

센서퓨전 상황에서 때로는 어떤 센서가 특정 시점에서 데이터를 놓치거나, 통신 장애로 인해 값이 유효하지 않을 수 있다. 이 경우 상태공간 모델을 유지하면서 관측 벡터 $\mathbf{z}\_t$가 특정 성분만 측정되거나 전부 누락(missing)된 상황을 고려해야 한다.

관측이 일부만 유효할 때는 관측행렬 $\mathbf{H}\_t$를 시점별로 다르게 설정하거나, 누락된 값에 대해 필터가 업데이트를 수행하지 않도록 설정해 문제를 해결할 수 있다. 전부 누락된 시점에는 관측 업데이트 없이 상태예측 단계만 수행하면 된다. 시계열 분석적 관점에서도 관측 누락이 발생하면, 누락값을 추정하는 보간(interpolation) 기법을 적용하거나 EM 알고리즘으로 파라미터와 누락값을 동시에 추정하기도 한다. 상태공간 모델은 EM 알고리즘의 E-step에서 필터와 스무딩(smoothing) 과정을 수행하고, M-step에서 최대우도 추정으로 파라미터를 갱신함으로써 누락 데이터를 자연스럽게 처리할 수 있다.

#### 시계열 예측과 센서퓨전에서의 활용

시계열 예측(time series forecasting)은 미래 시점의 상태나 관측값을 추정하는 과정이다. 센서퓨전 과정에서 미래의 관측값을 미리 추정하여 제어 시스템의 선행 제어(anticipatory control)에 활용할 수도 있고, 센서 노이즈 처리나 이상치(outlier) 감지를 위해 예측값과 실제 측정값을 비교해 안정성을 검토하기도 한다. 상태공간 모델에서 예측 문제는 간단히 상태예측 단계와 관측 모형을 통해 확장할 수 있다. AR 계열 모델에서는 미래 값을 직전 값들로만 계산했지만, 상태공간 접근에서는 시스템 동학과 관측 방정식을 종합적으로 사용한다.

센서퓨전에서의 예측은 단순히 스칼라 값 한두 개가 아니라, 로봇의 위치·자세 전반이나 자율주행 차량의 경로, 산업공정에서의 여러 센서들의 상호작용 등을 고려해야 하므로, 다차원 시계열 모델링이 필수적이다. 이때 상태공간 접근은 선형·비선형·고차원·비정상 특성을 통합적으로 다룰 수 있는 기반을 제공하므로, 센서퓨전의 핵심 역할을 하게 된다.

이제까지 시계열 분석에서 출발해 상태공간 모델과 칼만필터 계열, 그리고 적응형 및 비선형 필터링 기법까지의 개념을 살펴보았다. 센서퓨전의 실질적 적용에서는 이들을 어떻게 설계하고 구현하는지, 어떤 성능 지표를 통해 모델의 유효성을 검증하는지가 실무적 관심사가 된다. 이러한 부분은 다음 내용에서 좀 더 구체적으로 다룰 수 있다.

#### 스무딩(smoothing)과 과거 상태 추정

시계열 분석과 상태공간 모델에서 중요한 과정 중 하나는 단순히 현재 상태나 미래 상태를 예측하는 것뿐 아니라, 이미 지나간 과거 시점의 상태를 더 정확히 추정하는 스무딩(smoothing) 기법이다. 일반적인 칼만필터는 순방향(forward)으로 진행하면서 $p(\mathbf{x}*t|\mathbf{z}*{1:t})$를 구하지만, 추가로 미래 관측값 $\mathbf{z}\_{t+1:T}$가 주어졌을 때 $p(\mathbf{x}*t|\mathbf{z}*{1:T})$를 구하면 과거 시점의 상태 추정치를 더욱 정확하게 업데이트할 수 있다. 이 방법은 상태추정 전반에 걸친 재평가를 통해, 측정 잡음 및 추정 오차가 미래 관측으로 보정될 수 있다는 이점을 준다.

선형 가우시안 상태공간 모델에서 가장 널리 쓰이는 스무딩 알고리즘은 Rauch–Tung–Striebel(RTS) 스무더다. 필터링 결과로 얻은 순방향 추정치와 공분산, 그리고 역방향(backward) 스무딩 단계를 결합하면, 다음과 같은 재귀식으로 스무딩 분포를 구할 수 있다.

$$
\begin{align} \mathbf{G}*t &= \mathbf{P}*{t|t} \mathbf{F}*t^\top \bigl(\mathbf{P}*{t+1|t}\bigr)^{-1}  \\
\hat{\mathbf{x}}*{t|T} &= \hat{\mathbf{x}}*{t|t} + \mathbf{G}*t \bigl(\hat{\mathbf{x}}*{t+1|T} - \hat{\mathbf{x}}*{t+1|t}\bigr) \\
\mathbf{P}*{t|T} &= \mathbf{P}*{t|t} + \mathbf{G}*t \bigl(\mathbf{P}*{t+1|T} - \mathbf{P}*{t+1|t}\bigr)\mathbf{G}\_t^\top \end{align}
$$

이로써 상태추정의 시간적 일관성을 높이고, 특정 시점에서의 이상치나 결측(missing) 관측이 나중에 다른 관측값으로 인해 보정될 수 있다. 센서퓨전에서 다중 센서가 비동기적 혹은 불규칙 간격으로 데이터를 제공하는 경우에도, 스무딩 기법을 통해 통합된 과거 상태 정보를 얻을 수 있어 활용도가 높다.

#### 다중 센서 상태공간 모델의 표현

센서퓨전 문제에서 관측식은 하나의 센서만을 다루지 않고, 여러 센서로부터 동시에 혹은 순차적으로 전달되는 데이터를 통합한다. 여러 센서가 동시에 제공하는 경우에는 관측 벡터 $\mathbf{z}\_t$의 차원을 합쳐서 표현하며, 관측행렬도 블록 구조로 구성한다. 센서들이 순차적으로 혹은 다른 주기로 데이터를 제공하면, 시점별로 관측 벡터와 관측행렬을 동적으로 변경한다. 예를 들어 $k$번째 센서가 시점 $t$에만 데이터를 제공한다고 하면

$$
\mathbf{z}\_t^{(k)} = \mathbf{H}\_t^{(k)} \mathbf{x}\_t + \mathbf{v}\_t^{(k)}
$$

와 같이 부분 관측만이 유효해진다. 실제 칼만필터 업데이트 단계에서 이를 반영할 수 있도록 관측 모형을 적절히 조정한다.

다중 센서가 서로 다른 시간 해상도(예: 고속 센서와 저속 센서)를 가질 때는 멀티레이트(multi-rate) 필터링 기법을 사용한다. 저속 센서가 관측 정보를 제공하지 않는 시점에는 고속 센서만으로 상태추정을 진행하고, 저속 센서가 관측을 제공하는 시점에 추가 업데이트를 수행함으로써 추정치의 전반적 정확도를 향상시킨다.

#### 서브스페이스(Space) 식별 기법과 시스템 식별

센서퓨전에서 핵심 파라미터인 $\mathbf{F}\_t$, $\mathbf{H}\_t$, $\mathbf{Q}\_t$, $\mathbf{R}\_t$ 등을 알고 있다고 가정하면 모델 기반 추정이 가능하지만, 실제로는 이런 파라미터가 미지이거나 적절히 추정해야 하는 경우가 많다. 전통적으로 ARX(Autoregressive with Exogenous input)나 Box-Jenkins 계열 기법 등 다양한 시스템 식별 방법이 존재한다. 상태공간 모델 관점에서는 서브스페이스(subspace) 식별 기법이 많이 활용된다. 서브스페이스 식별 기법은 여러 시점에서 관측된 입력 $\mathbf{u}\_t$와 출력 $\mathbf{z}\_t$를 행렬 형태로 묶어, 고유값 분해나 특이값 분해(SVD)를 통해 상태차원을 찾고, 그에 상응하는 상태공간 행렬들을 직접 추정한다.

센서퓨전의 측면에서 서브스페이스 식별 기법은 다음과 같이 적용할 수 있다.

센서로부터 일련의 시계열 데이터(관측)와 시스템 입력(제어 입력 혹은 명령)이 있다면, 이를 블록 행렬 형태로 만들어 서브스페이스 기법을 적용하고, 그 결과로 $\mathbf{F}\_t$, $\mathbf{H}\_t$, 그리고 잡음 항에 대한 통계적 특성을 동시에 추정한다. 이는 센서 데이터가 어느 정도 길이 이상 확보되어야 가능하지만, 온라인 버전(Adaptive subspace identification)으로 변형할 수도 있다. 이렇게 식별된 상태공간 모델을 활용하면 여러 센서가 주는 정보를 일관성 있게 합쳐 최적 상태추정을 실행할 수 있게 된다.

#### 이상치(Outlier)와 강인(Robust) 추정

센서 데이터에는 노이즈와 더불어, 센서 고장, 환경적 충격, 통신 오류 등에 의해 발생하는 이상치(Outlier)가 섞여 있을 수 있다. 일반적인 칼만필터나 ARMA 기반 기법은 가우시안 잡음을 가정하기 때문에, 이상치가 있을 시 추정치가 심각하게 왜곡될 수 있다. 이를 방지하기 위해 강인(Robust) 추정 방법을 도입한다.

예컨대 관측 업데이트 단계에서 오차(잔차)가 특정 임계값 이상이면 해당 관측을 완전히 거부하거나, 가중치를 줄이는 M-추정(M-estimation) 기법을 사용할 수 있다. 베이지안 관점에서는 관측 잡음 분포를 가우시안이 아니라 라플라스(Laplacian) 분포 등 꼬리가 두꺼운(fat-tailed) 분포로 가정하면, 극단값에 대해 완화된 영향을 줄 수 있다. 이런 설계를 통해 센서 중 일부가 순간적인 이상값을 출력하더라도 전반적인 상태 추정이 안정적으로 유지된다.

#### 센서 고장 진단과 장애 감지

센서퓨전은 단순히 여러 측정을 합산하는 것을 넘어, 센서 동작 상태를 진단(health monitoring)하는 기능도 담당한다. 상태공간 모델에서 관측 오차(residual)를 추적하면, 특정 센서가 반복적으로 예측과 크게 어긋나거나, 분산 패턴이 달라지는 경우 고장이나 이상 상태를 의심할 수 있다. 이를 통해 자율적으로 문제가 있는 센서를 제외하거나 교체할 수 있는 지능형 센서퓨전 구조를 구축하게 된다.

선형 가우시안 모델에서는 잔차의 통계분포가 알려져 있으므로, 통계적 가설검정(test) 기법으로 센서 이상을 판단하는 방식이 널리 쓰인다. 비선형 모델이나 비가우시안 잡음 상황에서는, EKF나 UKF, 입자필터의 출력 잔차를 유사한 통계량으로 가공하여 센서 오류 가능성을 평가한다. 이는 실시간 진단과 결합되어 로봇이나 무인 시스템에서 센서 신뢰도를 동적으로 반영하게 해준다.

#### mermaid를 활용한 센서퓨전 구조 예시

아래는 다중 센서가 하나의 상태공간 모델에 통합되어 칼만필터와 잔차 분석을 통해 상태를 추정하고 센서 이상을 감지하는 과정을 간략히 나타낸다.

{% @mermaid/diagram content="flowchart TD
A(\[시스템 상태 x\_t]) --동역학--> B(\[상태공간 예측 단계])
B --예측치--> C(\[잔차 계산 및 갱신])
C --업데이트된 상태--> D(\[스무딩 및 결과 저장])
E(\[센서1, 센서2, ...]) --측정값--> C
C --잔차 분석--> F(\[센서 상태 진단])
F --결과--> E" %}

시스템 상태 $\mathbf{x}\_t$가 시간에 따라 진화하고, 여러 센서로부터 측정값이 들어오면 필터가 예측치와 실제 관측 간의 잔차를 계산한다. 잔차 분석을 통해 센서 이상 여부를 판단하고, 필요시 해당 센서를 제외하거나 가중치를 조정한다. 그 후 최종적으로 상태가 업데이트되고, 추후에 스무딩을 거쳐 결과가 기록된다.

#### 시계열 분석의 주파수영역 접근

시계열 분석에서 시공간(시간영역) 접근뿐 아니라 주파수영역 접근도 중요하다. 예컨대 센서가 특정 주파수 대역에서 노이즈가 강하거나, 목표 신호가 특정 대역에 집중되어 있을 수 있다. 고전적 시계열 분석에서는 푸리에 스펙트럼 추정이나 웨이블릿(wavelet) 변환 등을 통해 신호의 주파수 특성을 파악한다. 이를 통해 필터링(저역통과, 대역통과 등)을 수행하거나, 특정 주파수 성분만을 센서퓨전에 반영해 노이즈를 줄이는 전략을 세울 수도 있다.

상태공간 모델 역시 시간영역 모형이지만, 특정 경우에는 상태전이행렬의 고윳값(eigenvalue)이나 모드(mode) 분석을 통해 시스템의 주파수 응답을 간접적으로 해석할 수 있다. 이런 주파수영역 해석은 진동계, 레이더, 소나 등 특정 주파수 대역에서 성능이 좌우되는 센서에서 특히 유용하다.

#### 시계열 분석과 머신러닝의 접목

고전적 시계열 모델에서 확장된 방향 중 하나는 머신러닝, 특히 딥러닝 기반 순환신경망(RNN), LSTM, GRU 등의 구조를 통해 높은 비선형성과 장기 의존성을 학습하는 것이다. 센서퓨전에서도 이러한 학습 기반 모델을 사용할 수 있지만, 예측 및 추론 과정이 블랙박스 형태가 되기 쉬워 해석 가능성이 떨어진다는 문제가 있다. 이를 극복하기 위해 물리적 상태공간 모델과 학습 모델을 하이브리드로 설계하는 접근도 연구되고 있다. 예컨대 부분적으로는 물리적 식별로 추정한 $\mathbf{F}\_t$와 $\mathbf{H}\_t$를 사용하고, 잡음 항이나 비선형 오차 부분만 학습 기반 보정기를 두어 개선할 수 있다.

이와 같이 다양한 접근이 존재하나, 센서퓨전의 근간은 여전히 시계열적 특성(동적 시스템의 진화)과 확률적 잡음 모델(베이지안 필터링)을 체계적으로 결합하는 상태공간 관점에 기반을 둔다. 다음 단계에서는 실제 센서 데이터 사례나 시뮬레이션 예제를 통해, 여기서 설명한 이론적 기법들이 어떻게 적용되고 평가되는지 좀 더 구체적으로 살펴볼 수 있다.

#### 온라인/리얼타임 시계열 추정 기법

센서퓨전은 실시간 처리(real-time processing)가 중요한 분야다. 시계열 분석의 방법들을 실제 시스템에서 구현할 때는, 과거 데이터 전체를 사용할 수 없거나(메모리 제한), 현재 시점에 바로 추정값을 얻어야 하는 제약이 있다. 상태공간 모델 기반의 칼만필터는 이런 요구에 대응하기 좋은 온라인(online) 알고리즘이며, ARMA 계열 모형의 파라미터 추정도 순차적으로 갱신하는 적응형 방법이 있다.

1. 온라인 ARMA 추정:
   * 과거 $p$개 관측과 $q$개 잡음 항을 사용하는 ARMA($p,q$) 모형에서, 파라미터를 최대우도나 최소제곱 기준으로 순차 추정한다. 예컨대 Recursive Least Squares(RLS) 등을 응용하여 관측값이 들어올 때마다 파라미터 벡터 $\boldsymbol{\theta}$를 업데이트하는 방식을 취한다.
2. 온라인 상태공간 식별:
   * 상태공간 모델의 행렬 $\mathbf{F}\_t, \mathbf{H}\_t, \mathbf{Q}\_t, \mathbf{R}\_t$ 등을 시간이 흐름에 따라 적응적으로 추정한다. 서브스페이스 식별 기법도 온라인화된 알고리즘(예: PB-algorithm 등)이 존재한다.

온라인 방법은 모델이 시간에 따라 변화하거나, 환경이 동적으로 변해 모델 파라미터가 달라지는 상황에 대응할 수 있다는 장점이 있다. 센서가 가진 랜덤 드리프트나 주기적 캘리브레이션(보정) 이슈 등에도 유연하게 대처할 수 있다.

#### 센서 퓨전에서의 드리프트와 오프셋 처리

센서 데이터를 시계열적으로 분석할 때 흔히 마주치는 문제 중 하나는 드리프트(drift)와 오프셋(offset)이다.

* 드리프트: 시간이 지남에 따라 센서 값이 서서히 증가하거나 감소하는 장기 변화.
* 오프셋: 센서가 측정 0점에서 일정량 편이(bias)되어 있는 상태.

상태공간 모델로 이를 처리하려면, 상태 벡터 내에 센서 바이어스 항을 포함시키는 방법이 자주 쓴다. 예컨대 관성센서(IMU)에서 각속도 센서나 가속도 센서의 바이어스를 별도의 상태로 추적하여, 칼만필터가 이 바이어스를 동시에 추정하고 보상하도록 한다. 이를 위해, 예를 들어 $\mathbf{x}\_t$에 바이어스 상태 $b\_t$를 추가하고, 다음과 같은 동역학을 가정할 수 있다.

$$
\begin{align} \mathbf{x}*{t+1} &= \begin{bmatrix} \mathbf{x}*{t+1}^{(\text{원래 시스템})} \ b\_{t+1} \end{bmatrix} = \begin{bmatrix} \mathbf{F} & \mathbf{G} \ \mathbf{0} & \mathbf{I} \end{bmatrix} \begin{bmatrix} \mathbf{x}\_t^{(\text{원래 시스템})} \ b\_t \end{bmatrix} + \mathbf{w}*t  \\
\mathbf{z}*t &= \begin{bmatrix} \mathbf{H}*\text{sys} & \mathbf{H}*\text{bias} \end{bmatrix} \begin{bmatrix} \mathbf{x}\_t^{(\text{원래 시스템})}\ b\_t \end{bmatrix} + \mathbf{v}\_t \end{align}
$$

이렇게 바이어스 항 $b\_t$가 상수로 유지된다고 가정하면, $\mathbf{F}$ 행렬에 대응하는 부분은 항등행렬이 된다(혹은 적절한 랜덤 워크 형태로 설정). 칼만필터가 관측 데이터를 통해 $b\_t$를 추정함으로써, 시계열적으로 누적되는 센서 바이어스를 자동 보정할 수 있다.

#### 다중 모드(Multi-Modal) 시스템과 전환 모형(Switching Model)

로봇이나 차량 같은 실제 시스템은 하나의 동역학 모형만으로는 충분하지 않을 수 있다. 예컨대 로봇이 주행 모드, 회전 모드, 정지 모드 등 서로 다른 동작 모드마다 동역학이 달라진다. 또 센서가 정상 상태, 고장 상태 등 서로 다른 거동을 보일 수도 있다. 이때 전환(Jump) 혹은 스위칭(switching) 상태공간 모델이 유용하다. 스위칭 모델은 모드(mode)라는 은닉 상태가 추가되어, 그 모드에 따라 $\mathbf{F}$와 $\mathbf{H}$가 달라진다.

스위칭 모델의 전형적인 예시로 Hidden Markov Model(HMM)과 연계된 상태공간 모델이 있다:

$$
\begin{align} s\_t &\in {1, \dots, K} \quad (\text{은닉 모드})\\
\mathbf{x}\_{t+1} &= \mathbf{F}^{(s\_t)} \mathbf{x}\_t + \mathbf{w}\_t\\
\mathbf{z}\_t &= \mathbf{H}^{(s\_t)} \mathbf{x}\_t + \mathbf{v}\_t \end{align}
$$

여기서 $s\_t$는 모드 전환 확률 $p(s\_{t+1}=j \mid s\_t = i)$에 따라 확률적 전이(Markov chain)를 갖는다. 이 모델을 필터링하기 위해서는 Interacting Multiple Model(IMM) 필터나 Particle Filter 기반 멀티 모드 기법 등이 사용된다. IMM 필터는 모드별 칼만필터를 병렬로 유지하면서 모드 확률에 따라 결과를 혼합(mixture)하는 방식으로 동작한다. 이런 스위칭 모델은 센서퓨전에서도, 예컨대 GPS 신호가 정상적으로 수신될 때와 차단될 때의 모드, 카메라 관측이 가능할 때와 불가능할 때의 모드, 로봇 휠이 미끄러짐(slippage) 등등 모드 전환이 있을 때 유용하다.

#### 빅데이터 시계열 분석과 센서퓨전

사물인터넷(IoT)이나 대규모 센서 네트워크 상황에서는, 수천\~수만 개의 센서가 동시에 데이터를 생산해 방대한 시계열이 생긴다. 이를 효율적으로 관리·분석하려면 분산(distributed) 혹은 클라우드 기반 처리도 필요하고, 고차원 데이터에 대한 차원 축소(dimension reduction)도 고려해야 한다.

1. 분산 칼만필터: 센서가 공간적으로 분산되어 있고 각 로컬 노드에서 부분 정보를 처리한 뒤, 상호 통신으로 상태 추정을 공유하는 구조다. 예컨대 Consensus KF(합의 칼만필터)나 Federated KF(연방 칼만필터) 방식 등이 제안되어 있다.
2. 고차원 상태공간 모델: 센서 수가 매우 많을 경우, 상태 벡터가 방대한 차원을 갖는다. 이때 직접 칼만필터를 적용하기가 어려워질 수 있으므로, 관측 공간이나 상태 공간을 축소하거나, 희소(sparse) 구조를 가정해 행렬 연산을 최적화하는 방법을 활용한다.
3. 머신러닝과 결합: 딥러닝 기반 시계열 예측 모델(LSTM, Transformer 등)에 분산 학습 방식을 적용하여 대규모 센서 데이터를 처리하기도 한다. 상태공간 모델과는 달리 명시적 물리모델 없이도 성공적으로 시계열 예측을 수행할 수 있으나, 물리적 해석 가능성이나 안정성이 떨어지는 단점도 있다. 따라서 물리기반 모델-데이터기반 모델 혼합이 미래 지향적 연구 트렌드다.

#### 실제 구현 시 고려 사항

시계열 분석과 상태공간 모델을 실제 센서퓨전에 적용할 때에는 다음과 같은 사항을 고려해야 한다.

하드웨어 리소스:

* 임베디드 환경이나 저전력 칩에서는 EKF나 UKF 같은 비교적 경량 필터를 선호한다. 입자필터는 샘플 수가 많아지면 처리량이 급격히 증가하므로 GPU나 FPGA 등 병렬처리 하드웨어가 요구될 수 있다.

수치적 안정성:

* 칼만필터 공분산 업데이트나 서브스페이스 식별 과정에서 행렬 연산이 불안정할 수 있으므로, 적절한 정규화(regularization)나 안정화 기법(예: Joseph form 등)을 적용한다.

시간 지연(latency) 및 비동기성:

* 여러 센서가 서로 다른 주기로 데이터를 주거나, 네트워크 지연이 있을 수 있다. 상태공간 프레임워크를 적용할 때, 누락 관측 처리와 타임스탬프 동기화가 중요한 이슈가 된다.

파라미터 튜닝:

* 잡음 공분산 $\mathbf{Q}\_t$와 $\mathbf{R}\_t$를 어떻게 설정하느냐에 따라 필터 성능이 민감하게 달라진다. 데이터 기반으로 추정하거나, 시운전을 통해 실험적으로 튜닝하는 과정이 꼭 필요하다.

#### 간단 예제 (Python)

다음은 간단한 Python 예시 코드로, 2차 AR 모형(AR(2))에 대응하는 상태공간 모델을 칼만필터로 추정하는 모의 예시를 간략히 보여준다. 여기서는 $\phi\_1=1.5, \phi\_2=-0.7$인 AR(2) 프로세스를 가정하고, 가우시안 잡음 $\epsilon\_t$를 추가하였다.

```python
import numpy as np
import matplotlib.pyplot as plt

# 시뮬레이션 파라미터
N = 100  # 시계열 길이
phi1, phi2 = 1.5, -0.7
sigma_w = 0.5  # 상태 잡음 표준편차
sigma_v = 0.2  # 관측 잡음 표준편차

# AR(2) 프로세스 생성
x_true = np.zeros(N)
w = np.random.randn(N) * sigma_w
v = np.random.randn(N) * sigma_v
for t in range(2, N):
    x_true[t] = phi1 * x_true[t-1] + phi2 * x_true[t-2] + w[t]

# 관측값
z = x_true + v

# 상태공간 표현:
# x_t = [ x_t, x_{t-1} ]^T
# F = [[ phi1, phi2 ],
#      [ 1,    0    ]]
# H = [1, 0]
F = np.array([[phi1, phi2],
              [1.0,   0.0]])
H = np.array([[1.0, 0.0]])

# 초기값 및 공분산
x_est = np.array([0., 0.])  # 필터 상태추정 초기값
P_est = np.eye(2)*1.0
Q = np.eye(2)*(sigma_w**2)
R = np.array([[sigma_v**2]])

x_filtered = []

for t in range(N):
    # (1) 예측 단계
    x_pred = F @ x_est
    P_pred = F @ P_est @ F.T + Q
    
    # (2) 관측 업데이트
    z_pred = H @ x_pred
    y = z[t] - z_pred       # 잔차
    S = H @ P_pred @ H.T + R
    K = P_pred @ H.T @ np.linalg.inv(S)
    
    x_est = x_pred + K @ y
    P_est = (np.eye(2) - K @ H) @ P_pred
    
    x_filtered.append(x_est[0])  # x_t만 저장

# 결과 비교
plt.plot(x_true, label='True state')
plt.plot(z, 'k.', alpha=0.4, label='Measurements')
plt.plot(x_filtered, label='Kalman Filter')
plt.legend()
plt.show()
```

이 예제에서는 • 2차 AR 모형을 상태공간 모델(차원 2의 상태)로 변환했다. • 가우시안 잡음($\mathbf{w}\_t, \mathbf{v}\_t$)을 생성해, 시뮬레이션된 시계열을 얻었다. • 칼만필터로 추정한 결과가 실제 상태 $x\_t$에 근접함을 확인한다.

이처럼 AR 모형도 상태공간 방식으로 바꿔서 칼만필터를 적용할 수 있으며, 멀티센서가 있다면 $\mathbf{H}$와 $\mathbf{z}\_t$를 확장하여 동시에 업데이트하도록 구성하면 된다.

여기까지가 시계열 분석과 상태공간 모델을 센서퓨전에 적용하기 위한 이론적·실무적 핵심 개념들이다. 차후에는 센서별 구체적 모델링(예: 카메라, 레이더, LiDAR, IMU 등)과의 결합, 실제 로봇 플랫폼이나 자율주행 차량에서의 적용 사례, 고차원 확장과 비가우시안 잡음 처리, 분산 및 클라우드 기반 대규모 센서퓨전 구조 등에 대해 더욱 상세히 살펴볼 수 있다.

#### 시스템 관측가능성(Observability)과 가관측성(Detectability)

센서퓨전을 통해 상태를 추정하기 위해서는, 모델 상에서 상태가 충분히 관측될 수 있는 구조여야 한다. 선형 상태공간 모델에서 관측가능성(Observability)은 다음과 같은 고전적 정의로 표현된다. 시스템이

$$
\begin{align} \mathbf{x}\_{t+1} &= \mathbf{F},\mathbf{x}\_t + \mathbf{w}\_t\\
\mathbf{z}\_t &= \mathbf{H},\mathbf{x}\_t + \mathbf{v}\_t \end{align}
$$

라 할 때, 관측행렬

$$
\begin{align} \mathbf{O} = \begin{bmatrix} \mathbf{H} \ \mathbf{H}\mathbf{F} \ \mathbf{H}\mathbf{F}^2 \ \vdots \ \mathbf{H}\mathbf{F}^{n-1} \end{bmatrix} \end{align}
$$

이 풀랭크(rank = n)를 가지면, 상태 $\mathbf{x}\_t$가 완전히 관측가능하다고 한다. 이는 출력(관측) 시계열로부터 고유한 상태값을 재구성할 수 있음을 의미한다.

비선형 모델에서도 관측가능성은 야코비(Jacobian) 행렬의 특성이나 미분기하학적 방법으로 정의할 수 있지만, 직관적으로 말하면 주어진 동역학과 센서 모델이 상태 변화를 충분히 식별해 낼 수 있으면 관측가능하다.

실제 센서퓨전에서 관측가능도가 불충분하면, 특정 상태 성분이 측정된 시계열로부터 구별되지 않는다. 예컨대 이동로봇에서 지자계(Compass) 센서만 있고 바퀴 인코더가 없다면, 전진 속도와 회전이 구분되지 않는 구간이 생길 수 있다. 이는 필터가 해가 무한히 많은 상태 중 하나를 선택해야 하는 문제에 직면한다. 따라서 센서 종류가 다양할수록(가령 IMU, GPS, 전방 카메라, LiDAR 등을 복합적으로 사용) 관측가능성이 높아져서 추정 정확도가 좋아진다.

센서 잡음이나 특정 조건에서 부분 관측성(partial observability)이 있을 수 있다. 이때는 장기간의 시계열 누적으로 특정 상태를 유추할 수 있는데, 이를 가관측성(detectability)이라고 부른다. 이는 다소 느슨한 조건으로, 시스템 일부 모드가 완벽히 측정 가능하지 않아도 장기적으로는 상태가 식별 가능한 상황을 말한다.

#### 제어가능성(Controllability)과 센서퓨전

시스템 제어 이론에서는 제어가능성(controllability)이 관측가능성과 짝을 이룬다. 센서퓨전 자체가 제어 가능한 시스템을 전제로 하지 않아도 동작은 가능하지만, 로봇 등의 실시간 제어 시스템에서는 제어가능성과 관측가능성을 함께 고려해야 한다. 예컨대 로봇 팔을 움직이는 시스템에서 특정 조인트는 관측되지만(관측가능) 실제 구동(제어)이 안 된다면 제어불가능한 모드가 존재하게 된다. 반대로 센서를 추가해 관측공간을 확장하면, 제어/관측 쌍으로 완비된 시스템 설계를 할 수 있다. 상태공간 관점에서 센서퓨전과 제어 설계가 유기적으로 연결되는 이유다.

#### 정보 필터(Information Filter)

칼만필터는 상태추정 $\hat{\mathbf{x}}\_t$와 공분산 행렬 $\mathbf{P}\_t$를 갱신하지만, 이를 정보형(information form)으로 바꿔 표현한 정보 필터(Information Filter)도 있다. 정보 필터에서는 공분산의 역행렬, 즉 정보 행렬 $\mathbf{Y}\_t = \mathbf{P}\_t^{-1}$와 정보 벡터 $\boldsymbol{\eta}\_t = \mathbf{P}\_t^{-1},\hat{\mathbf{x}}\_t$를 추정량으로 사용한다.

정보 필터의 장점은 다음과 같이 요약할 수 있다.

• 여러 센서가 병렬로 측정 정보를 업데이트할 때, 정보 행렬과 정보 벡터를 단순히 합하는 방식으로 통합 가능. • 대규모 분산 센서 네트워크에서 서로 다른 노드가 획득한 정보 행렬·벡터를 합산함으로써 글로벌 추정치를 구성.

선형 가우시안 모델에서의 정보 필터는 칼만필터와 동일한 추정 결과를 내지만, 구현 방식이 다르다. 분산 시스템이나 대규모 센서퓨전 상황에서 메모리 사용이나 통신 효율성 측면에서 정보 필터가 선호되기도 한다.

#### H∞ 필터와 강인(Robust) 센서퓨전

센서 잡음이 가우시안 분포라고 가정하고 칼만필터를 사용하면, 최소제곱오차(또는 최소 분산) 관점에서 최적이다. 그러나 실제로는 잡음의 통계가 알려지지 않았거나 비가우시안 이상치가 많을 수 있다. 이때 H∞ 필터(H-infinity filter)나 강인(Robust) 필터 설계가 쓰인다. H∞ 필터는 $L\_2$ 게인(minimax) 최적화 문제를 다뤄, 시스템 모델 불확실성이나 외란을 보수적으로 처리한다.

H∞ 필터는 다음 형태의 비용함수로 정의되는 반응을 최소화한다.

$$
\begin{align} \sup\_{\mathbf{w}\_t \neq 0} \frac{|\mathbf{z}\_t - \hat{\mathbf{z}}*t|*{2}}{|\mathbf{w}*t|*{2}} \leq \gamma \end{align}
$$

와 같은 식으로, 외란 $\mathbf{w}\_t$에 대한 출력 오차의 최악의 경우(worst-case)를 $\gamma$ 이하로 제어하는 접근이다. 가우시안 가정이 불명확한 환경에서 고장, 이상치, 모델 불일치를 고려해야 할 때 H∞ 필터 또는 그 변형들이 활용된다.

#### 선형 행렬부등식(LMI) 접근

강인 제어나 강인 필터링, 혹은 주파수 도메인 제약을 포함하여 센서퓨전 모델을 설계할 때, 선형 행렬부등식(LMI; Linear Matrix Inequality) 형태로 문제를 서술하는 경우가 많다. 예컨대 상태공간 모델에서 다음과 같은 안정성 혹은 추정오차 공분산 제한 문제:

$$
\begin{align} \mathbf{F}^\top \mathbf{P} \mathbf{F} + \mathbf{Q} - \mathbf{P} \prec 0 \end{align}
$$

등을 LMI로 변환해 최적화 문제를 푸는 방식이다. 센서퓨전에서 관측행렬 $\mathbf{H}$나 필터 게인 $\mathbf{K}$를 LMI 제약으로 설계하여, 특정 성능지표(오차 상계 등)를 만족하는 해를 찾을 수도 있다. 이러한 방법은 고차원 문제에서도 반복적 수치해석기술(예: Interior point method)로 해를 구할 수 있다는 장점이 있다.

#### 시계열 교차상관(Cross-correlation)과 센서 간 동적 관계

서로 다른 센서가 측정하는 시계열 사이에 유의미한 교차상관(cross-correlation)이 존재할 수 있다. 예컨대 온도 센서와 압력 센서가 특정 물리적 법칙에 의해 상관성을 띠면, 상태공간 모델에서 이 관계를 명시하거나 ARMA-X(ARMAX) 구조로 결합할 수 있다.

다중 시계열에서 상호상관 함수를 분석하고, 그 결과를 관측행렬이나 잡음 공분산 설계에 반영하면 필터 추정력이 크게 향상된다. 예를 들어 어느 센서가 갑자기 불규칙한 이상치를 낼 때, 다른 센서와의 교차상관이 붕괴되는지를 모니터링함으로써 이상치 감지에도 활용할 수 있다.

#### 부분 관측만 가능한 경우: 데이터 융합과 재구성(Reconstruction)

일부 센서퓨전 문제에서는 특정 상태 성분만 관측할 수 있어, 직접 측정 불가능한 상태를 재구성(Reconstruct)해야 한다. 가령 생체신호에서 측정 가능한 것은 심전도(ECG)와 호흡(Respiration) 신호뿐이지만, 실제로 알고 싶은 것은 혈압 동적 상태일 수 있다. 이때 물리방정식이나 경험적 모델, 혹은 신경망 기반 근사 모델을 상태공간에 삽입해 혈압 상태 변수를 정의하고, 간접 관측으로부터 이를 추정한다.

ARMA나 ARX 계열에서도 유사한 접근이 가능하다. 외생 입력(exogenous input)이 있는 경우, 이를 기반으로 시스템 내부 상태를 추론하는 ARX 모델을 설계할 수 있다. 센서퓨전에서는 흔히 IMU(가속도, 각속도)가 외생 입력 역할을 하고, GPS나 카메라가 위치·자세를 관측하여 그 사이를 연결하는 상태를 재구성한다.

#### 클로즈드 루프 시뮬레이션과 검증

상태공간 기반 센서퓨전 알고리즘을 설계한 뒤에는, 시뮬레이터에서 시스템 동역학과 센서 모델(또는 실제 로그 데이터를 재현)로 클로즈드 루프(closed-loop) 검증을 수행한다. 로봇 분야에서 많이 쓰이는 시뮬레이터(Gazebo, Webots, MORSE 등)나 자율주행 시뮬레이터(Carla, LGSVL 등)를 통해 실제 물리 환경과 유사한 조건에서 센서 데이터를 생성하고, 필터를 적용해 추정 성능을 평가한다.

이 과정에서

* 모델 불확실성,
* 시스템 드리프트,
* 센서 고장·노이즈,
* 시간 지연,
* 비동기 센서 업데이트,
* 대규모 센서 네트워크의 통신 지연

등을 단계적으로 적용하여 알고리즘의 강건성(robustness)을 시험할 수 있다. 현장 적용 전에 시뮬레이션 단계를 충분히 거치면 추후 실제 운용에서 발생할 오류와 예외를 대폭 줄인다.

#### 비연속(Discrete Event)과 연속시간 하이브리드 모델

센서퓨전 시스템이 순수 연속시간 동역학이나 이산시간 시계열로만 구성되는 것은 아니다. 예컨대

* 로봇이 주행하다가 물체를 감지하면 즉시 회피모드로 전환(이벤트),
* 일부 센서는 1초 간격으로 샘플링, 다른 센서는 이벤트 기반(예: 충돌 감지 시 즉시 측정)

등 다양한 하이브리드 상황이 생긴다.

하이브리드 상태공간 모델은 연속적인 동역학 식과 이산 이벤트 전환이 혼합된 구조를 갖는다. 이벤트가 발생하면 상태공간 행렬이 바뀌거나, 일부 변수에 점프가 생긴다. 이러한 하이브리드 모델은 전환 모형(Switching model)의 일반화 버전이며, 설계 및 해석이 복잡해진다. 실제 센서퓨전 시스템의 정교함을 높이기 위해서는 하이브리드 요소도 고려해야 한다.

#### 결측 데이터에 대한 EM 알고리즘과 스무딩

센서가 불규칙하게 데이터 누락을 일으키거나, 일부 구간에서 아예 측정이 없을 때 상태공간 모델과 EM(Expectation-Maximization) 알고리즘을 결합해 파라미터와 누락 데이터를 동시에 추정할 수 있다. EM 알고리즘의 E-step에서 칼만 스무더를 사용해 결측 관측값을 추정하고, M-step에서 그 추정값을 기반으로 모델 파라미터(예: $\mathbf{Q}, \mathbf{R}, \mathbf{F}, \mathbf{H}$)를 최대우도 추정한다. 센서퓨전에서 임베디드 소프트웨어에 이런 기법을 적용하기는 쉽지 않지만, 사전 데이터 수집 단계나 대량 로그 분석 단계에서 모델 업데이트 목적으로 적용하면 효과적이다.

#### 실험 설계(Experimental Design)와 센서 배치

센서퓨전을 최적화하려면 어느 위치에, 어떤 종류의 센서를, 몇 개나 배치할지 결정해야 한다. 시계열 분석에서, 특정 주파수 대역 혹은 특정 위치 정보가 관측가능성 향상에 크게 기여할 수 있다면 그 센서를 우선 배치해야 한다.

예컨대 산업 플랜트에서 압력계·온도계·유량계를 어느 지점에 설치할지가 시스템 동특성 재현과 고장 감지에 결정적 영향을 미친다. 이는 센서 배치(placement) 문제로, 종종 센서 선택(sensor selection) 문제와 함께 논의된다. 상태공간 모델에서 센서 배치 문제를 관측가능도 최적화, 추정오차 최소화, 혹은 정보 이득(information gain) 최대화 등의 관점에서 수학적 최적화로 풀 수도 있다.

#### 복합 센서모델 예시: 카메라+IMU

실무에서 흔히 쓰이는 시계열 센서퓨전 예시로, 카메라(비전)와 IMU(관성측정장치)의 융합이 있다.

카메라는 2D 이미지에서 특징점을 추적하고, 시점 간 특징점 이동을 통해 3D 이동과 회전을 유추한다(비선형). IMU는 3축 가속도와 각속도를 제공하지만, 시간에 따라 드리프트가 누적된다.

둘을 결합한 비선형 상태공간 모델은 로봇의 위치·자세 6자유도(또는 7자유도 쿼터니언까지)와 IMU 바이어스 항을 상태로 두고, 카메라 관측 모델 $h(\mathbf{x}\_t)$는 다소 복잡한 투영 방정식을 따르게 된다. EKF나 UKF, 혹은 입자필터가 이 문제에 적용되어, Visual-Inertial Odometry(VIO) 또는 SLAM으로 발전한다.

이는 시계열 분석, 비선형 필터링, 다중 센서 모델, 장기 드리프트 보정, 비동기 업데이트가 모두 융합되는 대표적 사례다.

#### 연구 동향과 확장성

시계열 분석과 상태공간 모델은 앞으로도 로봇, 자율주행, 산업 IoT, 헬스케어, 재난 대응 등 다양한 분야의 센서융합에서 핵심 수단으로 남을 것이다. 최근에는 다음과 같은 확장이 이루어지고 있다.

* 머신러닝과 물리 기반 모델의 하이브리드: 딥러닝을 통해 고차원 관측(이미지, 레이더 맵 등)을 처리하면서, 상태공간 프레임워크로 결과를 해석 가능하게 유지.
* 초고차원 데이터(3D 혹은 4D 스캔, 멀티 스펙트럼 영상 등)와 실시간 칼만필터 계열의 결합: GPU 병렬처리와 분산 필터링 연구.
* 스패스(sparse) 구조 가정으로 고차원 행렬 연산을 효율화: 그래프 필터, 그래프 기반 SLAM 등.
* 최적화된 센서 스케줄링: 전력 제약이 있는 IoT 환경에서, 어떤 센서가 언제 동작해야 하는지 결정해 전체 추정 정확도를 최대화.
* 반자율적(semiautonomous) 센서 공동학습: 여러 로봇이나 기기가 서로의 센서 상태를 공유해, 지역적 시계열 데이터만으로는 부족한 정보를 보완.

시계열 분석에서 출발해 센서퓨전으로 확장된 내용은, 결국 확률적·통계적 관점과 동적 시스템 관점이 결합한 결과다. 이어지는 실전 파트에서는 실제 데이터셋이나 로봇/차량 사례를 통해 구체적으로 구현하고 성능을 평가하는 방식을 소개할 수 있다.

#### 고차원 비선형 모델에서의 차원 축소(Dimension Reduction)

많은 센서를 융합할수록 상태공간 차원이 커지고, 비선형성이 증가한다. 예컨대 로봇의 조인트가 20개 이상이면 상태차원만 해도 수십\~수백에 달할 수 있다. 이 경우 칼만필터나 EKF, UKF의 계산 복잡도가 상태 차원의 세제곱에 비례하여 급격히 증가한다.

이 문제를 해결하기 위한 일반적 접근 중 하나는 차원 축소 기법이다. 대표적으로는 다음과 같은 아이디어가 있다.

* 물리적 모델에서, 일부 상태가 고주파·저주파 성분으로 분해될 수 있으면 저차 모드(Mode)만 유지하고 고차 모드는 무시한다(모드 축소).
* 시뮬레이션이나 관측 데이터를 통해 주성분분석(PCA)·특이값분해(SVD)·커널 기법 등을 적용해, 고차원 상태공간을 더 적은 자유도로 표현한다.
* 그래프 기반 SLAM이나 팩터 그래프에서 희소(sparsity) 구조를 이용해 연산을 효율화한다.

차원 축소는 근사오차를 동반하므로, 센서퓨전 정확도와 계산 효율 사이의 트레이드오프를 신중히 고려해야 한다. 특히 실시간성이 중요한 로봇 분야에서는 일부 정확도를 희생하더라도 계산 가능한 크기로 상태공간을 줄여야 하는 경우가 많다.

#### 비가우시안 잡음 모델링

센서 잡음이 가우시안 분포가 아니라 중간에 강한 이상치나 Heavy-tailed 분포를 가질 때는, 표준 칼만필터 계열에서 성능 저하가 심할 수 있다. 이를 극복하기 위해 다음과 같은 방법이 연구된다.

1. 혼합 가우시안(Mixture of Gaussians): 잡음 분포를 여러 개의 가우시안 혼합으로 근사한다. 각 가우시안 성분마다 필터를 유지하고, 혼합 확률로 가중합을 취하는 방식(Interacting Multiple Model과 유사)이 가능하다.
2. 라플라스(Laplacian)나 스튜던트-t(Student-t) 잡음: 꼬리가 두꺼운(fat-tailed) 분포를 직접 사용한다. 필터 업데이트는 선형 가우시안 케이스보다 복잡해지며, 수치적 최적화나 입자필터를 활용해야 한다.
3. 최대 상관 엔트로피(Maximum Correntropy): 잡음 통계가 확실치 않을 때, 상관 엔트로피 기반 비용함수로 필터를 설계하면 이상치에 대한 강인성이 개선된다고 알려져 있다.

이처럼 비가우시안 잡음을 반영하는 방식은 계산 부하가 늘어나고 구현이 까다롭지만, 실제 센서 환경에서 발생할 수 있는 갑작스러운 교란이나 스파이크성 노이즈에 훨씬 안정적이다.

#### 센서 동기화와 시간지연(Time Delay)

센서퓨전에서 여러 센서가 정확히 동기화되지 않은 채 데이터를 전송하면, 동일 시점의 상태를 반영해야 할 측정들이 실제로는 시간 오차를 갖게 된다. 이 시간 오차가 크면 필터링 오류가 누적되고, 심할 경우 상태 추정이 발산할 수 있다. 이를 처리하기 위한 주요 방법은 아래와 같다.

* 타임스탬프 동기화: 각 센서 데이터가 찍힌 시각 정보를 모아서, 필터가 가능한 한 올바른 시점에 관측 업데이트를 수행하도록 조정한다. 누락된 구간은 예측 단계로만 진행하고, 관측이 도착하면 그 시점으로 재귀적으로 조정한다(Out-of-sequence measurement 문제).
* 레이트 변환(Multi-rate filtering): 고속 센서와 저속 센서가 혼재하면, 고속 센서 주기마다 시스템을 예측하고, 저속 센서의 측정 타이밍에만 관측 업데이트를 수행한다.
* 시간지연 보상: 관측이나 제어신호가 일정 시간 지연을 두고 도달할 때, 지연 보상기 혹은 지연이 있는 상태공간 모델을 확장해서 필터를 설계한다. 예를 들어 과거 상태를 별도 상태변수로 유지하면서 지연 동학을 모델링한다.

#### 안정성과 수치해석적 이슈

선형 칼만필터는 이론적으로 잡음 공분산이 충분히 양의 정부호이고, (F,H) 쌍이 관측가능하면, 일반적으로 필터 오차 공분산이 안정적으로 수렴한다. 그러나 실제 구현에서는 부동소수점 연산 오류나 행렬 반전 과정에서의 오차가 추정 결과에 큰 영향을 줄 수 있다. 이를 방지하기 위해 다음을 고려한다.

Joseph Form: 공분산 업데이트를

$$
\mathbf{P}\_{t|t} = (\mathbf{I} - \mathbf{K}*t \mathbf{H}) \mathbf{P}*{t|t-1}(\mathbf{I} - \mathbf{K}\_t \mathbf{H})^\top + \mathbf{K}\_t \mathbf{R} \mathbf{K}\_t^\top
$$

의 Joseph Form으로 계산하면 수치적으로 더 안정적이다.

칼만 게인 축소(regularization): 잡음 공분산 $\mathbf{R}$가 너무 작아 관측에 과도하게 의존할 경우, 필터가 외란에 민감해질 수 있다. 적절히 최소값을 부여하거나, 경험적으로 $\mathbf{R}$를 상향조정한다.

공분산 축소(clamping): 계산 과정에서 $\mathbf{P}$가 비정부호가 되는 것을 방지하기 위해, 고유값이 음수가 되지 않도록 클리핑하거나 재투영(projection)하는 기법도 있다.

#### 실제 계측장치의 특성 반영

센서퓨전 이론을 잘 적용하려면 센서 장치의 구체적 특성을 모델링해야 한다. 예를 들어

* IMU: 고주파 잡음, 바이어스 드리프트, 온도 의존성
* 카메라: 렌즈 왜곡, 조도 변화, 셔터 타입(Rolling vs Global)
* 레이더: 도플러 효과, 측정각 정밀도, 스캔 속도
* LiDAR: 물체 반사율, 스캔각 불연속, 외란 광선 영향

등 다양한 물리적 요인이 상태공간 모델 혹은 잡음 모델에 추가된다. 각 센서마다 표준 모델과 파라미터가 다르기 때문에, 센서 특성을 고려한 잡음 공분산 세팅이 중요하다. 이를 무시하면 필터링 결과가 실제 동작과 크게 어긋난다.

#### 센서 캘리브레이션(Calibration)

여러 센서를 결합해 시계열 데이터를 처리하려면, 센서 간 상대적인 배치나 방향, 내부 파라미터(초점 거리, 오프셋, 스케일 팩터 등)를 정확히 알아야 한다. 센서캘리브레이션은 크게 정적 캘리브레이션과 동적(온라인) 캘리브레이션으로 나눌 수 있다.

1. 정적(Off-line) 캘리브레이션: 로봇 혹은 센서를 특정 환경(기준 패턴, 수평면, GPS 기준점 등)에 두고 여러 측정을 취한 후, 손실함수(예: 재투영 오차)를 최소화하는 방법으로 캘리브레이션 파라미터를 식별한다.
2. 동적(Online) 캘리브레이션: 센서퓨전 프로세스에 캘리브레이션 파라미터를 추가 상태로 넣고, 칼만필터나 입자필터로 추정한다. 시간 경과에 따른 달라지는 바이어스나 스케일 팩터를 추적하여 실시간 보정이 가능하다.

시계열 분석 측면에서, 캘리브레이션 파라미터도 일정한 확률과정(보통 천천히 변하는 랜덤 워크 등)으로 가정해 상태에 포함시키면, 센서퓨전 과정에서 캘리브레이션과 상태 추정을 동시에 수행할 수 있다.

#### 실제 응용 사례 개요

시계열 분석과 상태공간 모델을 결합하여 센서퓨전을 수행하는 사례는 무궁무진하다. 예를 들어

* 자율주행 차량: 카메라, 라이다, 레이더, IMU, GPS를 통합해 차량 위치와 맵 구조를 동시에 추정(SLAM)
* 드론: 경량 IMU, 고도계, GPS, 비전 센서를 결합해 실시간 자세제어 및 위치추정
* 산업 로봇: 모터 엔코더, IMU, 비전 센서, 포스-토크 센서 등으로 멀티 조인트 로봇의 상태를 추정하고 제어
* 스마트 팩토리: 여러 종류의 센서 네트워크에서 공정 상태를 모니터링, 예지보전(PHM)에 활용
* 헬스케어: 웨어러블 기기를 통해 신체 신호(심박, 호흡, 움직임)를 시계열적으로 분석하고, 상태공간 모델로 건강 지표를 추정

이 모든 분야에서 핵심은, 시계열적 특성과 확률적 모델링을 어떻게 결합하느냐, 그리고 실제 센서가 갖는 고유 잡음 특성과 동적 모델 불확실성을 어떻게 처리하느냐다.

#### 제약이 있는 상태공간 모델과 예측기반 추정

물리 시스템에서는 상태변수가 특정 범위를 벗어나지 않는 등의 제약(Constraints)이 발생하거나, 제어량이 설정 범위 내에 있어야 하는 상황이 자주 생긴다. 이때 일반 칼만필터는 상태가 제약을 초과해도 그대로 추정하므로, 물리적으로 불가능한 추정이 나올 수도 있다. 이를 해결하는 한 가지 방법은 예측기반 추정(Moving Horizon Estimation, MHE)이다.

예측기반 추정에서는 일정 길이의 윈도우를 설정한 뒤, 그 구간에 걸쳐 관측값과 모델을 동시에 만족하는 상태 궤적을 최적화 문제로 푼다. 가령 시점 tt에서 \[t−N+1…t]\[t-N+1 \dots t] 구간에 해당하는 상태 xt−N+1:t\mathbf{x}\_{t-N+1:t}를 결정 변수로 두고, 다음과 같은 비용함수를 최소화한다.

$$
\begin{align} \min\_{\mathbf{x}*{t-N+1:t}}  \quad & |\mathbf{x}*{t-N+1} - \hat{\mathbf{x}}*{t-N+1|t-N}|*{\mathbf{P}*0^{-1}}^2  + \sum*{\tau = t-N+1}^{t} \Bigl(|\mathbf{x}*{\tau+1} - f(\mathbf{x}*\tau,\mathbf{u}*\tau)|*{\mathbf{Q}^{-1}}^2 + |\mathbf{z}*\tau - h(\mathbf{x}*\tau)|*{\mathbf{R}^{-1}}^2\Bigr)  \text{subject to} \quad & \mathbf{x}*{\tau} \in \mathcal{X}, \quad \mathbf{u}\_\tau \in \mathcal{U}  \end{align}
$$

이때 $\mathcal{X}, \mathcal{U}$는 상태와 입력에 대한 제약 집합이다. 해를 구한 뒤, 마지막 시점 tt의 상태 $\mathbf{x}\_t$가 최종 추정값이 된다. 이 방식은 비선형 모델에서도 비교적 유연하며, 제약을 직접 반영할 수 있다는 장점이 있다. 다만 최적화 문제를 계속 풀어야 하므로 계산비용이 커진다. 상황에 따라 창 길이 NN을 줄이거나, 근사화·정칙화 기법을 사용해 실시간 계산이 가능하도록 조정한다.

#### 대규모 센서 네트워크에서의 분산/합의 필터

센서가 공간적으로 분산되어 있고, 각 노드가 자체적으로 시계열 데이터를 획득하며, 중앙 서버로 모든 데이터를 모으기 힘든 경우가 많다. 이때 분산 필터(Distributed Filter)나 합의 필터(Consensus Filter)를 사용해 각 노드가 자신만의 상태공간 모델을 유지하면서 상호 통신으로 전체 상태를 추정한다.

예를 들어 합의 칼만필터(Consensus KF) 구조에서는 각 노드가 로컬 칼만필터를 돌린 뒤, 주기적으로 이웃 노드와 상태추정치와 정보(공분산의 역) 등을 교환해 서로 추정치를 조정한다. 정보 필터 형태로 구현할 경우, 정보 행렬과 정보 벡터를 합산하면서 전체 시스템에 해당하는 정보가 축적된다. 이런 방식은 통신량을 제한하면서도 글로벌 상태추정 성능을 확보할 수 있다. 다만 노드 간 통신 지연이나 패킷 손실이 있을 때는 추가적인 보정 알고리즘이 필요하다.

#### 고급 데이터 동화(Data Assimilation) 기법

기상 예측이나 해양 관측, 대기질 모델링 등에서 쓰이는 데이터 동화(Data Assimilation)는 비선형 편미분방정식(PDE) 기반 모델과 대규모 센서 데이터를 결합한다. 이 분야에서는 3D-Var, 4D-Var, EnKF(Ensemble Kalman Filter) 같은 기법이 발달했다.

4D-Var는 일정 시간 구간 동안의 상태진화를 하나의 최적화 문제로 풀어, 모델 방정식과 관측 데이터를 동시에 만족시키는 초기 상태를 찾는다. EnKF(Ensemble Kalman Filter)는 다차원 상태에 대해 샘플 집합(ensemble)을 사용해 몬테카를로 근사를 수행하므로, 매우 높은 차원의 PDE 시스템에서도 상태추정이 가능하다. 센서퓨전에서도 복잡한 물리적 모델(유체역학, 열역학 등)이 필요한 경우 EnKF 접근이 널리 쓰인다.

데이터 동화 방식은 시계열 분석과 유사하게 베이지안 업데이트를 적용하지만, 모델이 PDE 형태로서 연속공간·연속시간을 취급한다. 연산량이 매우 방대하기 때문에 대규모 병렬 컴퓨팅 환경에서 동작하는 것이 일반적이다. 실제 기상청 등에서 사용하는 수치 예보 시스템이 대표 사례다.

#### 하이브리드 POMDP와 강화학습에서의 상태추정

시스템이 의사결정(정책)을 동반하는 상황에서는 부분 관측 마르코프 결정 과정(POMDP)이 자주 도입된다. POMDP는 내부 상태를 직접 관측할 수 없고, 센서로부터 불완전한 정보를 받아 에이전트가 최적 행동을 선택해야 하는 문제다. 센서퓨전과 유사하게, 베이지안 필터링을 통해 상태분포를 추정하고, 그 상태추정치에 기반해 보상을 최대화하는 정책을 계산한다.

최근 강화학습(Deep Reinforcement Learning) 분야에서도, 센서가 여러 개 달린 로봇이 환경을 부분적으로만 인지할 때 내부 상태추정 모듈을 병행한다. RNN이나 LSTM 구조를 결합하여 과거 관측정보를 시계열적으로 축적하기도 하지만, 상태공간 모델을 직접 구축하는 방법도 가능하다. 이때 센서퓨전 기술이 POMDP의 필터 역할을 수행하여, 학습 효율을 높이고 학습 결과의 해석 가능성도 개선한다.

#### 동적 시스템 식별: Neural State-Space와 Hybrid 모델

시계열 분석의 고전적 모델(ARMA, 상태공간)과 최근의 신경망(Neural Network)을 결합해, 뉴럴 상태공간(Neural State-Space) 모델을 구성하는 시도가 활발하다. 물리방정식으로 전부 규명하기 어려운 구간을 신경망이 근사하고, 나머지는 전통적 상태공간 식으로 유지한다. 예를 들어

$$
\begin{align} \mathbf{x}*{t+1} &= f*\theta(\mathbf{x}\_t, \mathbf{u}\_t) + \mathbf{w}\_t\\
\mathbf{z}\_t &= \mathbf{H},\mathbf{x}\_t + \mathbf{v}\_t \end{align}
$$

여기서 $f\_\theta(\cdot)$는 파라미터 $\theta$가 학습된 신경망이다. 이를 통해 센서가 복잡한 비선형적 상호작용을 겪는 과정도 모델링할 수 있다. 학습은 과거 데이터 로깅이나 온라인 학습으로 진행되며, 추정 과정에서는 EKF류나 UKF와 같은 근사 필터링을 적용한다.

이 방법은 순수 학습 기반 모델(블랙박스)보다 물리적 해석이 용이하고, 순수 물리 모델보다 복잡도를 줄이면서도 표현력이 높아진다는 이점이 있다. 로봇팔이나 드론 등에서 공기역학이나 마찰계수 등을 정확히 알기 어려울 때, 하이브리드 모델로 드론 추진계나 로봇 연결부의 실제 거동을 보정하는 사례가 보고되고 있다.

#### 예측제어(MPC)와의 결합

센서퓨전의 결과인 상태추정치는 제어 단계에도 직접 활용된다. 모델 예측제어(MPC)는 미래 시간 구간의 시스템 거동을 예측해, 비용함수를 최소화하는 제어입력을 구하는 방법이다. 시계열 분석과 결합하면, 시스템이 단순선형일 때는 칼만필터 상태추정을 MPC에 공급하고, 비선형 시스템일 때는 NMPC(Nonlinear MPC)와 EKF/UKF를 결합한다. 센서퓨전이 정확할수록 제어 입력이 더 안정적이고 성능이 높아진다.

실무에서는 필터가 상태추정을 계속 업데이트하고, 그 추정 상태를 초기조건으로 하여 MPC 문제를 푼다. 이렇게 하면 센서 노이즈나 모델 불확실성에도 비교적 강건하게 동작하는 제어기를 설계할 수 있다. 자율주행 차량의 경로 추종, 로봇 매니퓰레이터의 동적 궤적 추종 등에 폭넓게 적용된다.

#### 대형 행렬 연산 최적화와 희소성

상태공간 모델에서 $\mathbf{F}$와 $\mathbf{H}$가 매우 큰 차원을 갖거나, 센서 네트워크가 거대해지면 칼만필터의 공분산 업데이트에서 $O(n^3)$ 연산이 병목으로 작용한다. 이를 해결하기 위해 희소(sparse) 구조나 블록대각(블록트리) 구조를 활용한다.

실제로 그래프 기반 SLAM 같은 문제는 nn이 큰 그래프 형태로 표현될 수 있다. 이때 인접하지 않은 노드 간에는 상호작용이 없거나 무시할 수 있어서, 공분산 행렬이 희소에 가까운 구조가 된다. 희소 행렬 연산 기법을 적용하면 수백만 차원의 문제도 해결할 수 있다. CPU 또는 GPU 병렬화를 함께 이용해 실시간 성능을 달성하는 방향도 적극 연구되고 있다.

#### 모델링 오류와 모델 밸리데이션(Validation)

센서퓨전 시스템에서 가정한 상태공간 모델이 실제 물리 시스템을 잘 반영하지 못하면, 아무리 훌륭한 필터 알고리즘이라도 좋은 추정 결과가 나오지 않는다. 따라서 모델 밸리데이션 과정이 필수적이다. 모델 밸리데이션은 통계적 잔차 분석이나 교차검증(cross-validation), 독립적인 실험데이터와 비교 등을 통해 수행한다.

잔차 분석에서는 필터가 제공하는 예측 $\hat{\mathbf{z}}\_{t|t-1}$과 실제 관측 $\mathbf{z}\_t$ 사이의 차이를 살펴본다. 잔차가 가우시안 분포를 따르고 평균 0 근처에 분포하면 모델이 비교적 적합하다고 볼 수 있다. 반면 잔차가 시스템적으로 편향되거나(time-varying bias), 분산이 일관되게 크다면 모델 파라미터나 공분산 설정이 잘못되었을 수 있다.

일부 경우에는 시스템의 물리 파라미터를 실험적으로 측정·보정하여 모델 정확도를 높이고, 잔차가 작아지면 필터 안정성이 크게 개선된다. 모델이 전혀 맞지 않는 구간이 있으면(예: 마찰이 갑자기 커지는 구간) 스위칭 모델이나 온라인 파라미터 적응을 도입해야 한다.

#### 추가 예제 (Octave)

다음은 작은 예시로, 선형 상태공간 모델에서 단순한 1차 시스템을 칼만필터로 추정하는 Octave 코드를 보여준다. 행렬 차원이 작아 예시가 간단하지만, 센서퓨전의 기초 흐름을 이해하는 데 도움이 된다.

```octave
% 상태공간 모델:
% x_{t+1} = F x_t + G u_t + w_t
% z_t = H x_t + v_t
% 여기서는 1차 시스템 F=0.9, G=0.1, H=1 가정
clear all;

N = 50;
F = 0.9;
G = 0.1;
H = 1.0;

Q = 0.01;   % 공정 잡음 분산
R = 0.04;   % 관측 잡음 분산
u = 1.0;    % 일정 입력

% 시뮬레이션으로 데이터 생성
x_true = zeros(1,N);
z_meas = zeros(1,N);

w_noise = sqrt(Q)*randn(1,N);
v_noise = sqrt(R)*randn(1,N);

for t=2:N
  x_true(t) = F*x_true(t-1) + G*u + w_noise(t);
end

for t=1:N
  z_meas(t) = H*x_true(t) + v_noise(t);
end

% 칼만필터
x_est = 0;        % 초기 상태추정
P_est = 1;        % 초기 추정 공분산

x_save = zeros(1,N);

for t=1:N
  % 예측
  x_pred = F*x_est + G*u;
  P_pred = F*P_est*F + Q;
  
  % 관측 업데이트
  K = P_pred*H/(H*P_pred*H + R);
  x_est = x_pred + K*(z_meas(t) - H*x_pred);
  P_est = (1 - K*H)*P_pred;
  
  x_save(t) = x_est;
end

% 결과 비교
figure;
plot(x_true,'b','linewidth',2); hold on;
plot(z_meas,'ro','markersize',4);
plot(x_save,'g--','linewidth',2);
legend('True state','Measurement','Kalman estimate');
xlabel('Time step');
ylabel('Value');
title('1D Linear System with Kalman Filter');
```

이 예시는 1차 동역학 시스템에서 입력 $u$를 받은 상태 $x\_t$를 생성하고, 잡음이 섞인 관측 $z\_t$를 얻은 뒤, 칼만필터로 $x\_t$를 추정한다. 센서가 하나뿐인 경우에도 동일 구조가 적용된다. 센서가 여러 개라면 $z\_t$와 $H$를 확장하면 되고, 비선형이면 EKF/UKF로 대체할 수 있다.

이상으로, 시계열 분석과 상태공간 모델이 센서퓨전에서 어떻게 응용되고 확장되는지 구체적·심화된 항목들을 살펴보았다. 모델링과 필터링 기법은 상황과 센서 특성, 계산 자원, 정확도 요구사항에 따라 다양하게 조합될 수 있다. 센서퓨전은 계속 발전 중이며, 머신러닝·빅데이터·로보틱스 등 인접 분야와 긴밀히 연계되어 새로운 기법과 응용이 나오고 있다.
