Scipy: Comparison of different kernel density estimation method?
<p>In python, there are several way of doing kernel density estimation, I want to know the diffenreces between them, and make a good choice.</p>

<p>They are:</p>

<ol>
<li><p>scipy.stats.gaussian_kde, 
<a href="http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html" rel="nofollow">http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html</a></p></li>
<li><p>sklearn.neighbors.KernelDensity, <a href="http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html#sklearn.neighbors.KernelDensity" rel="nofollow">http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html#sklearn.neighbors.KernelDensity</a></p></li>
<li><p>statsmodel
<a href="http://statsmodels.sourceforge.net/stable/nonparametric.html#kernel-density-estimation" rel="nofollow">http://statsmodels.sourceforge.net/stable/nonparametric.html#kernel-density-estimation</a></p></li>
</ol>

<p>I think we can compare with <code>1d, 2d</code>, <code>bandwidth selection</code>, <code>Implementation</code> and <code>performance</code></p>

<p>I only have experience with <code>sklearn.neighbors.KernelDensity</code>. Here is what I know: </p>

<p>The speed is generally fast, and can be performed over multi-dimention, but does not have helper in deciding the bandwidth. </p>

<p>I looked over <code>scipy.kde</code>, it seems like have a bandwidth selection method. </p>