improver.utilities.statistical module#

Module to contain methods for handling statistical operations.

class DistributionalParameters(distribution='norm', truncation_points=None)[source]#

Bases: BasePlugin

Class for estimating distributional parameters given some statistics.

__init__(distribution='norm', truncation_points=None)[source]#

Initialize class for estimating distributional parameters.

Parameters:
  • distribution (str) – The distribution for which parameters are to be estimated. The default is a normal distribution.

  • truncation_points (Optional[list[float]]) – List containing the lower and upper truncation points for a truncated normal distribution.

_abc_impl = <_abc._abc_data object>#
static _gamma_parameters(mean, sd)[source]#

Estimate parameters for a gamma distribution given mean and standard deviation cubes. The estimation method is based on the method of moments, as described in Wilks (2019).

Parameters:
  • mean (array) – Array of mean values.

  • sd (array) – Array of standard deviation values.

Return type:

tuple[array, array, array]

Returns:

Arrays containing shape and scale parameters of a gamma distribution.

References

Wilks, D. S., 2019: Statistical Methods in the Atmospheric Sciences, Academic Press.

static _normal_parameters(mean, sd)[source]#

Estimate parameters for a normal distribution given mean and standard deviation cubes.

Parameters:
  • mean (array) – Array of mean values.

  • sd (array) – Array of standard deviation values.

Return type:

tuple[None, array, array]

Returns:

Arrays containing location and scale parameters of a normal distribution.

_truncated_normal_parameters(mean, sd)[source]#

Estimate parameters for a truncated normal distribution given mean and standard deviation cubes.

Parameters:
  • mean (array) – Array of mean values.

  • sd (array) – Array of standard deviation values.

Return type:

tuple[List[array], array, array]

Returns:

Arrays containing location and scale parameters of a truncated normal distribution.

Raises:

ValueError – If truncation points are not provided or if the number of truncation points is not equal to two.

process(mean_cube, sd_cube)[source]#

Estimate distributional parameters given mean and variance cubes.

Parameters:
  • mean_cube (Cube) – Cube containing the mean values.

  • sd_cube (Cube) – Cube containing the standard deviation values.

Return type:

tuple[Union[CubeList, Cube, None], Optional[Cube], Optional[Cube]]

Returns:

The shape, location and scale parameter cubes. The shape parameter(s) may be a cubelist if multiple shape parameters are returned. Any of the parameters may be None if not applicable for the chosen distribution.