The Sheather-Jones method for selecting an appropriate bandwidth for kernel density estimation generally produces better results than simpler methods such as Silverman's rule of thumb and Scott's variant of this rule of thumb, both of which give bandwidths which are generally too large. I use the Sheather-Jones method frequently in R but I'm looking for an implementation in Java. Is anyone aware of such an implementation? I have been unable to find one online.
The paper describing the method is here.