网站数据分析的前提

  数据质量(Data Quality)是数据分析结论有效性和准确性的基础也是最重要的前提和保障。数据质量保证(Data Quality Assurance)是数据仓库架构中的重要环节,也是ETL的重要组成部分。

  我们通常通过数据清洗(Data cleansing)来过滤脏数据,保证底层数据的有效性和准确性,数据清洗一般是数据进入数据仓库的前置环节,一般来说数据一旦进入数据仓库,那么必须保证这些数据都是有效的,上层的统计聚合都会以这批数据作为基础数据集,上层不会再去做任何的校验和过滤,同时使用稳定的底层基础数据集也是为了保证所有上层的汇总和多维聚合的结果是严格一致的。但当前我们在构建数据仓库的时候一般不会把所有的数据清洗步骤放在入库之前,一般会把部分数据清洗的工作放在入库以后来执行,主要由于数据仓库对数据处理方面有自身的优势,部分的清洗工作在仓库中进行会更加的简单高效,而且只要数据清洗发生在数据的统计和聚合之前,我们仍然可以保证使用的是清洗之后保留在数据仓库的最终“干净”的基础数据。

  前段时间刚好跟同事讨论数据质量保证的问题,之前做数据仓库相关工作的时候也接触过相关的内容,所以这里准备系统地整理一下。之前构建数据仓库基于Oracle,所以选择的是Oracle提供的数据仓库构建工具——OWB(Oracle Warehouse Builder),里面提供了比较完整的保证数据质量的操作流程,主要包括三块:

  1.Data Profiling

  2.Data Auditing

  3.Data Correcting

  Data Profiling

  Data Profiling,其实目前还没找到非常恰当的翻译,Oracle里面用的是“数据概要分析”,但其实“Profiling”这个词用概要分析无法体现它的意境,看过美剧Criminal Minds(犯罪心理)的同学应该都知道FBI的犯罪行为分析小组(BAU)每集都会对罪犯做一个Criminal Profiling,以分析罪犯的身份背景、行为模式、心理状态等,所以Profiling更多的是一个剖析的过程。维基百科对Data Profiling的解释如下:

  Data profiling is the process of examining the data available in an existing data source and collecting statistics and information about that data.

  这里我们看到Data Profiling需要一个收集统计信息的过程(这也是犯罪心理中Garcia干的活),那么如何让获取数据的统计信息呢?

  熟悉数据库的同学应该知道数据库会对每张表做Analyze,一方面是为了让优化器可以选择合适的执行计划,另一方面对于一些查询可以直接使用分析得到的统计信息返回结果,比如COUNT(*)。这个其实就是简单的Data Profiling,Oracle数据仓库构建工具OWB中提供的Data Profiling的统计信息更加全面,针对建立Data Profile的表中的每个字段都有完整的统计信息,包括:

  记录数、最大值、最小值、最大长度、最小长度、唯一值个数、NULL值个数、平均数和中位数,另外OWB还提供了six-sigma值,取值1-6,越高数据质量越好,当six-sigma的值为7的时候可以认为数据质量近乎是完美的。同时针对字段的唯一值,统计信息中给出了每个唯一值的分布频率,这个对发现一些异常数据是非常有用的,后面会详细介绍。

  看到上面这些Data Profile的统计信息,我们可能会联想到统计学上面的统计描述,统计学上会使用一些统计量来描述一些数据集或者样本集的特征,如果我们没有类似OWB的这类ETL工具,我们同样可以借助统计学的这些知识来对数据进行简单的Profiling,这里不得不提一个非常实用的图表工具——箱形图(Box plot),也叫箱线图、盒状图。我们可以尝试用箱形图来表现数据的分布特征:

  箱线图有很多种表现形式,上面图中的是比较常见的一种箱线图。一般中间矩形箱的上下两边分别为数据集的上四分位数(75%,Q3)和下四分位数(25%,Q1),中间的横线代表数据集的中位数(50%,Media,Q2),同时有些箱线图会用“+”来表示数据集的均值。箱形的上下分别延伸出两条线,这两条线的末端(也叫“触须”)一般是距离箱形1.5个IQR(Q3-Q1,即箱形的长度),所以上端的触须应该是Q3+1.5IQR,下端的触须是Q1-1.5IQR;如果数据集的最小值大于Q1-1.5IQR,我们就会使用最小值替换Q1-1.5IQR作为下方延伸线末端,同样如果最大值小于Q3+1.5IQR,用最大值作为上方延伸线的末端,如果最大或者最小值超出了Q1-1.5IQR到Q3+1.5IQR这个范围,我们将这些超出的数据称为离群点(Outlier),在图中打印出来,即图中在上方触须之外的点。另外,有时候我们也会使用基于数据集的标准差σ,选择上下3σ的范围,或者使用置信水平为95%的置信区间来确定上下边界的末端值。

  其实箱线图没有展现数据集的全貌,但通过对数据集几个关键统计量的图形化表现,可以让我们看清数据的整体分布和离散情况。

  既然我们通过Data profiling已经可以得到如上的数据统计信息,那么如何利用这些统计信息来审核数据的质量,发现数据可能存在的异常和问题,并对数据进行有效的修正,或者清洗,进而得到“干净”的数据,这些内容就放到下一篇文章吧。

时间: 2024-12-25 05:36:29

网站数据分析的前提的相关文章

网站数据分析:分析的前提—数据质量3

中介交易 SEO诊断 淘宝客 云主机 技术大厅 前面的两篇文章--分析的前提-数据质量1和分析的前提-数据质量2分别介绍了通过Data Profiling的方法获取数据的统计信息,并使用Data Auditing来评估数据是否存在质量问题,数据的质量问题可以通过完整性.准确性和一致性三个方面进行审核.这篇文章介绍最后一块内容--数据修正(Data Correcting). 数据审核帮助我们发现数据中存在的问题,而这些问题有时候可以利用一些方法就行修正,从而提升数据的整体质量,数据修正就是为了完成

网站数据分析:分析的前提—数据质量1

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 数据质量(Data Quality)是数据分析结论有效性和准确性的基础也是最重要的前提和保障.数据质量保证(Data Quality Assurance)是数据仓库架构中的重要环节,也是ETL的重要组成部分. 我们通常通过数据清洗(Data cleansing)来过滤脏数据,保证底层数据的有效性和准确性,数据清洗一般是数据进入数据仓库的前置环

网站数据分析:分析的前提—数据质量2

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前一篇文章介绍了数据质量的一些基本概念,数据质量控制作为数据仓库的基础环节,是保障上层数据应用的基础.数据质量保证主要包括数据概要分析(Data Profiling).数据审核(Data Auditing)和数据修正(Data Correcting)三个部分,前一篇文章介绍了Data Profiling的相关内容,从Data Profilin

网站数据分析:SkyGlue—用GA标记用户生成点击流

中介交易 SEO诊断 淘宝客 云主机 技术大厅 最早看到SkyGlue这个工具是在Cloga博客的文章,后来经过jasseyyang的推荐,向SkyGlue的cindy申请开通了博客GA账号的试用.经过一段时间的使用,现在来简单介绍一下SkyGlue这个工具. SkyGlue是Google Analytics的一个扩展工具,基于对网站中唯一访客的识别和标记,自动追踪网站的事件监控,记录用户操作的点击流数据.SkyGlue同样是通过JS页面标记进行安装部署,不过前提是你已经部署了GA的代码,因为S

网站数据分析的一些问题3:数据仓库相关的问题

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 之前的文章--网站数据分析的一些问题2中主要整理了BI相关的问题,这篇文章主要想整理一些数据仓库相关的问题.因为最近重新在看一些数据仓库的资料和书籍,想把之前以及当前遇到的主要问题提出来(博客中有关数据仓库的相关内容请参阅网站数据仓库这个目录),同时自己也对数据仓库方面的知识进行下重新的整理和认识,而且很久没有在博客发新的文章了,不能让自己过于懒散了. 之前看过Inmon的<构建数据仓库>和<DW 2.0>,而另外一位数据仓库

大数据时代每个人都需要做好网站数据分析

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 很多人把2013年定义为大数据的元年,阿里巴巴三大发展方向之一就是大数据,其实阿里巴巴的平台方向和金融以及马去亲自出手的物流都是以大数据为基础进行运营的.很多财经节目也相当关注大数据这块技术的发展,CCTV2对话连续两集播出大数据时代,头脑风暴连续三集播出大数据时代,与此同时新财富夜谈也在播也大数据入侵这档节目.似乎大数据已经离我们很

网站数据分析篇之——网站导航分析

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 之前笔者写过一篇<数据分析是未来seo的必修课>,之后有网友问笔者如何对企业小网站数据分析呢?这个还真的不好回答,只能给出通用的数据分析方法,笔者自己也有好几个企业网站,平时闲下来也会对其30天的数据分析,寻找有问题的页面,然后进行修改.下面跟大家谈谈网站导航的分析.以用户行为为基础去分析网站导航. 对于所有网站来说,一般

seo网站数据分析应重点关注的几方面

中介交易 SEO诊断淘宝客 站长团购 云主机 技术大厅 网站数据分析是seo工作中的重要一环,比如通过流量分析才会知道网站的seo效果,想知道蜘蛛对网站的抓取情况得分析网站日志,想知道做的关键词有没有效果要分析关键词的效能等等.通过网站数据分析可以知道我们的工作效果,同时也能够让我们发现网站存在的问题. 但网站数据分析包括很多方面,除了上面所列举的流量分析.日志分析.关键词分析之外,还有其它很多方面,这边就不一一列举了,下面就列举一些seo应该重点关注的方面. 1. 竞争对手分析 通过对竞争对手

网站数据分析:多维交叉分析 排查网站数据异常

中介交易 SEO诊断 淘宝客 云主机 技术大厅 我们在进行数据分析的时候,大部分时间都在使用趋势分析.比较分析.细分分析这三类方法,但其实还有一个方法我们也会经常使用--交叉分析,尤其是在排查数据异常的问题时,交叉分析就能展现其强大的威力.另外要跟大家说声抱歉的是博客的更新频率可能没有那么频繁了,但是尽量每个月至少能发布一篇,希望文章的质量有所保证,还是欢迎大家留言讨论,能够发起一些有趣的话题,一起拓展在网站数据分析方面的思路. 什么是交叉分析? 交叉分析是指对数据在不同维度进行交叉展现,进行多