问题标签 [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.
python - 如何在 Python 中将一系列浮点值合并到直方图中?
我有一组浮点值(总是小于 0)。我想将其分类为直方图,即 直方图中的每个条形包含值范围 [0,0.150)
我拥有的数据如下所示:
下面的代码我希望得到看起来像的结果
我试图用我的这段代码来做这样的分箱。但这似乎不起作用。正确的方法是什么?
~
mysql - 获取直方图的数据
有没有办法在 MySQL 中指定 bin 大小?现在,我正在尝试以下 SQL 查询:
正在生成的数据已经足够好,但是行太多了。我需要的是一种将数据分组到预定义箱中的方法。我可以从脚本语言中做到这一点,但有没有办法直接在 SQL 中做到这一点?
例子:
我在找什么:
我想这不能以直接的方式实现,但对任何相关存储过程的引用也可以。
matlab - 我应该如何在 MATLAB 中执行这种分箱和平均?
我正在尝试执行分箱平均值。我正在使用代码:
最后一行去掉了单件维度。
所以可以看出我平均超过300分。它工作正常,除非我的总点数不等于 144*300 的倍数。
即使总点数不是 144*300 的倍数,是否有任何方法可以使这种分箱平均工作?
编辑:对不起,如果我的问题听起来令人困惑。澄清...
我有一个包含 43200 行和 27 列的文件。我通过一次装箱 300 行来平均,这意味着最后我留下了一个大小为144-by-27的矩阵。
我上面写的代码只有在我正好有 43200 行时才有效。在某些情况下,我有 43199、43194 等。当我的总行数是 300(bin 大小)的倍数时,reshape 函数起作用。当我的总行数不是 300 的倍数时,有没有办法使这种分箱平均工作?
python - 将点分配给 bin
将数值分类到一定范围内的好方法是什么?例如,假设我有一个值列表,我想按它们的范围将它们放入 N 个 bin 中。现在,我做这样的事情:
其中 min_index 返回最小值的索引。这个想法是,您可以通过查看它与哪个 bin 的差异最小来找到该点所在的 bin。
但我认为这有奇怪的边缘情况。我正在寻找的是一个很好的垃圾箱表示,理想情况下是半开半开的垃圾箱(这样就无法将一个点分配给两个垃圾箱),即
使用 numpy/scipy 在 Python 中执行此操作的好方法是什么?我在这里只关心合并整数值。
非常感谢您的帮助。
gnuplot - 使用gnuplot的直方图?
如果我的 .dat 文件已经有正确的分箱数据,我知道如何在 gnuplot 中创建直方图(只需使用“带框”)。有没有办法获取数字列表并让 gnuplot 根据用户提供的范围和 bin 大小提供直方图?
r - 对数值变量进行分箱
我有一个向量 X ,其中包含我想要分箱/离散化的正数。对于这个向量,我希望数字 [0, 10) 就像它们存在于向量中一样显示,但数字 [10,∞) 是 10+。
我正在使用:
但这对我来说感觉很糟糕。有谁知道更好的解决方案或不同的方法?
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
- 使用观察量和模型 (GAM) 量调用 PL/R 函数:/li>
- 定义
plr_corr_rmse
如下(其中o
和m
表示观察到的和建模的数据):/li>
o - m
是错的。我想通过计算mean
每 5 个数据点(最多有 110 个数据点)来合并两个数据集。例如:
然后将 RMSE 计算更正为:
如何c( mean(o[1:5]), mean(o[6:10]), ... )
在适当数量的 bin 中计算任意长度的向量(例如,5 可能不适合仅 67 次测量)?
我觉得hist
这里不适合,是吗?
尝试的解决方案 2
以下代码将解决该问题,但它会从列表末尾删除数据点(以使列表可被 5 整除)。该解决方案并不理想,因为数字“5”相当神奇。
还有哪些其他选择?
提前致谢。
r - 如何在 R 中绘制预先分箱的直方图
我有一个相当大的数据集的预分箱频率表。即,单列向量的 bin 和与这些 bin 关联的计数的单列向量。我希望 R 通过进一步分箱和对现有计数求和来绘制此数据的直方图。例如,如果在预分箱数据中我有类似 [(0.01, 5000), (0.02, 231), (0.03, 948)] 的东西,其中第一个数字是 bin,第二个是计数,我选择 0.04 作为新的 bin 宽度,我希望得到 [(0.04, 6179)]。在 R 中最快或最简单的方法是什么?
sorting - 在 MATLAB 中将项目分类到 bin 中
如果我有一组数据 Y 和一组以 X 为中心的 bin,我可以使用 HIST 命令找出每个 bin 中有多少 Y。
我想知道的是是否有一个内置函数可以告诉我每个 Y 进入哪个 bin,所以
这意味着 Y(I == 1) 将返回 bin 1 中的所有 Y 等。
我知道如何编写这个函数,所以我只是想知道 MATLAB 中是否已经有一个内置函数可以做到这一点。
python - numpy.digitize 返回值超出范围?
我正在使用以下代码将数组数字化为 16 个 bin:
我希望输出在 [1, 16] 范围内,因为有 16 个 bin。但是,返回数组中的值之一是 17。这如何解释?