许多统计工作要求获得有关大规模数据的经验。处理大型数据集需要什么样的统计和计算技能。例如,在给定具有1000万样本的数据集的情况下,如何构建回归模型?
许多统计工作要求获得有关大规模数据的经验。处理大型数据集需要什么样的统计和计算技能。例如,在给定具有1000万样本的数据集的情况下,如何构建回归模型?
Answers:
好的答案已经出现。因此,我将基于个人经验分享一些想法:根据需要使相关想法适应您的情况。
对于背景和上下文-这样一来,您就可以解决可能会引起此信息偏见的任何个人偏见-我的大部分工作是帮助人们根据相对较小的数据集做出重要决策。它们之所以很小,是因为收集数据的成本可能很高(例如,地下水监测井的第一个样本需要1万美元,而分析异常化学物质则需要数千美元)。我习惯于从可用数据中尽可能多地获取数据,探索它们直至死亡,并在必要时发明新的方法来对其进行分析。但是,在过去的几年中,我一直致力于处理一些相当大的数据库,例如在人口普查区一级覆盖整个美国的社会经济和工程数据之一(850万条记录,
在拥有非常庞大的数据集的情况下,人们的整个方法和思维定式都会发生变化。现在有太多数据需要分析。一些直接(以及回顾)的明显影响(着重于回归建模)包括
您考虑进行的任何分析都可能需要大量时间和计算量。您将需要开发二次采样和处理部分数据集的方法,以便在使用整个数据集进行计算时可以规划工作流程。(子采样可能会很复杂,因为您需要一个与整个数据集一样丰富的代表性数据子集。并且不要忘记使用保留的数据对模型进行交叉验证。)
您的大部分时间都花在只是移动数据并重新格式化它们上。您需要处理大型数据库的技能,以及对大量数据进行汇总和绘制图形的技能。(Tufte的Small Multiple在这里脱颖而出。)
您最喜欢的某些软件工具将失败。例如,忘记电子表格。许多开放源代码和学术软件都无法处理大型数据集:处理将永远花费,否则软件将崩溃。期望这一点,并确保您有多种方式来完成关键任务。
您运行的几乎所有统计测试都将如此强大,以至于几乎可以确定“显着”效果。 您必须更多地关注统计重要性,例如效果大小,而不是重要性。
同样,模型选择也很麻烦,因为几乎所有变量和您可能考虑的任何交互都会显得很重要。 您必须更多地关注选择分析的变量的意义。
将有足够多的信息来识别变量的适当非线性变换。知道如何做。
您将有足够的数据来检测非线性关系,趋势变化,非平稳性,异方差等。
您将永远无法完成。有太多数据,您可以永远研究它们。因此,一开始就建立分析目标并始终牢记这些目标非常重要。
我将以一小段轶事结尾,这说明了大型数据集与较小数据集之间的回归建模之间的意外差异。在具有人口普查数据的项目结束时,我开发的回归模型需要在客户端的计算系统中实现,这意味着在关系数据库中编写SQL代码。这是一个常规步骤,但是数据库程序员生成的代码涉及数千行SQL。这几乎不可能保证它没有错误-尽管我们可以检测到错误(它在测试数据上给出了不同的结果),但是找到它们是另一回事。(您所需要的只是一个系数中的印刷错误...)解决方案的一部分是编写一个程序,该程序直接从模型估算值生成SQL命令。这确保了从统计信息包中出来的正是RDBMS中输入的东西。另外,编写此脚本花费了几个小时,从而取代了可能需要数周的SQL编码和测试。这只是统计学家能够传达其结果的意义的一小部分。
您的问题应该给出一些好的答案。这里是一些起点。
能够在精度和对计算能力的需求之间进行权衡的能力。
具有数据挖掘技术的设施,可用作进行回归之前的初步筛选工具。例如,chaid,cart或神经网络。
对统计意义和实践意义之间关系的深刻理解。大量的变量选择方法。
交叉验证的本能。
必须具备良好的编程技巧。您需要能够编写高效的代码来处理大量数据而不会造成阻塞,并且可能能够并行处理所述代码以使其在合理的时间内运行。
我还要补充一点,大规模数据还引入了潜在的“不良数据”问题。不仅丢失数据,而且接触过数据的每个系统部件都会引入数据错误和不一致的定义。因此,除了统计技能外,您还需要成为专家级的数据清理人员,除非有人为您这样做。
-拉尔夫·温特斯