|
yat
0.21pre
|
Kolmogorov Smirnov Test. More...
#include <yat/statistics/KolmogorovSmirnov.h>
Classes | |
| struct | Element |
Public Member Functions | |
| KolmogorovSmirnov (void) | |
| Constructor. | |
| void | add (double value, bool class_label, double weight=1.0) |
| add a value | |
| template<typename ForwardIterator > | |
| void | add (ForwardIterator first, ForwardIterator last) |
| add a range More... | |
| double | p_value (void) const |
| Large-Sample Approximation. More... | |
| double | p_value (size_t perm) const |
| p-value More... | |
| void | remove (double value, bool class_label, double weight=1.0) |
| Remove a data point. More... | |
| void | reset (void) |
| resets everything to zero | |
| double | score (void) const |
| Kolmogorov Smirnov statistic. More... | |
| void | scores (std::vector< double > &) const |
| void | shuffle (void) |
| shuffle class labels More... | |
| double | signed_score (void) const |
Related Functions | |
(Note that these are not member functions.) | |
| std::ostream & | operator<< (std::ostream &, const KolmogorovSmirnov &) |
| output operator | |
Kolmogorov Smirnov Test.
| void theplu::yat::statistics::KolmogorovSmirnov::add | ( | ForwardIterator | first, |
| ForwardIterator | last | ||
| ) |
add a range
Type Requirements:
ForwardIterator models Readable IteratorForwardIterator models Forward Traversal Iteratorvalue_type of ForwardIterator must be convertible to KolmogorovSmirnov::Element Insertion takes typically N*log(N). However, if range is sorted, insertion takes linear time. A common use case of this function is when calculating several KS statistics on a data set (values and weights) with different class labels.
| double theplu::yat::statistics::KolmogorovSmirnov::p_value | ( | void | ) | const |
Large-Sample Approximation.
This analytical approximation of p-value can be used when all weight equal unity and sample sizes n and m are large. The p-value is calcuated as
, where s is the scaled score:
Following Hollander and Wolfe
| double theplu::yat::statistics::KolmogorovSmirnov::p_value | ( | size_t | perm | ) | const |
| void theplu::yat::statistics::KolmogorovSmirnov::remove | ( | double | value, |
| bool | class_label, | ||
| double | weight = 1.0 |
||
| ) |
Remove a data point.
| utility::runtime_error | if no data point exist with value, class_label, and weight. |
| double theplu::yat::statistics::KolmogorovSmirnov::score | ( | void | ) | const |
| void theplu::yat::statistics::KolmogorovSmirnov::scores | ( | std::vector< double > & | ) | const |
In case of no ties and data points are sorted such that
, the kth element is calculated as
.
In case
has tied values the sums include all values tied with
, i.e.,
.
| void theplu::yat::statistics::KolmogorovSmirnov::shuffle | ( | void | ) |
shuffle class labels
This is equivalent to reset and re-add values with shuffled class labels.
| double theplu::yat::statistics::KolmogorovSmirnov::signed_score | ( | void | ) | const |
Same as score() but keeping the sign, in other words, abs(signed_score())==score()
Of the values calculated in scores(), return the one with the greatest deviation from zero.
A positive score implies that values in class true on average are smaller than values in class false.
1.8.14