#include <stat.hpp>
|
virtual void | clear () |
|
virtual double | entropy () const |
|
virtual void | get_diff (std::pair< double, size_t > &ret) const |
|
storage::version | get_version () const |
|
double | max (const std::string &key) const |
|
double | min (const std::string &key) const |
|
virtual void | mix (const std::pair< double, size_t > &lhs, std::pair< double, size_t > &ret) const |
|
double | moment (const std::string &key, int n, double c) const |
|
| MSGPACK_DEFINE (window_size_, window_, stats_, e_, n_) |
|
virtual void | pack (framework::packer &packer) const |
|
void | push (const std::string &key, double val) |
|
virtual bool | put_diff (const std::pair< double, size_t > &) |
|
| stat (size_t window_size) |
|
double | stddev (const std::string &key) const |
|
double | sum (const std::string &key) const |
|
std::string | type () const |
|
virtual void | unpack (msgpack::object o) |
|
virtual | ~stat () |
|
|
jubatus::util::data::unordered_map< std::string, stat_val > | stats_ |
|
std::deque< std::pair< uint64_t, std::pair< std::string, double > > > | window_ |
|
Definition at line 55 of file stat.hpp.
jubatus::core::stat::stat::stat |
( |
size_t |
window_size | ) |
|
|
explicit |
Definition at line 32 of file stat.cpp.
References JUBATUS_EXCEPTION.
36 if (!(1 <= window_size)) {
38 common::invalid_parameter(
"1 <= window_size"));
#define JUBATUS_EXCEPTION(e)
jubatus::core::stat::stat::~stat |
( |
| ) |
|
|
virtual |
void jubatus::core::stat::stat::clear |
( |
| ) |
|
|
virtual |
Definition at line 181 of file stat.cpp.
References stats_, and window_.
std::deque< std::pair< uint64_t, std::pair< std::string, double > > > window_
jubatus::util::data::unordered_map< std::string, stat_val > stats_
double jubatus::core::stat::stat::entropy |
( |
| ) |
const |
|
virtual |
Definition at line 127 of file stat.cpp.
References e_, n_, and stats_.
131 for (jubatus::util::data::unordered_map<std::string, stat_val>::
132 const_iterator p =
stats_.begin(); p !=
stats_.end(); ++p) {
133 total += p->second.n_;
136 for (jubatus::util::data::unordered_map<std::string, stat_val>::
137 const_iterator p =
stats_.begin(); p !=
stats_.end(); ++p) {
138 double pr = p->second.n_ /
static_cast<double>(total);
139 ret += pr * std::log(pr);
144 return std::log(n) -
e_ /
n_;
jubatus::util::data::unordered_map< std::string, stat_val > stats_
void jubatus::core::stat::stat::get_diff |
( |
std::pair< double, size_t > & |
ret | ) |
const |
|
virtual |
Definition at line 45 of file stat.cpp.
References stats_.
49 for (jubatus::util::data::unordered_map<std::string, stat_val>::
50 const_iterator p =
stats_.begin(); p !=
stats_.end(); ++p) {
51 double pr = p->second.n_;
52 ret.first += pr * std::log(pr);
jubatus::util::data::unordered_map< std::string, stat_val > stats_
Definition at line 77 of file stat.hpp.
78 return storage::version();
double jubatus::core::stat::stat::max |
( |
const std::string & |
key | ) |
const |
double jubatus::core::stat::stat::min |
( |
const std::string & |
key | ) |
const |
void jubatus::core::stat::stat::mix |
( |
const std::pair< double, size_t > & |
lhs, |
|
|
std::pair< double, size_t > & |
ret |
|
) |
| const |
|
virtual |
Definition at line 63 of file stat.cpp.
66 ret.first += lhs.first;
67 ret.second += lhs.second;
double jubatus::core::stat::stat::moment |
( |
const std::string & |
key, |
|
|
int |
n, |
|
|
double |
c |
|
) |
| const |
Definition at line 147 of file stat.cpp.
References JUBATUS_EXCEPTION, jubatus::core::stat::stat::stat_val::n_, stats_, jubatus::core::stat::stat::stat_val::sum2_, jubatus::core::stat::stat::stat_val::sum_, and window_.
Referenced by stddev().
151 jubatus::util::data::unordered_map<std::string, stat_val>::const_iterator p =
156 const stat_val& st = p->second;
163 return (st.sum_ - c * st.n_) / st.n_;
167 return (st.sum2_ - 2 * st.sum_ * c) / st.n_ + c * c;
172 for (
size_t i = 0; i <
window_.size(); ++i) {
173 if (
window_[i].second.first != key) {
176 ret += std::pow(
window_[i].second.second - c, n);
std::deque< std::pair< uint64_t, std::pair< std::string, double > > > window_
#define JUBATUS_EXCEPTION(e)
jubatus::util::data::unordered_map< std::string, stat_val > stats_
Definition at line 186 of file stat.cpp.
msgpack::packer< jubatus_packer > packer
void jubatus::core::stat::stat::push |
( |
const std::string & |
key, |
|
|
double |
val |
|
) |
| |
Definition at line 70 of file stat.cpp.
References jubatus::core::stat::stat::stat_val::n_, jubatus::core::stat::stat::stat_val::rem(), stats_, window_, and window_size_.
72 clock_time ct = get_clock_time();
73 window_.push_back(make_pair((uint64_t) ct, make_pair(key, val)));
77 string key =
window_.front().second.first;
78 double val =
window_.front().second.second;
79 stat_val& st =
stats_[key];
81 st.rem(val, key, *
this);
std::deque< std::pair< uint64_t, std::pair< std::string, double > > > window_
jubatus::util::data::unordered_map< std::string, stat_val > stats_
bool jubatus::core::stat::stat::put_diff |
( |
const std::pair< double, size_t > & |
e | ) |
|
|
virtual |
double jubatus::core::stat::stat::stddev |
( |
const std::string & |
key | ) |
const |
Definition at line 97 of file stat.cpp.
References JUBATUS_EXCEPTION, moment(), jubatus::core::stat::stat::stat_val::n_, stats_, and jubatus::core::stat::stat::stat_val::sum_.
98 jubatus::util::data::unordered_map<std::string, stat_val>::const_iterator p =
103 const stat_val& st = p->second;
104 return std::sqrt(
moment(key, 2, st.sum_ / st.n_));
#define JUBATUS_EXCEPTION(e)
double moment(const std::string &key, int n, double c) const
jubatus::util::data::unordered_map< std::string, stat_val > stats_
double jubatus::core::stat::stat::sum |
( |
const std::string & |
key | ) |
const |
Definition at line 88 of file stat.cpp.
References JUBATUS_EXCEPTION, and stats_.
89 jubatus::util::data::unordered_map<std::string, stat_val>::const_iterator p =
94 return p->second.sum_;
#define JUBATUS_EXCEPTION(e)
jubatus::util::data::unordered_map< std::string, stat_val > stats_
std::string jubatus::core::stat::stat::type |
( |
| ) |
const |
void jubatus::core::stat::stat::unpack |
( |
msgpack::object |
o | ) |
|
|
virtual |
double jubatus::core::stat::stat::e_ |
|
private |
double jubatus::core::stat::stat::n_ |
|
private |
jubatus::util::data::unordered_map<std::string, stat_val> jubatus::core::stat::stat::stats_ |
|
protected |
std::deque<std::pair<uint64_t, std::pair<std::string, double> > > jubatus::core::stat::stat::window_ |
|
protected |
size_t jubatus::core::stat::stat::window_size_ |
|
private |
The documentation for this class was generated from the following files: