카테고리 없음

[DATA] 평균,평균필터,이동평균필터 (Average, AverageFilter, MovingAverageFilter by Innosoft)

BOOX 2021. 1. 25. 01:32

대량의 데이터 취득시 특정 결과물을 얻기 위해 계산을 해야하는 경우가 많습니다.

그중에서도 단순하다면 단순한 평균! 입니다.

 

1. 평균(Average)

모든 데이터의 합을 데이터의 갯수로 나누면 끝.. 초등학교 5학년 수업에 나오네요.

이 평균을 산술평균이라 합니다.

 

장점) 너무나도 쉽다!! ㅋ

단점) 데이터가 많다면 계산시간이 오래 걸린다. 많은 메모리를 차지한다.

 

문제는 역시나 대량의 실시간 데이터를 처리하기에는 문제가 된다는 것입니다. 그래서 생각해보게 되지요. 실시간 들어오는 데이터들만 평균을 내놓고 새로운 데이터를 포함하여 새로운 평균을 구하고.. 오~ 좋은듯 합니다. 하지만 계산해보면? 직접 해보시길.. 단순하게 [1,2,3,4,5]라는 데이터만 가지고..

 

 

2. 평균필터(Average Filter)

그래서 만들어진 것이 평균필터입니다.

 

장점) 모든 데이터를 가지고 있을 필요 없이 미리 계산된 평균값으로 빠른 계산이 가능.

단점) '평균'대비 단점은 아닙니다. '평균'과 '평균필터'의 결과는 동일하니까요.

 

'평균', '평균필터'의 단점은 많은 시간동안 많은 데이터가 누적되면 특정 평균값에 수렴하게 되고 변화가 거의 발생하지 않게된다는 것입니다.

 

아래 표와 그래프의 노란색과 오렌지색의 데이터입니다. '평균'과 '평균필터' 값은 동일하기에 겹쳐졌고 거의 변화가 없는 걸 볼 수 있습니다.

 

 

3. 이동평균필터(Moving Average Filter)

그래서 전체평균이 아니라 특정 이동 시점 구간에서의 평균을 계산하며 나아가는 방식입니다.

 

장점) 시간에 따른 변화량을 그래도 어느정도 따라가는 것을 볼 수 있습니다. 데이터 갯수가 많아질수록 노이즈 제거 성능이 좋아집니다.

단점) 데이터에 따른 FilterSize(계산에 사용될 갯수) 조정 필요하나 규정된 값이 없이 실험치 필요함.

 

FilterSize가 작으면 변화를 잘 따라가지만 노이즈 제거가 잘 되지 않게 되는 것이고,

FilterSize가 크면 노이즈 제거는 잘 되지만 변화에 둔감하고 지연(Delay, Phrase, Lag)이 발생하게 됩니다.

 

아래 표와 그래프의 녹색 데이터입니다.

랜덤으로 처리해서 값이 너무 튀지만 자세히 보면 확실히 Delay가 느껴집니다.

 

그래도 추세를 잘 따라주는 방식이라 센서 데이터 샘플링 등 많이 사용되는 방식입니다.

 

 

4. 이동평균필터에 일반적인 Group delay FIR을 적용하였습니다.

Group delay를 보정하기 위해 Filter를 적용하였고 아래의 빨간색 데이터입니다.

확실히 녹색 그래프보다는 본래 데이터에 좀더 Fitting 되어 있음을 확인할 수 있습니다.

 

 

Average_AverageFilter_MovingAverageFilter_Innosoft2021.jpg
0.53MB
Average_AverageFilter_MovingAverageFilter_Innosoft2021.pdf
0.30MB