趣味数据挖掘系列1:被打”和“北大” 的关联

本文借此例来说明数据挖掘中关联规则中支持度、置信度和兴趣度概念,顺便对此事做个定量分析, 同时也作为趣味数据挖掘系列博文的开篇。

趣味数据挖掘系列1:被打”和“北大” 的关联

  小时候喜欢读趣味数理化,所以久有一个小心愿,写一组趣味数据挖掘的科普博文。要把数据挖掘的一些概念讲得通俗有趣,需要好的例子,正搜寻中,一个有趣的、适合解释关联规则的例子就冒出来了。

科学网上三位博主周涛、吕喆、程智在博文中对“狼爸打子成才,把三个子女送进了北大”的事情做了定性分析。

本文借此例来说明数据挖掘中关联规则中支持度、置信度和兴趣度概念,顺便对此事做个定量分析, 同时也作为趣味数据挖掘系列博文的开篇。

这个关联规则可写成下列形式:

  • R1: 被打 –> 北大, 支持度 s=, 置信度 c=

或反过来

  • R2: 北大 –> 被打, 支持度 s=, 置信度 c= (观察因果的角度与R1有所不同)

下面将其计算支持度、置信度的上限,为简单,采用了一些略有放大的粗略假定和估计。

1 支持度 (support)

全国每年高考人数大约1000万人(2008 :1050万,2009:1020万,2010: 957万);把“狼爸”的三个孩子算成同一年进北大(支持度放大三倍),假定同年进北大、且都有“被打”的经历有3K名(支持度大约放大3K倍)。于是,全国考生中 “被打”且 “进北大” 的支持度s 为:支持度 s = 3K/107 =3K*10-7

狼爸的故事表明,这里k≥1, 据常识估计K<10 ( 如果轻率放大K,北大学生会提出抗议,幸好,这里只是反面的假定 ),于是:支持度 s < 3*10-6 (支持度没有因果方向, 对R1和R2都适用)

对这样的概率比较小的事件,成熟彩民也会只当做娱乐,实在不值得媒体大惊小怪。

2 计算“北大–>被打”的置信度 (confidence)

2.1 在北京大学内计算

规则R1“被打–> 北大” 的置信度计算稍有点难, 留到2.2小节解析。

我们先计算 R2:“北大–>被打”的置信度,它也同样能说明某种关联,北大本科生 14000人(大约),平均每年收学生3500人,设其中挨过家长打的有3K人(1≤k<10),没有挨打的不少于3470人,则:

  • 北大–>被打, 置信度为 3K/3500 < 0.86%
  • 北大–>不被打, 置信度为 3470/3500 > 99.14%

可见,“被打”和“北大”的关联 很小,不足为信,当不得真。

2.2 计算“被打–>北大”的置信度 (confidence)

如上面假设,假定 同年全国被打的N名,其中进入北大的3K名(如上估计,0≤k<10)则

R1: 被打–>北大, 置信度 = 3k/N ,

  • 如果N很大,k>0,置信度就比较小(不敢轻易估计N的具体数值,但不希望N大,那是教育的悲剧),
  • 如果N不太大,K>0,置信度就比较大。
  • 如果某年,k=0,不管N是多大,那一年“被打–>北大”的置信度 为0.

2.3 在该家庭范围内计算,兼议规则的兴趣度:

“狼爸”有四个孩子(不知为什么能够超生),估计四个都挨过打,三个上了北大

被打–> 北大, 支持度 0.75, 置信度 0.75。 (1)

这条规则一旦走出其家门, 就不成立了。所以,准确表达为:

(该家,被打) –> 北大, 支持度 0.75, 置信度 0.75。 (2)

为了说明其无意义,我们还可以挖掘出一条千真万确的关联规则:

(该家子女,每天吃饭) –> 北大, 支持度 0.75, 置信度 0.75。 (3)

如果把“每天吃饭”改为任意的保健品,关联规则也成立,比“打”更具有有诱惑力,说不定还有经济效益。这条无意义的关联规则,说明需引入关联规则的兴趣度,此概念稍复杂,只简介其大致思想。

当关联规则左边是多个项,如上面的(3)式,可以用减项法测试每个项的贡献,这类似过敏疾病患者判断过敏源,左边甚至可以减少到空集。在(3)式中,

(a)把“每天吃饭”去掉, 不减少支持度和置信度,说明此项冗余;

(b)如把“该家子女”去掉,则相当于在全国的大数据集上挖掘, 支持度和置信度立刻大减,说明这个项是至关重要的。

如果一个关联规则中,每一个项都是重要的,这个关联规则基本上是有意义的。

3 错误的挖掘结论

这里有几个估计,(1) 所谓的“打”,实际上是高高举起,轻轻放下,是严格的指代词,还不是那种打得皮开肉绽的打(那样会打掉尊严和信心,就悲剧了);(2)老大比较懂事;(3)老大对老二老三的影响远胜于老爸打的效果。“狼爸”在挖掘关联规则时候,忽略了这一因素,“父假长子(女)之威”,用数据挖掘的行话,犯了“No interesteness” 的错误(这是一个稍复杂的概念),得出了错误的挖掘结论。

4 一个支持度和置信度都很高的关联规则

在输入文本的纠错技术中,常关注词与词的发声关联,或谐音关联,“被打”和“北大”的普通话发音都是“beida”,用拼音输入法时候,二者容易混淆,又例如,本博文在输入最后一节小标题“辨才需待七年期”时,曾把 “辨才”输入为“辩才“(谢谢22楼的朋友的指正),纠错软件会把近音词按近似度排序列出。因为在语音近似的意义上:

被打–> 北大,支持度 100%, 置信度 100%

于是,在用拼音方法输入“被打”之后,作输入纠错检查时,软件列出候选词中的Top 1 就是“北大”,或许可以作为中学生被打后的一种安慰。

这一技术在处理网络文本,微博挖掘时也很有用,如规范 “悲剧 Vs 杯具”,“p2p Vs. P-to-P”,”U Vs. YOU“,以及许多网络同声缩略语等等。

5 曾经言必称啤酒尿布

过去讲关联规则时候,常常用啤酒尿布的故事,有三个要点:

(a)表象分析:说,沃尔玛通过抽象的销售数据挖掘,发现啤酒和尿布常被男性顾客们同时购买,在挖掘出来的若干条形如 ( Xi–>Yi ,s= c= ) 的规则中,这一条支持度和置信度都比较高;

(b)内在联系 (这不属于数据挖掘,而属于管理)调查发现,婴儿之父下班为孩子买尿布时顺手买回自己爱喝的啤酒;

(c )促销措施 (属于促销手段),把啤酒和尿布放在同一个货架 ,或进一步地,把啤酒降价,把尿布涨价,吸引婴儿之父的消费。

现在人们认为,这只是一个故事,或许,“狼爸”的例子更贴近,更容易消除对概念的误解。

6 猜自然之谜时,数据挖掘虽属无奈之举,却很有效

在人们没有掌握行星运动规律之前,人们从历史观测数据去找规律,找匹配。第谷是一位实验天文学家,历经40年观察,积累了关于行星运动的大量数据。

开普勒在第谷的四十年数据上,用手工作数据挖掘,挖掘了十年,发现了行星运动三大定律。 Candida Ferreira采用基因表达式编程(GEP)方法,用10个 个体, 进化50代,只需要少得多的数据,几秒钟就可完成(参见文献[1],P253-257 )。有了这个定律,如今计算某个行星的位置,就不再需要数据挖掘,而直接用公式了。所以数据挖掘是在不知道规律时,而要猜自然之谜时的无奈之举。

如今,未破解的自然之谜还很多,数据挖掘虽属无奈之举,却很有效,挖掘出正确的表达形式(公式,定律等)后,再设法用理论或模型 来作动力学的或构造性的解释。

上面的分析表明,数据挖掘能从能从一些平常熟视无睹的事实中,挖掘出令人惊奇的结果。所以,有些国家把数据挖掘专业看作是敏感专业,出国学数据挖掘的学生去办留学签证时,常常被Check ,复查,偶尔也听说过被拒签。

7 辨才需待七年期

“狼爸”的三个子女进了北大,还不能就说是成功了,今后还要作科研,找工作,也许还要读研,写论文…, 等待他们的竞争还多,要等将来工作上出成果了,才算成功。

有道是:试玉要烧三日满,辨才需待七年期。希望他们在七年或者十年之后能真正成才,那时的成才,与现在的“打”,实在是没有什么关联了。

参考文献
[1] Candida Ferreira,”Gene Expression Programming ,Mathematical Modeling by an Artificial

Intelligence”,Second, revised and extended edition,P253-257 ,Springer,2006 ,ISSN print

edition: 1860-949X,ISSN electronic edition: 1860-9503 ,Library of Congress Control

Number: 2006921791.

作者:唐常杰,四川大学,计算机学院,教授

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(1)
小胖的头像小胖编辑
上一篇 2016-05-31 10:36
下一篇 2016-06-01 23:01

相关文章

  • 网站分析与互联网数据分析挖据的区别

    Nancy推荐:关于网站数据分析,一般都会借助第三方分析工具,个人比较推荐99click旗下的siteflow,分析数据指标比较全面,虽然按流量来收费,但是要比免费的GA,使用起来省力很多,而且比较适合商用。另外从这个工具中自己也可以学习到很多网站分析的方法。 一直以来有不少朋友来信或留言,询问网站分析WA(webAnalysis)与互联网数据分析挖掘的区别…

    2015-01-08
    0
  • 说说数据挖掘算法工程师的三重境界

    文/不周山 王国维的人生三重境界快被人们念叨烂了,资深文艺青年都已经不爱提这个,但把这种分法做个跨学科应用,倒是能看到一些新奇的东西。 十一前帮新东家在北京做了一轮校园招聘的算法面试官。虽然面试多年,但这还是我第一次如此密集地从事这项工作——一周时间里马不停蹄地面试了数十名候选者。长时间做一件事情,再结合原来类似的背景和经历,通常会发酵出一些东西,于是就有了…

    2015-03-24
    0
  • R语言分析老九门到底谁是主角

    我一直认为佛爷(陈伟霆)是主演,也让我对这二位谁是主角产生的好奇,于是决定用R语言进行文本统计一下,证明谁是男1,谁是男2。

    2016-08-01
    0
  • 趣味数据挖掘系列4:巧挖科学博客之均击量公式,兼谈干预规则

    为消除疲劳,现来一段有趣的、与博友的自尊心和荣誉感相关的博文,议题是:挖掘科学博客的平均点击量公式,以及提高平均点击量的方法。

    2016-06-02
    0
  • 对业务和用户的理解,是数据挖掘“皇冠上的明珠”

    数据挖掘有很高的专业门槛;然而用研、产品、运营们也不一定就会被数据科学家们“碾压”了。这篇文章不是数据挖掘教程,而是让用研、产品、运营及其它相关岗位的同学了解: 数据挖掘的特点; 数据挖掘可以做哪些事情、有什么应用价值; 要发挥数据的价值,你们应该怎么与数据挖掘岗协作,你们不可替代的价值在哪里。 文章有点长,良心出品,实在没时间看完全文的同学可以有选择地看。…

    2016-06-24
    0
关注我们
关注我们
分享本页
返回顶部