This is because it actually does not really check for normality;
the method checks for the smallest standard deviation.
The assumption is that among all transformations with Lambda values between -5 and +5, transformed data has the highest likelihood – but not a guarantee – to be normally distributed when standard deviation is the smallest.
it is absolutely necessary to always check the transformed data for normality using a probability plot. (d)
+ Additionally, the Box-Cox Power transformation only works if all the data is positive and greater than 0.
+ achieved easily by adding a constant ‘c’ to all data such that it all becomes positive before it is transformed. The transformation equation is then:
Finally: An awesome tutorial (dead),here is a new one in python with code examples, there is also another code example here
“Simply pass a 1-D array into the function and it will return the Box-Cox transformed array and the optimal value for lambda. You can also specify a number, alpha, which calculates the confidence interval for that value. (For example, alpha = 0.05 gives the 95% confidence interval).”
* Maybe there is a slight problem in the python vs R code, details here, but needs investigating.
MANN-WHITNEY U TEST
(what is?) - the Mann–Whitney U test is a nonparametrictest of the null hypothesis that it is equally likely that a randomly selected value from one sample will be less than or greater than a randomly selected value from a second sample.
In other words: This test can be used to determine whether two independent samples were selected from populations having the same distribution.
Unlike the t-test it does not require the assumption of normal distributions. It is nearly as efficient as the t-test on normal distributions.