This package implements adaptive kernel density estimation algorithms for 1-dimensional signals developed by Hideaki Shimazaki. This enables the generation of smoothed histograms that preserve important density features at multiple scales, as opposed to naive single-bandwidth kernel density methods that can either over or under smooth density estimates. These methods are described in Shimazaki's paper:
H. Shimazaki and S. Shinomoto, "Kernel Bandwidth Optimization in Spike Rate Estimation," in Journal of Computational Neuroscience 29(1-2): 171-182, 2010 http://dx.doi.org/10.1007/s10827-009-0180-4.
License: All software in this package is licensed under the Apache License 2.0. See LICENSE.txt for more details.
Authors: Hideaki Shimazaki (shimazaki.hideaki.8x@kyoto-u.jp) shimazaki on Github Lee A.D. Cooper (cooperle@gmail.com) cooperlab on GitHub Subhasis Ray (ray.subhasis@gmail.com)
Three methods are implemented in this package:
-
sshist - can be used to determine the optimal number of histogram bins for independent identically distributed samples from an underlying one-dimensional distribution. The principal here is to minimize the L2 norm of the difference between the histogram and the underlying distribution.
-
sskernel - implements kernel density estimation with a single globally-optimized bandwidth.
-
ssvkernel - implements kernel density estimation with a locally variable bandwidth.
Requirements: Python >= 3.9 NumPy >= 1.24
Tested on Python 3.9 (NumPy 1.26) and Python 3.11 (NumPy 2.4).
Installation: pip install adaptivekde
Or from source: pip install -e .
Running tests: python -m pytest tests/ -v python tests/run_tests.py # standalone summary with golden checks python tests/run_benchmarks.py # benchmark timing (appends to tests/benchmarks.json)
Release files for adaptivekde 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adaptivekde-1.2.0.tar.gz | 13.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adaptivekde-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.4 kB
Release files / adaptivekde-1.2.0.tar.gz
| Download URL | adaptivekde-1.2.0.tar.gz |
|---|---|
| Size | 13.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f474cb6c1d60d839f7889180da8aa2f0036cf0b37fc211d578aaee08757e331
|
|
BLAKE2b-256 checksum How to use checksums |
1e898f98400e5edc69ab0367992538bcde1e5024d129bc9ce98648abbe624bbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.21
|
Release files / adaptivekde-1.2.0-py3-none-any.whl
| Download URL | adaptivekde-1.2.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48f10808e9d82d6a4fe690a6254aa5234d2b7cedfb273b5d08f5152ad3da7705
|
|
BLAKE2b-256 checksum How to use checksums |
40b4dfb27a3678027fcbd22a41b4d1ad28a38840cfea75075cf189c13b8b475a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.21
|