Back to PLS Help

PLS on EEG power data
Zara
Posted on 09/20/10 05:33:27
Number of posts: 2
Zara posts:

Hi there,

I have tried using the ERP module to analyse time-frequency EEG power (dB) in different frequency bands, which seems to work well.

However, I'm wondering whether PLS can handle logarithmically scaled data, or if I should convert the power data to some linearly scaled measure such as percent change from baseline or absolute amplitude before PLS? Are there any issues I should be aware of? Sorry if this is a silly question but I am not used to working with log scaled data.

Thanks very much for any suggestions,

Zara

Replies:

Untitled Post
rmcintosh
Posted on 09/20/10 07:54:10
Number of posts: 394
rmcintosh replies:

Hi Zara,

It should be okay to use log-scaled data, but to be sure I would check some of the scatterplots in results windows to see if you are getting any strange clustering of points, which suggest nonlinearities.  Often log scaling actually linearzes the data, so you should be okay.

Randy


Paper relevant to the power issue
Zara
Posted on 10/05/10 06:34:21
Number of posts: 2
Zara replies:

Hi Randy,

thanks very much for your reply.

Just in case anyone else is interested in this issue, I have found a simulation paper by Kiebel et al. that shows that parametric tests can be appropriately used on EEG/MEG power data in many circumstances (especially when the power data has been averaged over multiple trials and reflects difference measures, such as differences from baseline), but that log/sqrt transforms may be preferable in some cases. In their simulations, the only drawback of using raw power was a smallish bias towards conservative results, particularly at very low p-values.

The paper is available here:
http://www.fil.ion.ucl.ac.uk/spm/doc/papers/sjk_eeg3.pdf

I'm not 100% sure how this applies to PLS, but I believe it confirms your point that using PLS on power-scaled time frequency EEG data should be pretty safe.

Best wishes,

Zara


2D time-frequency analysis
ktavabi
Posted on 12/06/10 11:21:04
Number of posts: 2
ktavabi replies:

Recently I was informed by a Rotman researcher that it is possible to apply PLS to 2D time-frequency MEG data. Briefly, I have epoched (-0.8 - 1.6 sec0) 2D data for left/right virtual sensors in 10 subjects, in a 2 x 2 design. The MEG data was sampled at 12 kHz, and the time-frequency representations were computed at 0.5Hz fsteps between 1.5-80 Hz. Essentially I wish to identify  time-frequency regions of interest that are affected by fixed factors (fac1(2), fac(2), Hem(2)), however I have no apriori expectations about power modulations thus I don't intend to carry out statistics on narrow-band power averages. I've read the most recent publication on PLS in neuroimage and have gone over the user guide, my issue is (1) how do I format the data given there is no sensor or sensor locations (Note: For each subject in each cell I have 2D data that is of size 158 x 2880; where 158 = frequency bins and 2880 = time points)? Is this analysis possible in PLSgui, or should I be using the command line version? Thanks in advance.
Kambiz
-------------------------------------------------------------
Kambiz Tavabi PhD
Biomedical Imaging Laboratory
The Children's Hospital of Philadelphia
34th Street and Civic Center Boulevard
Philadelphia, Pa. 19104
Tel: 267.426.0302
email: tavabik@email.chop.edu
-------------------------------------------------------------


Untitled Post

I'm Online
jshen
Posted on 12/06/10 12:08:20
Number of posts: 291
jshen replies:

Hi Kambiz:

I looked at your questions. Here are my personal thoughts, and I wish that you could find something useful.


(1) how do I format the data given there is no sensor or sensor locations?

Answer: In most case, we fold data into a row vector per subject per condition, and then stack them into datamat. I think that you can still do so.


(2) Is this analysis possible in PLSgui, or should I be using the command line version?

Answer: For data that are not regular PET, fMRI or ERP, we usually suggest to use command line PLS, which is a lot more flexible. However, the disadvantage is that you have to plot the results by yourself.

For your situation. I am not sure that whether you could try PET module in PLSgui. I have just tested that it works for 2D brain voxel image. If you consider your 2D data as a brain image, the PET result will show the corresponding activation map.

If you would like to try this, here are the steps that you can follow:
  1. nii = make_nii(your_2D_matrix_for_subj1_cond1);
  2. save_nii(nii, 'subj1_cond1.img');
  3. repeat 1&2 for all your subjects and conditions;
  4. create N folders for your N subjects, and each folder contain K condition .img/.hdr files;
  5. Run PET PLSgui on those subjects.
Otherwise, you can always fold your 2D matrix into a row vector per subject per condition, and stack them into datamat, and then use command line PLS to do the analysis.

Jimmy



PLS on EEG power data
ktavabi
Posted on 12/06/10 12:42:39
Number of posts: 2
ktavabi replies:

quote:
Hi Kambiz:

I looked at your questions. Here are my personal thoughts, and I wish that you could find something useful.


(1) how do I format the data given there is no sensor or sensor locations?

Answer: In most case, we fold data into a row vector per subject per condition, and then stack them into datamat. I think that you can still do so.


(2) Is this analysis possible in PLSgui, or should I be using the command line version?

Answer: For data that are not regular PET, fMRI or ERP, we usually suggest to use command line PLS, which is a lot more flexible. However, the disadvantage is that you have to plot the results by yourself.

For your situation. I am not sure that whether you could try PET module in PLSgui. I have just tested that it works for 2D brain voxel image. If you consider your 2D data as a brain image, the PET result will show the corresponding activation map.

If you would like to try this, here are the steps that you can follow:
  1. nii = make_nii(your_2D_matrix_for_subj1_cond1);
  2. save_nii(nii, 'subj1_cond1.img');
  3. repeat 1&2 for all your subjects and conditions;
  4. create N folders for your N subjects, and each folder contain K condition .img/.hdr files;
  5. Run PET PLSgui on those subjects.
Otherwise, you can always fold your 2D matrix into a row vector per subject per condition, and stack them into datamat, and then use command line PLS to do the analysis.

Jimmy

Jimmy - thanks for the response. I am still not sure I understand what you mean by fold data into a row vector per subject per condition, and then stack them into datamat; e.g., lets stay with the 2x2x2 design meaning evaluating 8 conditions, but reduce the data to 2 time points. frequency bins & subjects for the sake of clarification. In this example then datmat _lst is
[Ss1_cond1_sample1_fq1 Ss1_cond1_sample2_fq2 Ss1_cond2_sample1_fq1 Ss1_cond2_sample2_fq2 ... Ss1_cond8_sample1_fq1 Ss1_cond8_sample2_fq2;
 Ss2_cond1_sample1_fq1 Ss2_cond1_sample2_fq2 Ss1_cond2_sample1_fq1 Ss2_cond2_sample2_fq2 ... Ss2_cond8_sample1_fq1 Ss2_cond8_sample2_fq2]

Or is everything on one (very, very) long row? Also, presumably 'num_subj_lst' is a [10] for N in a single group study and 'num_cond' is 8? or 2? or 3? I have three fixed factors LEXICALITY (2), FREQUENCY (2) and HEMISPHERE (2). 

Kambiz


Untitled Post

I'm Online
jshen
Posted on 12/06/10 13:33:38
Number of posts: 291
jshen replies:

Hi Kambiz:

Let's say you have 10 subjects, and each subject has 8 conditions, you will have 80 rows, like this:

cond1_Ss1_AllSamplesFreqs
cond1_Ss2_AllSamplesFreqs
... ...
cond1_Ss8_AllSamplesFreqs
cond2_Ss1_AllSamplesFreqs
... ...
cond8_Ss10_AllSamplesFreqs

You said that you have 2D data that is of size 158 x 2880; where 158 = frequency bins and 2880 = time points. Is this 2D data for each subject and each condition? If so, you can just fold this 2D matrix into a single row vector, which is pretty long (158 x 2880 = 455040). You can also treat this 2D data as a brain image in order to use PLSgui.

In your case, you only have 1 group, so 'num_subj_lst' is a [10]. 'num_cond' is 8, so you have to make sure that you have 80 rows. All others should be folded into a row for each condition for each subject.

Jimmy




Login to reply to this topic.

  • Keep in touch

Enter your email above to receive electronic messages from Baycrest, including invitations to programs and events, newsletters, updates and other communications.
You can unsubscribe at any time.
Please refer to our Privacy Policy or contact us for more details.

  • Follow us on social
  • Facebook
  • Instagram
  • Linkedin
  • Pinterest
  • Twitter
  • YouTube

Contact Us:

3560 Bathurst Street
Toronto, Ontario
Canada M6A 2E1
Phone: (416) 785-2500

Baycrest is an academic health sciences centre fully affiliated with the University of Toronto