Implements k-split, an adaptive histogram-like density estimation algorithm. During result collection, k-split will dynamically subdivide "busy" bins (ones that collect a large number of observations), thereby refining the resolution of the histogram where needed.
The histogram produced by k-split will be an approximation, because the algorithm has no information on how to divide up observations collected into a bin before it was split. Nevertheless, for stationary distributions, k-split usually produces a superior estimate of the distribution than uniform-bin histograms. If the distribution changes over time, and especially if it shows a distinct (increasing or decreasing) trend, k-split's estimate often contains artifacts that are not part of the input distribution.
- See also
- Iterator Grid
|
|
| cKSplit (const char *name=nullptr, bool weighted=false) |
|
| cKSplit (const cKSplit &r) |
|
virtual | ~cKSplit () |
|
cKSplit & | operator= (const cKSplit &res) |
|
|
virtual void | setUpBins () override |
|
virtual int | getNumBins () const override |
|
virtual double | getBinEdge (int k) const override |
|
virtual double | getBinValue (int k) const override |
|
virtual void | merge (const cStatistic *other) override |
|
virtual void | clear () override |
|
virtual void | saveToFile (FILE *) const override |
|
virtual void | loadFromFile (FILE *) override |
|
|
void | setCritFunc (CritFunc _critfunc, double *_critdata) |
|
void | setDivFunc (DivFunc _divfunc, double *_divdata) |
|
void | setRangeExtension (bool enabled) |
|
|
int | getTreeDepth () const |
|
int | getTreeDepth (Grid &grid) const |
|
double | getRealCellValue (Grid &grid, int cell) const |
|
void | printGrids () const |
|
Grid & | getGrid (int k) const |
|
Grid & | getRootGrid () const |
|
| cPrecollectionBasedDensityEst (const cPrecollectionBasedDensityEst &other) |
|
| cPrecollectionBasedDensityEst (const char *name=nullptr, bool weighted=false) |
|
virtual | ~cPrecollectionBasedDensityEst () |
|
cPrecollectionBasedDensityEst & | operator= (const cPrecollectionBasedDensityEst &res) |
|
virtual void | collect (double value) override |
|
virtual void | collectWeighted (double value, double weight) override |
|
virtual void | collect (double value)=0 |
|
virtual void | collect (SimTime value) |
|
virtual void | collectWeighted (double value, double weight) |
|
virtual void | collectWeighted (SimTime value, double weight) |
|
virtual void | collectWeighted (double value, SimTime weight) |
|
virtual void | collectWeighted (SimTime value, SimTime weight) |
|
virtual bool | binsAlreadySetUp () const override |
|
virtual int64_t | getNumUnderflows () const override |
|
virtual int64_t | getNumOverflows () const override |
|
virtual double | getUnderflowSumWeights () const override |
|
virtual double | getOverflowSumWeights () const override |
|
virtual int64_t | getNumNegInfs () const override |
|
virtual int64_t | getNumPosInfs () const override |
|
virtual double | getNegInfSumWeights () const override |
|
virtual double | getPosInfSumWeights () const override |
|
virtual void | setRange (double lower, double upper) |
|
virtual void | setRangeAuto (int numPrecollect=100, double rangeExtensionFactor=2.0) |
|
virtual void | setRangeAutoLower (double upper, int numPrecollect=100, double rangeExtensionFactor=2.0) |
|
virtual void | setRangeAutoUpper (double lower, int numPrecollect=100, double rangeExtensionFactor=2.0) |
|
virtual void | setNumPrecollectedValues (int numPrecollect) |
|
virtual int | getNumPrecollectedValues () const |
|
virtual double | getRangeExtensionFactor () const |
|
| cAbstractHistogram (const cAbstractHistogram &other)=default |
|
| cAbstractHistogram (const char *name=nullptr, bool weighted=false) |
|
virtual | ~cAbstractHistogram () |
|
cAbstractHistogram & | operator= (const cAbstractHistogram &res) |
|
virtual std::vector< double > | getBinEdges () const |
|
virtual std::vector< double > | getBinValues () const |
|
virtual double | getBinPDF (int k) const |
|
virtual Bin | getBinInfo (int k) const |
|
virtual double | getPDF (double x) const |
|
virtual double | getCDF (double x) const |
|
virtual double | draw () const override |
|
| cStdDev (const cStdDev &r) |
|
| cStdDev (const char *name=nullptr, bool weighted=false) |
|
virtual | ~cStdDev () |
|
cStdDev & | operator= (const cStdDev &res) |
|
virtual std::string | str () const override |
|
virtual bool | isWeighted () const override |
|
virtual int64_t | getCount () const override |
|
virtual double | getSum () const override |
|
virtual double | getSqrSum () const override |
|
virtual double | getMin () const override |
|
virtual double | getMax () const override |
|
virtual double | getMean () const override |
|
virtual double | getStddev () const override |
|
virtual double | getVariance () const override |
|
virtual double | getSumWeights () const override |
|
virtual double | getWeightedSum () const override |
|
virtual double | getSqrSumWeights () const override |
|
virtual double | getWeightedSqrSum () const override |
|
virtual void | collect (double value)=0 |
|
virtual void | collect (SimTime value) |
|
virtual void | collectWeighted (double value, double weight) |
|
virtual void | collectWeighted (SimTime value, double weight) |
|
virtual void | collectWeighted (double value, SimTime weight) |
|
virtual void | collectWeighted (SimTime value, SimTime weight) |
|
| cStatistic (const cStatistic &r) |
|
| cStatistic (const char *name=nullptr) |
|
virtual | ~cStatistic () |
|
cStatistic & | operator= (const cStatistic &res) |
|
virtual void | collect (SimTime value) |
|
virtual void | collectWeighted (SimTime value, double weight) |
|
virtual void | collectWeighted (double value, SimTime weight) |
|
virtual void | collectWeighted (SimTime value, SimTime weight) |
|
virtual void | record () |
|
virtual void | recordWithUnit (const char *unit) |
|
virtual void | recordAs (const char *name, const char *unit=nullptr) |
|
Public Member Functions inherited from cRandom |
| cRandom (cRNG *rng) |
|
| cRandom (const char *name=nullptr, cRNG *rng=nullptr) |
|
virtual | ~cRandom () |
|
virtual void | setRNG (cRNG *rng) |
|
cRNG * | getRNG () const |
|
| cOwnedObject () |
|
| cOwnedObject (const char *name, bool namepooling=true) |
|
| cOwnedObject (const cOwnedObject &obj) |
|
virtual | ~cOwnedObject () |
|
cOwnedObject & | operator= (const cOwnedObject &o) |
|
virtual cObject * | getOwner () const override |
|
virtual bool | isOwnedObject () const override |
|
| cNamedObject () |
|
| cNamedObject (const char *name, bool namepooling=true) |
|
| cNamedObject (const cNamedObject &obj) |
|
virtual | ~cNamedObject () |
|
cNamedObject & | operator= (const cNamedObject &o) |
|
virtual void | setName (const char *s) |
|
virtual const char * | getName () const override |
|
virtual void | setNamePooling (bool b) |
|
virtual bool | getNamePooling () |
|
| cObject () |
|
| cObject (const cObject &other)=default |
|
virtual | ~cObject () |
|
virtual const char * | getClassName () const |
|
bool | isName (const char *s) const |
|
virtual const char * | getFullName () const |
|
virtual std::string | getFullPath () const |
|
virtual std::string | getClassAndFullName () const |
|
virtual std::string | getClassAndFullPath () const |
|
const cObject * | getThisPtr () const |
|
virtual std::ostream & | printOn (std::ostream &os) const |
|
virtual bool | isSoftOwner () const |
|
virtual void | forEachChild (cVisitor *v) |
|
cObject * | findObject (const char *name, bool deep=true) |
|
virtual cClassDescriptor * | getDescriptor () const |
|
void | copyNotSupported () const |
|