1. 이동 평균 (Moving Average)
ㅇ 2 이상의 연속된 데이터 값(입력 값)의 평균을 계속적으로 계산해내는 평균화 방법
2. 이동 평균의 종류
ㅇ 이동 평균을 구하는 평균화 방식에 따라,
- 단순 이동 평균
- 단순 가중 이동 평균
- 지수 가중 이동 평균
- 기하 이동 평균 등이 있음
3. 이동 평균을 하는 이유
ㅇ 단순 평균이 데이터의 변화 예측을 오도할 수 있는 문제점 개선을 위해 설계된 기법
- 장래 관련성이 있다고 생각되는, 최근 얼마간에 발생된 데이터들 만으로,
- 연이어/계속적으로 이용하는 방법
ㅇ 데이터의 변화 움직임이 심한 경우, 이를 부드럽게(스무딩되게) 만들기 위해서도 사용
ㅇ 즉,
- 잡음을 없애고, 부드럽게 하는 동시에,
- 계의 동적인 최신 변화를 반영하기 위함
4. 단순 평균, 이동 평균의 계산 방식 비교
ㅇ 단순 평균 (simple average, cumulative average)
- 단순 평균 = ( 전체 데이터의 합계 ) / ( 전체 데이터 갯수 )
- 단순 평균식 형태 : [# \overline{x}_k = \frac{x_1 + x_2 + \cdots + x_k}{k}
= \frac{1}{k} \sum^k_{i=1}x_i #]
. k : 총 데이터 개수
. 소요 자원 : k(통상,시간)가 커질수록, 메모리 소요가 엄청나게 커질 수 있음
. 가중치 : (1/k)
.. 모든 데이터에 동일한 가중치(1/k)를 줌
- 단순 평균의 재귀식 형태 : [# \overline{x}_k = \frac{k-1}{k} \, \overline{x}_{k-1} + \frac{1}{k} \, \overline{x}_{k} = α \, \overline{x}_{k-1} + (1-α) \, x_k #]
. 소요 자원 : 2개 곱셈, 1개 덧셈, 1개 메모리
. {# \overline{x}_{k} #} : 전체 평균값, {# \overline{x}_{k-1} #} : 직전 평균값
. {# x_k #} : 새로 추가된 데이터
. α = (k-1)/k, 1/k = 1 - α
ㅇ 이동 평균
- 이동 평균 = ( 지난 얼마간의 합계 ) / ( 이동평균에서 사용된 기간의 수 )
- 이동 평균식 형태 : [# \overline{x}_k = \frac{x_{k-n+1} + x_{k-n+2} + \cdots + x_k}{n}
= \frac{1}{n} \; (x_{k-n+1} + x_{k-n+2} + \cdots + x_k) #]
. n : 지난 얼마간의 데이터 개수
. 가중치 : (1/n)
.. 모든 데이터에 동일한 가중치(1/n)를 줌
- 이동 평균의 재귀식 형태 : [# \overline{x}_k = \overline{x}_{k-1}+\frac{x_k - x_{k-n}}{n} #]
5. 이동 평균 필터 (Moving Average Filter)
ㅇ 디지털 필터에서, 간단하고 이해하기 쉽고 구현이 용이한 기초 필터
- 단순한 FIR 필터 중 하나
ㅇ 연속 입력 샘플값들을, 얼마간씩(N개씩,필터차수 만큼) 이동 평균해 가며, 출력을 내는 필터
- 차분 방정식 : [# y[n] = \frac{1}{N} \sum^{N-1}_{k=0} x[n-k] #]
(필터차수 : N)
- 임펄스 응답 : [# h[n] = \frac{1}{N} \sum^{N-1}_{k=0} δ[n-k] \quad \leftrightarrow \quad
H(z) = \frac{1}{N} \sum^{N-1}_{k=0} z^{-k} #]
- 주파수 응답 : [# H(jω) = H(e^{jω}) = \cdots #]
ㅇ 특성
- 저역 통과 특성
- 특정 주파수에서 노치(Notch) 발생
. 노치 주파수 : ω= (2πk)/N
- 필터의 길이(필터 차수)가 길어질수록 대역폭이 좁아짐
※ [참고] ☞ 디지털 필터 예 참조