Matlab 密度点范围

Matlab 密度点范围,matlab,range,histogram,kernel-density,Matlab,Range,Histogram,Kernel Density,我在MATLAB中使用这种形式的密度函数 [f,xi]=ksdensity(x) 文献中记载“F是密度值的矢量,在席点上评价…密度在100个等距点上进行评价,覆盖X的数据范围。” 现在,我的席值比X的数据要大得多。为什么会这样 根据我的数据 >> min(x) ans = -2.2588 >> min(xi) ans = -6.8010 >> max(x) ans = 6.5326 >> max(xi) ans

我在MATLAB中使用这种形式的密度函数

[f,xi]=ksdensity(x)

文献中记载“F是密度值的矢量,在席点上评价…密度在100个等距点上进行评价,覆盖X的数据范围。”

<>现在,我的席值比X的数据要大得多。为什么会这样

根据我的数据

>> min(x)

ans =

   -2.2588

>> min(xi)

ans =

   -6.8010
>> max(x)

ans =

    6.5326

>> max(xi)

ans =

   11.0748
<>我知道我自己可以指定一个XI范围,但是为什么默认情况下,席的最小值和最大值之间不相等?
当直方图中的箱子仅覆盖x的范围时,很难比较直方图估计器和核估计器,而ksdensity给出的测试点超过了这个范围。

ksdensity
使用高斯核对直方图进行平滑处理。如图所示,检查脉冲响应的输出:

[f,xi] = ksdensity(0);
plot(xi,f)


高斯分布的宽度是1,这意味着在数据的两边加上大约3(这会使它看起来像是在严格的正直方图中有负值)。因此,如果您的数据仅跨越一个小范围,则需要在
ksdensity

ksdensity
中缩小内核宽度,使用高斯内核对直方图进行平滑处理。如图所示,检查脉冲响应的输出:

[f,xi] = ksdensity(0);
plot(xi,f)

高斯分布的宽度是1,这意味着在数据的两边加上大约3(这会使它看起来像是在严格的正直方图中有负值)。因此,如果您的数据范围很小,则需要在
ksdensity
中缩小内核宽度