StatisticalAccumulator class
Comprehensive statistical accumulator for running statistics.
| Template parameters | |
|---|---|
| WindowSize | Size of rolling window for windowed statistics |
Uses boost::accumulators to efficiently calculate various statistics in a single pass. Supports both complete and rolling window statistics.
Public types
- struct Statistics
- Get comprehensive statistics summary.
- using value_type = T
- using accumulator_set = acc::accumulator_set<T, acc::stats<acc::tag::count, acc::tag::mean, acc::tag::variance, acc::tag::min, acc::tag::max, acc::tag::median, acc::tag::skewness, acc::tag::kurtosis, acc::tag::moment<2>, acc::tag::moment<3>, acc::tag::moment<4>>>
- using rolling_accumulator_set = acc::accumulator_set<T, acc::stats<acc::tag::rolling_mean, acc::tag::rolling_variance>>
Constructors, destructors, conversion operators
- StatisticalAccumulator()
- Default constructor.
Public functions
- auto add(T value) -> void
- Add a value to the accumulator.
- auto add_range(InputIt first, InputIt last) -> void
- Add multiple values.
- auto count() const -> std::size_t
- Get number of accumulated values.
- auto mean() const -> T
- Get mean of all values.
- auto variance() const -> T
- Get variance of all values.
- auto standard_deviation() const -> T
- Get standard deviation.
- auto min() const -> T
- Get minimum value.
- auto max() const -> T
- Get maximum value.
- auto range() const -> T
- Get range (max - min)
- auto median() const -> T
- Get median value.
- auto skewness() const -> T
- Get skewness.
- auto kurtosis() const -> T
- Get kurtosis.
- auto coefficient_of_variation() const -> T
- Get coefficient of variation (CV)
- auto rms() const -> T
- Get root mean square (RMS)
-
template<int N>auto moment() const -> T
- Get nth central moment.
- auto rolling_mean() const -> T
- Get rolling mean over window.
- auto rolling_variance() const -> T
- Get rolling variance over window.
- auto rolling_std_dev() const -> T
- Get rolling standard deviation.
- auto get_statistics() const -> Statistics
- auto is_normal_distributed(double alpha = 0.05) const -> bool
- Check if distribution is approximately normal.
- auto reset() -> void
- Reset accumulator to initial state.
Function documentation
T liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: standard_deviation() const
Get standard deviation.
| Returns | Standard deviation |
|---|
T liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: coefficient_of_variation() const
Get coefficient of variation (CV)
| Returns | CV = std_dev / mean |
|---|
T liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: rolling_mean() const
Get rolling mean over window.
| Returns | Mean of last WindowSize values |
|---|
T liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: rolling_variance() const
Get rolling variance over window.
| Returns | Variance of last WindowSize values |
|---|
T liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: rolling_std_dev() const
Get rolling standard deviation.
| Returns | Standard deviation of last WindowSize values |
|---|
bool liarsdice:: statistics:: StatisticalAccumulator<_1, WindowSize>:: is_normal_distributed(double alpha = 0.05) const
Check if distribution is approximately normal.
| Parameters | |
|---|---|
| alpha | Significance level (default: 0.05) |
| Returns | True if skewness and kurtosis suggest normality |