Which test to use to compare non-normal distributed data sets with a small sample size?

So I have several data sets, but each data set consists of only 7 values. I know some of the data sets are non-normal distributed, so my idea was first to do a Wilcoxon Signed Rank Test. But doing it (in python) it tells me, that my sample size is quite too small. They suggest n > 20, and as stated, I only have 7 for each data set.

So is there another test I could use instead ?

EDIT: I will describe the data a bit here. So I am comparing two treatment options. For both options some data is collected about how good and bad the treatment is. In addition, this treatment is performed once every week (7 weeks = the 7 values I mentioned) where new data is collected to see if something changes.

So I have several data points for each patient and each treatment, which contains the effectiveness/side effects of the treatment. These different data points/values I have 7 of since they are performed one time each week.

So basically I end up with data looking like:

Patient 1, treatment 1:

Side effect 1    Side effect 2    Effectiveness 1    Effectiveness 2
Week 1     x-value          x-value           x-value            x-value
Week 2     x-value          x-value           x-value            x-value
Week 3     x-value          x-value           x-value            x-value
Week 4     x-value          x-value           x-value            x-value
Week 5     x-value          x-value           x-value            x-value
Week 6     x-value          x-value           x-value            x-value
Week 7     x-value          x-value           x-value            x-value

Patient 1, treatment 2:

Side effect 1    Side effect 2    Effectiveness 1    Effectiveness 2
Week 1     x-value          x-value           x-value            x-value
Week 2     x-value          x-value           x-value            x-value
Week 3     x-value          x-value           x-value            x-value
Week 4     x-value          x-value           x-value            x-value
Week 5     x-value          x-value           x-value            x-value
Week 6     x-value          x-value           x-value            x-value
Week 7     x-value          x-value           x-value            x-value


So I'm guessing I have to do some statistics on both how it changes from week to week, and then if one treatment is better than the other ?

• What are you trying to compare? Means? Medians? Something else? – Peter Flom Sep 1 '17 at 14:02
• Are your data paired? Can you explain more about what the values are? (e.g. counts? proportions? Likert scales? measurements? times?) – Glen_b Sep 1 '17 at 16:22
• I have edited my original post. Hopefully this would make it a bit clearer. – Denver Dang Sep 1 '17 at 20:10

I agree with Tilefish Poele that you may not be approaching your problem entirely constructively. From your description of the data I understand your situation to be a cross-over design with repeated measures per research unit. This basically means that you have 2 levels of dependency in your data:

1. The same individual having multiple treatments
2. Several measures per individual within treatment

This is a more or less standard situation for mixed modelling (extension of ANOVA). There are several ways to perform such analyses: The two most common ones are marginal models (in SAS this would correspond to using the REPEATED statement in PROC MIXED) and random effects models (using the RANDOM statement in PROC MIXED). Sometimes results will differ between these two modelling approaches, but in general they give very similar results. Other statistical software have different functions/procedures/parameters corresponding to the same choice of analysis. If you aren't familiar with these modelling types in your language of choice, then remember: Google is your friend :)

In the title of your question, you are concerned with normality. Don't be. ANOVA and mixed models aren't really that sensitive to deviations from normality. And, after all, it's not the raw data that should be normally distributed - it's the residuals! And these can (and indeed should!) be monitored post analysis to check for irregularities.

If your residual distributions are really messed up, there's a quite beautiful trick to perform a similar analysis in a non-parametric fashion: Rank transform your original data and run the exact same analysis.

HTH HAND
Carl

I think you're looking at this problem the wrong way. You don't really have 7 data points as the x-values at each week aren't necessarily what you want to draw conclusions on. You really want to draw conclusions on the treatments I'm assuming. Therefore define the time interval you're curious about (maybe the difference in x-values from week 1 to week 7), then form two groups for patients receiving treatment 1 vs. treatment 2. Then you can do a simple ANOVA test.

• So you would not compare each x-value in the same column, but just compare the x-value from treatment 1 with treatment 2 ? – Denver Dang Sep 8 '17 at 8:14
• Essentially yeah so you can draw conclusions on the effects of the treatment right? It wouldn't just be the x-value though, since if a treatment works it would be the change in x-value which would change i.e. the effectiveness at week 1 vs at week 7 – Tilefish Poele Sep 8 '17 at 8:34
• I do think the main target is to figure out which treatment is the better option. I just thought that an ANOVA test would be insufficient. So a one way ANOVA would be the way to go ? – Denver Dang Sep 8 '17 at 9:18
• Why do you think it would be insufficient? – Tilefish Poele Sep 8 '17 at 9:18
• Because ANOVA is used to see differences among group means, and not looking at the difference in x-value1-treatment1 vs x-value1-treatment2 - if I'm not mistaken. Like the Wilcoxon test does. And least that was my assumption at that time... – Denver Dang Sep 8 '17 at 9:26