Python Scipy内核密度估计平滑问题

时间:2017-07-03 21:02:46

标签: python scipy kernel-density

很抱歉提出一个问题可能是一个非常明显的答案,但我对如何调整我可以顺利使用KDE的方式感到有些困惑。我的代码在python中看起来像这样:

kde = scipy.stats.gaussian_kde(c)
P_0 = kde(3)
P_c = kde(c)

其中c只是一列数字,我想与上面的内容进行整合(这对于我所遇到的问题不太重要)。关于如何在scipy中更改scott / silverman方法以允许稍微过度/不平滑,我有点困惑。

1 个答案:

答案 0 :(得分:1)

您似乎想要调整set_bandwidth参数。该链接包含简单的示例代码,我将其简化为最基本的元素:

kde = stats.gaussian_kde(c)
kde.set_bandwidth(bw_method=.3)
P = kde(c)

基本上,带宽是通过kde.set_bandwidth(bw_method=X)调用设置的,其中X通常是浮点数或其中一种方法silvermanscott。完整描述实际上表明了bw_method

  

可以是'scott','silverman',标量常量或可调用。如果是标量,则将直接用作kde.factor。如果是可调用的,则应该将gaussian_kde实例作为唯一参数并返回标量。