0todd0000 / spm1d

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

Normality Test&How to choose ANOVA style(My DATASET is inconsistent with shown in the example ) #238

Closed HelloBeer closed 1 year ago

HelloBeer commented 1 year ago

Dear Pakaty Prof:

My experimental design was two different populations (athletes and general population) performing three different tasks of varying difficulty. Before I start applying SPM1D, I think I should need to perform a chi-square test or called normal distribution test (normality.m) on the data, but the test results in anova2 are outside the threshold range of the red line, in which case I need to apply SnPM1D?

But the results obtained by nonparam_anova2 are consistent with anova2, which makes me confused, and I wonder if I'm overlooking some important setting. (The second and third graphs of SnPM are just me not adjusting the range of the Y-axis

One more strange thing: I also applied anova2RM.m and anova2oneRM.m when I did anova (I tried both because my experimental design was somewhat inconsistent with the data set setup shown in the example), and when I got the graphs of the effects of different groups on the dependent variable, the SPM{F} had a very large range on the Y-axis, which I think should is an anomaly, but I don't think it's a problem with my raw data. what does the F* value represent?

I would like to get some advice and thank Prof. Pakaty for his contribution to the promotion of statistical parametric mapping, which I think is a very important method applied to sports biomechanics! It has revealed some phenomena that are ignored by discrete data.

normality  test SnPM_anova2 SPM_anova2 anova2oneRM anova2RM

0todd0000 commented 1 year ago

Thank you for the feedback!

Before I start applying SPM1D, I think I should need to perform a chi-square test or called normal distribution test (normality.m) on the data, but the test results in anova2 are outside the threshold range of the red line, in which case I need to apply SnPM1D?

Not necessarily. I'd recommend running both parametric and non-parametric analyses. If there is no qualitative difference in the results then the parametric approach's assumption of normality is an inconsequential one for that particular dataset, so either the parametric or the nonparametric results (or both) can be reported.



But the results obtained by nonparam_anova2 are consistent with anova2, which makes me confused, and I wonder if I'm overlooking some important setting. (The second and third graphs of SnPM are just me not adjusting the range of the Y-axis

Non-normality does not imply that the results will be different. Many different types of non-normality can affect the results in many different ways. In this case it sounds like the apparent deviations from normality were inconsequential to the conclusions.



One more strange thing: I also applied anova2RM.m and anova2oneRM.m when I did anova (I tried both because my experimental design was somewhat inconsistent with the data set setup shown in the example), and when I got the graphs of the effects of different groups on the dependent variable, the SPM{F} had a very large range on the Y-axis, which I think should is an anomaly, but I don't think it's a problem with my raw data. what does the F* value represent?

anova2rm and anova2onerm are very different designs. They cannot be used interchangeably. If the two factors are POPULATION (athletes, general) and TASK, then the appropriate design is anova2onerm. The F value can be interpreted roughy as the squared t-value, or approximately: ( mean_difference )^2 / variance. The F-value can get very large when variance is small with respect to the mean_difference.