new data
#시작하며
이전 시간까지 운동 성분으로 데이터를 표현하고 Error까지 적용시키는 과정을 진행하였다. 이번 포스팅에서는, 지난 글의 마지막에 언급했듯 Base Line부터 코드로서 직접 구현하여 온전하게 코드로서 만들어진 Raw data를 만들어 볼 것이다. 이는 이후 우리가 발명했던 Error Distance를 찾아내는 방법과 타 방법들을 비교 분석하기 위해, 독립된 비교군 Data sample을 구현하기 위해서이다.
#Make Base Line
그렇다면 코드로서 어떻게 이상 운동증 환자가 그린 것과 같은 그림을 구현할 수 있을까? 이는 직선의 경우에는 하나의 축이 고정이 되어, 비교적 쉽게 접근할 수 있지만, 나선의 경우 계속해서 x, y값이 달라지고 중심점과의 각도까지 고려해야 되기 때문에 방법을 생각하는 과정에서 많은 시간을 소비하였다. 우선적으로 생각할 수 있었던 것은, Raw data를 만들기 전에, 기준이 되는 Base Line부터 구현해보자는 것이었다.
- Base Line
그렇다면 Base Line은 어떻게 생성할 수 있을까? 아르키메데스 와선은, 중심 원점을 기준으로 빗변 R 값과 각도 값이 점진적으로 증가하며 총 세바퀴 반인, 6π만큼의 나선이 그려진다. 따라서 기준이 되는 나선의 첫 좌표점과 끝 좌표점의 길이 값 R을 기준으로 설정하고, 그 사이 값을 일정한 Pair의 수 n을 가지는 와선을 생성하였다.
위 그림은, Pair의 수를 점진적으로 증가시키며 구현한 Base Line이다. 해당 Pair는, 설정된 첫 점과 끝 점 사이를 distribute하는 수이며, 100개 이상으로 설정하면 온전한 원의 형태를 가지는 것을 확인할 수 있었다.
#Data 생성
앞서 생성한 Base Line을 기준으로 Raw data를 생성하는 과정을 진행하였다. 생성된 Base Line을 기준으로 점진적으로 설정되어 있는 R값에 Error를 첨가함으로써 사람이 그린 것과 같은 형태를 가진 데이터 구현을 시도하였다.
- 난수 곱셈
위 그림은, 기준이 되는 Base Line의 각 R 값에 0.8 - 1.1 사이의 난수를 생성하여 곱해준 데이터 결과이다. 해당 데이터는 Error가 첨가되긴 했지만 사람이 그린 것과는 이질감이 있었다.
- Pair 증가
위 그림은 앞서 난수를 곱해준 방법에 대해, Pair의 수를 보다 증가시킨 결과이다. 간격이 좁아져 이질감은 조금 줄어들었지만, 여전히 사람이 그린 데이터와는 거리가 있고, 운동 성분의 Error보다 Tremor성분이 증가하는 모습을 보인다.
- 일정한 구간에 따라 난수 생성
위 그림은 구간에 따라 난수를 적용시킨 결과이다. 해당 데이터는 확실히 이질감이 있었다.
- 데이터 점진적 증가, 증감
위 그림은 데이터의 R 값을 점진적으로 증가한 결과와 증감시킨 결과이다. 점진적 증가시키는 원리를 기준으로, 일정한 간격 내에서 점진적 증가와 감소하는 데이터를 구현하였는데, 해당 데이터들 역시 이질감을 없앨 수 없었다.
- Smoothing의 활용
위 그림은, 주어진 R값에 곱해주는 난수의 범위가 0.5 - 1.5로서, 각 index를 가지는 R 값의 차이가 큰 경우를 나타내고 있다. 해당 극심한 상황의 데이터를 기준으로 Smoothing 과정을 거쳐 data를 생성하였다.
위 그림은, 앞서 언급한 극심한 Error 상황의 데이터를 기준으로 Smoothing 과정을 거친 결과 data이다. 해당 데이터는 앞서 나열했던 방법들의 결과와 다르게, 이질감이 줄어들었으며 사람이 직접 그린 것과 유사한 data를 구현할 수 있었다.
#데이터 비교
위 그림은 Smoothing 방법으로 추출한 데이터를 Pair 수에 따라 나열한 것이다. 왼쪽에서부터 500, 1000, 2000개의 Pair로서 구현된 데이터이다. 그림에서도 나타나듯이 Pair의 수가 증가함에 따라, data의 Error도 가중되는 것을 확인할 수 있었다. 하지만 해당 그림의 데이터들은, Base Line으로부터 생성된 것이기 때문에 그와 같은 Pair 수를 가지고 있어, 실제 데이터의 속도 문제가 해결되지 않았다.
따라서 해당 그림과 같이, 일정하게 분포된 Pair값들을 난수로 선택하여 n/Pair수 로서 Pair값을 제거하였다. 이로서 일정하게 분포하는 Pair문제는 줄일 수 있었지만, 여전히 속도가 일정하게 증감하는 과정에 대해서는 과제로 남아있다.
#마치며
오늘 포스팅에는 새롭게 코드로서 구현된 data에 대해 설명하였다. 다음 포스팅에는, 해당 방법들을 보다 구체화하여 속도 구현의 한계점을 해결하고, 위의 나열된 방법들을 수식으로서 표현하는 과정을 진행해볼 것이다.
'Capstone' 카테고리의 다른 글
Remake (0) | 2021.12.20 |
---|---|
Expressed the Velocity (0) | 2021.11.10 |
Way of Modeling (0) | 2021.10.17 |
데이터 모델링 (0) | 2021.10.12 |
포스트 캡스톤의 시작 (0) | 2021.10.11 |