This page was created by Hideaki Shimazaki in collaboration with Shigeru Shinomoto based on the theory published in Journal of Computational Neuroscience 2010.
This web application calculates the optimal kernel bandwidth for the data you post.
This web application uses the Canvas technology.
Web Application for Kernel Bandwidth Optimization © 2009 Hideaki Shimazaki
I. Let be your data. Let the kernel with bandwidth be .II. Compute a formula,
III. Find that minimizes .
The present algorithm speeds up the computation by neglecting the unnecessary parts outside the range of ± 5 w of the Gaussian kernel in the double summation II (see Shinomoto S., Estimating the firing rate. in Analysis of Parallel Spike Train Data. eds. S. Gruen and S. Rotter, (Springer, New York, 2010)).
Shimazaki H. and Shinomoto S., Kernel Bandwidth Optimization in Spike Rate Estimation. Journal of Computational Neuroscience (2010) 29:171-182. [PDF, LINK]
Fixed kernel density estimation method: sskernel.m
Function `sskernel' returns an optimized kernel density estimate using a Gauss kernel function.
>> x = 0.5-0.5*log(rand(1,1e3)); t = linspace(0,3,1000);
>> [y,t,optw] = sskernel(x,t);
This example produces a vector of kernel density estimates, y, at points specified in a vector t, using an optimized bandwidth, optw (a standard deviation of a normal density function).
We have also developed a locally adaptive kernel density estimation method.
Matlab code: ssvkernel.m
Function `ssvkernel' returns an optimized kernel density estimate using a Gauss kernel function with bandwidths locally adapted to data.
>> x = 0.5-0.5*log(rand(1,1e3)); t = linspace(0,3,500);
>> [y,t,optw] = ssvkernel(x,t);
This example produces a vector of kernel density estimates, y, at points specified in a vector t, using locally adaptive bandwidths, optw.
If you have any questions, or have suggestions for improving the programs, please contact Shigeru Shinomoto, who is conducting these studies.