I received received a question about controlling for inflated Type I error through Bonferroni corrections in nonparametric tests. Here’s the specific question and my quick answer:

My colleague is applying non parametric (Kruskal-Wallis) to check for differences between groups. There are 12 groups and test showed that there is significant difference in the groups. However, to check which pair is significant is tedious and I’m not sure if there is comparable post-hoc test in non-parametric approach. Any resources available in hands?

My answer:

Bonferroni correction is your only option when applying non-parametric statistics (that I’m aware of). Or, actually, any test other than ANOVA.

A Bonferroni correction is actually very simple. Just take the number of comparisons you want to make, then multiply each p-value by that number. If the calculated p-value is greater than 1, round to 1.0.

{ 8 comments… read them below or add one }

what about the kruskalmc() command in the library pgirmess ?

You should also think of permutation approaches (and using the maximum statistic method (Holmes, 1996) to correct for multiple comparisons)

dunn’s test for multiple comparisons

Mann-Whitney test for between-groups comparisons with Bonferroni correction for multiple comparisons (altogether 10 comparisons). The p-value for first set of comparison (between 2 groups)is o.o64. Does this mean Bonferroni correction is 0.064 times 10 or 0.064 times 2?

Thanks

Bonferroni correction is very conservative. The description indicated above is actually an approximation and not the Bonferroni correction. You can use other corrections. Note that a p correction is an adjustment that is done to the independent tests so the global confidence is maintained. Once one assumes the n tests are independent, the global confidence will be given by (1-significance of independent tests)^n. So the significance of independent tests is adjusted in a way that the global confidence is not heavily affected. Bonferroni correction is the simplest and most conservative one which means that you may encounter significant diferences using a K-W test and not find any significant differences among pairs using independent tests. There are other, more forgiving, corrections such as Holmes correction which is used very commonly.

A simple approach could be:

1) Kruskal – Wallis non-parametric test and if there is statistical significance then proceed to

2) Mann-Whitney test for between-groups comparisons with Bonferroni correction for multpiple comparisons

If you want to know differences between pairs, you could do Mann-Whitney U tests for each pair or test for correlations using a spearman rho for instance. The correction for multiple comparisons should be applied on results for those tests especially if you haven’t predefined hypotheses.

Bonferroni correction is definitely not the only option. There are many more methods to calculate multiplicity adjusted p-values, such as Hochberg, Simes, and Holm tests, to mention a few. See Analysis of clinical trials using SAS: a practical guide at http://www.google.com/books?id=G5ElnZDDm8gC&printsec=frontcover&dq=sas+clinical+trials&cd=1