pysteps.utils.transformation.boxcox_transform#
- pysteps.utils.transformation.boxcox_transform(R, metadata=None, Lambda=None, threshold=None, zerovalue=None, inverse=False)#
The one-parameter Box-Cox transformation.
The Box-Cox transform is a well-known power transformation introduced by Box and Cox (1964). In its one-parameter version, the Box-Cox transform takes the form T(x) = ln(x) for Lambda = 0, or T(x) = (x**Lambda - 1)/Lambda otherwise.
Default parameters will produce a log transform (i.e. Lambda=0).
- Parameters:
R (array-like) – Array of any shape to be transformed.
metadata (dict, optional) – Metadata dictionary containing the transform, zerovalue and threshold attributes as described in the documentation of
pysteps.io.importers
.Lambda (float, optional) –
Parameter Lambda of the Box-Cox transformation. It is 0 by default, which produces the log transformation.
Choose Lambda < 1 for positively skewed data, Lambda > 1 for negatively skewed data.
threshold (float, optional) – The value that is used for thresholding with the same units as R. If None, the threshold contained in metadata is used. If no threshold is found in the metadata, a value of 0.1 is used as default.
zerovalue (float, optional) – The value to be assigned to no rain pixels as defined by the threshold. It is equal to the threshold - 1 by default.
inverse (bool, optional) – If set to True, it performs the inverse transform. False by default.
- Returns:
R (array-like) – Array of any shape containing the (back-)transformed units.
metadata (dict) – The metadata with updated attributes.
References
Box, G. E. and Cox, D. R. (1964), An Analysis of Transformations. Journal of the Royal Statistical Society: Series B (Methodological), 26: 211-243. doi:10.1111/j.2517-6161.1964.tb00553.x