从调查报告中的比例数字说统计人如何甄别统计假象

By 谢益辉 @ 2009/04/27
关键词, , , , 分类抽样调查, 数据分析, 统计软件
作者信息:目前在Iowa State University统计系跟着Di Cook读PhD。统计之都网站创办者;研究兴趣为统计图形及数据可视化,对前沿统计模型方法的发展感兴趣但不喜纯粹抽象的数学理论,以直观、实用为学习标准;偏好以R语言为工具;Email:xie@yihui.name;个人主页:http://yihui.name
版权声明:本文版权归原作者所有,未经许可不得转载。原文可能随时需要修改纰漏,全文复制转载会带来不必要的误导,若您想推荐给朋友阅读,敬请以负责的态度提供原文链接;点此查看如何在学术刊物中引用本文

新华网刚发布了一个关于学生冬季长跑的调查结果(于2009年4月27日13:52访问),一共调查了100人,结果中却出现了92.79%这样的比例数字,有常识的读者都知道,世上不存在0.79个人,因此这里面必然有某个地方是错的(姑且不妄言造假)。这则消息让我马上想起《统计陷阱》这本书,我们生活中有多少陷阱呢?

从消息编辑人员的角度来说,他们可能觉得保留两位小数显得“精确”,而这种“精确精神”从数学的角度来说显得既可爱又可笑,如果小数位能表示精确,那何不保留100位小数呢?

从统计人的角度来看,对这种调查报告中的比例数字应该有足够的警觉。很多调查报告并不会告诉我们究竟样本量多大(在这一点上新华网的调查网还比较诚实),这种情况下,我们应该弄清究竟调查了多少对象,当样本量很小的时候我们会怀疑这个调查的代表性。当我们看到比例66%的时候也许能想起来这是2/3(猜测样本量是3的倍数),但对29.1667%这个比例我们未必能很快反应出来分子和分母是多少,若报告公布方没有说明样本量,我们只能自己猜测;对于667这样的数字,我们很容易猜测这是6循环的四舍五入。最终大概思路就是拿比例去挨个乘以一系列整数,看看哪个结果接近整数,从而“还原”原来的分式n/N。以下是简单的R代码:

> digit = ((1:100) * 0.29166666)%%1 # 整除1之后的“余数”
> plot(digit, ylim = c(0, 1))
> idx = which((1 - digit) < 1e-05 | (digit - 0) < 1e-05) # 与0或1很靠近时
> points(idx, digit[idx], pch = 20)
> abline(v = idx, lty = 2)
> axis(3, idx)
> idx * 0.29166666
[1]  7 14 21 28
从比例数字还原分式

从比例数字还原分式

我们很容易发现分母(样本量)是24的倍数,因为上图中24的倍数乘以29.167%得到的结果很靠近整数;而具备某种特征的样本数量为7的倍数。根据具体的调查背景,我们可以自己猜测报告方究竟调查了多少人:24人?太少;960人?为什么不是1000人?……

上面只是统计侦查的小游戏而已,当我们具备更多统计知识储备之后,便可以去考虑一些具体的统计模型输出是否存在造假嫌疑。我想,P值在0.05之下且很靠近0.05的时候,或P值一律接近于0的时候,我们不妨以小人之心揣测这个模型也许有问题。当因子分析中,50个变量能根据载荷被准确划分到作者预先设定的5个因子中时(5列因子载荷一律都是只在某个因子上取值极大),这个分析也许存在嫌疑。当然,所有的“小人之心”的前提假设都是:理想情况在现实中是不容易出现的(这是赤裸裸的假设检验逻辑)。

相关文章

18 Responses to “ 从调查报告中的比例数字说统计人如何甄别统计假象 ”

  1. 江岸花 on 2009/04/30 at 19:16

    之前听说过这东东,当时就想把小数转分数看看……后来懒就没写@@…

  2. stata on 2009/05/06 at 19:04

    新华网刚发布了一个关于学生冬季长跑的调查结果(于2009年4月27日13:52访问),一共调查了100人,结果中却出现了92.79%这样的比例数字,有常识的读者都知道,世上不存在0.79个人,因此这里面必然有某个地方是错的(姑且不妄言造假)。这则消息让我马上想起《统计陷阱》这本书,我们生活中有多少陷阱呢?

    我认为不能说这个结果就是错的。我们需要考虑一个问题,100个人中可能有没有应答的。此时的分母就不是100了。所以说新华网漏了一些信息。

  3. 谢益辉 on 2009/05/06 at 19:32

    谢谢你的提醒。

    如果再用文中的方法进一步算算,0.9279是如何得来的呢?1到100的数字中,只有13/14和90/97与0.9279最接近,不过前者是0.9286,后者是0.9278,还是对不上,因此100以内找不到可能产生92.79%这个结果的分式。

  4. stata on 2009/05/06 at 22:40

    首先佩服你对数字的敏感!
    你认为四舍五入还是直接进位?为什么不能是直接进位?

    • 谢益辉 on 2009/05/06 at 22:54

      当然可以直接进位啊,那么权当0.9279是90/97得来的,然后随便在报导内再找一个数字,比如79.44%,很快又会发现只能是27/34(0.7941176)或者58/73(0.7945205),此时四舍五入还是直接进位是不是都不行了呢?如果还有数字舍入的规则,那么我们可以再找一个比例数字看看。

      这让我想起一句话,撒谎容易圆谎难。

  5. lovelyday on 2009/05/09 at 09:38

    可能新华社的人咨询了几位高深莫测的高人
    他们一致觉得这个调查的方差太大
    所以要加一个correction for bias or variance
    这样的话,小数点就出来了
    又基于人民群众普遍不懂统计
    就没有介绍这一段…

    • 谢益辉 on 2009/05/09 at 15:04

      哦……这解释靠谱!就是去抄家也抄不出造假的痕迹了……

  6. stata on 2009/05/12 at 21:23

    报道没看到,请谢兄贴出来

    • 谢益辉 on 2009/05/12 at 21:34

      没看到?那仔细数数字吧,本文从10到22个汉字就是报道的链接 :mrgreen:

  7. stata on 2009/05/12 at 21:42

    呵呵,兄弟对数字很敏感啊 佩服佩服 居然从10数到22 一个字牛

  8. stata on 2009/05/12 at 21:43

    交个朋友 我是搞生物统计的

  9. priss111 on 2009/05/15 at 23:14

    谢老大,忒牛了,怎么一连串能记得来那多“0.9279是90/97得来的,然后随便在报导内再找一个数字,比如79.44%,很快又会发现只能是27/34(0.7941176)或者58/73(0.7945205)” 数字呢。
    佩服,佩服。 发完了,发现多了两个字,有点不通顺。

    • 谢益辉 on 2009/05/19 at 11:27

      不是我能“记得”,是算出来的,看看正文的R代码吧 :)

  10. pspp on 2009/05/19 at 15:09

    国内报道中的数字何时才能可信?
    株洲5·17垮桥事故,9人遇难,16人受伤,被砸压车辆为27辆。
    难道株洲汽车都无人驾驶吗?
    还是国家规定10人以上死亡就算重大安全事故?

    • gavin on 2009/06/25 at 11:58

      现实里面的确有无人受伤的交通事故,请注意砸和压的区别,还有就是如果只有一个人开车,桥垮塌之后砸到后排座位置也不会造成伤害的,心理伤害不算的话:)

  11. 贝吉塔行星 on 2009/08/08 at 13:20

    [...] COS 主站上的这篇文章–《从调查报告中的比例数字说统计人如何甄别统计假象》,yihui [...]

  12. 马相如 on 2010/01/29 at 22:31

    niu!

  13. Kelvin Zhang on 2010/03/01 at 21:22

    是相当的牛啊…

Leave a Reply

搜索

推荐阅读

大规模系统内变量关系的研究以及可视化-1因果分析

By 黄帅

引言——变量关系分析的广泛意义
在统计分析中,有这样一类具有普遍意义的问题:在测得了(取样)一个变量系统的数据以后,如何从数据中发现并且验证这些变量之间的关系?了解…阅读全文 »

相关文章

用GERT方法求解两个抛硬币问题

问题:一枚均匀的硬币,一直抛直至出现HTT(H表示正面,T表示背面),期望要抛多少次?一直抛直至出现HTH(即正反正),期望要抛多少次?假定出现H面的概率为p,出现T面的概率为阅读全文 »

相关文章

分月存档