Excel 作为统计工作台

机器算法验证 软件 计算统计 擅长
2022-01-27 08:08:13

似乎很多人(包括我)都喜欢在 Excel 中进行探索性数据分析。一些限制,例如电子表格中允许的行数,是一件很痛苦的事情,但在大多数情况下,这并不意味着无法使用 Excel 来处理数据。

然而, McCullough 和 Heiser 的一篇论文实际上尖叫着说,如果您尝试使用 Excel,您将得到完全错误的结果 - 并且可能也会在地狱中燃烧。

这篇论文是正确的还是有偏见的?作者听起来确实很讨厌微软。

4个回答

为正确的工作使用正确的工具,并利用您熟悉的工具的优势。

在 Excel 的情况下,有一些突出的问题:

  • 请不要使用电子表格来管理数据,即使您的数据可以放入其中。你只是在自找麻烦,可怕的麻烦。几乎没有针对印刷错误、数据大规模混淆、数据值截断等的保护措施。

  • 许多统计功能确实被破坏了。t 分布就是其中之一。

  • 默认图形很糟糕。

  • 它缺少一些基本的统计图形,尤其是箱线图和直方图。

  • 随机数生成器是个笑话(但尽管如此,对于教育目的仍然有效)。

  • 避免使用高级功能和大多数插件;他们是c**p。但这只是安全计算的一般原则:如果您不确定某个函数在做什么,请不要使用它。坚持使用低级函数(包括算术函数、排名、exp、ln、trig 函数,以及——在限制范围内——正态分布函数)。 永远不要使用生成图形的加载项:它会很糟糕。(注意:从头开始创建自己的概率图非常容易。它们将是正确且高度可定制的。)

不过,有利于它的有以下几点:

  • 它的基本数值计算与双精度浮点数一样准确。它们包括一些有用的,例如对数伽玛。

  • 在电子表格中围绕输入框包装控件非常容易,从而可以轻松创建动态模拟。

  • 如果您需要与非统计人员共享计算,大多数人都会对电子表格感到满意,而对统计软件则完全不满意,无论它多么便宜。

  • 编写有效的数字宏很容易,包括移植与 VBA 非常接近的旧 Fortran 代码。此外,VBA 的执行速度相当快。(例如,我有从头开始准确计算非中心 t 分布的代码以及快速傅里叶变换的三种不同实现。)

  • 它支持一些有效的模拟和 Monte-Carlo 附加组件,例如 Crystal Ball 和 @Risk。(顺便说一下,他们使用自己的 RNG——我查过。)

  • 直接与(一小组)数据交互的即时性是无与伦比的:它比任何统计数据包、Mathematica 等都要好。当用作具有大量存储空间的巨型计算器时,电子表格真正发挥了作用。

  • 好的EDA,使用健壮和耐久的方法,并不容易,但是一旦你做了一次,你就可以快速地重新设置它。使用 Excel,您可以有效地重现Tukey 的 EDA 书中的所有计算(尽管只有一些图),包括 n 路表的中值抛光(虽然它有点麻烦)。

在直接回答最初的问题时,该论文存在一个偏见:它侧重于 Excel 最薄弱的材料,而称职的统计学家最不可能使用的材料。不过,这并不是对这篇论文的批评,因为需要广播这样的警告。

一篇关于在生物信息学设置中使用 Excel 的有趣论文是:

错误的标识符:在生物信息学中使用 Excel 时,可能会无意中引入基因名称错误,BMC Bioinformatics,2004(链接)。

这篇简短的论文描述了 Excel 中的自动类型转换问题(特别是日期和浮点转换)。例如,基因名称 Sept2 被转换为 2-Sept。您实际上可以在在线数据库中找到此错误。

使用 Excel 管理中大量数据是危险的。错误很容易在没有用户注意的情况下潜入。

好吧,论文是正确还是有偏见的问题应该很简单:你可以复制他们的一些分析,看看你是否得到相同的答案。

多年来,McCullough 一直在将不同版本的 MS Excel 分开,显然 MS 认为不适合修复他多年前在以前版本中指出的错误。

我认为在 Excel 中处理数据没有问题。但老实说,我不会在 Excel 中进行“严肃”分析。我的主要问题不是不准确(我想这很少会成为问题),而是一年后当审阅者或我的老板问我为什么不做 X 时,无法跟踪和复制我的分析 - 你可以保存你的在注释的 R 代码中工作和你的死胡同,但在 Excel 中不是以有意义的方式。

顺便说一句,关于使用 Google 电子表格的问题提出了对比(因此很有趣)的意见,你们中的一些人是否使用 Google Docs 电子表格来进行和与他人分享您的统计工作?

我想到了一篇似乎并不那么悲观的旧论文,但它在您提到的论文中只被勉强引用:Keeling 和 Pavur,九个统计软件包可靠性的比较研究(CSDA 2007 51:3811)。但是现在,我在我的硬盘上找到了你的。2008 年还有一期特刊,请参阅Microsoft Excel 2007的特刊,以及最近的《统计软件杂志:电子表格的数值准确性》

我认为这是一个长期存在的争论,你会发现关于 Excel 统计计算可靠性的不同论文/意见。我认为有不同层次的讨论(你打算做什么样的分析,你是否依赖内部求解器,是否有非线性项进入给定模型等),并且可能出现数值不准确的来源由于适当的计算错误设计选择问题;这很好地总结在

M. Altman、J. Gill 和 MP McDonald, 《社会科学家统计计算中的数值问题》,威利,2004 年。

现在,对于探索性数据分析,有多种替代方案可提供增强的可视化功能、多变量和动态图形,例如GGobi——但请参阅此 wiki 上的相关主题。

但是,很明显,您提出的第一点解决了另一个问题(IMO),即使用电子表格处理大型数据集:根本不可能将大型 csv 文件导入 Excel(我在考虑基因组数据,但它适用于其他类型的高维数据)。它不是为此目的而建造的。