Capstone

Way of Modeling

이타심 2021. 10. 17. 16:13
728x90
모델링 방법 고안


#시작하며

지난 시간까지는, 데이터에 Error를 증가시키는 방법들을 고안하여 Raw data에 적용시키는 과정을 수행하였다. 해당 과정에 이어서, 이번 포스팅에서는 데이터를 운동 성분과 떨림 성분으로 구분하여, Error Distance에 해당하는 운동 성분을 가지고 데이터 모델링을 진행해 볼 것이고, 해당 모델링의 방법들도 여러 가지 상황에서 고안해 볼 것이다.

 

# How to make?

그렇다면 떨림 성분과 운동 성분이란 무엇일까?

Algorithm

위 그림은, 환자가 데이터를 측정하는 START지점에서 시작하여, 이상 운동증의 척도를 측정하는 과정에 대해서 설명한 알고리즘 흐름도다. 떨림의 주파수인 Tremor frequency power(Hz), Tremor Magnitude power(cm), Error distance(cm), Velocity(cm), time(sec)과 같이 5가지 평가지표로서 나누어지고, 이중 우리가 연구 중인 Error Distance는 운동 성분에 해당한다. 떨림 성분은, Raw data를 기준으로, 3~15Hz에 해당하는 부분을 Band Pass Filtering으로 필터링한 데이터이고, 운동 성분은, 0~3Hz의 부분을 Low Pass Filtering으로 필터링한 데이터이다. 앞선 포스팅에서는 Raw data를 기준으로 Error를 첨가하며 방법을 고안하는 과정이었다면, 이번에는 해당 방법을, 실제 적용 데이터인 운동 성분 데이터에 적용시키고, 나아가 다른 다양한 방법들도 적용해 볼 것이다. 

 

#운동 성분 데이터

 

Raw data to 운동 data

위 그림은, Raw data를 기준으로 Low Pass Filtering을 거쳐 운동 성분 데이터를 추출한 그래프이다. 그림에서도 확인할 수 있듯이, 운동 데이터는 떨림을 포함하고 있는 Raw data에서 떨림을 제거하고, 환자가 실제 그린 방향성의 순수 운동성분만 추출한 모습을 볼 수 있다.

 

 

#Way of Modeling

그렇다면 앞서 제시한 일정하게 Error가 증가하는 방법 말고 데이터를 모델링할 수 있는 방법이 무엇이 있을까? 생각해 본 방법은, 데이터에 Error를 증가시키는 정도를 나타내는 변수를 N이라고 한다면, N에 대한 값을 랜덤 하게 지정하여 Error를 추가하는 방법과, 점진적으로 N값이 증가하거나 감소하여 Error를 추가하는 방법을 생각해 보았다. 

Modeling Case

  • Case2: 랜덤하게 증가

고안 과정

위 그림은, 랜덤하게 증가하는 Case에서의 경우의 수를 생각해 본 것이다. 먼저 랜덤하게 Error를 증가시키는 방법으로, 단순히 각 Pair의 값에 대한 값을 랜덤하게 지정하여 증감시켜주는 방식을 고안하였다. 하지만 해당 방법을 적용시켜 본 결과, 앞서 겪었던 문제 중 하나인, 뾰족하게 사람이 직접 그린 Data와는 이질감이 있는 Data가 생성되었다. 따라서 생각한 방법이 구간을 설정하는 방법이다. 구간을 설정하는 방법이란, 위 그림에서 보이는 것과 같이, 전체 Pair의 수를 일정한 간격으로 나누어, 해당 간격 내의 Pair들에게는 동일한 Error값의 변화를 적용하는 것이다. 즉, Error에 대한 랜덤 값이, 구간을 지날 때마다 최신화되는 것이다. 

랜덤하게 증가시킨 결과

따라서 위에 나타난 숫자 개수만큼 구간을 설정하여 rand 함수로서 난수를 발생시켜 적용했고, 보다 이질감이 감소된 자연스러운 데이터를 생성할 수 있었다. 

 

  • Case3: 점진적으로 증감

 

고안 과정

해당 점진적으로 증감하는 방법은, 이질감이 생기는 문제없이 자연스럽게 생성되었고, 차질 없이 진행할 수 있었다.

점진적으로 증감시킨 결과

  • 데이터 비교

 

Data Plot, each way

 

#마치며

오늘은, 앞서 생각했던 방법을 기준으로, 다양한 상황에서 데이터를 모델링하는 방법에 대해 알아보았다. 하지만 해당 데이터를 생성한 방법의 한계는, 캡스톤 프로젝트에서 개발한 Error Distance를 측정하는 방법을 베이스로 고안된 방법이기 때문에, 추후 논문을 작성한다면, 데이터 비교를 통한 개발 알고리즘의 우수성을 평가하는데 문제점이 발생한다. 우리가 알고리즘을 제시하고, 해당 알고리즘으로 데이터를 만들어 다시 비교하며, 정확도를 판단하는 것이 말이 안 되기 때문이다. 따라서 난관에 봉착하게 되었는데, 다음 포스팅에는 위의 진폭의 증가로 인한 데이터 모델링 방법이 아닌, Base Line부터 직접 코드를 통해 구현하여 실제 100% 코드로서 생성되는 데이터를 모델링해 볼 것이다. 

728x90

'Capstone' 카테고리의 다른 글

Expressed the Velocity  (0) 2021.11.10
Make new data sample  (0) 2021.10.27
데이터 모델링  (0) 2021.10.12
포스트 캡스톤의 시작  (0) 2021.10.11
KCC 2021 학부생 논문 부분 우수상 수상  (1) 2021.07.30