各位达人,
我是一个程序员兼统计学爱好者。最近在做数据分析的时候查到了KDE方法。我做了一些尝试,得到了不错的密度曲线,但在进一步研究如何获得最优化的h(带宽)的时候碰到了问题。
我用的测试数据集就是Wikipedia上关于KDE的词条中的数据:-2.1,-1.3,-0.4,1.9,5.1,6.2。测试是在LibreOffice Calc中做的,整个过程只用了那个定义公式,即:

我先计算了一下整个数据集的标准差s=3.45,然后设置KDE的范围是min-4s到max+4s,即大约-15~20。
我用的核是Gaussian,即 exp(-0.5*u*u) / sqrt(2 * pi),其中u是(x - Xi)/ h。测试用的h就是文中说的1.5。
问题是,假如我将数据点的间隔设置为1,即-15,-14,...,做出来的所有的f值的加总是1,这应该是符合密度函数定义的,但是,假如我将间隔设置为0.1,即-15,-14.9,...,所有的f值加总变成了10!这貌似不符合密度函数的定义,即从-inf到+inf的积分为1?但从公式上看,这又是自然的,步长分得越细,加总的值应该越大!
请问我的理解错在哪里了?另外说明一下,因为我对这些原理很感兴趣,而且也没有时间学习一门专门的语言比如R或者Matlab,我打算用Pascal自己写程序来做KDE。麻烦各位专家就数学的理解来帮助我一下。
非常感谢!