tfp.experimental.stats.RunningCentralMoments

Computes running central moments.

Inherits From: `AutoCompositeTensor`

`RunningCentralMoments` will compute arbitrary central moments in streaming fashion following the formula proposed by Philippe Pebay (2008) [1]. For reference, the formula we refer to is the incremental version of arbitrary moments (equation 2.9). Since the algorithm computes moments as a function of lower ones, even if not requested, all lower moments will be computed as well. The moments that are actually returned is specified by the `moment` parameter at initialization. Note, while any arbitrarily high central moment is theoretically supported, `RunningCentralMoments` cannot guarantee numerical stability for all moments.

References

[1]: Philippe Pebay. Formulas for Robust, One-Pass Parallel Computation of Covariances and Arbitrary-Order Statistical Moments. Technical Report SAND2008-6212, 2008. https://prod-ng.sandia.gov/techlib-noauth/access-control.cgi/2008/086212.pdf

`mean_state` A `RunningMean` carrying the running mean estimate.
`exponentiated_residuals` A `Tensor` representing the sum of exponentiated residuals. This is a `Tensor` of shape ```[max_moment - 1] + mean_state.mean.shape```, which contains the sum of the residuals raised to the kth power, for all `2 <= k <= max_moment`.
`desired_moments` A Python list of integers giving the moments to return. The maximum element of this list gives the number of moments that will be computed.

Methods

`from_example`

View source

Initialize an empty `RunningCentralMoments`.

Args
`example` A `Tensor`. The `RunningCentralMoments` will accept samples of the same dtype and broadcast-compatible shape as the example.
`moment` Integer or iterable of integers that represent the desired moments to return.

Returns
`state` `RunningCentralMoments` representing a stream of no inputs. Note that by convention, the supplied example is used only for initialization, but not counted as a sample.

`from_shape`

View source

Returns an empty `RunningCentralMoments`.

Args
`shape` Python `Tuple` or `TensorShape` representing the shape of incoming samples.
`moment` Integer or iterable of integers that represent the desired moments to return.
`dtype` Dtype of incoming samples and the resulting statistics. By default, the dtype is `tf.float32`. Any integer dtypes will be cast to corresponding floats (i.e. `tf.int32` will be cast to `tf.float32`), as intermediate calculations should be performing floating-point division.

Returns
`state` `RunningCentralMoments` representing a stream of no inputs.

`moments`

View source

Returns the central moments represented by this `RunningCentralMoments`.

Returns
`all_moments` A `Tensor` representing estimates of the requested central moments. Its leading dimension indexes the moment, in order of those requested (i.e. in order of `self.desired_moments`).

View source

View source

`update`

View source

Update with a new sample.

Args
`new_sample` Incoming `Tensor` sample with shape and dtype compatible with those used to form the `RunningCentralMoments`.

Returns
`state` `RunningCentralMoments` updated to include the new sample.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]