问题标签 [kernel-density]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
761 浏览

r - 使用 sm.density.compare 时查找最可能分布的函数

我正在使用“sm”包来研究我的数据集中的分布。对于那些好奇的人,我将招聘实践视为年龄的函数,并试图确定群体的年龄分布是否会因性别或教育等属性而发生变化。

SM 包对我来说是一种新体验,我试图找到一个函数来描述最有可能生成数据集的密度函数,前提是零假设为真(两个密度图都是由从同一分布中抽取的随机样本生成的)。我没有发布图像所需的声誉,但我在 Imgur 上发现了这个也是用 sm.density.compare 生成的。

在此处输入图像描述

我们在图像中看到的是两个核密度图和一个青色区域,我理解它是包含真实密度图的 95% 可能性的参考带,前提是两条线是由来自相同分布的数据生成的。

我想找出一种方法来计算一个向量,该向量通过 x 轴上每个值的参考带内最可能的点。根据规则,我当然愿意接受关于我疯了或应该使用另一个包的建议。

0 投票
1 回答
6682 浏览

r - 用 r 在双峰分布中找到局部最小值

我的数据是经过预处理的图像数据,我想分开两个类。理论上(并希望在实践中)最佳阈值是双峰分布数据中两个峰值之间的局部最小值。

我的测试数据是:http ://www.file-upload.net/download-9365389/data.txt.html

我试图关注这个线程:我绘制了直方图并计算了核密度函数:

但如何继续?

我将计算密度函数的一阶和二阶导数以找到局部极值,特别是局部最小值。但是我不知道如何在 R 中做到这一点,而且density(test)似乎不是一个正常的功能。因此请帮助我:如何计算导数并找到密度函数中两个峰之间的凹坑的局部最小值density(test)

0 投票
1 回答
40097 浏览

python - 如何使用 matplotlib 在 python 中绘制 3D 密度图

我有一个 (x,y,z) 蛋白质位置的大型数据集,并且想将高占用率区域绘制为热图。理想情况下,输出应该类似于下面的体积可视化,但我不确定如何使用 matplotlib 实现这一点。

http://i.stack.imgur.com/nsNEL.jpg

我最初的想法是将我的位置显示为 3D 散点图并通过 KDE 为它们的密度着色。我用测试数据将其编码如下:

这很好用!但是,我的真实数据包含数千个数据点,计算 kde 和散点图变得非常缓慢。

我的真实数据的一个小样本:

http://i.stack.imgur.com/BFT5V.png

我的研究表明,更好的选择是在网格上评估高斯 kde。我只是不确定如何在 3D 中做到这一点:

0 投票
1 回答
1350 浏览

scikit-learn - 为什么 scikit 学习返回对数密度?

sklearn.neighbors.kde.KernelDensity 的函数 score_samples返回密度。与返回它自身的密度相比,它有什么优势?

我知道对数对于介于 0 和 1 之间的概率是有意义的(参见这个问题:为什么在 GaussianNB [scikit-learn] 中使用对数概率估计?)但是为什么你对介于 0 和 1 之间的密度做同样的事情无穷?

有没有办法直接估计对数密度,还是只是从估计的密度中取对数?

0 投票
0 回答
457 浏览

r - 在 ggplot2 中组合密度图

我正在尝试改进包含多个密度图的图形。我像这样生成图形:

我不想单独可视化每个密度,而是想将它们组合成一个“平均”密度,并指出每个点的密度有多一致(就像stat_smooth()函数产生的置信界限一样)。

我实际上尝试过使用stat_smooth(),但收到此错误:

有没有办法stat_smooth()在这种情况下使用?

谢谢!

0 投票
1 回答
3731 浏览

python - gaussian_filter 和 gaussian_kde 中 sigma 和带宽的关系

如果适当地选择了每个函数中的和参数,则在给定的数据集上应用函数scipy.ndimage.filters.gaussian_filterscipy.stats.gaussian_kde可以得到非常相似的结果。sigmabw_method

例如,我可以通过sigma=2.gaussian_filter(左图)和(右图)bw_method=sigma/30.中设置来获得以下图的随机二维点分布gaussian_kde

在此处输入图像描述

(MWE在问题的底部)

这些参数之间显然存在关系,因为一个对数据应用高斯滤波器,另一个应用高斯核密度估计器。

每个参数的定义是:

sigma : 标量或标量序列 高斯核的标准偏差。每个轴的高斯滤波器的标准偏差作为一个序列或单个数字给出,在这种情况下,它对所有轴都是相等的。

鉴于高斯算子的定义,我可以理解这一点:

在此处输入图像描述

bw_method:str,标量或可调用,可选用于计算估计器带宽的方法。这可以是“scott”、“silverman”、标量常量或可调用对象。如果是标量,这将直接用作 kde.factor。如果是可调用的,它应该将 gaussian_kde 实例作为唯一参数并返回一个标量。如果无(默认),则使用“斯科特”。有关详细信息,请参阅注释。

在这种情况下,我们假设 for 的输入bw_method是一个标量(浮点数),以便与sigma. 这是我迷路的地方,因为我在任何地方都找不到有关此kde.factor参数的信息。

如果可能的话,我想知道的是连接这两个参数(即:以及何时使用浮点数)的精确数学方程。sigmabw_method


MWE:

0 投票
1 回答
6446 浏览

statistics - Graphing two cumulative distributions in Stata

I'm trying this code (just below), Stata seems to read it -- it does not show any errors --, but it does not generate any variables. Here it is:

cumul price if dummy==1, gen(cprice1)

cumul price if dummy==0, gen (cprice2)

line cprice1 cprice2 price

Could you guys help me? I could graph two kernel density distributions with a condition of "if" for the dummy, with a similar code, in which I stored the results for latter graphing them -- following the help files in Stata. But I could not do this with the cumulative distributions.

0 投票
1 回答
246 浏览

r - 从核密度生成随机样本时的不同结果

最后一个直方图是错误的。我以前用过density,我发现它对于更复杂的分布是准确的。为什么在这种情况下它表现如此糟糕?谢谢

0 投票
1 回答
1583 浏览

python - Python - 获取最密集点的坐标

我正在使用 numpy 和 scipy 从 3D 坐标信息生成密度图。我可以通过使用以下代码生成 KDE 来成功生成数据的密度图

但是我如何使用这些信息来找到与密度最大的 3D 点相关联的坐标呢?

我试过了

它返回一个值,然后我可以找到 with 的索引

但后来我打了一个空白,因为我似乎无法使用该索引从 xyz 获取相关坐标,我不确定这是否是正确的方法。

0 投票
1 回答
2943 浏览

r - ggplot2:在两个密度图上排列 x 限制

我有一系列密度估计值,我想在 ggplot2 中进行比较。到目前为止,我不依附于我选择的任何细节(例如,如果这些都在一个情节上,我是否应该使用 facets、grid.arrange 等)我愿意接受建议:

第一次尝试:

在此处输入图像描述

很好,但我希望轴相同,以便它们具有可比性。

我尝试使用设置限制,coord_cartesian(xlim=c(0,5))但出现错误,例如

我也尝试在中设置限制,scale_x_log10(limits=c(0,5)但我得到了

有没有更好的方法来排列这些图表,以便它们更容易比较?我愿意接受任何解决方案。

我的数据是这种形式: