搜索
写经验 领红包

excel数据离散化处理(数据离散化处理方法)

Excel数据分析——数据离散化

excel数据离散化处理(数据离散化处理方法)

首先解释下什么叫离散化

一般来说,数据分析过程中会用到的数据大概可以分成两类,连续的,或者离散的

这两类有什么区别呢?一般来说,连续数据指的是取值范围内可以是任意一个数值,包括后面有小数点也OK的那种数据,而离散数据一般是用来表示分类或次序,任意两个取值间不方便再随便插数值进去的序列,比如性别男或女(第三性别的请单独列为一类,别强行插队)

离散化,指的就是原本是连续的数据,但现在我们想按照分类的方式来计算,所以要把它按一定规则分组来表示

举个例子,比如我们有下面这样一组数据,共175个数,取值比较随机而且基本都带小数点:

excel数据离散化处理(数据离散化处理方法)

excel数据离散化处理(数据离散化处理方法)

额,头尾两截取得不太凑巧,还是列一下数据大致特征好了:

excel数据离散化处理(数据离散化处理方法)

可以看到,这是一组分布在-289到122之间的数据,如果我们要把它离散化成几个组,那该怎么分呢?

1) 比较简单的一种方式是等宽离散化,意思就是每个组的数据范围都分成一样大,在这里我们假设分成10个组,那么每组的宽度就是:

(122-(-289))/10=41.1

分组后的结果如下:

excel数据离散化处理(数据离散化处理方法)

画成直方图的分布情况:

excel数据离散化处理(数据离散化处理方法)

这种分组方式虽然方便,但是缺点也很明显,那就是当数据的分布不太均匀的时候,有的分组中包含的数据只有一两个,甚至再差点的情况可能会没有数据,这样的话就会有好些分组都没有意义,也没法做后续的分析,所以要考虑下用另一种方式

2) 等深离散化:这个方式分组出来的结果宽度是不齐的,但是基本会保证每组包含差不多数量的数据

假设还是分10个组,175个数据相当于每组应该包含175/10约18个数据,这里为了操作方便,我用了Excel数据分析工具里的排序和占比(不确定翻译的准不,不准的话请看图)

excel数据离散化处理(数据离散化处理方法)

excel数据离散化处理(数据离散化处理方法)

输出结果如下:

excel数据离散化处理(数据离散化处理方法)

按照我们需要的每18个一组,分出来大概是这样:

excel数据离散化处理(数据离散化处理方法)

画个直方图再看下:

excel数据离散化处理(数据离散化处理方法)

嗯,这个分法看起来勉强可以,但好像还是有点别扭,要不,咱再改改?

3) 人工调整分组:根据上面等深分组的情况可以看到,其实除了两端数据较少导致组宽度明显偏大,其实大多数组宽度还算是比较均匀的,基本在15-20左右,排除两头的异常后,中间组别3到9的宽度平均在19.45,所以这里我尝试改成以下分法:

excel数据离散化处理(数据离散化处理方法)

按人工调整的结果再画一下直方图看看效果:

excel数据离散化处理(数据离散化处理方法)

组6 和组7包含的数据个数少了些,咱再合并一下吧

最终出来的结果如下:

excel数据离散化处理(数据离散化处理方法)

excel数据离散化处理(数据离散化处理方法)

这样看着还行不?

---------------------------------End------------------------------

温馨提示:通过以上关于Excel数据分析——数据离散化内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。