Box-cox transformation

These are reminder notes about Box-cox transformation.

One of the problems that box-cox transformation tries to solve is “heteroscedasticity” (non-constant variance). This article explains the problem where you can apply box-cox transformation to solve it:

Variations are not constant

SciPy has added an inverse Box-Cox transformation:

from scipy.special import boxcox, inv_boxcox
y = boxcox([1, 4, 10], 2.5)
inv_boxcox(y, 2.5)
array([1., 4., 10.])

Does Box-cox always work?

The answer is NO. Box-cox does not guarantee normality because it never checks for the normality which is necessary to be foolproof that it has correctly transformed the non-normal distribution or not. It only checks for the smallest Standard deviation.

Therefore, it is absolutely necessary to always check the transformed data for normality using a probability plot.


Leave a Comment