You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
See also http://dylan-muir.com/articles/circular_kernel_estimation/
circ_ksdensity - Compute a kernel density estimate over a periodic domain
Usage: [vfEstimate] = circ_ksdensity(vfObservations, vfPDFSamples, <vfDomain, fSigma, vfWeights>)
This function calculates a kernel density estimate of an (optionally weighted) data sample, over a periodic domain.
'vfObservations' is a set of observations made over a periodic domain, optionally defined by 'vfDomain': [fMin fMax]. The default domain is [0..2*pi]. 'vfPDFSamples' defines the sample points over which to perform the kernel density estimate, over the same domain as 'vfObservations'.
Weighted estimations can be performed by providing the optional argument 'vfWeights', where each element in 'vfWeights' corresponds to the matching element in 'vfObservations'.
The kernel density estimate will be performed using a wrapped Gaussian kernel, with a width estimated as
(4/3)^0.2 * circ_std(vfObservations, vfWeights) *(length(vfObservations^-0.2)
The optional argument 'fSigma' can be provided to set the width of the kernel.
'vfEstimate' will be a vector with a (weighted) estimate of the underlying distribution, with an entry for each element of 'vfPDFSamples'. If no weighting is supplied, the estimate will be scaled such that it forms a PDF estimate over the supplied sample domain, taking into account sample bin widths. If a weight vector is supplied then the estimate will be scaled such that the sum over the domain attempts to match the sum of weights, taking into account sample bin widths.
Cite As
Dylan Muir (2026). Kernel density estimation for circular functions (https://se.mathworks.com/matlabcentral/fileexchange/44072-kernel-density-estimation-for-circular-functions), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: Circular Statistics Toolbox (Directional Statistics), Kernel smoothing density estimate for circular data
General Information
- Version 1.5.0.0 (4.12 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
| Version | Published | Release Notes | Action |
|---|---|---|---|
| 1.5.0.0 | Updated description
|
||
| 1.4.0.0 | Updated summary |
||
| 1.3.0.0 | Updated description |
||
| 1.2.0.0 | Updated scaling of density estimate. |
||
| 1.1.0.0 | Improved weighting of density estimate. |
||
| 1.0.0.0 |
