[SS] Discrete System Representation: DE, MA, AR, ARMA, ARIMA, SARIMA

2024. 11. 23. 14:05·.../Signals and Systems
728x90
728x90

신호처리 관점에서의 시스템 표현:
차분 방정식과 MA, AR, ARMA, ARIMA, SARIMA 모델

신호처리에서 이산 신호 시스템은
FIR(Finite Impulse Response) 시스템과 IIR(Infinite Impulse Response) 시스템으로 분류할 수 있음.

  • 이들은 difference equation(차분 방정식)을 통해 수학적으로 표현가능함.
  • 그러나 차분 방정식만으로는 신호의 주파수 응답, 자기 상관성, 노이즈 제거 등의 다양한 특성을 효과적으로 반영한 모델링이 어려움.

Difference Equation

 

참고:

 

  • 자기 상관성(auto-correlation): 신호가 자기 자신의 과거값과 얼마나 상관되는지를 뜻하는 비교적 구체적인 개념
  • 시간에 따른 상관성(temporal correlation): 시간 축을 따라 값들 사이에 상관 구조가 있다는 더 넓고 일반적인 표현

 

이를 보완하기 위해 다음의 확장된 형태의 표현(representation, model)이 도입됨.

  • MA(Moving Average),
  • AR(Auto-Regressive),
  • ARMA(Auto-Regressive Moving Average),
  • ARIMA(Auto-Regressive Integrated Moving Average),
  • SARIMA(Seasonal Auto-Regressive Integrated Moving Average)

다만

  • ARIMA와 SARIMA는 일반적인 DSP filter 구조의 직접적 확장이라기보다,
  • 주로 시계열 분석(time series analysis) 에서
  • ARMA에 차분과 계절성을 추가한 확장 모델로 이해하는 것이 더 정확함.

이러한 모델들은 신호처리와 시계열 분석에서 데이터(or 신호) 및 시스템의 특성을 반영하여 시스템을 더욱 정교하게 표현하는 데 사용됨.

더보기

2024.11.22 - [.../Signals and Systems] - [SS] Structural Characteristics of Discrete Signals (or Time-series Data) : 작성중

 

[SS] Structural Characteristics of Discrete Signals (or Time-series Data) : 작성중

Discrete Signal과 Time-series DataDiscrete signal은 이산 시간(discrete time)에서 측정된 값을 가지는 Signal이는 일반적으로 time series data의 한 형태로 볼 수 있음.시간의 discrete point에서 정의된 signal은 시간적

dsaint31.tistory.com


 

참고로 time series analysis(시계열 분석)에서는

  • 주로 input signal $x[n-k]$ 대신, white noise error 또는 innovation인 $\epsilon[n-k]$ 을 사용하는 경우가 더 일반적임. 
  • 시계열의 MA 모델은 과거 입력 신호의 선형 결합이라기보다, 현재와 과거 오차항의 선형 결합으로 이해하는 것이 더 정확함.
  • ML 등에서는 이전 시점의 출력 $y[n-k]$를 lag라고도 칭함
  • Lag는 현재 시점보다 $k$만큼 앞선 과거 시점의 값 또는 그 시차 자체를 가리키는 용어임.

2023.09.01 - [Computer] - [ML] Time Series 란?

 

[ML] Time Series 란?

시계열 데이터라고 불리는 time series data는 쉽게 생각해서 일정한 시간 간격으로 배치된 seqence (수열) 을 가르킨다. 이는 엄밀하게 애기하면 discrete time series data라고 생각할 수 있다. continuous time se

dsaint31.tistory.com


1. 차분 방정식을 통한 FIR과 IIR 시스템

디지털 신호처리에서 FIR과 IIR 시스템은 다음과 같은 difference equation(차분 방정식)으로 표현됨:

$$y[n] +\sum_{k=1}^P a_k y[n-k] = \sum_{k=0}^{Q} b_k x[n-k]$$

  • Time Invariant System인 경우, $a_k$와 $b_k$는 모두 시간에 독립적인 constant coefficient.
  • Causal System인 경우, $P \ge Q$성립.

1-1. FIR 시스템 (유한 임펄스 응답):

$$y[n] = \sum_{k=0}^{Q} b_k x[n - k]$$

  • 특징:
    • 피드백 차수 \( P = 0 \) (피드백 계수 \( a_k = 0 \))
    • 입력 신호 \( x[n] \)의 유한한 과거 값을 사용하여 출력 \( y[n] \)을 생성
    • 유한한 임펄스 응답을 가지며, 노이즈 제거와 신호 평활화에 적합

1-2.IIR 시스템 (무한 임펄스 응답):

$$y[n] = - \sum_{k=1}^{P} a_k y[n - k] + \sum_{k=0}^{Q} b_k x[n - k]$$

  • 특징:
    • 피드백 계수 \( a_k \)가 존재하여 과거 출력 신호 \( y[n - k] \)를 피드백으로 활용
    • 자기 상관성을 반영
    • 무한한 임펄스 응답을 생성하며 복잡한 freq. response 설계가 가능

2. 확장된 모델: MA, AR, ARMA, ARIMA, SARIMA

2-1. 이동 평균(MA) 모델

정의:

\[
y[n] = \sum_{k=0}^{Q} b_k x[n - k]
\]

  • 여기서 \( Q \): 이동 평균 차수 (피드포워드 차수)

특징:

  • DSP 관점에서 MA 모델은 FIR 시스템과 직접적으로 대응됨:
    feedforward만 있는 FIR 구조
  • discrete-time convolution (for LTI system)에 해당:
    zero-state response는 input signal과 finite impulse response의 convolution으로 계산 가능함
  • 주로 노이즈 제거 와 신호 평활화 등에 사용.
  • 시스템의 제로(zero)를 제어하여 freq. response를 설계할 수 있음.

Exponential Moving Average는
엄밀한 의미의 MA model은 아니며,
현재 입력과 과거 출력이 함께 사용되는 1차 recursive filter, 즉 AR형 구조로 이해하는 것이 더 정확함.

2024.11.22 - [.../Math] - [Math] Exponential Moving Average (EMA)

 

[Math] Exponential Moving Average (EMA)

Definitionmoving average (=rolling average or running average)데이터 포인트를 분석하기 위한전체 데이터 집합에서 연속적인 부분 집합들의 평균을 계산하는통계적 방법이다.일반적으로 MA는 다음과 같이 모

dsaint31.tistory.com


2-2. 자기회귀(AR) 모델

정의:

\[
y[n] = - \sum_{k=1}^{P} a_k y[n - k] + b_0 x[n]
\]

  • 여기서 \( P \): 자기회귀 차수 (feedback order)
  • \(a_k\): feedback coefficient
  • \(b_0\): 현재 입력에 대한 coefficient

특징:

  • IIR 시스템의 특별한 형태: feedback을 통해 Infinite Impulse Response를 표현.
  • 현재 입력 \( x[n] \)과 과거 출력 \( y[n - k] \)를 사용하여 출력 생성되는 recursive 구조임.
  • Auto-correlation(자기 상관성)을 반영.
  • 폴(pole)을 제어하여 frequency response와 resonance frequency(공진 주파수)를 설계할 수 있음
    • 위 식은 DSP 관점에서 all-pole IIR (Infinite Impulse Response) 시스템 형태에 해당.
    • feedback을 포함하므로 impulse response가 이론적으로 무한 길이를 가질 수 있음
  • 시스템의 pole 위치를 조절하여 frequency response, resonance 특성, 선택도(selectivity) 등을 설계할 수 있음.
  • 필요에 따라 FIR 또는 MA 특성을 고차 AR 모델로 근사(approximation) 할 수도 있음
    • 고차 AR로 근사할 수는 있으나 정확한 표현은 일반적으로 불가능함
    • 이 경우 정확한 등가 표현이 아니라 근사 표현이며, 차수가 커질수록 계산 복잡도와 모델 해석 부담이 증가할 수 있음
    • 따라서 FIR 시스템은 일반적으로 MA 모델로 표현하는 것이 자연스럽고 효율적임
    • 이 경우, 차수가 높아져 계산 복잡도가 증가하는 단점이 있음. 
    • 따라서 FIR 시스템은 일반적으로 MA 모델로 표현하는 것이 효율적임.

 


2-3. 자기회귀 이동 평균(ARMA) 모델

정의:

\[ y[n] = - \sum_{k=1}^{P} a_k y[n - k] + \sum_{k=0}^{Q} b_k x[n - k] \]

  • \( P \): feedback order (자기회귀 차수)
  • \( Q \): feedforward order (이동 평균 차수)
  • \(a_k\) : feedback coefficient
  • \(b_k\) : feedforward coefficient

특징:

  • MA와 AR을 결합한 general form.
  • FIR ($P=0$)과 IIR($P>0$) 시스템 모두 표현 가능.
  • DSP 관점에서 일반적인 pole-zero IIR 시스템의 형태와 직접적으로 대응됨.
  • pole과 zero를 동시에 조절할 수 있으므로 복잡한 주파수 응답 설계가 가능
  • 참고로 시계열에선 $x[n]$을 "외부 입력 신호"이라기 보다 white noise 또는 innovation으로 해석함.
  • 위 식과 설명은 DSP관점임.

2-4. 자기회귀 누적 이동 평균(ARIMA) 모델

더보기

참고: 정상성(stationarity) 
신호의 통계적 특성이 시간에 따라 변하지 않는 성질로  
Stationary Signal은 Signal의 평균(mean)이 분산(varaiance)이 시간에 따라 변하지 않고 자기 공분산(auto-covariance) 등이 시점 자체가 아닌 시차(lag)에만 의존함.


정의:

일반 차분 연산자 \( \Delta^d \)는 다음과 같이 정의됨:

\[
\Delta^d x[n] = \left(1 - B\right)^d x[n]
\]

  • \( B \)는 뒤로 이동 연산자(backshift operator), \( B x[n] = x[n - 1] \)

입력 신호 \( x[n] \)에 \( d \)차 차분 연산자를 적용하여 \( x_d[n] \)을 생성:

\[
x_d[n] = \Delta^d x[n] = (1 - B)^d x[n]
\]

 

위에서 구한 차분된 입력 신호에 ARMA 모델 적용:

$$y[n] = - \sum_{k=1}^{P} a_k y[n - k] + \sum_{k=0}^{Q} b_k x_d[n - k]$$ 

  • $P$: order of AR
  • $d$: order of differencing
  • $Q$: order of MA

ARIMA 모델은 비정상 시계열에 차분(differencing)을 적용하여 정상 시계열로 변환한 뒤, 그 차분된 시계열을 ARMA 모델로 분석하는 방법임. 시계열의 경우, AIRMA $(P,d,Q)$ 은 원래 시계열 $y[n]$이 non-statioinary인 경우 여기에 $d$차 차분을 시키고 ARMA $(P,Q)$를 적용하는게 일반적임.

위의 식은 DSP의 filter관점으로 기재된 것임.

특징:

  • 비정상 신호는 통계적특성이 시간에 따라 변하므로 분석이 어려움
  • 비정상(non-stationary) 신호에 \( d \)차 차분을 적용하여 "정상(stationary) 신호에 가까운 형태"로 변환한 후 ARMA 모델로 분석
    • 차분 연산은 시간에 따라 변하는 평균이나 trend를 제거하는 데 자주 사용됨
    • 따라서 ARIMA는 trend가 존재하는 비정상 데이터의 모델링에 유용함
    • $d=0$ 이면 ARIMA는 ARMA와 동일
  • Differencing(차분 연산)은 비정상 신호를 정상 신호로 변환하는 데 사용: 주로 trend를 제거.
    • 단,차분을 너무 많이 적용하면 오히려 신호 구조가 훼손될 수 있으므로 적절한 차수 선택이 중요함

참고: 차분 연산자 동작 예제 (차수 \( d = 2 \) )

예를 들어, 원래 신호 \( x[n] \)이 다음과 같다고 가정:
\[
x[0] = 1,\quad x[1] = 3,\quad x[2] = 6,\quad x[3] = 10
\]

1차 차분 (\( d = 1 \) )을 적용하면:
\[
\Delta x[1] = x[1] - x[0] = 3 - 1 = 2 \\
\Delta x[2] = x[2] - x[1] = 6 - 3 = 3 \\
\Delta x[3] = x[3] - x[2] = 10 - 6 = 4
\]

차분된 신호 \( \Delta x[n] \)는 \( {2, 3, 4} \)가 됨.

\[
\Delta x[n] = x[n] - x[n - 1]
\]

2차 차분 (\( d = 2 \))을 적용하면:

1차 차분된 신호에 다시 차분 연산 적용:

\[
\Delta^2 x[n] = \Delta (\Delta x[n]) = \Delta x[n] - \Delta x[n - 1]
\]

계산 결과:
\[
\Delta^2 x[2] = \Delta x[2] - \Delta x[1] = 3 - 2 = 1 \\
\Delta^2 x[3] = \Delta x[3] - \Delta x[2] = 4 - 3 = 1
\]

또는 다음의 공식으로 직접 계산도 가능:

\[
\Delta^2 x[n] = x[n] - 2 x[n - 1] + x[n - 2]
\]

직접 계산하면 다음과 같음:

\[
\Delta^2 x[2] = x[2] - 2 x[1] + x[0] = 6 - 2 \times 3 + 1 = 6 - 6 + 1 = 1 \\
\Delta^2 x[3] = x[3] - 2 x[2] + x[1] = 10 - 2 \times 6 + 3 = 10 - 12 + 3 = 1
\]

2차 차분된 신호 \( \Delta^2 x[n] \)는 \( {1, 1} \)이 됨

해석:

  • 2차 차분을 통해 원래 신호의 증가율의 변화를 확인할 수 있음
  • 일정한 증가 추세를 가지는 신호는 2차 차분 후에 일정한 값이 됨

2-5. 계절성 자기회귀 누적 이동 평균(SARIMA) 모델

정의:

계절 차분 연산자 \( \Delta_s^D \):

\[
\Delta_s^D x[n] = (1 - B^{s})^D x[n]
\]

  • 여기서 \( s \)는 계절 주기(period)

입력 신호에 일반 차분과 계절 차분 연산자를 적용하여 \( x_{d,D}[n] \)을 생성:

\[
x_{d,D}[n] = \Delta^d \Delta_s^D x[n]
\]

 

차분된 신호를 사용하여 ARMA 모델을 계절성을 포함하여 확장:

\[
y[n] = - \sum_{k=1}^{P} a_k y[n - k] - \sum_{k=1}^{P_s} A_k y[n - k s] + \sum_{k=0}^{Q} b_k x_{d,D}[n - k] + \sum_{k=0}^{Q_s} B_k x_{d,D}[n - k s]
\]

특징:

  • 주기적 특성을 가진 데이터에서 반복 패턴을 분석하는 데 적합
  • 시계열 데이터 분석에서 계절성(seasonality)을 반영하여 모델링할 수 있음

참고: 계절 차분 연산자 동작 예제

예를 들어, 계절 주기 \( s = 2 \), 차수 \( D = 1 \)인 경우, 원래 신호 \( x[n] \)이 다음과 같다고 가정:

 

\[
x[0] = 5,\quad x[1] = 7,\quad x[2] = 5,\quad x[3] = 7,\quad x[4] = 5
\]

 

계절 차분 연산자 \( \Delta_2^1 x[n] = x[n] - x[n - 2] \)를 적용하면:

 

\[
\Delta_2^1 x[2] = x[2] - x[0] = 5 - 5 = 0 \\
\Delta_2^1 x[3] = x[3] - x[1] = 7 - 7 = 0 \\
\Delta_2^1 x[4] = x[4] - x[2] = 5 - 5 = 0
\]

계절 차분된 신호 \( \Delta_2^1 x[n] \)는 \( {0, 0, 0} \)가 됨

 

해석:

  • 원래 신호가 주기 2의 패턴을 가지며, 계절 차분 후에는 변화가 없는 것을 보여줌

3. 차분 방정식과 확장 모델 비교

모델 대응 시스템 주요 특징 활용성
MA
모델
FIR 시스템 현재 및 과거 입력의 선형 결합으로
출력을 생성하는 non-recursive 구조임
zero를 조절하여
주파수 응답을 설계하고,
노이즈 제거 및 신호 평활화에 활용됨
AR
모델
all-pole IIR
시스템
과거 출력과 현재 입력을 이용하는 recursive 구조이며,
시간적 상관성과 공진 특성을 모델링하는 데 유리함
pole을 조절하여
주파수 응답과 공진 특성을
설계하는 데 활용됨
ARMA
모델
pole-zero IIR
시스템
AR과 MA를 결합한 보다 일반적인 형태로,
과거 출력과 현재 및 과거 입력을 함께 반영함
pole과 zero를 함께 조절하여
보다 복잡한 주파수 응답을 설계하는 데 활용됨
ARIMA
모델
ARMA
+ differencing
비정상 시계열에 차분을 적용하여
정상성에 가까운 형태로 변환한 뒤
ARMA로 모델링함
trend가 있는 비정상 시계열의
분석과 예측에 활용됨
SARIMA
모델
ARIMA
+ seasonal terms
ARIMA에
계절 성분을 추가하여
추세와 계절성을 함께 모델링함
계절성과 주기성이 존재하는
시계열의 분석과 예측에 활용됨

4. 결론

신호처리에서 시스템의 표현은

  • 기본적인 difference equation에서 시작하여
  • MA, AR, ARMA, ARIMA, SARIMA 모델로 확장됨.

이러한 모델들은 시스템의 입력-출력 관계, 시간적 상관성, 공진 특성, 주파수 응답 구조 등을 보다 체계적으로 표현하는 데 사용됨.

  • MA 모델은 현재 및 과거 입력의 선형 결합으로 출력을 생성하는 non-recursive 구조이며, DSP 관점에서 FIR 시스템과 직접적으로 대응됨.
  • AR 모델은 과거 출력과 현재 입력을 이용하는 recursive 구조이며, 일반적으로 all-pole IIR 시스템에 대응됨.
  • ARMA 모델은 AR과 MA를 결합한 보다 일반적인 형태로, pole과 zero를 모두 포함하는 pole-zero 시스템을 표현하는 데 유리함.
  • 특히, AR 모델을 이용해 FIR 시스템의 특성을 근사하는 것은 가능할 수 있으나, 일반적인 FIR 시스템을 유한 차수 AR 모델로 정확히 표현할 수 있다고 보는 것은 부정확함.
  • FIR 시스템은 본질적으로 MA 구조와 직접적으로 대응되므로, 일반적으로는 MA 모델로 표현하는 것이 더 자연스럽고 효율적임
  • MA, AR, ARMA는 주로 difference equation 및 filter structure 관점에서 이해할 수 있고, ARIMA와 SARIMA는 이러한 개념이 시계열의 비정상성 및 계절성 처리로 확장된 형태로 이해하는 것이 더 적절함.
    • ARIMA 모델은 비정상(non-stationary) 시계열에 차분(differencing)을 적용하여 정상성(stationarity)에 가까운 형태로 만든 뒤, 그 차분된 시계열을 ARMA 구조로 분석하는 방법
    • SARIMA 모델은 ARIMA에 seasonal term을 추가한 형태로, 추세뿐 아니라 계절성(seasonality)까지 함께 모델링할 수 있음.

참고하면 좋은 글들

https://velog.io/@euisuk-chung/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D%EC%8B%9C%EA%B3%84%EC%97%B4-AR-MA-ARMA-ARIMA%EC%9D%98-%EB%AA%A8%EB%93%A0-%EA%B2%83-%EA%B0%9C%EB%85%90%ED%8E%B8

 

[머신러닝][시계열] AR, MA, ARMA, ARIMA의 모든 것 - 개념편

시계열 분석에 대표주자 AR, MA, ARMA, ARIMA에 대해 설명합니다.

velog.io

 


 

728x90

'... > Signals and Systems' 카테고리의 다른 글

[SS] FT: Convolution Property  (0) 2024.12.10
[SS] Scaling Property (and Zero-Interpolation): Fourier Transform  (0) 2024.12.02
[SS] Structural Characteristics of Discrete Signals (or Time-series Data) : 작성중  (0) 2024.11.22
[SS] Shannon-Nyquist Sampling Theorem  (0) 2024.10.21
[SS] Eigenmode, Eigenvector, and System mode  (0) 2024.09.23
'.../Signals and Systems' 카테고리의 다른 글
  • [SS] FT: Convolution Property
  • [SS] Scaling Property (and Zero-Interpolation): Fourier Transform
  • [SS] Structural Characteristics of Discrete Signals (or Time-series Data) : 작성중
  • [SS] Shannon-Nyquist Sampling Theorem
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (800)
      • Private Life (16)
      • Programming (215)
        • DIP (116)
        • ML (44)
      • Computer (120)
        • CE (54)
        • ETC (31)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (12)
      • ... (371)
        • Signals and Systems (115)
        • Math (178)
        • Linear Algebra (33)
        • Physics (44)
        • 인성세미나 (1)
      • 정리필요. (62)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (10)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    random
    Vector
    ML
    SIGNAL
    Programming
    opencv
    math
    Probability
    linear algebra
    fourier transform
    cv2
    Optimization
    인허가제도
    Term
    SS
    DIP
    signals_and_systems
    function
    Python
    signal_and_system
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[SS] Discrete System Representation: DE, MA, AR, ARMA, ARIMA, SARIMA
상단으로

티스토리툴바