Tutorials

Normalizing Data

When dealing with real-world data, one can't assume it to be normal distributed. In fact, many properties are modeled by applying different transformations, for example conductivity is often assumed to be log-normal or precipitation is transformed using the famous box-cox power transformation.

These "normalizers" are often represented as parameteric power transforms and one is interested in finding the best parameter to gain normality in the input data.

This is of special interest when kriging should be applied, since the target variable of the kriging interpolation is assumed to be normal distributed.

GSTools provides a set of Normalizers and routines to automatically fit these to input data by minimizing the likelihood function.

#Mean, Trend and Normalizers

All Field classes (SRF, Krige or CondSRF) provide the input of mean, normalizer and trend:

  • A trend can be a callable function, that represents a trend in input data. For example a linear decrease of temperature with height.
  • The normalizer will be applied after the data was detrended, i.e. the trend was substracted from the data, in order to gain normality.
  • The mean is now interpreted as the mean of the normalized data. The user could also provide a callable mean, but it is mostly meant to be constant.

When no normalizer is given, trend and mean basically behave the same. We just decided that a trend is associated with raw data and a mean is used in the context of normally distributed data.

#Provided Normalizers

The following normalizers can be passed to all Field-classes and variogram estimation routines or can be used as standalone tools to analyse data.

  • LogNormal
  • BoxCox
  • BoxCoxShift
  • YeoJohnson
  • Modulus
  • Manly