도약하다

[신호 처리 분석] Data Cleaning - Artifacts 식별 및 제거 예시 본문

데이터 사이언스/Signal Processing

[신호 처리 분석] Data Cleaning - Artifacts 식별 및 제거 예시

doyak1223 2024. 4. 2. 01:09

지난 글에서 이야기했듯이 수집한 데이터를 정제하는 것 (data cleaning)은 아주 중요하면서도 복잡한 단계이다. 최적의 데이터 정제 방법이라는 것은 사실상 딱 한두 가지로 정리하기가 불가능하다. 왜냐하면, 어떤 장비를 사용했는지, 어떤 종류의 데이터인지, 무슨 목적을 갖고 어떤 분석을 할 것인지에 따라 다양하게 달라질 수 있기 때문이다. 이러한 데이터 정제의 중요성을 인식했다면 다음으로 이어져야 하는 내용은 구체적으로 데이터 정제 과정에서 발생할 수 있는 여러 문제점들, 즉 'artifacts'에 초점을 맞춰 볼 필요가 있다.

 

이번 글에서는 실제 데이터 분석 과정에서 볼 수 있는 몇가지 artifacts의 예시를 함께 살펴보고, 이들 중 어떤 artifacts는 무시해도 되고 어떤 artifacts는 신경을 써야 하는지에 대해 이야기해 볼 것이다.

 

시작하기 전에 앞서 중요한 점 몇가지를 짚어보자.

1) 실제적인 분석에 앞서 눈으로 데이터를 보고 판단하는 과정이 중요하다.

2) artifact를 면밀히 살펴 볼 때에는 사용된 모든 채널을 다 고려해야 한다.

3) 눈으로 살펴볼 때에는 오랜 시간을 들여다보는 것보다는 직관적으로 보이는 점들을 파악하는 것이 중요하다.


예시 1

위의 데이터를 보자마자 보이는 몇 가지 특이점들을 살펴보자.

  1. 맨 아래에 위치한 5개 정도의 채널이 불안정해 보인다. 실험에 대한 사전 지식이 없는 상태로 데이터를 본다면 이 채널들은 분석에 사용할 수 없는 아주 불안정한 채널로 생각할 수 있다. 하지만, 이 채널들은 사실 EEG채널이 아니라 손가락 등 다른 근육들에서 오는 신호들이기 때문에 제거하지 않아도 된다. 
  2. 빨간 동그라미: 큰 움직임이 보이는 구간이다. 모든 채널에서 나타나지는 않지만, 꽤 많은 채널에서 보이는 artifact이다. 이 현상은 실험 대상자가 눈을 깜빡일 때마다 뇌에서 발생한 신호이다. 이 신호의 크기는 일반적인 EEG의 신호보다 훨씬 강해서 위의 데이터에 scale에 영향을 준다. 지난 시간에 살펴본 ICA기법을 적용한다면, 이런 눈 깜빡임과 같은 요소들을 제거하지 않고 다른 신호들에서 구분해 낼 수 있을 것이다. 
  3. 초록 동그라미: 아주 일시적이지만, 높은 frequency의 신호이다. 이 신호 때문에 trial 전체를 제거할 것인지 결정해야 한다. 이런 상황에서는 주관적인 견해가 들어갈 수 있다. 어떤 사람은 제거해야 한다고 생각할 수도 있고, 어떤 사람은 시간적으로 보나 공간적으로 보나 제한적인 artifact이기 때문에 괜찮다고 말하는 사람도 있을 것이다. 실제로 이 현상은 일시적이고, anterior (forehead) 채에서만 일어난 일이기도 하다. 이런 주관적인 요소들이라도 많은 양의 데이터를 기반으로 결정을 한다면 작은 artifact들 때문에 전체 trial을 제거해야 하는 안타까운 결정을 하지 않아도 되고, 분석이 견고해질 수 있기 때문에 데이터의 양도 매우 중요한 요소이다.

예시 2

  1. 빨간 동그라미: 시간적/공간적 측면에 있어서 매우 넓게 존재한다. 모든 채널에서 일어났고, 꽤 오래 지속되었다. 이런 경우에는 실험 대상자가 이 시간 동안 실험에 집중하지 못하고 머리를 만지거나 머리를 심하게 움직이는 등 EEG cap이 영향을 받았을 가능성이 높다. 그러므로 이 trial은 제거하는 것이 나을 것이다. 
  2. 초록 동그라미: 첫 번째 예시에서 처럼 작은 부분의 artifact도 고려를 해야 하기는 하지만, 데이터의 양이 많다면 크게 신경 쓰지 않아도 될 것이다.  

예시 3

  1. 빨강 동그라미: 공간적으로 보았을 때에는 모든 채널에 전반적으로 나타난 artifact이다. 하지만 시간적으로 보았을 때에는 실험 epoch 한 번의 초반 부분에만 일시적으로 일어난 현상이고 0초(검정 동그라미) 부분 전후로는 정상적인 신호를 받았기 때문에 제거해야 하는지에 대한 결정이 쉽지 않다. 여기서 중요하게 고려해야 할 점은, Edge Effect라는 것이다. 나중에 공부하겠지만, 데이터를 filtering할 때 각 epoch의 양 끝, 데이터의 처음 부분과 끝 부분에 해석할 수 없는 데이터의 변형이 생기는데 이를 고려해서 데이터의 변형이 있어도 충분히 의미 있는 데이터 분석을 하기 위해서는 양 끝에 조금의 여유 부분을 두는 것이 중요하다. 이런 이유로 artifact가 끝에 있을 때에는 데이터 filtering을 한 후에 제거를 하는 것이 좋을 수도 있다.   

예시 4

  1. 빨강 동그라미: 공간적으로 보았을 때에는 제한적으로 나타났다. 공간적으로 채널을 자세히 살펴보면 실험 대상자의 어깨나 귀쪽에서 근육의 움직임이 있어서 EEG 신호에 영향을 미친 것으로 보인다. 시간적으로 보았을 때에는 비교적 오래 지속된 artifact이다. 0.5초 정도 지속되었다. 더군다나 0초, 실험이 직접적으로 이루어진 순간에 근접 해 있기 때문에 더 자세히 분석해 볼 필요가 있는 artifact인 것 같다. 결정에 있어서 중요하게 생각 해야하는 요소는 두가지 정도이다. 아래 두가지를 충분히 고려하고 artifact를 제거할지 결정해야 할 것이다.
    1. 실험의 목적이 중요한 고려할 점일 것이다. 만약 전두엽 (frontal cortex)에 관한 실험이라면 후두엽 (occipital lobe)에서 일어나는 일에 중요도가 떨어질 것이다. 실제로 그림에서 볼 수 있듯이 frontal cortex 쪽에 위치한 전극들에서 받은 신호는 아주 깨끗한 신호들이다. 
    2. ICA 를 사용해 EMG 활동이 분리될 수 있는지 보는 것도 고려할 점이다. 만약 가능하다면, 우리가 관심 있는 데이터를 훼손하지 않고 artifact를 분리해 낼 수 있을 것이다.
  2. 초록 동그라미: 정상적인 EEG 신호들이 위로 아래로 점프하는 듯한 모습을 보이는 artifact이다. 정상적인 EEG 신호와 전기적 artifact가 동시에 발생한 것이라고 생각할 수 있겠다. 이 역시 제거에 대한 판단이 쉽지 않기에 몇 가지 옵션을 생각 해 봐야한다.
    1. 영향을 받은 전극을 분석에서 빼고, interpolate을 하는 방법이다. interpolate에 대해서는 다음 글에서 조금 더 자세하게 다루겠지만, 수학적인 접근으로 주변의 전극들의 신호를 사용해 빠진 전극의 신호를 계산하는 방법이다. 
    2. 만약 영향을 받은 trial이 위의 그림에서 볼 수 있듯이 4 trial이 전부이고 나머지 데이터에서는 보이지 않는다면 데이터의 양을 고려해서 위의 trial들만 제거하는 것도 방법이 될 수 있다. 그리고 1번의 방법과 결합해서 single channel - single trial interpolation을 진행 할 수도 있다. 
    3. ICA  사용해서 artifact만 분류해서 제거할 수 있는지 확인 해 보는 것 역시 옵션이 될 수 있다.

이렇게 4가지 예시를 통해 artifact를 제거하는데 고려해야 할 점들에 대해 분석하는 방법을 살펴보았다. artifact들은 데이터 분석의 정확성에 큰 영향을 미치기 때문에 식별하고 처리하는 것이 매우 중요하다. 사실 데이터를 수집하는 단계에서 모든 변수들을 통제하여 깨끗하고 의미 있는 신호를 수집하는 것이 가장 좋은 방법이겠지만, 현실적으로 모든 변수를 제거하기는 쉽지 않기 때문에, 이러한 data cleaning 작업을 공부하고 연습하는 것이 더 좋은 분석을 하기 위해 아주 중요할 것이다.