Histogram class with running statistics, can be constructed from the parameters of the bins or from a dataset.
More...
#include <histogram.h>
|
| | histogram (unsigned int bin_count, real range_min, real range_max) |
| | Construct the histogram from the number of bins and the range.
|
| |
| template<typename Dataset , enable_vector< Dataset > = true> |
| | histogram (const Dataset &data, unsigned int bin_count=0) |
| | Construct the histogram from a set of data points, with the given number of bins.
|
| |
| void | insert (real x) |
| | Insert a new data point inside the histogram, updating the running statistics and the corresponding bin.
|
| |
| unsigned int | index (real x) const |
| | Find the bin index corresponding to a given data point.
|
| |
| unsigned int | number () const |
| | Get the number of data points inside the histogram.
|
| |
| std::vector< unsigned int > | bins () const |
| | Get a vector containing the bin counts of each bin.
|
| |
| real | max () const |
| | Get the biggest data point of the histogram.
|
| |
| real | min () const |
| | Get the smallest data point of the histogram.
|
| |
| real | mean () const |
| | Get the mean value of the histogram data.
|
| |
| real | tss () const |
| | Get the total sum of squares (TSS) computed using Welford's one-pass method.
|
| |
| real | operator() (real x) |
| | Evaluate the histogram like a step function which is zero outside the range of the histogram.
|
| |
| unsigned int | operator[] (unsigned int i) const |
| | Get the number of elements in the i-th bin.
|
| |
| std::string | to_string (const std::string &separator=" ", bool normalized=true, bool lower_extreme=false) const |
| | Convert the histogram to string representation.
|
| |
|
| operator std::string () |
| | Convert the histogram to string representation.
|
| |
|
|
std::ostream & | operator<< (std::ostream &out, const histogram &obj) |
| | Stream the histogram in string representation to an output stream (std::ostream)
|
| |
Histogram class with running statistics, can be constructed from the parameters of the bins or from a dataset.
Elements are inserted one by one, updating the running statistics for the TSS, mean, maximum and minimum on each step.
◆ histogram() [1/2]
| theoretica::histogram::histogram |
( |
unsigned int |
bin_count, |
|
|
real |
range_min, |
|
|
real |
range_max |
|
) |
| |
|
inline |
Construct the histogram from the number of bins and the range.
The histogram is initialized from the arguments, without specifying any data points, which need to be added with insert().
- Parameters
-
| bin_count | The number of bins |
| range_min | The lower bound of the range |
| range_max | The upper bound of the range |
◆ histogram() [2/2]
template<typename Dataset , enable_vector< Dataset > = true>
| theoretica::histogram::histogram |
( |
const Dataset & |
data, |
|
|
unsigned int |
bin_count = 0 |
|
) |
| |
|
inline |
Construct the histogram from a set of data points, with the given number of bins.
If the number of bins is not specified, it defaults to \([\sqrt{N}]\).
- Parameters
-
| data | The set of data points |
| bin_count | The number of bins (defaults to the square root of the number of points) |
◆ bins()
| std::vector< unsigned int > theoretica::histogram::bins |
( |
| ) |
const |
|
inline |
Get a vector containing the bin counts of each bin.
- Note
- The bins cannot be directly modified, new elements must be added using insert().
- Returns
- A vector containing the number of elements in each bin.
◆ index()
| unsigned int theoretica::histogram::index |
( |
real |
x | ) |
const |
|
inline |
Find the bin index corresponding to a given data point.
- Parameters
-
| x | The value to find the bin index of (must be between range_min and range_max) |
- Note
- This function does not check whether the value is between range_min and range_max, so care should be taken to use only valid inputs.
◆ insert()
| void theoretica::histogram::insert |
( |
real |
x | ) |
|
|
inline |
Insert a new data point inside the histogram, updating the running statistics and the corresponding bin.
- Parameters
-
◆ max()
| real theoretica::histogram::max |
( |
| ) |
const |
|
inline |
Get the biggest data point of the histogram.
- Returns
- The maximum value of all elements.
◆ mean()
| real theoretica::histogram::mean |
( |
| ) |
const |
|
inline |
Get the mean value of the histogram data.
- Returns
- The running mean of all elements of the histogram.
◆ min()
| real theoretica::histogram::min |
( |
| ) |
const |
|
inline |
Get the smallest data point of the histogram.
- Returns
- The minimum value of all elements.
◆ number()
| unsigned int theoretica::histogram::number |
( |
| ) |
const |
|
inline |
Get the number of data points inside the histogram.
- Returns
- The number of data points which have been added to the histogram.
◆ operator()()
| real theoretica::histogram::operator() |
( |
real |
x | ) |
|
|
inline |
Evaluate the histogram like a step function which is zero outside the range of the histogram.
- Parameters
-
| x | The point to evaluate the histogram function at |
- Returns
- The value of the histogram function at x
◆ operator[]()
| unsigned int theoretica::histogram::operator[] |
( |
unsigned int |
i | ) |
const |
|
inline |
Get the number of elements in the i-th bin.
- Parameters
-
- Returns
- The number of elements in the i-th bin
◆ to_string()
| std::string theoretica::histogram::to_string |
( |
const std::string & |
separator = " ", |
|
|
bool |
normalized = true, |
|
|
bool |
lower_extreme = false |
|
) |
| const |
|
inline |
Convert the histogram to string representation.
- Parameters
-
| separator | The string to print between row elements |
| normalized | Whether to normalize the bin counts as a frequency (defaults to true). |
| lower_extreme | Whether to print the lower extreme of the bins or use the mid point (defaults to false, using mid points). |
- Returns
- A string representing the histogram, ready to plot.
◆ tss()
| real theoretica::histogram::tss |
( |
| ) |
const |
|
inline |
Get the total sum of squares (TSS) computed using Welford's one-pass method.
- Returns
- The total sum of squares of all elements of the histogram.
The documentation for this class was generated from the following file: