모든 데이터를 이용한 smoothing 기법에서 나타나는 보편적인 문제점 중 하나는 바로 데이터의 끝부분에 대한 처리 문제입니다.
일정 구간의 산술 평균값을 계산하거나, 다항식으로 fitting하여 근사값을 구한 방식, 혹은 가중치를 전/후 데이터에 가중치를 곱하여 평균을 구하는 방식(Convolution)은 특정 위치에서 노이즈를 제거하고, 참값을 예측하기 위해 측정된 위치의 주변 데이터를 이용하여 통계적인 값을 계산해냅니다.
데이터 집합의 중간 위치에 있는 데이터는 일정 갯수 이상의 전/후 데이터가 존재하기 때문에 무리없이 계산이 되지만, 가장자리부분, 즉 측정된 데이터의 첫번째 혹은 마지막 위치의 데이터는 그 주변 데이터가 없거나, 비대칭적으로 분포하게 됩니다. 따라서, 중간 위치에 있는 데이터의 예측방법과 가장자리에 있는 데이터의 예측방법이 동일하다면 문제가 발생할 수 있습니다.
아래의 그림은 0.01 주기로 측정된 데이터를 Cut-off를 1이 되도록 100개의 데이터 주기를 Cut-off로 입력한 후, Gaussian 필터로 노이즈를 제거한 결과입니다.
가장자리에서 충분히 먼 구간인 0.5<X<9.5 구간에는 필터링 결과(빨간색 실선)가 노이즈를 잘 제거한 것으로 보입니다만, X<0.5 구간과 X>9.5 구간(초록색 박스 표시)은 실측값에서 많이 벗어나는 것을 알 수 있습니다.
통상적으로 FFT 변환을 이용하여 Gaussian 필터를 적용하는 경우, cut-off의 0.5배에 해당하는 가장자리 구간은 예측값을 신뢰할 수 없으며, 이 구간의 예측값이 참값에 수렴할 수 있도록 여러가지 방법을 사용하기도 합니다.
가장자리 보정을 위해 사용되는 대표적인 방법은 다음과 같습니다.
1. 데이터 측정할 때, 측정 시작과 끝 구간에서 Gaussian 필터의 cut-off의 0.5배에 해당하는 구간을 더 측정하는 방법이 있습니다. 즉, 측정된 구간의 가장자리 부분을 절사하는 것이지요. 엄밀히 말해 신뢰할 수 있는 구간만 남기고 삭제하는 것이니, 보정이라고 하기는 어렵지만, 데이터를 측정하기 전에 미리 더 넓은 구간을 측정하도록 계획에 반영하는 것입니다.
2. 어떠한 데이터는 데이터 구간을 확장할 수 없는 경우도 있습니다. 예를 들어, 특정 시간에 변화를 주고, 이 시간 이후의 변화를 측정한다면, 변동이 발생된 시간의 이전 데이터는 변동 발생 후의 데이터와 연장선에 있지 않기 때문에 보정을 위한 데이터로 사용할 수 없습니다.
이처럼 가장자리 구간의 데이터를 확장할 수 없다면, 가장자리 일정 구간의 데이터로부터 직선, 또는 다항식으로 외삽(extrapolation)하여 cut-off의 0.5배에 해당하는 구간의 가상 데이터를 생성하여 연장선을 그린 후, Gaussian 필터를 적용하는 것입니다. 그러나, 가장자리 데이터가 중간 영역의 데이터에 비해 급격한 기울기를 가지고 변동되는 경우에는 이러한 외삽법을 이용하기 어렵습니다.
3. 가장자리 부분의 데이터를 통상적인 방법으로 외삽이 불가능한 경우, 가장자리로 접근할수록 cut-off 값을 점진적으로 감소시켜서 원데이터에 최대한 근사한 결과를 얻을 수 있습니다. 그러나, 가장자리 부분의 예측값에는 노이즈가 더 많이 포함된다는 문제가 있습니다.
1번 방법을 제외한 나머지 보정 방법은 표준화된 방법은 아닙니다. 가장자리 데이터에 대한 보정은 데이터 형태를 확인하고 중간 부분의 예측값과 가장자리 부분의 예측값을 부드럽게 연결하기 위한 인위적인 보정일 뿐이기 때문에, 실측 결과와 비교하여 예측값이 적절한지 판단하면서 사용할 필요가 있습니다.
댓글 없음:
댓글 쓰기
의견이나 질문이 있으신 분은 언제든지 댓글을 달아주세요~