数据分析过程——统计学(零)
“人人都要成为数据分析师”并不是空谈,而是随着大数据时代的到来,产业逐渐向数据驱动模式转型的必然趋势。每个行业和岗位都需要通过数据来指导决策和优化流程,这意味着每个人都要具备一定的分析能力。随着技术的发展,越来越多的简单易用工具被开发出来,使得数据分析不再仅仅是专业数据人员的专属领域。尽管数据分析在某些场景下需要复杂的算法和较高的数学能力,实际上,很多分析任务可以通过直观的工具和基础的统计方法轻松完成。例如,Excel、Tableau、Power BI 等工具提供了可视化和数据分析功能,非技术背景的人也能迅速上手,完成基本的分析工作。数据分析的门槛正在降低,无论是企业管理者还是普通员工,都能利用数据为决策和业务提供支持。数据分析将不再是一项高门槛的技术工作,而是每个人日常工作中的重要组成部分。
一、数据分析流程
数据分析的总体流程的一条主线依次是:确定分析目标、业务理解,数据提取,数据整理,数据分析和结果展现,另外在数据提取的步骤以前,还会经历数据采集和数据储存的过程。从整个流程可以看出,数据分析的起点是在分析目标上,而并非数据本身,这也说明了数据分析并不是以数据为导向的,反而是以业务为导向的。数据分析的流程是以确定分析目标开始的,其目的就于明确分析的目的、对象和边界。只要有数据确实可以带来许多的信息,依次也更需要把问题聚焦,明确通过数据分析,需要去解决什么问题。对一家公司而言,分析其成本对利润的影响还是销售对收入的影响都是不同的命题。因而只有确定了要分析的问题,才会去安排后续的工作。
业务理解是将确定了的分析问题落地的过程,这里其实就是要将业务问题转换成数学问题,把业务的各个环节抽离出来,通过定量的方式来表现和构架。这句话看起来很抽象,也很复杂,其实简单的来说,就是明确通过分析哪些数据来得到结果,以及明确所分析数据之间的逻辑关系。在业务理解中会确定分析思路,从中明确将那些定性的工具按照定量的方式来使用,明确要对比那些数据,明确要从哪些维度上面将数据进行拆分。因为,业务理解是数据分析的关键步骤之一,也是数据分析工作的中枢,数据分析的是否具有严密的逻辑,是否能够深入都是来自于对业务理解程度上。例如分析一家公司的盈利情况,就需要在业务理论的环节中,考虑应该按年进行拆分还是按月进行拆分,是重点看收入还是重点看成本,是否要分产品形态和业务板块来进行拆分。在业务理解的环节中,只有数据分析的能力是不够的,还必须要能够理解业务,要明白应该从哪些方向去拆分数据,从哪些方向去构建分析的过程,还有从哪些维度去解读数据。
数据提取就是指把在业务理解中明确要分析的数据提取出来,这里的数据有可能是企业内部数据库已经储存好的二手数据,在后面经过加工后,就可以直接使用。另外也有可能是当前企业还不具备这些数据,需要从企业内外部去获取。因此这里就是涉及到了数据采集,自己去获取一手数据,在获取一手数据以后,需要将按照相关标准的形式储存下来,因此也涉及到了数据储存。
数据整理是对数据加工的工程,即将原始数据提取出来后,形成可以供分析标准形式,为后续的数据分析打造基础。数据分析是从数据中获取信息的过程,在数据分析的过程就是实施对比和拆分的过程。通过对比和拆分,从数据中提取出信息,并进行解读。数据分析既可以是简单的计算,也可以进一步地使用统计学、数据挖掘、机器学习甚至深度学习的相关算法和工具,这些都取决于对分析的精度、方法的要求以及所分析数据的复杂程度。
结果展现是把数据分析的结果通过图表化的方式展现。通过图表,使人看到的不是冰冷的数字,而是生动的图表,这样更容易理解数据呈现的信息。
在数据分析的流程中,分析目标和业务理解是由业务驱动的,考察的是对问题背景的认识和解决问题的逻辑。而其他的部分则是更多地由数据驱动,考察着数据分析的方法和技术。在着重考察数据分析方法和技术的步骤中,数据采集、数据整理、数据分析和结果展现是比较关键的几个步骤。
二、数据分析流程关键步骤
数据采集是数据分析的源头,是获取数据的过程。数据来源可以多种多样,最简单的是手工记录,如古代的结绳记事或现代的问卷调查。手工记录虽然历史悠久,但效率低且易出错,尤其在处理大量数据时并不理想。因此,自动化系统成为主流,如电信运营商自动记录通话记录,网站后台记录用户的点击行为等。此外,网络爬虫通过模拟人工访问网站,自动采集数据,具有高效、广泛适用的特点,受到数据采集人员的青睐。除了自行获取数据,还可以通过购买或交换数据的方式获得资源,如大数据交易平台的服务。
数据整理是分析前的重要准备工作,旨在将采集的数据按标准格式进行规范化处理。由于采集过程中可能存在数据质量问题,整理工作包括处理缺失值、错误值和异常值。缺失值可选择剔除或用其他值替代;错误值如存款为负数,需要调整或删除;异常值如过大的速度数据,可能需要调整。此外,还需要筛选和计算分析所需的变量,生成新的衍生变量。例如,若数据中只有时间和距离两个变量,而需要速度数据时,可以通过“速度=距离/时间”计算衍生变量。
整理完成后,进入数据分析环节,这是整个流程的核心部分。数据分析通过数学模型对数据进行拆分和对比,模型的复杂度依据问题和数据情况而定。简单的描述统计包括平均值、中位数、方差等;复杂一点的探索性分析包括假设检验、方差分析等;更深入的则是数据挖掘技术,如决策树、回归分析、聚类分析等,有时甚至需要深度学习。模型的选择取决于分析问题的复杂程度和数据特点。
最后,数据分析结果通过图表展示,有助于提高可读性和理解度。常见的图表包括条形图、直方图和折线图用于绝对比较,饼图用于相对比较,蛛网图和气泡图用于综合比较,展现多个维度的差异。数据可视化不仅仅是展示结果,更是一种艺术化的表达方式,信息图就是其中一个生动且有效的形式。
三、利器——分析工具
对数据分析而言,有了思想和方法就基本具备了通过分析数据并从中解决问题的能力。在这个基础上,掌握好数据分析的相关分析工具,就能够更高效地分析数量更大的数据,从而快速提升数据分析的效率和体量。数据分析工具是专门用户分析数据的软件,也被称为数据分析的利器,这是因为机器的计算能力远远大于手工计算,借助机器,可以实现对多维度、体量数据的快速计算。在有了正确的思想指导和方法准备的基础上,诸多复杂问题都可以在分析软件的协助下,迎刃而解。
3.1 数据分析工具体系
当前市面上有众多的数据分析软件,从任何电脑都能用的单价计算到需要借助联机处理的分布式处理平台都有覆盖。简单地说,数据分析最普遍和最基础的软件就是电子表格,其代表性的就微软OFFICE套件中EXCEL。EXCEL在每台电脑上都能够使用,可以胜任平常人使用的数据分析任务,再加上有诸多的扩展功能,也会有各种各样的使用场景,因此这被称为数据分析的第一神器。市场上除了微软外,还有诸多的厂商出品类似EXCEL的电子表格工具,而且许多都是开源和免费的,因此对电子表格软件而言,每个人的获取成本的都可以为零。
EXCEL是通常用于数据分析的办公软件,并不是专门的数据分析软件。对数据分析而言,专业的软件有很多,首先是IBM的SPSS软件,SPSS包括了SPSS统计和SPSS MODELER,两种软件都就具有平缓的学习曲线,因此也是属于数据分析的入门级软件。
再向上是诸如SAS,MATALAB,PYTHON,R等专业软件,能够熟练使用其中一种软件是当前对数据分析师的专业要求,因此在绝大多数数据分析师的招聘启事中,都有这些的软件要求。
对单机分析而言,除了使用数据分析专业软件,还可以使用例如C语言,JAVA等编程语言。这些语言很多情况是开发人员用于把相关数据分析的算法和过程,嵌入到软件和系统中去。当然使用这类语言进行数据分析对编程的要求更高,因此又被称为数据分析的扫地僧级工具。
除了单机分析外,还可以进行联机分析,即多台机器同时承担一项分析任务,当前最热门的分布式计算就是数据联机分析的范畴。对联机分析而言,就需要搭建相关的高速平台来实现。例如HADOOP就是现在常用的分布式计算架构,SPARK是高效的分布式数据分析引擎。
对数据分析的第一神器EXCEL来说,其主要用于处理1万-10万条内的数据。03版本的EXCEL能够处理6万多条数据,在07版本以后,EXCEL能够处理上百万条数据,但是由于计算性能的原因,通常EXCEL处理的数据更多在10万条以内。Excel功能强大,在数据有限的情况下,几乎可以替代任何分析软件。
3.2 EXCEL——数据分析第一神器
首先EXCEL具有非常强大的数据采集功能,除了对数据手工录入和复制粘贴外,EXCEL能够从网页中的数据表格按照原格式采集。同时EXCEL能导入文本文件,因此在数据分析中常用的csv文件就能够导入进EXCEL,同时EXCEL还支持SQL语句从数据库中导入数据。总之常见的数据格式,都能够导入进EXCEL中去。
同时,EXCEL的运算功能非常强大,对于EXCEL自身而言,就有大量的函数可以进行数学运算,从统计到三角函数,从科学计算再到财务计算都有覆盖。利用EXCEL函数,也能够实现数据的快速匹配和查找功能。在EXCEL的运算功能中,可以利用VBA编写相关的宏代码,这让相关的算法都能够嵌入到EXCEL中去。因此,借助VBA,EXCEL能够实现任何计算。
EXCEL还具备数据钻取功能。数据透视表是EXCEL中一个非常实用的工具,透视能够让EXCEL将一张二维表格,按照不同的变量从多个角度来构建想要汇总表格,同时还能够实现指标之间的计算。因此,借助数据透视表,分析数据时,能够很方便地从多个维度来拆分数据进行对比。
另外,EXCEL还有极其高效的数据展现功能,EXCEL自身就带有大量的图表,其包括了折线图,直方图,饼图等等基础图表,以及气泡图、蛛网图等复合图表。加上还支持多个图表之间的组合,因而EXCEL能够做出各式各样既能够准确表明数据同时又很美观的数据图表,如风车图、南丁格尔图等等。在当前最热门的信息图的绘制,都可以通过EXCEL来完成。还有在最新的EXCEL中,已经能够导入地理信息,这让数据地图能够在EXCEL中实现。
EXCEL是办公软件,由于其具有良好的数据处理和计算功能,所以常被在数据分析中使用。对于数据分析,还有一些专业的软件和工具可供使用,这些软件和工具功能更强大,因此也可以算作是数据分析的高级武器。
3.3 分析工具中的高级武器
在数据分析的众多工具中,R 和 Python 是极具优势的入门级软件,它们功能强大且操作灵活,特别适合从初学者到高级数据分析师的各类用户。与传统的图形化界面工具(如 Excel)相比,R 和 Python 通过编写代码来实现数据分析,虽然起初需要学习编程基础,但它们具备更高的灵活性和扩展性。
R 和 Python 的优势:
功能丰富且开源:R 和 Python 都是开源软件,意味着可以免费使用和自由扩展。它们有着庞大的社区支持,成千上万的库和包可供使用,例如 R 中的 ggplot2、dplyr,以及 Python 中的 pandas、matplotlib 和 scikit-learn 等,能够覆盖从数据预处理、统计分析到机器学习的广泛领域。
强大的数据处理能力:相比 Excel,R 和 Python 能够轻松处理数百万条甚至上亿条记录。它们的内存管理机制和数据处理方法更为高效,尤其是 Python 的 NumPy 和 R 的 data.table 包,能够高效操作大型数据集,甚至处理 GB 级别的数据。
高级统计与建模:R 和 Python 不仅支持描述性统计,还可以轻松实现复杂的推断性统计、回归分析、时间序列分析等。此外,借助 Python 中的 statsmodels 和 R 中的 lm() 函数等工具,还可以快速实现回归分析、贝叶斯统计等复杂的模型。
数据可视化:R 和 Python 在数据可视化领域都有着丰富的工具,能够生成精美的图表。Python 的 matplotlib、seaborn 以及 R 的 ggplot2 都能创建定制化的可视化输出,帮助用户深度挖掘数据特征。
R 和 Python 作为编程语言的扩展性:
R 和 Python 不仅仅是数据分析工具,更是功能完备的编程语言,能够通过编写代码执行复杂的任务。这种扩展性允许用户根据实际需求进行定制化操作,比如自动化报表、批处理数据、建立机器学习模型等。Python 中的 scikit-learn 和 R 的 caret 等库,更是广泛应用于机器学习和预测性建模。
相比于使用图形界面的软件,R 和 Python 更适合需要对大型数据集进行深入分析和编程操作的用户。通过代码编写,用户可以精准控制每一个数据分析的步骤,增强分析的灵活性和深度。
大数据分析工具与集成:
对于更大规模和更复杂的数据分析需求,R 和 Python 也可以与大数据平台如 Hadoop 和 Spark 集成。这些平台通过分布式计算和并行处理的机制,可以处理 PB 级别的大数据。R 和 Python 可以通过接口与 Hadoop 和 Spark 协同工作,从而将大数据处理能力与编程语言的灵活性结合起来。例如,Python 的 PySpark 和 R 的 sparklyr 包都可以方便地调用 Spark 进行数据分析。
除了 R 和 Python,像 Java、Scala 和 C 语言也经常用于开发数据分析算法及其嵌入。特别是在大数据环境中,Java 等语言被用来开发底层算法,而 R 和 Python 则通过接口与这些底层工具相结合,实现高效的分析流程。这类编程语言不仅能提高数据分析工具的性能,还能优化分析环境中数据结构的对接与处理。
无论是小型数据集的分析,还是处理上亿条记录的大数据分析需求,R 和 Python 都是强大的工具。对于基础数据分析,Excel 可能已经足够;而当数据规模和分析复杂性增加时,切换到 R 或 Python 等更专业的工具将是明智之选。这些语言不仅能够处理大型数据,还能为用户提供高度定制化的分析环境,并且能够通过与大数据平台和专业编程语言的结合,进一步扩展其功能和应用场景。
四、数据分析之三重境界
数据分析的软件和工具其实就是用于处理和分析数据的神兵利器,是每个要分析数据的人都需要能够使用的。对于这些软件的使用,可深可浅,只要能够解决问题就行。不过,伴随着软件技能的提升,能够处理问题的复杂度和数据的复杂度也会相应提升。
对于数据分析,共有三重境界,第一重:眼中有表,心中没表,第二重:眼中有表,心中有表,第三重:眼中没表,心中有表。每一重境界,都含有“表”字,其实这也说明了,这些软件都是把数据进行表格化的操作和处理。基本在每个软件中,数据都是以二维表的形式存在,每一列代表不同的变量即不同的维度,而每一行代表不同的记录即每一条记录了各个维度数据的个体。就这样,在行列之间,各种运算和转换,最终实现了数据分析的功能。
首先对第一重境界眼中有表,心中没表而言,主要是指对数据的基本操作,这些操作都是EXCEL的基本应用,像一些基本的函数计算,例如求和、求平均值等等,以及对数据用简单的图表进行展示。在这重境界中,操作只是集中在眼前表格上,不会有更多的变换和更深层次的结果输出。在日常的工作中,这种境界的操作非常常见,比如计算一个班的一门学科的平均分,只需要把一张记录了这个班学生和单科成绩的二维表,对这表所有成绩求和后除以人数就能得出结果,因此也不需要更多的表格介入进来。
对第二重境界眼中有表,心中有表而言,操作的复杂程度和难度都远远高于第一重,在EXCEL中是对透视表的操作,能够通过各种维度灵活分解和汇总数据,以及能够从多个表格中把数据链接到一起,这种技术在数据库的操作中也非常常见。在这重境界与前一重境界不同于心,尽管眼前的表还是简简单单的一张数据表了,但是心中却不仅仅是这张表,各种表格存在于心,可以依照心中表格对眼前的表格进行各种转换和改造,既可以以当前这张数据表为载体,从多个维度来展示数据,也可以以这张表为核心,匹配其他表格中的数据,以扩展本表的信息,总之只要数据足够,各种花样都能够玩出来。还是以学生成绩为例,一张表包含了学生的姓名,性别、年级、班级,性别,考试科目,成绩等等数据。在第一重层的境界中,只能对所有成绩进行平均以及求和等操作。然而在第二重境界中,就能够按照班级、性别、年级、科目等对考试成绩分类求平均值,同时能够从不同的维度交叉展示,如展示各班分性别展示,各年级分科目展示等等。同时在取得了不同时间的成绩表格后,也能够把个张成绩表上都存在学生单独提出来,在原有维度数据的基础上再匹配出包含时间的新表出来,这样就可以进一步地分时间来展示数据了。
第三重境界是眼中没表,心中有表,这一重境界较前一重不同在“眼”,前两重的境界还需要看着表进行操作,而在这一重境界中则已经脱离了眼前的表格,可以不看表就能处理数据,因而这一重境界也是走向更高水平必须经历的环节,也是成为高手必须到达的阶梯。达到了这一重境界,数据分析的操作能够摆脱EXCEL,使用功能更强大的诸如R、SAS等工具上,通过代码实现EXCEL中对数据的操作。更进一步地,在使用诸如Hadoop等大数据工具上,都需要达到这种境界,将心中需要呈现的表格,通过代码进行实现。第三重境界,重点在心,与前两重相比,需要更高的结构化思维和整体思维,才能准确地把脑海中构想的表格,在工具中实现。
数据分析的三重境界,表面上看是对不同软件应用熟悉程度的区别,而在背后是对数据分析思想的理解以及对数据分析方法的掌握。软件操作学会容易,然后对分析思想和分析方法就需要长期的积累和沉淀。其实,数据分析工作就像睡莲,做出的成果都是浮在水面上的看得到的花朵,而决定花朵是否灿烂的,还是取决于水下的根基和吸取的养分,根基和养分其实就是思想的参悟、方法的理解以及工具的熟练,这些不在一时之快,而在日积月累。
总结
数据分析师不仅要具备技术能力,能亲手解决问题,还需要深入理解业务和流程,知道为什么要进行某项分析。这种综合素质体现了“道、法、术”的统一:道是对业务的理解,法是解决问题的思路,术是具体的技术实现。在企业中,数据分析师的职责不仅限于数据采集、处理和分析,更重要的是为管理层提供准确的决策支持,帮助企业发展。提高决策的精准度越来越依赖数据分析,通过数据的逻辑推导与论证来减少决策的风险。数据分析不仅是一个技术岗位,更是战略性的支持岗位,能为企业优化资源配置、提高效率,从而在竞争激烈的市场环境中脱颖而出。