행복과 배움으로 채워나가는 나의 시간들

Fieldtrip으로 뇌 연결성(connectivity) 분석_1) 데이터 시뮬레이션 본문

즐거운 배움/뇌과학

Fieldtrip으로 뇌 연결성(connectivity) 분석_1) 데이터 시뮬레이션

행복가득나의시간 2019. 6. 4. 18:36

  Fieldtrip은 MATLAB을 기반으로 하는 뇌전도(Electroencephalography, EEG), 뇌자도(Magnetoencephalography, MEG)에서 측정된 뇌파분석 툴입니다.

  Filedtrip에서 뇌파 데이터로부터 뇌연결성 (Brain connectivity)를 분석하는 방법에 대해 알아보고자 하는데요. 아래의 Fieldtrip 홈페이지의 튜토리얼 내용에 기반해 설명하겠습니다.

http://www.fieldtriptoolbox.org/tutorial/connectivity/

 

Analysis of sensor- and source-level connectivity - FieldTrip toolbox

Tags: tutorial freq connectivity coherence granger dtf pdc Analysis of sensor- and source-level connectivity Introduction In this tutorial we will explore different measures of connectivity, using simulated data and using source-level MEG data. You will le

www.fieldtriptoolbox.org

 

  제일 첫번째 단계로, 실제의 뇌파 데이터를 사용하기 이전에, 시뮬레이션 데이터를 만들는 방법을 학습할 것입니다. 

 

1. 시뮬레이션 데이터 만들기

- 세개의 소스를 가지는 데이터를 시뮬레이션할 것이구요. 데이터에 포함될 노이즈 레벨 또한 정의해줄 것입니다.

- 데이터를 시뮬레이션하기 위해, ft_connectivitysimulation 함수를 사용할 것이며, 2차 다변량 자기회귀 모델(multivariate autoregression model) 방법을 사용할 것입니다.

- 데이터 시뮬레이션을 위해, 데이터의 특성을 결정 짓는 계수가 들어있는 NxN 매트릭스가 필요하구요. 이 매트릭스는 첫번째 데이터 포인트를 정의하는 매트릭스와, 두번째 데이터 포인트를 정의하는 매트릭스가 필요하며, 이 계수는 cfg.param 필드에 저장되어 있어야 합니다.

- 그리고 노이즈의 특성을 결정 짓는 계수는 NxN 공분산 매트릭스가 필요하구요. 이 매트릭스는 cfg.noisecov 필드에 저장되어있어야 합니다.

- 아래의 특성을 갖는 시뮬레이션 데이터를 생성할 것입니다.

      x(t) = 0.8*x(t-1) - 0.5*x(t-2)

      y(t) = 0.9*y(t-1) + 0.5*z(t-1) - 0.8*y(t-2)

      z(t) = 0.5*z(t-1) + 0.4*x(t-1) - 0.2*z(t-2) 

      

1) 파라미터를 아래와 같이 정의합니다. 500개의 트라이얼을 갖는 세개의 채널의 데이터를 시뮬레이션 해주는 겁니다.

cfg(configuration) 에 정의된 것을 바탕으로 데이터를 시뮬레이션 해주는 것입니다.

- cfg.ntrials : 트라이얼 수

- cfg.triallength : 트라이얼 길이 (초단위)

- cfg.fsample : 샘플링 주파수 (Hz 단위, 1초에 몇개의 데이터 포인트가 들어갈지)

- cfg.nsignal : 시그널 개수

- cfg.method : 시뮬레이션 데이터 만드는 방법으로 'linear_mix', 'mvnrnd', 'ar'의 세가지 방법이 있음. 'ar'이 multivariate autoregressive model 을 이용한 데이터 생성 방법이다.

- cfg.params: 생성할 데이터의 계수를 넣어주는 것. cfg.params(:,:,1)이 첫번째 데이터 포인트의 계수를 정의하는 것이며, cfg.params(:,:,2)가 두번째 데이터 포인트의 계수를 정의하는 것.

- cfg.noisecov: 노이즈 코베리언스를 정의해주는 것.

- data = ft_connectivitysimulation(cfg): 위에 정의한 cfg를 바탕으로 'ft_connectivitysimulation' 함수를 이용하여, 결과를 data라는 이름으로 만들어라 하는 의미입니다.

 

2) 위의 스크립트를 실행시키면, 아래와 같은 data가 형성됩니다.

 

2. 생성한 시뮬레이션 데이터 플롯하기

1) 아래의 스크립트를 실행시키면, 세뮬레이션 데이터의 첫번째 트라이얼의 데이터가 보여집니다.

- 이렇게 세 개의 소스 데이터가 시뮬레이션된 것을 알 수 있습니다.

 

2) 전체 트라이얼의 데이터를 한번에 플롯하고 싶다면, 아래의 스크립트를 실행시키면 됩니다.

 

- 그럼 아래와 같이 브라우져가 나타나고, 아랫쪽 trial과 그 오른쪽 좌우 버튼을 누르면, 트라이얼들을 넘기며 볼 수 있습니다.

 

오늘은, 뇌연결성 분석 방법을 탐구하기 위한 데이터를 시뮬레이션 하는 방법에 대해 이야기해보았습니다.

이 시뮬레이션 데이터를 사용하여, 뇌연결성 분석방법을 익혀볼게요~!!

투비 컨티뉴~~~~~

 

Comments