数据可视化后进行统计检验——数据挖掘?

机器算法验证 假设检验 数据可视化 p 值 数据集 推理
2022-02-01 21:57:37

我将通过一个例子提出这个问题。

假设我有一个数据集,例如波士顿房价数据集,其中有连续变量和分类变量。在这里,我们有一个“质量”变量,从 1 到 10,以及销售价格。我可以通过(任意)为质量创建截止值,将数据分为“低”、“中”和“高”质量的房屋。然后,使用这些分组,我可以绘制销售价格的直方图。像这样:

房屋质量和售价

这里,“低”是3,而“高”是>7关于“质量”分数。现在,我们得到了三个组中每个组的销售价格分布。很明显,中高档住宅的选址中心存在差异。现在,完成所有这些之后,我想“嗯。位置中心似乎有所不同!为什么我不对均值进行 t 检验?”。然后,我得到一个似乎正确拒绝均值没有差异的原假设的 p 值。

现在,假设在绘制数据之前我没有任何想法来检验这个假设。

这是数据疏浚吗?

如果我想:“嗯,我打赌质量更高的房子成​​本更高,因为我是以前住过房子的人。我要绘制数据。啊哈!看起来不一样!时间进行 t 检验!”

当然,如果收集数据集的目的是从一开始就测试这个假设,这不是数据挖掘。但通常必须使用给我们的数据集,并被告知“寻找模式”。考虑到这个模糊的任务,人们如何避免数据挖掘?为测试数据创建保留集?可视化是否“算作”窥探以测试数据提出的假设的机会?

2个回答

简要不同意/反驳@ingolifs 的回答:是的,可视化您的数据是必不可少的。但在决定分析之前进行可视化会带您进入 Gelman 和 Loken 的分岔路花园这与数据挖掘或 p-hacking 不同,部分是出于意图(GoFP 通常是善意的),部分是因为您可能不会运行多个分析。但这一种窥探:因为您的分析依赖于数据,它可能会导致您得出错误或过于自信的结论。

您应该以某种方式确定您的预期分析是什么(例如“高质量的房屋应该价格更高”)并在查看数据之前将其写下来(甚至正式预先注册)(可以查看您的预测变量)提前,只是不是响应变量,但如果你真的没有先验的想法,那么你甚至不知道哪些变量可能是预测变量,哪些可能是响应);如果您的数据提出了一些不同或额外的分析,那么您的文章可以说明您最初打算做什么以及您最终要做什么(以及为什么)。

如果您真的在进行纯粹的探索(即,您没有先验假设,您只想查看数据中的内容):

  • 您对提供样品进行确认的想法很好。
    • 在我的世界中(我不使用庞大的数据集)由于样本量较小而导致的分辨率损失会令人痛苦
    • 如果您的数据以任何方式(地理、时间序列等)结构化,则在选择保留样本时需要小心。好像数据是独立同分布的二次抽样会导致过度自信(参见 Wenger 和 Olden Methods in Ecology and Evolution 2012),因此您可能需要挑选地理单位来坚持(参见 DJ Harris Methods in Ecology and Evolution 2015 示例)
  • 你可以承认你纯粹是在探索。理想情况下,在这种情况下你会完全避开 p 值,但至少告诉你的听众你在 GoFP 中徘徊让他们知道他们可以用大量的盐来获取 p 值。

我最喜欢的“安全统计实践”参考资料是 Harrell's Regression Modeling Strategies (Springer);他以严谨但实用的方式列出了推理、预测和探索的最佳实践。

可视化数据是分析中不可或缺的一部分,也是您应该对不熟悉的数据集做的第一件事。快速浏览数据可以告知下一步要采取的步骤。确实,通过查看均值不同的图表应该是相当明显的,而且我不确定为什么需要 T 检验来确认这一点 - 均值充分分离,图表本身就是我想要的所有证据要求。

数据挖掘,据我从快速的维基百科中得知,是一个故意处理数据以强制达到一定程度的拟合的过程。示例是:将数据集与一些随机数进行比较,但重新生成随机数直到获得一组有利的数据,或者尝试大量不同形式的回归并选择最佳的一个R2不管假设是否合适。数据挖掘似乎不是您可以轻易做到的事情。

我认为这里有一个更深层次的问题。在以科学的方式处理数据时,您如何保持禅宗般的中立并避免偏见? 答案是,你没有。或者更确切地说,您不必这样做。形成预感和假设并对数据的含义进行心理叙述是完全自然且可以接受的,只要您意识到自己正在这样做,并且在面对相互冲突的数据时做好重新考虑所有这些假设的心理准备。