STRUCT TE(3)

NAME
boost::accumulators::impl::weighted_variance_impl - Iterative calculation of variance of weighted samples.

SYNOPSIS

// In header: <boost/accumulators/statistics/weighted_variance.hpp>
template<typename Sample, typename Weight, typename MeanFeature, typename Tag>
struct weighted_variance_impl {
  // types
  typedef numeric::functional::multiplies< Sample, Weight >::result_type       weighted_sample;
  typedef numeric::functional::average< weighted_sample, Weight >::result_type result_type;
  // construct/copy/destruct
  template<typename Args> weighted_variance_impl(Args const &);
  // public member functions
  template<typename Args> void operator()(Args const &);
  result_type result(dont_care) const;
};

DESCRIPTION

Iterative calculation of variance of weighted samples: Equation 1.43.  [1].sp .RS 4 [IMAGE][2] \[ \hat{\sigma}_n^2 = \frac{\bar{w}_n - w_n}{\bar{w}_n}\hat{\sigma}_{n - 1}^2 + \frac{w_n}{\bar{w}_n - w_n}\left(X_n - \hat{\mu}_n\right)^2 ,\quad n\ge2,\quad\hat{\sigma}_0^2 = 0. \] .RE where [3][IMAGE][4] [$ is the sum of the [5][IMAGE][6] [$n$] weights [7][IMAGE][8] [$w_i$] and [9][IMAGE][10] [$ the estimate of the mean of the weighted smaples. Note that the sample variance is not defined for [11][IMAGE][12] [$n <= 1$].

  weighted_variance_impl public construct/copy/destruct

    1.

    template<typename Args> weighted_variance_impl(Args const & args);

  weighted_variance_impl public member functions

    1.

    template<typename Args> void operator()(Args const & args);

    2.

    result_type result(dont_care) const;