当前位置: 首页 > 科技观察

这四件事,带你走出数据分析的深深迷宫

时间:2023-03-22 13:54:19 科技观察

通过现实世界中的例子,一起通过各种错误的数据分析方法,总结出正确的技巧和技巧。相信每个朋友都遇到过这样的情况:从各种渠道收集数据,通过A/B测试验证,希望得出分析结论。但是当我们检查结果时,我们发现这些数字似乎不太可信。事实上,数据校验也是我们日常工作的重要组成部分,和编码一样需要大量的跟踪和调试。在今天的文章中,我们将结合真实世界的例子,在各种错误的数据分析方法总结中找出正确的技巧和窍门。不要太快做出假设。仅仅因为它感觉正确并不意味着它是真的。我们的大脑经常会产生误导。我发现许多分析师因为这个错误而陷入分析迷宫。我们来看一个常见的问题:变更聚合查询。先看下面两行查询:SELECTMonth,Group1,Group2,Group3,CONCAT(Group1,"-",Group2)asNewGroup,SUM(Usage)astotal_usageFROMusageGROUPBY1,2,3,4,5SELECTMonth,CONCAT(Group1,"-",Group2)asNewGroup,SUM(Usage)astotal_usageFROMusageGROUPBY1,2乍一看,很多人会认为这两个查询的意思是一模一样的。左边的查询只包括一些额外的列,对吧?但事实并非如此。左侧的查询包含5个聚合级别,而右侧的查询只有2个。左侧的查询返回较小的总和数字,因为它的定义更明确。如果将其作为分析过程的组成部分,不同的结果会严重影响后续的分析。聚合错误是一种很常见的问题,所以即使你对自己的想法很有信心,也一定要仔细检查。快照(snapshot)问题过去四年,我作为分析师和教师的经历让我意识到了一个常见数据错误的根源:快照表。这类数据面面向特定时间段(月、周、日),旨在保存相应时间点的数字快照。不管是什么原因,这种手表确实难倒了很多人。首先,这类表往往比较难理解,这意味着刚接触这类表的用户不能立即意识到它属于快照表,这直接导致用户误用数据。最简单的防范方法就是为它设置一个明确的名称,告知用户它属于快照类型。我们如何识别快照表并找出如何使用它?最明显的迹象是,快照表中的所有指标与平均值相比都存在夸大的趋势。您可能将每周快照视为每日快照,并发现结果比预期大5到7倍——幸运的是,这个错误仍然很容易发现。可以拆分成一天,比如期间的最后一天,或者干脆取其中的最高值。具体参考如下示例:选择一天:SELECTTD_TIME_FORMAT(time,'yyyy-MM')asMONTH,category,usageFROMusage_snapshotWHERETD_TIME_RANGE(time,'2016-04-01')求最大值:SELECTTD_TIME_FORMAT(time,'yyyy-MM')asMONTH,category,MAX(usage)astotal_max_usaseFROMusage_snapshot关键是要坚持使用snapshot表的方式相同。根据实际情况和目标,我们可以选择最有效的具体方法。总结模式在验证数据时,我发现总结其中的模式对于识别错误非常有用。具体问题包括:是否所有数据都受到影响?受影响的数据是否都来自同一个队列?这些差异是正相关的,还是它们都是随机的?数据中有模式吗?这些问题可以帮助缩小范围。如果所有数据都受到影响,问题通常出在脚本或查询上,而不是数据本身。但如果某个月或某天的数值明显偏低,则需要调查底层数据,这意味着该时间段的数据收集机制可能存在错误。如果经过验证的数据往往按比例低于原始数据,则可能意味着聚合查询未正确收集某些数据。另一方面,基本的逻辑错误常常使分析显得“随机”,这意味着没有明显的模式。从头开始梳理如果您已经尝试了所有方法但仍然无法查明问题所在,则必须深入挖掘。虽然直觉上我们都希望能够找出问题出在哪里,但现在每个人都需要安定下来并从头开始解决问题。数据中的错误起初通常是良性的,但随着分析的进行会变得更糟。就像解一道数学题,我们要从头推一遍。这项工作可能会耗费时间,但可以帮助大家理解数据是如何一步步出错,最终导致完全无法理解的结论的。相信大家在处理数据校验方面一定也有自己的技巧和窍门,欢迎在评论中分享!原文链接:4TipsforEasierDataManagement