0todd0000 / spm1d

One-Dimensional Statistical Parametric Mapping in Python
GNU General Public License v3.0
61 stars 21 forks source link

SPM 1D regression #99

Closed limbicode214 closed 5 years ago

limbicode214 commented 5 years ago

Dear SPM stars

First of all I would like to thank you for the great possibility to analyze kinematic data in such an elegant way using SPM 1D. Great stuff! I would be pleased if you find some time to answer my question regarding regression:

I have spine kinematic data e.g. lifting movement with a round back. Furthermore, I have behavioral data such as a questionnaire score of each subject characterizing the perceived harmfulness of a lifting movement with round back.

I would be interested if the questionnaire score correlates with some parameters (e.g. lumbar angles) during the lifting movements. Can I use your SPM 1D regression code to answer this question ? I'm struggling with it because your are mainly showing examples of regression with a independent variable such as walking speed which shows some wihtin-subject variation during a certain time period. However, the questionnaire score is fixed per subject and I can't imagine how this would lead to a beta curve for further group testing using T curves.

thank you very much for your help, michael

0todd0000 commented 5 years ago

Hi Michael, I think what you might be looking for is regression involving Likert scale data. spm1d does not support Likert scale analysis, but in some cases Likert scale data can be analyzed using simple linear regression, which spm1d.stats.regress implements.

Judging whether your questionnaire's questions would be suitable for simple linear regression is tough, but many relevant resources are available on the net, just search for "Likert scale regression". As long as the questions are suitable for linear regression with scalar data, like age, then they would also be suitable for linear regression using spm1d.stats.regress.

Todd

limbicode214 commented 5 years ago

Thank you Todd for the prompt answer! Ok, it seems that the questionnaire data is suitable for linear regression and I get some significant result within a certain time period of the bounded data. However, I didn't found any information how to extract the strength of the relationship (such as correlation coefficient r at a certain time point..). Thanks for your help, michael

0todd0000 commented 5 years ago

The strength is indicated by the t value, which maps directly to the r value. Whereas the r value ranges from -1 to +1, the t value ranges from -infinity to +infinity. Usually the t value is better for perceiving differences when r is large.

If you really prefer to use the r value it can be found in the spm object:

spm = spm1d.stats.regress(y, x)
r   = spm.r
limbicode214 commented 5 years ago

thanks a lot!