大数据初步分析之描述性统计量-R语言

原创
2017/05/13 22:15
阅读数 950

      描述性统计量,在不浏览全部数据的情况下,获得数据集中的全距、极值以及分位数信息,同时得到数据大致分布以及数据离散和偏离程度等,这些信息对我们处理海量数据集的抽样问题,以及建模的指标选取问题都有巨大的作用,就算是我们机器学习的模型运行后的结果数据,都可以用这些描述信息来获得我们想要的信息,R获得描述性统计量有多种方法供我们使用,首先和大家聊一下那些描述性统计量:

       缺失值,为啥先说缺失值呢,个人理解和一些接触经验,一方面,大数据时代嘛,所有信息都要有,每个人信息又不同,那必然导致不同的就有确失的,信息越多,缺失值越多;另一方面,做模型所需的指标和信息都会汇成一张宽表,这就导致了如果处理不好缺失值就会丢失很多信息,当年猴哥就做过一件很暴力的事情,直接将含有缺失值的样本全部干掉,结果就是95%的信息都被我干掉了,最后当然是被客户屌了;这里大致说一下我对缺失值的处理,一种是通过缺失值可以定位重要样本,比如关键指标大部分样本都是缺失的,那么没有缺失的最好单独拿出来处理;另一种是补缺,例如数值型了,缺失值一般可以补0,当然不是所有的都可以补,有时候缺失代表的是一个不同的未知的种类或者没有这个属性;最后一种是当做一个种类或者一个样本范围外的值来处理。所以找缺失值是比较重要的,当年我找缺失值用过ifnull(这里请加一个悲伤的表情),现在可没那么傻了。

       均值、中位数、众数,这三个一起说,因为都是代表样本空间中间的部分;均值不说了,说实话不爱用,对数据分布结构要求有点高,不然没啥用;中位数还是有点用的,数据排序后最中间的那一个,数据分布有偏斜的情况下中位数还是可以的;众数就是频度最高的那个数,在数据分布形态为双峰或者多峰的分类变量里面比较好用。


       分位数,包括四分位和百分位,这个数据是我比较喜欢的了,为啥喜欢,比较靠谱,尤其是全距(最大值与最小值的差)比较大而分位距(俩个分位数相减,例如四分位距是上四分位数减去下四分位数)比较小的时候,类似正态分布什么的,这个时候我们以5%分位数去头去尾,数据瞬间好看(这种情况下求得的均值我们叫截尾均值)针对聚类结果,我一般都用这种方法来观察结果的特征。

       方差、标准差,这俩个是一个意思,表示了数据的波动大小,也就是数据集的变异性,均值分位数等等都只能代表个体,不确定因素比较多,很多时候不能说明问题或者样本特征,但是加上标准差或者方差,就能确定数据到底给不给力了。

       峰度,峰度代表了数据的集中程度,直观上看就是样本越集中在众数附件,峰度越高,其实就是画出来的分布图顶部越尖。

       偏度,表示了数据分布的偏斜程度,画个分布图,比较好比较,中位数比均值小,就是靠右偏斜,中位数比均值大,就是向左偏斜,其实就是主要看均值是比大部分值小还是大;峰度和偏度都是站在全局的角度看数据分布的。

       绝对中位差,即中位数的绝对偏差,算法样本与中位数差的绝对值产生的结果后新的中位数,这个用的比较少,我也不是特了解在什么情况下用,据说是用来估算标准差的。

       在不额外安装工具包的情况下,base包提供了很多基本方法,包括:
       summary:获得极值,均值,四分分位数,相当于获得了箱线图的信息,箱线图是我最喜欢的一幅图,基本针对每一个主    指标我都喜欢画一个箱线图。
        sd:标准差;
        quantile(x,probs):任意分位数等等;

       当然,基本的东西肯定不能让我们用的很爽,所以你可以自己集成和衍生这些函数,来获得更爽的体验,不过有一些工具包已经提供了衍生的方法来提升我们的使用体验,比如Hmisc、 pastecs和psych、misc。
       Hmisc包,这个包里面提供了一个函数:describe()可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值;

       pastecs包中有一个名为stat.desc()的函数,它可以计算种类繁多的描述性统计量。通过调参可以获得其中所有值,空值,缺失值的数量,以及最小值,最大值,值域,还有总和,中位数,平均数,平均数的标准误,平均数置信度为95%的置信区间,方差,标准差,变异系数,偏度和峰度,是不是感觉很爽;

       psych包也拥有一个名为describe()的函数,它可以计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度等信息

       misc包提供了一个summarySE()的函数,提供了汇总、平均数、标准差、平均值的标准差和平均数置信度为95%的置信区间

       介绍这么多方法主要是在客户那里,有一些环境是封闭的,意思就是有啥你用啥,没啥可挑的,你和客户说要导个包进来,轻轻松松耽误你一天时间,而且可能还不能导,所以就只能看看有哪些可用的,实在没有就只能自己写了。

 

展开阅读全文
打赏
1
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部