MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ variance()

double MayaFlux::Kinesis::Stochastic::Estimate::variance ( std::span< const double >  samples)
staticnoexcept

Sample variance of a span.

Parameters
samplesValues to analyze
Returns
Variance, or 0.0 for spans of size < 2

Definition at line 210 of file Estimate.cpp.

211{
212 if (samples.size() < 2)
213 return 0.0;
214
215 const double mean = std::accumulate(samples.begin(), samples.end(), 0.0) / static_cast<double>(samples.size());
216
217 double sq_sum = 0.0;
218 for (double v : samples)
219 sq_sum += (v - mean) * (v - mean);
220
221 return sq_sum / static_cast<double>(samples.size() - 1);
222}
std::vector< double > mean(std::span< const double > data, size_t n_windows, uint32_t hop_size, uint32_t window_size)
Arithmetic mean per window.
Definition Analysis.cpp:200

Referenced by MayaFlux::Kinesis::estimate_period(), and update_rolling_variance().

+ Here is the caller graph for this function: