728x90
칼만필터와 같이 이동평균이 안정화를 시킨다는 것을 알게 되었다.
** 자료 같은 거 너무 튈 때 표현하기 위해서 이런 평균 방법 쓰기도 함**
** 이동평균들의 종류와 칼만필터와 어떻게 차이가 있을지 **
이동편균이란? (Moving Average)
- 2이상 연속된 데이터 값의 입력에 대하여 지속적으로 평균을 계산해내는 평균화 방법
이동평균의 종류
1) SMA(Simple Moving Average) - 단순이동평균
2) LWMA(Linearly Weighted Moving Average) - 선형가중이동평균
3) EMA(Exponential Moving Average) - 지수이동평균
4) ARMA( Auto-Regressive Moving Average) - 자기회귀이동평균
지수이동 평균
- 는 현재 시점 t에서의 지수 이동 평균
- 는 현재 시점 t에서의 가격(또는 데이터)
- 는 지수 감소 비율 보통 0에서 1 사이의 값으로 설정되며, �=2�+1 로 설정할 수 있습니다. 여기서 N은 기간
- −1 은 이전 시점 t-1에서의 지수 이동 평균
import queue
class MovAvgFilter:
# 이전 스텝의 평균
prevAvg = 0
# 가장 최근 n개의 값을 저장하는 큐
xBuf = queue.Queue()
# 참조할 데이터의 갯수
n = 0
def __init__(self, _n):
# 초기화로 n개의 값을 0으로 둡니다.
for _ in range(_n):
self.xBuf.put(0)
# 참조할 데이터의 갯수를 저장합니다.
self.n = _n
def movAvgFilter(self, x):
# 큐의 front 값은 x_(k-n) 에 해당합니다.
front = self.xBuf.get()
# 이번 스텝에 입력 받은 값을 큐에 넣습니다.
self.xBuf.put(x)
avg = self.prevAvg + (x - front) / self.n
self.prevAvg = avg
return avg
Reference
https://angrypig7.github.io/misc/2018/07/04/%EC%9D%B4%EB%8F%99%ED%8F%89%EA%B7%A0(Moving-Average)/
http://ktword.co.kr/test/view/view.php?nav=&m_temp1=3665&id=133
http://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch15.pdf
https://www.analog.com/media/en/technical-documentation/dsp-book/dsp_book_Ch15.pdf
https://gaussian37.github.io/autodrive-ose-moving_average_filter/
728x90
'Done > MATH' 카테고리의 다른 글
[Linear algebra] 4장 Orthogonality (0) | 2022.01.17 |
---|---|
[Linear algebra] 3장. Vector Spaces and Subspaces (0) | 2022.01.10 |