0todd0000 / spm1d

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

Can SPM be used on directional data? #102

Closed burniel closed 4 years ago

burniel commented 5 years ago

I have calculated relative motion / coupling angles between two joints, and the coupling angle ranges between 0 to 360 degrees so it has a discontinuity. Can SPM used for this type of time series circular data? Would a Hotellings T2 test be appropriate if I split the coupling angle in the the horizontal and vertical components and then use the Hotellings test to compare between sessions?

0todd0000 commented 5 years ago

Yes, SPM can be used for directional data, but spm1d does not yet support it.

Hotellings T2 will give you an approximate idea, but no, it is not appropriate in general. There are two reasons: (1) circular data are constrained to have a constant radius, but Hotelling's T2 test assumes unconstrained data, and (2) linear and angular distances are different: the linear distance from 0 deg to 90 deg, for example, is given by the straight line between (0,0) and (1,0), which has a shorter length than the circular arc from 0 deg to 90 deg.

Support for circular / directional data is on the features request list, and we currently have a paper in review that provides a preliminary solution for this type of data. If and when that paper gets accepted we plan to make the code open source.

EricDugan commented 4 years ago

I am also working with circular/directional data. Searching for appropriate statistical approaches to test differences between groups. Anxious to see this feature.

0todd0000 commented 4 years ago

Thanks for the feedback! The paper mentioned above is still in review. If and when it is published we'll release the code. Note that the current code works only for planar rotations and not for 3D rotations, so it can only be used when hypotheses are limited to a single plane. The statistics for dynamic 3D rotations are proving difficult, so will not be ready for a while.