2015년 10월 1일 목요일

야구 통계를 보다가.



처음으로 스포츠 통계에 관한 글을 쓰는 것 같다.


야구 통계를 보다가 상당히 흥미로운 점을 발견하였다.
1위, 3위, 5위의 싸움이 매우 흥미롭게 나타나고 있기 때문이다.


페넌트레이스 우승을 넘보는 삼성과 NC
와일드카드전을 치르지 않기 위한 3위 경쟁의 넥센과 두산
그리고 마지막 와일드카드를 잡기위한 SK와 KIA.


잠시 순위표를 살펴보자.





삼성-NC의 1위 대결과 SK-KIA의 5위 대결에서 흥미로운 점은 바로 무승부의 역할이다.


만일 삼성이 남은 경기를 2승 1패, NC가 3승을 하여 게임차가 없어졌다고 가정했을 때,
삼성은 144경기 87승 57패, NC는 86승 2무 56패를 기록한다.
이때의 승률은 삼성이 0.6042, NC는  0.6056 로써 NC가 1위를 차지하게 된다.
즉, 무승부 2번을 한 것이 1승 1패를 한 것보다 더 나은 결과를 나타낸다.


만일 SK가 남은 경기를 2승, KIA가 남은 경기를 5승을 하여 게임차가 없어졌다고 가정하면,
SK는 70승 2무 72패, KIA는 71승 73패를 기록한다.
이때의 승률은 SK가 0.49296, KIA가 0.49306로써 KIA가 5위를 차지하게 된다.
즉, 무승부를 2번 한 것이 1승 1패를 한 것보다 더 나쁜 결과를 나타낸다.


왜 어느 경우에는 무승부를 2번하는 것이 좋고, 어느 경우에는 나쁜 것일까?


이는 무승부는 승률 계산에 들어가지 않기 때문이며,
1승 1패 (0.500)의 승부가 평소의 승률보다 좋은가 나쁜가에 따라서 나타나는 결과의 차이이다.


NC와 삼성의 경우는 0.500 이상의 승률을 기록하고 있으므로, 0.500인 1승 1패는 승률을 떨어뜨리는게 된다. 그렇기 때문에 삼성의 1승 1패는 NC의 2무보다 나쁜 것이다.


SK와 KIA의 경우는 0.500 이하의 승률을 기록하고 있으므로, 0.500인 1승 1패는 승률을 올리는게 된다. 그렇기 때문에 KIA의 1승 1패는 SK의 2무보다 좋은 것이다.


KIA 화이팅!


--
게임차에 대한 이야기.


야구를 많이 보다 보니 게임차에 대한 이야기를 듣게 된다.


A팀이 B팀보다 4게임 앞선다라는 뜻은 A팀이 4패를 하고  B팀이 4승을 하면 동률이 된다는 뜻이다.


모든 팀이 하루에 한 게임을 치루도록 되어 있다.
B팀이 승리를 하고, A팀이 패배를 하는 경우 게임차가 1개 줄어들도록 이야기된다.
사실은 B팀과 A팀의 2가지 경기결과에 따라 게임차가 변동이 되게 되어 있지만 게임차는 1만큼 줄어든다.


게임차를 보면 0.5 단위로 게임차가 변하는 것을 발견할 수 있을 것이다.


만약 A팀과 B팀이 직접 대결을 하였을 때,
A팀이 B팀을 이기면 게임차는 +1이 되며, A팀이 B팀에게 지면 게임차는 -1이 되므로,
맞대결은 종종 2 게임차의 대결이라고 불린다.


SAT 수학과외를 하던 도중 발견한 신기한 것이 있다.


Sarah has three more apples than Irene. Irene gives 4 apples to Sarah, then how much more Sarah has apples than Irene?


위와 같은 문제가 있다. 해석하면


새라는 아이린보다 사과를 3개 더 많이 가지고 있다.
아이린이 새라에게 사과를 4개 주었을 때, 새라는 아이린보다 사과를 몇 개 더 많이 가지고 있나요?


라는 질문이다.


신기한 것은 과외를 했던 두 SAT 학생들은 모두 답을 7개라고 이야기했다는 점이다.
새라는 4개가 늘어나고 아이린은 4개가 줄어들기 때문에 차이가 8개가 더 발생하므로
11개 더 많이 있다는 것을 학생들은 발견하지 못한다.


한쪽이 늘어나면 한쪽은 줄어들기 때문에 그 격차는 2만큼이 더 차이난다는 것.
어쩌면 야구 게임차를 매일 매일 체크하던 나에게만 당연한 건 아니었을까?















2015년 9월 30일 수요일

9.30 성장기

1. 9월 마지막 밤이다. 9월이 지나고 10월이 시작된다니.. 올해도 남은건 고작 3개월.
    30대의 시작. 참 빠르네. 10월이면 생일이 있는 달이라고 철없이 좋아하던 때도 지나고.
    세월은 참 빠르지. 싸이월드 종료일. 블로거도 언젠가 종료할까.

2. 연구실에서의 오랜만의 발표.
    Fourier Series와 Power Spectrum.
   수학적으로 한번 정리를 해야 머릿속에 남지 않았을까.
   OpenVibe와 함께 하는 뇌파탐구는 계속됩니다. 쭈욱~!

3. 어느새 적응한 300mg 약.
    아침에 요새 잘 일어나던데.. 내일은??

4. 음.. 내년 2월에 있을 방콕! Constructionism 학회.
    논문을 내지도 않았으나 견문을 넓히기 위하여 출동! 잘하장.

5. 오랫만의 농구시합의 결과는 어찌 될 것인지..
    시험 전 과외는 어떻게 되련지..
    불확실한 미래 속에서 내가 붙잡아야 하는 것은?

6. 그냥.. 미안함이 사무쳐서인지... 풀이 죽었다. 아직도..
    그래.. 나는 원래 부족하고 못난 놈이었지..

7. 오늘의 감사한 일은. 첫째로. 염치 불구하고 작성중인 논문에 올라타는 일.
    전에는 이야기를 꺼내기조차 두려웠던 일을 지나갔다.
    또한, 연구실 발표! 오랜만이지.. 그냥.. 조금씩 조금씩 하자.. 무리하지마.

8. 10월은 영어공부의 달. 그리고. 대망의 GRE와 함께 여행. 과연. 그 결과는?

9. 참 바쁘고도 바쁜 와중에 나에 대한 걱정과 기도로 언제나 함께하는 예은이.
    작은 짬이지만 소소한 연락에 기분이 좋아지는건.. 바로 너라서.
    잃어버린 감사를 되찾고. 잃어버린 관계를 회복할 수 있도록.
    이것도 조금씩 조금씩...

2015년 9월 29일 화요일

9.29 성장기

추석기간 동안 나를 괴롭혔던 것을 글로 적어보고 내 머릿속에서 버리자.

1. 추석기간 동안 첫째로 힘들었던 것은 바로 갑자기 드는 무력감이었다.
   이 무력감을 이기기 위한 방법은 활동하는 것 뿐인가? 작은 일에도 너무 많은 힘이 든다.
   의지력. 그것이 나에게 너무나도 당연한 것이 아니기 때문이다.
   좋았던 일 - 개인 농구 연습
   안 좋았던 일 - 너무나도 멀게 느껴지는 하나님.

2. 하나님의 존재를 알고 그 이후 너무나도 편한 맘으로 모든 두려움이 사라졌던 때가 지나
   이제는 그냥 하나님이 있는지 없는지 신경도 쓰지 않은 채 사나보다.
   찬양이 너무나도 좋았던 시간이 지나가고 이젠 가요가 좋다.
   언제부터 이렇게 되었는가. 생각이 나질 않는다. 머릿속에만 맴도는 성경들.
   내 맘이 차가워서 너무나도 느끼지 못한다. 주여. Save me!

3. 추석기간에 쉬는 데도 연구실에서 진행되는 연구에 진저리가 쳐진다. 연구가 참 어렵지.
   연구에 재미를 붙이지 못하고 그저 게임만 하는 겜돌이.
   연구가 재밌는건 아니야. 하지만 그래도 내가 해야 하는 일이야.
   조금씩 논문을 읽고 사람들의 생각과 함께 공유하자.
   어쩌면 정리한 글로써 사람들과 소통하고자 하는 내 성향과 잘 맞지 않는가?

4. 나를 위한 하나님. 하나님을 위한 나. 아주 작은 차이인데. 나는 너무 전자의 모습이다.
   아! 해커스 등록해야지.

2015년 9월 24일 목요일

9. 24 성장기

어쩌다보니 하루 빼먹었다.

그래서인가... 기운이 우중충했다.

답답한 연구실 생활에 대한 한풀이....

연구실 늦게 나가서 한다는 건 그저 수다..

하지만 그래서 기분이 나아지더라......

GRE 성적. Writing 1.5! 하위 1%

이런 점수도 받아보는구나..

Quant는 만점으로 98% 이고.. ㅋㅋ
Verbal은 33% ㅋㅋㅋㅋ

성장하고 말리라!!!

피곤이 나를 붙잡더라도 이겨내리라..

16대 0이라도 포기하지 않고 5점을 따낸 기아처럼 말이지.

낙심하지 말고 이겨내리라.

이렇게 다짐하며 하루를 마무리한다.

--
9.23일 메모.

서울대학교 통계학과 임채영 교수님.
어쩜 그렇게 내가 가려던 그 길과 같으신지..

석사과정 이후 박사과정 중 유학 그리고 해외에서 교수생활하다가 한국으로 복귀.
참 멋있지. 힘들거라 예상하지. 과연 나의 선택에 내가 확신할 수 있는가. 그 싸움이려나

세미나 중 느끼던 답답함과 우리 연구실에 대한 냉철한 분석과 애정.
어느새 쌓였나보다.

수업실연 당첨. 학생 명단을 보니. 이건 랜덤이 아니야.
아니 누가 평가받는 것을 랜덤으로 뽑겠는가.
기분이 좋으면서 부담.

Merry 추석.

2015년 9월 22일 화요일

뇌파 분석 2

교수님의 궁금한 질문에 답하는 착한 학생.

[[Sampling of Signal and Filter]] (신호의 샘플링 및 필터) 
 
컴퓨터에서 측정하는 전기신호는 Sampling을 거친다. 측정 데이터는 각 측정시각마다 전압을 측정하여 이를 나열한 디지털 데이터이다. 즉, 연속한 데이터가 아닌 이산 데이터를 갖게 되며, Sampling Rate (OpenBCI는 250Hz - 1초에 250개의 data)에 따라 데이터의 개수가 정해진다.   
 
Sampling을 해서 데이터를 측정할 때, Sampling rate 보다 더 빠르게 변동하는 신호는 정확히 측정할 수 없을 것이다. 신호의 변하는 주기보다 측정하는 주기가 더 느리기 때문이다. 그림과 같이 같은 디지털 Data라 할지라도 그 주기에 따라서 여러가지로 해석이 가능하다. 이러한 이유로, 신호시스템에서는 신호를 Sample을 통해서 측정할 때, 최소한의 Sampling Rate의 기준이 제시되어 있다. 이를 Nyquist Rate라고 한다. (Nyquist는 발견한 과학자 이름이다) 신호가 지니고 있는 주파수 대역을 f_s 라고 한다면, Nyquist Rate는 2*f_s 이며, 이 이상의 rate로 Sampling을 해야 정확한 측정이 가능하다. OpenBCI의 경우 측정하는 Sampling rate가 250Hz로써, 125Hz 이하의 신호는 정확하게 측정이 가능하다는 것이다.  
 


 또한, 뇌파의 경우, 뇌파의 진폭이 매우 작기 때문에 Noise에 대한 영향을 많이 받는다. 이를 위해 Filter를 사용하며 특히 60Hz 대역에서 생기는 Noise를 없애기 위한 Notch Filter를 사용한다. 또, Band pass Filter를 통해 각 주파수 대역에 있는 전기신호들을 분해하여 분석할 수 있다. Band Pass Filter의 Low band를 8Hz, High band를 12Hz로 설정하면 알파파(8-12Hz) 대역의 신호를 분석할 수 있을 것이다. 
 
필터에 대해서 이야기해보자. x[n]을 시간 축에서 발생하는 디지털 신호라고 하자. (n = 1, 2, .... N) 이 데이터를 주파수 축으로 변환하는 것이 바로 Fourier Transform이다. Fourier Transform 은 Data가 연속적인지, 이산적인지, 또한 주파수 Domain을 연속적인지, 이산적인지에 따라 4가지로 분류된다. (Data , Frequency) = (연속, 연속), (이산, 연속), (연속, 이산), (이산, 이산) 의 4가지가 나타날 것이다. 이 중 뇌파에서 사용하는 것은 디지털 신호를 받아서 이산적인 주파수에서 분석을 하기 때문에 (이산, 이산)일 것이다. 이러한 경우를 Discrete Time Fourier Series (DTFS)라고 부른다. 각 주파수 대역별로 나타나는 변환된 신호를 X[k] 라 하자. (k = 1, 2, ... , F) 
 
(FS - Fourier Series)
x[n] ----(FS)----> X[k] 간에는 여러가지 성질이 존재한다.
그 중, 필터에서 사용되는 것은 바로 다음 성질이다. 
 
x[n] X y[n] -----(FS)-----> Y[k] * X[k]
x[n] * y[n] -----(FS)-----> Y[k] X X[k]  
 
신호 2개의 곱은 Fourier Series에서는 * 연산을 하는 것과 같고, 신호 2개를 * 연산하는 것은 Fourier Series에서 곱연산을 하는 것과 같다.  
 
여기서 *는 Convolution 연산으로 
 
Y[k] * X[k] = Sum (q in (1,F)) (Y[q]X[k-q]) 의 형태로 주어진다. 
 
X[k] 신호에 Y[k] 를 곱하는 데, 
Y[k] = 1 ( 8<=k <=12)
Y[k] = 0 ( otherwise ) 로 Y[k]를 만들어서 곱하면 
 
주파수 대역에서는 8Hz ~ 12Hz 대역만 남을 것이다. 
 
이것이 필터의 원리이며, x[n] 과 y[n]을 Convolution 시키는 것이 바로 필터를 통과하는 것이다. 이러한 y[n] 은 필터의 목적에 따라서 다양하게 구현되어 있다. Low pass filter는 낮은 주파수만 통과시키도록, High pass filter는 높은 주파수만 통과시키도록, Band pass filter는 해당 범위 대역의 주파수만 통과시키도록 만들어져 있다. 이러한 필터는 Python이나 MATLAB 및 OpenVibe에서 구현되어 있어서 가져다 사용하면 된다.  
 
OpenVibe에 구현된 Filter를 캡쳐한 내용을 첨부합니다.



[[ Power of Signal ]] (신호의 세기) 
 
뇌파 신호는 Discrete Time를 받아 이를 Discrete Frequency로 변환함으로써 분석된다. 이를 위해 DTFS(Discrete Time Fourier Series)를 사용하며, 디지털 신호를 x[n], Frequency 변환을 X[k] 라고 할 때, 신호의 에너지는 한 주기 안에서 |x[n]|^2 의 합으로 정의된다.  
 
x[n]^2 은 x[n] X x[n] 이고 이는 Fourier Series를 통해 X[f] * X[f]로 변환 된다. 변환된 값을 토대로 하여 계산과정을 거쳐 Parseval은 Energy에 대한 다음 첫번째 그림과 같은 정리를 내어 놓는다. 
  
시간 축에서 각 데이터를 제곱해서 RMS(Root Mean Square) 값을 구하는 것이나, 주파수 축에서 각 데이터를 제곱하여 구해도 에너지는 같게 나타난다는 것이다. 따라서, 각 신호의 세기를 주파수별로 나눠서 분석하는 것이 Energy를 분석하는 것의 한 방법이 된다는 것이다. 
 
Power Spectrum을 구하는 Box Diagram은 두 번째 그림과 같다. 주어진 신호를 각 주파수 대역의 Filter를 거친 뒤, 나오는 신호 x를 square한다, 이후 averaging을 거쳐 각 주파수 대역의 Power값을 갖는다. 신호를 제곱해서 구하기 때문에 Power Spectrum 값은 음수가 나올 수 없으며, Parseval 정리에 의해서 신호의 에너지를 주파수 대역에서 나타내는 것이 가능한 것이다.

9.22 성장기


성장기록

1. 아침 6시 반에 일어나 동생이 영국길에 배웅을 했다.
   이른 아침 배웅을 마치고 돌아오는 길. 분명 10시반 비행기라고 했는데 10시반에 모르는 번호로 전화가 온다. 동생이다. 영국에 들어갈 비자가 있는 지갑을 잊어버렸단다. 아침을 먹은 식당에서 놓고 온 것 같단다. 급히 전화를 했다. 다행이다. 분실물이 있었다. 비자의 행방을 알았지만. 이미 예정된 출국시각. 다음날 비행기로 환불해준다는 기장의 안내를 받았댄다. 그리고 나서 얼마 후, 40여분의 지연 끝에 비자를 받아 영국으로 갔다고 한다. 시트콤이 따로 없다. 얼마나 미안했을까.

2. 아침을 먹던 시간. 나도 모르게 과외비를 못 받았다는 생각에 어머님께 다시 안내문자를 보냈다. 알고보니 내가 큰 지출이 있었다가 과외비가 바로 들어와서 잔액만으로는 확인하지 못했던 것이다. 아뿔싸. 이런 돈 욕심쟁이가 어디있나. 얼굴 팔리는 짓 했네.

3. 얼굴 팔리는 신앙. 얼굴 팔리는 짓 하는 신앙에서 탈피하라.
   사귐이 있는 신앙. 언약을 믿는 신앙. 회복하라.

4. OpenBCI 이야기.
   - 32bit 기기 하나에 소스코드를 다시 Upload하여 복구완료.
   - 남은 32bit 기기에 USB Dongle 리셋. 다시 Firmware를 설치.
   - 이후, No target. 이랜다. 다시 32bit에 Firmware를 깔아야 할듯하다.
   - RFDuino library를 찾아서 설치해보기도.

5. 수업 이야기
   - 교수님 수업의 진화. 1. 정해진 시간을 남기다. 2. 숙제 검사를 하다.
   - Power Spectrum에서 Power의 의미는?
     - 신호에서 Power를 구하기 위해 time series에서의 정적분과 Frequency domain에서의 정적분 값이 같다. (...의 정리)
     - 파워를 잴 때 rms로 나타나기 마련. FFT는 사용하되 신호가 f(t) 가 아닌 f^2(t)를 사용.
     - auto correlation을 생각하자.
     - 신호 및 시스템 복습.

  6. 깜짝 이야기
     - 사범대를 대표하는 수업실연 당첨. 운인지 복인지.

  7. 내일은?
     - 취소원!
     - 잘 잡시다.

2015년 9월 21일 월요일

뇌파 분석 1

앞선 글에 제목을 넣었던가?

뇌파분석에 대한 글 - Ver1.

교육에서 다루는 대부분의 연구는 Before-After 연구 혹은 설문 연구.
설문과 정답률의 차이는 학생이 교육을 통해 발전한 것을 과학적으로 입증해주진 않는다.

과학이라? 과학적이라? 사람들이 신뢰할 수 있는 무언가의 데이터를 더해주는 것?

뇌파와 fMRI
fMRI는 정확하고 정교하지만 돈이 많이 든다는 단점.
뇌파는 정확도나 정교성은 떨어지지만 보급하기 더 좋다. (OpenBCI - 500불)

뇌파 분석의 Keyword 1. Power Spectrum 분석

[[1. Power Spectrum 분석]] 

만일 당신이 건강검진을 받아본 기억 혹은 경험이 있다면, 심전도 측정을 해보았을 것입니다. 심전도 측정은 심장이 뛰는 정도를 바늘이 위 아래로 끊임없이 움직이며 측정합니다. 전기신호는 시간에 따라서 기록됩니다. 이렇듯 신체에서 측정되는 전기신호는 시간에 따라서 측정하게 됩니다. 뇌파 역시 마찬가지로 시간에 따라 기록이 되는 time series 의 형태를 띠고 있습니다. 

하지만, 뇌파에 대해서 조사해보면, 뇌파는 시간에 따라서 분석하는 것이 아니라 주파수에 따라서 분석되고 나뉘어진다는 것을 알 수 있습니다. 뇌파는 주파수 대역에 따라서 Delta, Theta, Alpha, SMR, Beta, High Beta 파로 구분되며, 각각의 주파수 대역은 첨부한 파일의 표와 같습니다. 첨부한 표와 같이 뇌파를 통해 뇌의 상태를 진단할 수 있습니다. 



두번째 그림을 보시면 측정한 뇌파신호는 시간에 따라 측정됩니다. 일반적으로 전기신호는 보통 직류와 교류 전압의 합으로 나타납니다. 뇌파측정에서 나타나는 직류전압은 귓볼에 Ground를 설정하게 되면 직류전압의 Offset을 사라지게 할 수 있습니다. 뇌파 측정시에 거치는 안정화단계는 이러한 직류신호를 없애기 위해 필요합니다. 직류신호가 사라지기 때문에 측정된 뇌파는 주로 교류 전압만 남게 됩니다. 

교류전압의 경우 일반적으로 주기성을 띠기 때문에 다양한 주파수 대역의 sine wave의 합으로 표현될 수 있습니다. 예를 들어, 신호가 f(t) = a1*sin(2pi*t) + a2*sin(2*2pi*t) + a3*sin(3*2pi*t) + .... + a64*sin(64*2pi*t) 로 표현하여 나타내어진다고 합시다. 이 때의 sin(2pi*t)의 주기는 1이 되고, a1 이 주파수 1Hz에 대한 Power 값이 됩니다. sin(2*2pi*t)의 주기는 1/2가 되고, a2가 주파수 2Hz에 대한 Power 값이 됩니다. 이와 같이 (1,a1), (2,a2) , .... (64,a64) 와 같은 점의 막대그래프를 그린 것이 바로 Power Spectrum 값이 됩니다.  

이러한 a1, a2, .... a64의 값을 구하기 위해서 Fourier Transform이 사용됩니다. 특히 빠른 계산을 하기 위해서 Fast Fourier Transform(FFT)가 사용됩니다. FFT block은 Matlab이나 Python에서 이미 구현되어 함수로 제공됩니다. Power Spectrum 분석을 통해 각 주파수 대역에서의 진폭을 구할 수 있고, 10Hz 대역의 Amplitude(혹은 Power)가 평소에 비해 높다면, Alpha파가 활성화 된 것으로 이해할 수 있습니다.