Back to PLS Help

Behaviour PLS clarification and technical help
PKang
Posted on 06/12/17 11:58:59
Number of posts: 10
PKang posts:

Hello PLS community,

I was introduced to PLS through a neighbouring lab and leared how powerful and cool it is. I am new to this tool and would like to ask for some help and clarification!

My lab mainly does PET imaging for Alzheimer's disease research and we use the online database to conduct multivariate regression models. My research interest is characterizing FDG-PET metabolic network using PLS, specifically looking at seed based PLS together with behaviour PLS using cognitive measures.

My first question is regarding seed PLS. The manual says that I would need to generate a seed from multiple voxel extraction from an initial PLS. Then, I can rerun using the behaviour PLS with the multiple voxel extraction file. If I already have the values of the seed from each subject could I just go to the behaviour PLS and load the seed values to the "Load behaviour data" and run? Will this be the same as following the manual? Also, could I do any PLS initially since its main purpose is to generate the multiple voxel extraction file? Does multiple voxel extraction gets the values of the given seed from the sessiondata file (original subject files), not the analyzed file after the initial PLS? 

My second question is the following. Due to the limitation in the database, there is no different or multiple conditions. I am currently looking at a crossectional dataset between Control and MCI group. I was able to apply behavioural PLS using cognitive scores + covariates and successfully retreive the bootstrap results but failed to apply the permutation tests to show which LV is significant. Based on my understanding after reading the manual, I would need more than 1 condition to do this as it permutes among the conditions? If this is the case, is there any other way I could find out which LV is significant? or at least infer or deduce? As for more specifics, I ran a behavior PLS using FDG-PET and ADAD-cog score + Age + Gender + APOE + Education + greymatter density and get 6 LVs. I see that the first LV answers ~70% of the variance and 2nd and 3rd ones are about 10%. 

My last question is more technical part. After running the behaviour PLS, I get total 6 LVs. Under Brain Scores vs Behaviour data plot, I cannot seem to select any other LVs except for #1LV. If I unselect and select #2 LV, #1 LV gets selected back. How could I select other LVs successfully and view their Brain score overview? I can only see #1 LV Brain scores vs behaviour data. 

Thank you very much for your help and expertise!

Best,

Peter

 

 

 

Replies:

Untitled Post
rmcintosh
Posted on 06/12/17 15:27:08
Number of posts: 394
rmcintosh replies:

Hi Peter - welcome to the club :)

 

My replies are below

My first question is regarding seed PLS. The manual says that I would need to generate a seed from multiple voxel extraction from an initial PLS. Then, I can rerun using the behaviour PLS with the multiple voxel extraction file. If I already have the values of the seed from each subject could I just go to the behaviour PLS and load the seed values to the "Load behaviour data" and run? Will this be the same as following the manual? Also, could I do any PLS initially since its main purpose is to generate the multiple voxel extraction file? Does multiple voxel extraction gets the values of the given seed from the sessiondata file (original subject files), not the analyzed file after the initial PLS? 
 
If you already have the seed values you can go directly into a behavior PLS with those values.  No need to run a 'dummy' PLS in advance
 
My second question is the following. Due to the limitation in the database, there is no different or multiple conditions. I am currently looking at a crossectional dataset between Control and MCI group. I was able to apply behavioural PLS using cognitive scores + covariates and successfully retreive the bootstrap results but failed to apply the permutation tests to show which LV is significant. Based on my understanding after reading the manual, I would need more than 1 condition to do this as it permutes among the conditions? If this is the case, is there any other way I could find out which LV is significant? or at least infer or deduce? As for more specifics, I ran a behavior PLS using FDG-PET and ADAD-cog score + Age + Gender + APOE + Education + greymatter density and get 6 LVs. I see that the first LV answers ~70% of the variance and 2nd and 3rd ones are about 10%
 
You don't need more than one condition for pernutation, particularly behavior PLS.  I assume you have only one PET session per subject?  Anyway, the permutation will be done across conditions &/or groups so thats not a problem.  What is your sample size as I would expect at least one significant LV?
 
My last question is more technical part. After running the behaviour PLS, I get total 6 LVs. Under Brain Scores vs Behaviour data plot, I cannot seem to select any other LVs except for #1LV. If I unselect and select #2 LV, #1 LV gets selected back. How could I select other LVs successfully and view their Brain score overview? I can only see #1 LV Brain scores vs behaviour data.
 
I believe this is MATLAB version compatibiity issue.  The latest version of Matlab changed the GUI codes so as to no longer be backward compatible.  What verison of MATLAB are you running?
 
 
 
 


Untitled Post
PKang
Posted on 06/12/17 15:54:04
Number of posts: 10
PKang replies:

quote:

Hi Peter - welcome to the club :)

 

My replies are below

My first question is regarding seed PLS. The manual says that I would need to generate a seed from multiple voxel extraction from an initial PLS. Then, I can rerun using the behaviour PLS with the multiple voxel extraction file. If I already have the values of the seed from each subject could I just go to the behaviour PLS and load the seed values to the "Load behaviour data" and run? Will this be the same as following the manual? Also, could I do any PLS initially since its main purpose is to generate the multiple voxel extraction file? Does multiple voxel extraction gets the values of the given seed from the sessiondata file (original subject files), not the analyzed file after the initial PLS? 
 
If you already have the seed values you can go directly into a behavior PLS with those values.  No need to run a 'dummy' PLS in advance
 
My second question is the following. Due to the limitation in the database, there is no different or multiple conditions. I am currently looking at a crossectional dataset between Control and MCI group. I was able to apply behavioural PLS using cognitive scores + covariates and successfully retreive the bootstrap results but failed to apply the permutation tests to show which LV is significant. Based on my understanding after reading the manual, I would need more than 1 condition to do this as it permutes among the conditions? If this is the case, is there any other way I could find out which LV is significant? or at least infer or deduce? As for more specifics, I ran a behavior PLS using FDG-PET and ADAD-cog score + Age + Gender + APOE + Education + greymatter density and get 6 LVs. I see that the first LV answers ~70% of the variance and 2nd and 3rd ones are about 10%
 
You don't need more than one condition for pernutation, particularly behavior PLS.  I assume you have only one PET session per subject?  Anyway, the permutation will be done across conditions &/or groups so thats not a problem.  What is your sample size as I would expect at least one significant LV?
 
My last question is more technical part. After running the behaviour PLS, I get total 6 LVs. Under Brain Scores vs Behaviour data plot, I cannot seem to select any other LVs except for #1LV. If I unselect and select #2 LV, #1 LV gets selected back. How could I select other LVs successfully and view their Brain score overview? I can only see #1 LV Brain scores vs behaviour data.
 
I believe this is MATLAB version compatibiity issue.  The latest version of Matlab changed the GUI codes so as to no longer be backward compatible.  What verison of MATLAB are you running?
 
 
 
 

Thank you very much for your promptly reply and warm welcome. 

You don't need more than one condition for pernutation, particularly behavior PLS.  I assume you have only one PET session per subject?  Anyway, the permutation will be done across conditions &/or groups so thats not a problem.  What is your sample size as I would expect at least one significant LV?

The first time I tried was 100 permutation with 100 Number of Split. It was suck at 101 permutation on our lab computer that has 24 cores. It was stuck there for more than a day. I just tried again without Number of Split and it ran successfully just now!  My sample size is 200. Is there any specific limitation for how many number of permutation or Split I could add? Why the Split option be stuck? How long does it usually take to complete with the Split option? One additional question I have is I have a trouble having more than one group to add to run the behavioural PLS together with two groups. The order I put is first select each group in Datamat File part. Then, I select Regular Behav PLS. When I click Load behavior data, It says "condition or behaviour incompatible in datamat file". Is there a different way to load the data?

I believe this is MATLAB version compatibiity issue.  The latest version of Matlab changed the GUI codes so as to no longer be backward compatible.  What verison of MATLAB are you running?

I am using Matlab 2015a version. 

Thank you very much!



Untitled Post
rmcintosh
Posted on 06/12/17 16:01:03
Number of posts: 394
rmcintosh replies:

quote:

Thank you very much for your promptly reply and warm welcome. 

You don't need more than one condition for pernutation, particularly behavior PLS.  I assume you have only one PET session per subject?  Anyway, the permutation will be done across conditions &/or groups so thats not a problem.  What is your sample size as I would expect at least one significant LV?

The first time I tried was 100 permutation with 100 Number of Split. It was suck at 101 permutation on our lab computer that has 24 cores. It was stuck there for more than a day. I just tried again without Number of Split and it ran successfully just now!  My sample size is 200. Is there any specific limitation for how many number of permutation or Split I could add? Why the Split option be stuck? How long does it usually take to complete with the Split option? One additional question I have is I have a trouble having more than one group to add to run the behavioural PLS together with two groups. The order I put is first select each group in Datamat File part. Then, I select Regular Behav PLS. When I click Load behavior data, It says "condition or behaviour incompatible in datamat file". Is there a different way to load the data?

I believe this is MATLAB version compatibiity issue.  The latest version of Matlab changed the GUI codes so as to no longer be backward compatible.  What verison of MATLAB are you running?

I am using Matlab 2015a version. 

Thank you very much!

I would suggest not use the split option at this point, but I don't understand why it takes so long for the permutation tests.  The key issue is RAM.  If the datamatrix size is close to amount of RAM, MATLAB wil start swapping RAM to disk and things slow to a crawl.  Can you evaluate these two things? (datamat size, RAM)

 

Do you have access to an earlier version of MATLAB?  If not, and you are facile with matlab, you can plot the variables yourself outside of PLSgui just by loading in the results file.



Untitled Post
PKang
Posted on 06/12/17 16:26:01
Number of posts: 10
PKang replies:

quote:

I would suggest not use the split option at this point, but I don't understand why it takes so long for the permutation tests.  The key issue is RAM.  If the datamatrix size is close to amount of RAM, MATLAB wil start swapping RAM to disk and things slow to a crawl.  Can you evaluate these two things? (datamat size, RAM)

 

Do you have access to an earlier version of MATLAB?  If not, and you are facile with matlab, you can plot the variables yourself outside of PLSgui just by loading in the results file.

 

I would suggest not use the split option at this point, but I don't understand why it takes so long for the permutation tests.  The key issue is RAM.  If the datamatrix size is close to amount of RAM, MATLAB wil start swapping RAM to disk and things slow to a crawl.  Can you evaluate these two things? (datamat size, RAM)

The computer I use have 256GB RAM and the datamat size is 1.4GB. I will run without the split for now. 

Do you have access to an earlier version of MATLAB?  If not, and you are facile with matlab, you can plot the variables yourself outside of PLSgui just by loading in the results file.

Matlab 2012b version works with LV selection. If I were to plot the variables myself with Matlab2015a what are the variable names for the results? I imported the results.mat and there are a lot variables.

Also, I have a trouble adding more than one group to run the behavioural PLS together with two of my groups. The order I put is first select each group in Datamat File part. Then, I select Regular Behav PLS. When I click Load behaviour data, it says "condition or behaviour incompatible in datamat file". How could I resolve this problem? 

Thank you very much.



Untitled Post
PKang
Posted on 06/12/17 18:14:02
Number of posts: 10
PKang replies:

quote:

 

I would suggest not use the split option at this point, but I don't understand why it takes so long for the permutation tests.  The key issue is RAM.  If the datamatrix size is close to amount of RAM, MATLAB wil start swapping RAM to disk and things slow to a crawl.  Can you evaluate these two things? (datamat size, RAM)

The computer I use have 256GB RAM and the datamat size is 1.4GB. I will run without the split for now. 

Do you have access to an earlier version of MATLAB?  If not, and you are facile with matlab, you can plot the variables yourself outside of PLSgui just by loading in the results file.

Matlab 2012b version works with LV selection. If I were to plot the variables myself with Matlab2015a what are the variable names for the results? I imported the results.mat and there are a lot variables.

Also, I have a trouble adding more than one group to run the behavioural PLS together with two of my groups. The order I put is first select each group in Datamat File part. Then, I select Regular Behav PLS. When I click Load behaviour data, it says "condition or behaviour incompatible in datamat file". How could I resolve this problem? 

Thank you very much.

Also, I have a trouble adding more than one group to run the behavioural PLS together with two of my groups. The order I put is first select each group in Datamat File part. Then, I select Regular Behav PLS. When I click Load behaviour data, it says "condition or behaviour incompatible in datamat file". How could I resolve this problem? 

I found out why there was an error. I used a capital letter for one group and all small letters for the other group in their condition name. :)
 


Untitled Post
rmcintosh
Posted on 06/12/17 18:38:50
Number of posts: 394
rmcintosh replies:

:) - case sensitive 

 

for the plotting - if you do "help pls_analysis" from your command line you will get a list of all the variables that are stored in the results files or the variable "result.field_descrip"




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