问题标签 [binning]

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 投票
3 回答
27387 浏览

python - 如何在 Python 中将一系列浮点值合并到直方图中?

我有一组浮点值(总是小于 0)。我想将其分类为直方图,即 直方图中的每个条形包含值范围 [0,0.150)

我拥有的数据如下所示:

下面的代码我希望得到看起来像的结果

我试图用我的这段代码来做这样的分箱。但这似乎不起作用。正确的方法是什么?

~

0 投票
10 回答
54647 浏览

mysql - 获取直方图的数据

有没有办法在 MySQL 中指定 bin 大小?现在,我正在尝试以下 SQL 查询:

正在生成的数据已经足够好,但是行太多了。我需要的是一种将数据分组到预定义箱中的方法。我可以从脚本语言中做到这一点,但有没有办法直接在 SQL 中做到这一点?

例子:

我在找什么:

我想这不能以直接的方式实现,但对任何相关存储过程的引用也可以。

0 投票
1 回答
6230 浏览

matlab - 我应该如何在 MATLAB 中执行这种分箱和平均?

我正在尝试执行分箱平均值。我正在使用代码:

最后一行去掉了单件维度。

所以可以看出我平均超过300分。它工作正常,除非我的总点数不等于 144*300 的倍数。

即使总点数不是 144*300 的倍数,是否有任何方法可以使这种分箱平均工作?

编辑:对不起,如果我的问题听起来令人困惑。澄清...

我有一个包含 43200 行和 27 列的文件。我通过一次装箱 300 行来平均,这意味着最后我留下了一个大小为144-by-27的矩阵。

我上面写的代码只有在我正好有 43200 行时才有效。在某些情况下,我有 43199、43194 等。当我的总行数是 300(bin 大小)的倍数时,reshape 函数起作用。当我的总行数不是 300 的倍数时,有没有办法使这种分箱平均工作?

0 投票
2 回答
32726 浏览

python - 将点分配给 bin

将数值分类到一定范围内的好方法是什么?例如,假设我有一个值列表,我想按它们的范围将它们放入 N 个 bin 中。现在,我做这样的事情:

其中 min_index 返回最小值的索引。这个想法是,您可以通过查看它与哪个 bin 的差异最小来找到该点所在的 bin。

但我认为这有奇怪的边缘情况。我正在寻找的是一个很好的垃圾箱表示,理想情况下是半开半开的垃圾箱(这样就无法将一个点分配给两个垃圾箱),即

使用 numpy/scipy 在 Python 中执行此操作的好方法是什么?我在这里只关心合并整数值。

非常感谢您的帮助。

0 投票
10 回答
233520 浏览

gnuplot - 使用gnuplot的直方图?

如果我的 .dat 文件已经有正确的分箱数据,我知道如何在 gnuplot 中创建直方图(只需使用“带框”)。有没有办法获取数字列表并让 gnuplot 根据用户提供的范围和 bin 大小提供直方图?

0 投票
3 回答
25642 浏览

r - 对数值变量进行分箱

我有一个向量 X ,其中包含我想要分箱/离散化的正数。对于这个向量,我希望数字 [0, 10) 就像它们存在于向量中一样显示,但数字 [10,∞) 是 10+。

我正在使用:

但这对我来说感觉很糟糕。有谁知道更好的解决方案或不同的方法?

0 投票
1 回答
1820 浏览

r - 使用 R 的分级 GAM 结果的均方根偏差

背景

PostgreSQL 数据库使用 PL/R 调用 R 函数。计算 Spearman 相关性的 R 调用如下所示:

同样在 R 中,对拟合的广义相加模型 (GAM) 进行了简单计算:

这里x代表从 1900 年到 2009 年的年份,y是该年的平均测量值(例如,最低温度)。

问题

拟合的趋势线(使用 GAM)相当准确,如下图所示:

问题是相关性(显示在左下角)不能准确地反映模型与数据的拟合程度。

可能的解决方案

提高相关精度的一种方法是对分箱数据使用均方根误差 (RMSE) 计算。

问题

问题 1。您将如何在 R 语言中对分箱数据执行 RMSE 计算以获得 GAM 与测量值的相关性(0 到 1 之间)?

问题 2。有没有更好的方法来找到 GAM 对数据的拟合精度,如果有,它是什么(例如,均方根偏差)?

尝试的解决方案 1

  1. 使用观察量和模型 (GAM) 量调用 PL/R 函数:/li>
  2. 定义plr_corr_rmse如下(其中om表示观察到的和建模的数据):/li>

o - m是错的。我想通过计算mean每 5 个数据点(最多有 110 个数据点)来合并两个数据集。例如:

然后将 RMSE 计算更正为:

如何c( mean(o[1:5]), mean(o[6:10]), ... )在适当数量的 bin 中计算任意长度的向量(例如,5 可能不适合仅 67 次测量)?

我觉得hist这里不适合,是吗?

尝试的解决方案 2

以下代码将解决该问题,但它会从列表末尾删除数据点(以使列表可被 5 整除)。该解决方案并不理想,因为数字“5”相当神奇。

还有哪些其他选择?

提前致谢。

0 投票
2 回答
3817 浏览

r - 如何在 R 中绘制预先分箱的直方图

我有一个相当大的数据集的预分箱频率表。即,单列向量的 bin 和与这些 bin 关联的计数的单列向量。我希望 R 通过进一步分箱和对现有计数求和来绘制此数据的直方图。例如,如果在预分箱数据中我有类似 [(0.01, 5000), (0.02, 231), (0.03, 948)] 的东西,其中第一个数字是 bin,第二个是计数,我选择 0.04 作为新的 bin 宽度,我希望得到 [(0.04, 6179)]。在 R 中最快或最简单的方法是什么?

0 投票
2 回答
13228 浏览

sorting - 在 MATLAB 中将项目分类到 bin 中

如果我有一组数据 Y 和一组以 X 为中心的 bin,我可以使用 HIST 命令找出每个 bin 中有多少 Y。

我想知道的是是否有一个内置函数可以告诉我每个 Y 进入哪个 bin,所以

这意味着 Y(I == 1) 将返回 bin 1 中的所有 Y 等。

我知道如何编写这个函数,所以我只是想知道 MATLAB 中是否已经有一个内置函数可以做到这一点。

0 投票
3 回答
4848 浏览

python - numpy.digitize 返回值超出范围?

我正在使用以下代码将数组数字化为 16 个 bin:

我希望输出在 [1, 16] 范围内,因为有 16 个 bin。但是,返回数组中的值之一是 17。这如何解释?