class_docstr: Computes running central moments.
  
  `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
docstr: Constructs a `RunningCentralMoments`.
  
  All moments up to the maximum of the desired moments will be computed.
  
  Args:
    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.
docstr_tok: ["Constructs","a","`","RunningCentralMoments","`",".","All","moments","up","to","the","maximum","of","the","desired","moments","will","be","computed",".","Args",":","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","."]
code: def __init__(
      self, mean_state, exponentiated_residuals, desired_moments
  ):
      """Constructs a `RunningCentralMoments`.
  
      All moments up to the maximum of the desired moments will be computed.
  
      Args:
        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.
      """
      self.mean_state = mean_state
      self.exponentiated_residuals = exponentiated_residuals
      self.desired_moments = desired_moments
  
imports: import functools
  import math
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.mcmc import diagnostic
  from tensorflow.python.util import nest
label_desc: Use image node_id 1 to create a new RunningCentralMoments object from inherited base classes: ACClass with example: obj = RunningCentralMoments(mean_state, exponentiated_residuals, desired_moments)