Lumiera 0.pre.04
»edit your freedom«
Loading...
Searching...
No Matches
statistic.hpp File Reference

Support for generic statistics calculations. More...

Go to the source code of this file.

Description

Support for generic statistics calculations.

  • average over the N last elements in a data sequence
  • simple linear regression with weights (single predictor variable)
  • also over a time series with zero-based indices

Definition in file statistic.hpp.

#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "lib/iter-adapter.hpp"
#include "lib/format-string.hpp"
#include "lib/util.hpp"
#include <utility>
#include <vector>
#include <array>
#include <tuple>
#include <cmath>

Namespaces

namespace  lib
 Implementation namespace for support and library code.
 
namespace  lib::stat
 

Typedefs

using VecD = std::vector< double >
 
using RegressionData = std::vector< RegressionPoint >
 

Classes

class  DataSpan< D >
 Read-only view into a segment within a sequence of data. More...
 
struct  RegressionPoint
 Single data point used for linear regression. More...
 

Functions

template<typename TUP >
constexpr auto array_from_tuple (TUP &&tuple)
 helper to unpack a std::tuple into a homogeneous std::array
 
template<size_t places>
double round (double val)
 
template<class CON >
 DataSpan (CON const &container) -> DataSpan< typename lib::meta::ValueTypeBinding< CON >::value_type >
 deduction guide: derive content from container.
 
template<typename... NUMS>
double errorSum (NUMS ...vals)
 summation of variances, for error propagation: √Σe²
 
template<typename D >
double average (DataSpan< D > const &data)
 
template<typename D >
double sdev (DataSpan< D > const &data, D mean)
 
double sdev (VecD const &data, double mean)
 
DataSpan< double > lastN (VecD const &data, size_t n)
 
double averageLastN (VecD const &data, size_t n)
 
double sdevLastN (VecD const &data, size_t n, double mean)
 
template<typename D >
auto computeStatSums (DataSpan< D > const &series)
 "building blocks" for mean, variance and covariance of time series data
 
auto computeWeightedStatSums (DataSpan< RegressionPoint > const &points)
 "building blocks" for weighted mean, weighted variance and covariance
 
auto computeLinearRegression (DataSpan< RegressionPoint > const &points)
 Compute simple linear regression with a single predictor variable (x).
 
auto computeLinearRegression (RegressionData const &points)
 
template<typename D >
auto computeTimeSeriesLinearRegression (DataSpan< D > const &series)
 Compute linear regression over a time series with zero-based indices.
 
auto computeTimeSeriesLinearRegression (VecD const &series)