![]() |
JKQTPlotter trunk/v5.0.0
an extensive Qt5+Qt6 Plotter framework (including a feature-richt plotter widget, a speed-optimized, but limited variant and a LaTeX equation renderer!), written fully in C/C++ and without external dependencies
|
Topics | |
| Kernels for 1-dimensional Histograms | |
Functions | |
| template<class InputIt> | |
| double | jkqtpstatEstimateKDEBandwidth (InputIt first, InputIt last) |
| estimates a bandwidth for a Kernel Density Estimator (KDE) of the given data first ... last | |
| template<class InputIt> | |
| double | jkqtpstatEvaluateKernelSum (double t, InputIt first, InputIt last, const std::function< double(double)> &kernel, double bandwidth) |
| evaluates the Kernel Density Estimator (KDE) at a given position | |
| template<class InputIt, class BinsInputIt, class OutputIt> | |
| void | jkqtpstatKDE1D (InputIt first, InputIt last, BinsInputIt binsFirst, BinsInputIt binsLast, OutputIt KDEXOut, OutputIt KDEYOut, const std::function< double(double)> &kernel=std::function< double(double)>(&jkqtpstatKernel1DGaussian), double bandwidth=1.0, bool cummulative=false) |
| calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined the range binsFirst ... binsLast | |
| template<class InputIt, class OutputIt> | |
| void | jkqtpstatKDE1D (InputIt first, InputIt last, double binXLeft, double binXDelta, double binXRight, OutputIt KDEXOut, OutputIt KDEYOut, const std::function< double(double)> &kernel=std::function< double(double)>(&jkqtpstatKernel1DGaussian), double bandwidth=1.0, bool cummulative=false) |
| calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, evaluation positions are given by the range binXLeft ... binXRight (in steps of binxDelta ) | |
| template<class InputIt, class OutputIt> | |
| void | jkqtpstatKDE1DAutoranged (InputIt first, InputIt last, OutputIt KDEXOut, OutputIt KDEYOut, double binWidth, const std::function< double(double)> &kernel=std::function< double(double)>(&jkqtpstatKernel1DGaussian), double bandwidth=1.0, bool cummulative=false) |
| calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined by their number | |
| template<class InputIt, class OutputIt> | |
| void | jkqtpstatKDE1DAutoranged (InputIt first, InputIt last, OutputIt KDEXOut, OutputIt KDEYOut, int Nout=100, const std::function< double(double)> &kernel=std::function< double(double)>(&jkqtpstatKernel1DGaussian), double bandwidth=1.0, bool cummulative=false) |
| calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined by their number | |
|
inline |
estimates a bandwidth for a Kernel Density Estimator (KDE) of the given data first ... last
evaluates
![\[ h = \left(\frac{4\hat{\sigma}^5}{3n}\right)^{\frac{1}{5}} \approx 1.06 \hat{\sigma} n^{-1/5} \]](form_127.png)
| InputIt | standard iterator type of first and last. |
| first | iterator pointing to the first item in the dataset to use |
| last | iterator pointing behind the last item in the dataset to use |
|
inline |
evaluates the Kernel Density Estimator (KDE) at a given position
evaluates
![\[ \tilde{f}(t):=\frac{1}{N\cdot\text{bandwidth}}\cdot\sum\limits_{i=0}^{N-1}K\left(\frac{t-x_i}{\text{bandwidth}}\right) \]](form_128.png)
| InputIt | standard iterator type of first and last. |
| t | where to evaluate the kernel sum |
| first | iterator pointing to the first item in the dataset to use |
| last | iterator pointing behind the last item in the dataset to use |
| kernel | the kernel function to use (e.g. jkqtpstatKernel1DGaussian() ) |
| bandwidth | bandwidth used for the KDE |
|
inline |
calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined the range binsFirst ... binsLast
| InputIt | standard iterator type of first and last. |
| BinsInputIt | standard iterator type of binsFirst and binsLast. |
| OutputIt | standard output iterator type used for the outliers output KDEXOut and KDEYOut, use e.g. std::back_inserter |
| first | iterator pointing to the first item in the dataset to use | |
| last | iterator pointing behind the last item in the dataset to use | |
| binsFirst | iterator pointing to the first item in the set of KDE bins | |
| binsLast | iterator pointing behind the last item in the set of KDE bins | |
| [out] | KDEXOut | output iterator that receives x-positions of the KDE bins. Location of this value inside the bin range is defined by binXMode |
| [out] | KDEYOut | output iterator that receives counts/frequencies of the KDE bins |
| kernel | the kernel function to use (e.g. jkqtpstatKernel1DGaussian() ) | |
| bandwidth | bandwidth used for the KDE | |
| cummulative | if true, a cummulative KDE is calculated |
|
inline |
calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, evaluation positions are given by the range binXLeft ... binXRight (in steps of binxDelta )
| InputIt | standard iterator type of first and last. |
| OutputIt | standard output iterator type used for the outliers output KDEXOut and KDEYOut, use e.g. std::back_inserter |
| first | iterator pointing to the first item in the dataset to use | |
| last | iterator pointing behind the last item in the dataset to use | |
| binXLeft | first x-position, where to evaluate the KDE | |
| binXDelta | distance between two x-positions at which the KDE is evaluated | |
| binXRight | last x-position, where to evaluate the KDE | |
| [out] | KDEXOut | output iterator that receives x-positions of the KDE bins. Location of this value inside the bin range is defined by binXMode |
| [out] | KDEYOut | output iterator that receives counts/frequencies of the KDE bins |
| kernel | the kernel function to use (e.g. jkqtpstatKernel1DGaussian() ) | |
| bandwidth | bandwidth used for the KDE | |
| cummulative | if true, a cummulative KDE is calculated |
|
inline |
calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined by their number
| InputIt | standard iterator type of first and last. |
| OutputIt | standard output iterator type used for the outliers output KDEXOut and KDEYOut, use e.g. std::back_inserter |
| first | iterator pointing to the first item in the dataset to use | |
| last | iterator pointing behind the last item in the dataset to use | |
| kernel | the kernel function to use (e.g. jkqtpstatKernel1DGaussian() ) | |
| bandwidth | bandwidth used for the KDE | |
| [out] | KDEXOut | output iterator that receives x-positions of the KDE bins. Location of this value inside the bin range is defined by binXMode |
| [out] | KDEYOut | output iterator that receives counts/frequencies of the KDE bins |
| binWidth | width of the bins | |
| cummulative | if true, a cummulative KDE is calculated |
This function performs Kernel Density Estimation for a given data array. Then the resulting density is evaluated on a regular grid spanning [min(X)...max(X)] with bins datapoints in between.
|
inline |
calculate an autoranged 1-dimensional Kernel Density Estimation (KDE) from the given data range first ... last, bins defined by their number
| InputIt | standard iterator type of first and last. |
| OutputIt | standard output iterator type used for the outliers output KDEXOut and KDEYOut, use e.g. std::back_inserter |
| first | iterator pointing to the first item in the dataset to use | |
| last | iterator pointing behind the last item in the dataset to use | |
| kernel | the kernel function to use (e.g. jkqtpstatKernel1DGaussian() ) | |
| bandwidth | bandwidth used for the KDE | |
| [out] | KDEXOut | output iterator that receives x-positions of the KDE bins. Location of this value inside the bin range is defined by binXMode |
| [out] | KDEYOut | output iterator that receives counts/frequencies of the KDE bins |
| Nout | number datapoints in the output KDE | |
| cummulative | if true, a cummulative KDE is calculated |
This function performs Kernel Density Estimation for a given data array. Then the resulting density is evaluated on a regular grid spanning [min(X)...max(X)] with bins datapoints in between.