数据思维二三事
1/ 虽是数学出身,但实际上数学为统计的理解带来了更多的挑战。因为数学的重心在于抽象,以高度抽象的方式来统一性地解决问题。而统计则更为关注现实,以具体的例子为基本素材,以“把大家放到一块儿看看”为方法论,来讨论手头上的数据特征。
这种在方法论上关于抽象与具体的差别,让两者彼此对抗、彼此融合着。能否辩证地看待两者的关系,成了能否进一步做出深刻认识的关键。
2/ 就visualization这个话题来讲,曾经很是头痛于它的局限性,只能够做出二维的图形或三维的展示,完全没办法去处理更高维的情形。相比于可以在理论上追求无穷维的自由,visualization显得异常笨拙。
可事实上,真正的瓶颈在于人类的大脑:你几乎只能理解二维、三维的世界,维度再往上走就没什么感觉了。表面上,你似乎可以想象出一个思维的四棱柱。可是,仅仅在头脑中渲染出这个四维的物体,已经消耗掉你大脑中80%的CPU。剩下20%的资源,又怎么够去理解思维图形带给你的数据洞见呢?
你的直感、洞见、趋势观察,不会来自于四维空间,而只能是二维空间、三维空间。所以,认真地打磨二维、三维空间的可视化工具是你唯一有效地选择。剩下的部分,其实已经被大脑认知所丢弃。
即便是不考虑visualization,就是单纯地比对数据,你能做的事情也是极其有限的:心理学研究发现,人类能够区分清楚的“强弱程度”最多也就只有6个级别。如果再继续做精细划分,大脑基本上就会陷入模糊与紊乱,不知道该如何做精细的归类。
那么从维度上讲,这个限制也是隐形存在的。为什么要做成二维的表格形式?因为那几乎就是大脑的极限维度。
而如果你的数据维度远远超过这些限制怎么办?这才是数据分析被提出来、被需要的根本动因:你需要把复杂的、高维度的数据做各种倒腾和拆分,让它能够以符合人类认知的二维、三维的形式做呈现、做visualization。
如果不做这样的降维处理,不把数据以更具限制性的方式呈现出来,大脑只会单纯地“无感”,无法产生洞见。无论计算机能够吸收多么复杂的数据模式,最终要分析、理解结果的都是一个个的人。而只要是人,他的脑接口就已经决定了数据必须以二维、三维的方式来呈现。
如同计算数学当中的计算代数,无论你做偏微分方程数值解,还是做复杂的最优化,如deep learning这些,你最终都必须回归到矩阵计算。为什么?因为从最底层的角度上讲,计算机唯一能做的就是关于加减乘除的矩阵运算。
3/ 要体会人类认知在数据面前的脆弱,其实用不了多少数据就可以办到。例如,你只要看一眼满屏的Excel数据表,然后问自己一个问题:看到它们后,你能得出什么直观性的结论吗?又或是产生一些生理上的自然反应吗?能够像看完满屏的一副风景画照片那样,立刻在内心留下什么直接的感触吗?
我想不能,你看完这满屏的数据后,它还是它,你还是你,这就是你和数据之间的认知鸿沟。
人类的认知系统本身,就不善于处理数据,也就是单纯的对数据无感。要想直接建立起对数据的感觉,需要漫长的训练和思考。又或是我们可以调整数据的形式,让它们以符合人类认知的方式出现,从而让大脑尽可能多地去吸收数据中蕴含的信息、感受数据传递给你的诉求。
4/ 按照这样的框架继续思考,这里其实涉及到两个过程,一个是“建立洞见”的过程,另一个是为了让建立洞见这个事情变得更容易而需要做一些“辅助工作”的过程。
要想“建立洞见”,你需要有领域知识,有问题所在语境的基本认知,有充分的关联能力。其核心,就是要根据数据“做出决策”。
而辅助性工作,其实涉及的就是倒腾数据的工作,也就是广大技术人员常常在做的用numpay、pandas、TensorFlow做数据的转换、迁移和计算。它服务于:当我想要做出某个洞见时,需要看一看某几个指标的对比,但却发现没有现成的数据。于是,需要通过已有的原始数据,经过整理、加工来转换成形成洞见所需要的数据形式。这类似于矿工不断地将玉石周围的石头打磨掉的过程。
从这个角度讲,善于做数据分析处理工作的人不一定善于从数据中得出智慧和结论。
在做一个事情的时候,现实提出你的诉求:你是谁、有什么需求、有什么问题、需要哪些东西的支持来构建你的启发和idea?然后,当你想要解决这些问题时发现这并不能直接办到,需要先做一些数据的倒腾、将它从一种形式变为另一种形式、把一个侧面同另一个侧面关联起来,还需要通过作图来产生洞见,这时候,就派出能够铲除这些障碍的工具,把它们一一消灭。
这里也就是我们提到的两个环节:
-
一个是你有一个基本的想法,面对一大堆的数据指标时,要有联想、洞见、找漏洞的能力。
-
另一环节则是在完成上一步时,遇到了技术细节的阻力,于是拿出各种数据分析的模型、工具,来铲除技术障碍。
一旦铲除掉这些障碍,还是需要回归到第一条——它到底是验证了、推翻了之前的一个想法?还是,在挖掘的过程中,又有了新的启发,提出了新的问题、猜测和联想?
这两个部分都很重要,但更重要的是你要能够区分它们,并弄清楚它们之间的关系。就算你倒腾数据的本事很高,可是,如果没有数据洞见、不会根据计算出来的数据做对比、做观察、做联想,你就是一枚单纯的矿工。另一方面,如果你需要训练这些洞见,其实并不一定需要具备倒腾数据的能力。你完全可以让其他人为你服务,根据已有的、经过处理的数据源,比如财报或行业报告,开始训练自己的数据洞察、联想能力。
单纯加强工具使用的能力,例如使用Python的数据分析工具生态:numpy、scikit-learn、pandas,又或是学习SQL的各种CRUD操作,又或是学习TensorFlow,其实仅仅能提高数据倒腾的工程能力,但在数据的洞见、观察、联想、剖析上,起不到太大作用。
一个是拆解、组合数据的工具人,另一个则是解读数据的观察者。
近期回顾
《就事论事,就人论事》
《睁眼瞎的时代》
《关于编程语言的一些趣史》
如果你喜欢我的文章或分享,请长按下面的二维码关注我的微信公众号,谢谢!
更多信息交流和观点分享,可加入知识星球: