绘制直方图时自适应区间数量

来源:互联网 发布:厦门公安局网络公章 编辑:程序博客网 时间:2024/05/21 01:57

确定区间的总范围

区间是[0,max]还是[min,max]?假如数据的min和max比较接近,且之间的数据量比较多,那么我们显然是更想关注这个区间内数据分布,那么[0,min]之间的数据不仅没有用处,而且会浪费图中的空间。

所以区间分布取[min,max]。


如何自适应区间的数量

之前绘制直方图,是调用现成的函数,但里面有项参数是输入区间数量。我们通常都是大概预测一下,之后输入一个初始值,待图出来后,看效果如何,在调整区间数量,重新绘图。

上述是我们通常绘制直方图的通用流程,那么如何将其以算法实现,以用到大量数据中?

实际上,我们重点解决初始区间数的选定效果如何的评判标准两个问题即可。效果指的是取的区间是否尽可能地将数据分布展现出来,不会出现大量数据集中在某一区间而其它区间没有数据的情况,即我们可以简单地定义指标数据区间均衡程度来作为效果评判指标。

那么初始区间数如何选定?首先根据上文,数据分布均衡程度肯定是一个指标,因为数据分布越不均衡,我们希望的区间也更多,数据分布越均衡(考虑平均分布的情况),此时区间取几个已经无所谓了,因为效果都一样。

那么还要考虑的因素有哪些?应该还有数据个数,比如随着数据量的增大,我们取的区间数稍微增大,效果肯定更好一些。还有个因素要考虑–max-min,比如0,2,2,0,0,0,0,0........这样的数据列,虽然数据非常多,但我们显然不能给定比较大的区间数,因为在此种情况下,区间直接取[0,1,2]显然更好。

还有一种特殊要考虑的情况是,假如数据全部是整数,比如0,1,4,此时希望区间直接取[0,1,2,3,4]即可,不再考虑上述的种种因素。

综上,流程图如下

绘制直方图时自适应区间数量

1 0
原创粉丝点击