added scipy.stats.gaussian_kde for comparison, still not satisfactory, need adaptive bandwidth