专栏首页大数据文摘[译]贝叶斯生存分析之“权利的游戏”

[译]贝叶斯生存分析之“权利的游戏”

大数据文摘翻译作品

作者: Allen Downey

翻译:Cheng Kun

校对:孙沁(kiki)

欢迎个人转发朋友圈;其他机构或自媒体转载,务必后台留言,申请授权

去年秋天我在欧林学院讲授贝叶斯统计的入门课。我的学生们正在做一些优秀的项目,我便邀请他们来写出项目结果,作为我博客的特邀文章。

其中一支团队将贝叶斯生存分析运用到“冰与火之歌”的人物角色上,,这个系列由乔治•马丁所写。利用前五本书里的数据,他们为每个角色在即将出版的书中的命运,即是生是死,一一作了预测。

权力的游戏第五季将在4月12号播出,我们认为现在是个好时机来公开他们的预测报告。

贝叶斯生存分析之“权利的游戏

冰与火之歌这一系列被普遍认为“很残酷很极端”。在马丁的笔下,无论好坏老幼,主角配角,谁都有性命之虞。这个和“柯南”齐名的名声可不是空穴来风; 马丁的世界里916个有名字的角色,三分之一已经死亡,更不用说还有很多无名亡魂。

在这个报告中,我们来仔细看看小说中的死亡模式,并创建一个贝叶斯模型来预测角色在接下来的两本书里的生存概率。

通过使用冰与火之歌的维基数据,我们创建了一个数据集,包括了已出版的小说中所有的916个角色。对每一个角色,我们会统计他们第一次出现的章节和书目,是男性还是女性,是贵族还是平民,他们忠于哪一个家族,以及如果适用的话,在哪一章和哪一本书中死亡。我们使用这些数据来预测哪些角色将在未来的几本书中生存。

方法论

我们利用第七本书的内容,运用韦伯分布来推断人物的生存概率(韦伯分布:可以利用概率值很容易地推断出它的分布参数,被广泛应用与各种寿命试验的数据处理)。韦伯分布提供了一种风险函数模型,用于衡量在特定的年龄死亡的概率。韦伯分布取决于两个参数,k和lambda(^),这两个参数决定了其曲线的形状。

为了估计这些参数,我们从先验分布开始。对于活着的角色,我们记录其k或lambda值,通过比较计算韦伯分布与角色的风险函数,用来预测该角色还活着的事实。对于死去的角色,我们用同样的对比方法来检查参数是如何预测他们的死亡时间。

用于更新这一分布的主要代码是:

classGOT(thinkbayes2.Suite, thinkbayes2.Joint): def Likelihood(self,data, hypo): """Determineshow well a given k and lam predict thelife/death of a character """ age, alive = data k, lam = hypo if alive: prob =1-exponweib.cdf(age, k, lam) else: prob =exponweib.pdf(age, k, lam) return prob def Update(k, lam,age, alive): """Performsthe Baysian Update and returns the PMFs of k andlam""" joint =thinkbayes2.MakeJoint(k, lam) suite = GOT(joint) suite.Update((age,alive)) k = suite.Marginal(0,label=k.label), lam =suite.Marginal(1, label=lam.label) return k, lam defMakeDistr(introductions, lifetimes,k,lam): """Iteratesthrough all the characters for a given k and lambda. It then updates the k and lambda distributions""" k.label = 'K' lam.label = 'Lam' print("Updatingdeaths") for age in lifetimes: k, lam = Update(k,lam, age, False) print('Updatingalives') for age inintroductions: k, lam = Update(k,lam, age, True) return k,lam

对守夜人军团的观察,形成了如图3所示的后验分布。

图3:lambda的分布相当集中,约0.27,但k的分布更加分散。

为得出存活曲线,我们参照k和lambda的值,以及每个参数的90%可信区间。再使用原始数据绘图,得出可信区间,根据后验方法绘出存活曲线。

琼恩•雪诺

使用此分析方法,我们可以开始预测单个角色的存活概率,比如琼恩•雪诺。在《魔龙的狂舞》这本书的结尾,守夜人的生存可信区间(图4)是36%到56%。生存几率并不乐观,但琼恩•雪诺仍然活着。即使琼恩能活到第五本书的结尾,他能安然度过接下来的两本书的几率也已下降到30%和51%之间。

图4:数据被可信区间紧密包围着,中值曲线是一个合理的近似值。

然而值得注意的是,琼恩不是具有代表性的守夜人。他有着高贵的教育背景,并且训练有素,实力出众。考虑到守夜人的家庭,排位,教育,同样的分析方法得出只有一个守夜人是贵族。

在守夜人军团里只有11名贵族,所以可信区间如图5所示的宽度是可以理解的,但是, 最精确的生存曲线近似值表明,一个贵族背景并不会增加守夜人的存活率。

图5:当守夜人军团包括贵族成员时,下界的可信区间显著扩大,变得非常接近于零。

冰与火之歌里的大家族

90%的可信区间为大部分主要的家族占据。包括9大家族,守夜人,野人,还有一个“无家族”的类别,包括了所有未结盟的角色。

图6:90%可信区间,包括艾林家族(蓝色),兰尼斯特家族(金色),无家族(绿色)和斯塔克家族(灰色).

图7:90%可信区间,包括提利尔家族(绿色),徒利(蓝色),拜拉席恩(橙色),和守夜人(灰色).

图8: 90%可信区间,包括马泰尔家族(橙色), 坦格利安家族(栗色),葛雷乔伊家族(黄色),野人(紫色).

如图6-8所示,这些区间证明艾林、提利尔和马泰尔家族有更高的生存概率。支持这一结果的证据是,这些家族都远离书中的大多数主要冲突,不过这也意味着有更少的信息可供分析。对于这几个家族来说,我们只有5个或更少的死亡例子,所以他们的生存曲线没有很多数据点。这种不确定性反映出更大的可信区间。

相比之下, 我们的在北方的朋友, 考虑到书中他们树敌众多,他们队伍里还有许多重要人物,斯塔克家族,守夜人,野人有着最低预期存活率和较小的可信区间。这种分析方法考虑到整个家族的情况,但也有另外的方法来筛选角色。

男性和女性

冰与火之歌中受到称赞的一个原因是其中的女性角色丰富多样,但比起女性角色 (157位)仍然有更多的男性角色(769位)。尽管拥有更广泛的可信区间,女性角色的继续存活可能性可能比男性更乐观,远高于男性的幸存人数,如图9所示。

图9:维斯特洛家族的女性比男性更容易幸存。

阶层

不同于性别间的差异,贵族(429位)与平民(487位)之间的生存比例相近,由此提供了有趣的比较分析。图10显示,更多平民更可能在初登场后就很快死去,而那些在登场后活下来的平民,之后会活很长一段时间,幸存概率更可能会超过贵族。

图10:贵族初登场时,可能有微弱优势,但他们的生存概率会继续下降,与同等概率水平平民的曲线相比,贵族曲线下降速度更快。

具体角色

同样的分析方法可以扩展到具有共同特征的群体,按性别、家族、阶级分类,从而为单个角色提供粗略分析模型。艾莉亚•斯塔克,作为书中最受欢迎的人物之一,许多读者都非常好奇她未来的命运。这位女贵族忠于斯塔克家族,这一家族还包括其他高人气角色,如珊莎斯塔克和塔斯家族的布雷妮(虽然她在后面的书中才登场)。其他值得探索的有趣人物是兰尼斯特的贵族瑟曦,和可怜的弥塞拉•拜拉席恩。事实证明,并没有很多女贵族死亡。为了得到特定女性角色的更精确的可信区间,我们使用了贵族和平民女性的所有数据。

图11:虽然两组都有较大范围的生存概率,兰尼斯特的贵族却可能比斯塔克斯家族更容易死亡。

在图11中给出的数据是不确定的,但看起来艾莉亚比瑟曦的生存几率略高一筹。

两个配角分别是野人的公主瓦尔,和神秘的魁蜥,我们非常好奇她们的命运。

图12:表示次要人物的生存曲线, 魁蜥和瓦尔有截然不同的生存几率。

比起斯塔克斯和兰尼斯特家族,这两个人物都有更多的数据,但是她们也有难以分析的地方,即她们并未在这个系列的开始就登场。瓦尔在第二本书第一章中登场,所以她在整个系列里幸存下来的机会在10%和53%之间,这并不是鼓舞人心的的数据。

魁蜥在第一本书第二章中登场,她活下来的机会是58%到85%,明显优于瓦尔。这些曲线在图12中可以清楚的看到。

对于大多数的男性角色(除了曼斯•雷德),有足够的数据用来缩小家族,性别和阶级差别。

图13:众多角色中,不同阶层和联盟男性的生存曲线如图所示。

图13显示了兰尼斯特的兄弟有35%到79%的中等生存机会。达里奥•纳哈里斯数据相对不够准确,但是看起来幸存的希望不小,特别是考虑到他在第二本书的第五章节才登场。曼斯似乎有着最低的生存几率可以活到结尾,他在第二本书第二章节登场,生存的机会在19%至56%之间。

图14: 众多角色中,不同阶层和联盟男性的生存曲线如图所示。

而另一些人物,很多读者并不介意看到他们一命呜呼的结局,包括瓦德•佛雷侯爵和席恩•葛雷乔伊。然而,图14显示他们并不一定会死于非命 (或许对瓦德•佛雷侯爵来说,死亡是非常及时的解脱)。席恩似乎可以生存到最后。瓦德•佛雷侯爵在书的五分之二处登场,幸存几率在44%到72%。现在, 霍斯特•徒利可能是唯一可以老死的角色,所以也许佛雷侯爵也能活到最后。

结论

当然 ,在接下来的两本书中,谁生谁死更多是由情节和故事发展决定,而非统计数据。尽管如此,使用我们的数据,能看到不同角色之间生与死的可能性。对于某些人物,尤其是男性,我们能够做出具体的预测,推测他们在未来的小说中可以活多久。而由于数据量不足,女性角色和非中心家族人物的命运还难以判定。

我们的数据和代码都可以从GitHub数据库中找到。

关于数据集的一些注意事项

大多数角色被分类相当容易,但总有模棱两可的情况。

  1. 性别——这是最直接的方式,书中没有性别模糊的角色。
  2. 贵族——维斯特洛的大小家族都算贵族,但雇佣的骑士就不是贵族。对于厄索斯大陆的角色,我使用最通俗的判断方法——基于金钱和权力,它通常是一个简单的调用方式。野人,我认为军事领导人是贵族,尽管这通常是模糊的边线。守夜人军团,我以他们加入军团前的地位来判定,和判断来自维斯特洛的角色方法一样。对于私生子的阶级判定,我们因人而异。生长在贵族家庭,接受了教育和贵族培训的私生子,也算作贵族。因此琼恩•雪诺是贵族,但像詹德利这样的人物就不是贵族。
  3. 死亡——可能复活的人物(如贝里•唐德利恩)在第一次死亡时会被判定为死亡。幽魂不算活人,但其他人算。对于不确定是否死亡的主要人物,我们会单独讨论并得出最终结论。
  4. 家族——这是最棘手的,因为有些人忠诚于多个家族或更改过效忠对象。我们决定根据实际情况逐一进行分析。三个主要的没有明确效忠对象的角色分组:

l  不效忠于坦格利安家族且来自埃索大陆的人物。

l  河间地的人物,要么是没人知道效忠于谁的平民,要么是无旗兄弟会,或忠诚度模棱两可的勇士团。

l  贵族,大多是追逐个人利益,典型代表是佛雷家族, 拉姆斯波顿或者培提尔•贝里席。

原文:http://allendowney.blogspot.com/2015/03/bayesian-survival-analysis-for-game-of.html

【译者简介】

有意联系译者,请给“大数据文摘”后台留言,附自我介绍及微信ID,谢谢!

孙沁(Kiki), 美国留学五年,现Emory University生物统计硕士在读。对Clinicaltrails,CancerPrevention, HIV/AIDS以及Food Science/Nutrition等领域很感兴趣。毕业后希望在Pharmaceutical/ Biotechnological/ Healthcare Industries/Hospital工作,也想尝试医疗健康方向的咨询工作(LifeScience Consulting)。希望结交对医疗数据有兴趣的朋友,也希望大家帮忙推荐此方向的实习和工作机会给我。

本文分享自微信公众号 - 大数据文摘(BigDataDigest)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【44页图文并茂】中国移动互联网调查研究报告

    大数据文摘
  • 学界 | 全流程!清华博导给出的学术论文写作方法和技巧(244页)

    论文的写作与发表是每个研究生都必须走的路。如何写出好的学术论文呢?来自清华大学的清华大学计算机科学与技术系长聘副教授、博士生导师刘洋老师在近日公开了他在某次大会...

    大数据文摘
  • 回国创业or留在硅谷?知名投资人聊中美创业异同

    大数据文摘
  • [Go小技巧] 实现Go经典的消息队列处理协程

    (adsbygoogle = window.adsbygoogle || []).push({});

    henrylee2cn
  • 应不应该使用inline-block代替float

    CSS布局创建网站,浮动绝对占据了很大的比例.大块区域如主内容及侧边栏,以及在其中的小块区域,都可以看到浮动的影子.这里浮动是唯一的解决方案吗?

    bear_fish
  • Jmeter(十) - 从入门到精通 - JMeter逻辑控制器 - 中篇(详解教程)

    Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are ...

    北京-宏哥
  • Dell R720xd手动设置风扇转速

    最近入手了一台R720xd 3.5寸 12盘位的2U服务器,刚开始的时候感觉噪音还能接受,经过几天的尝试以及和大神的噪音(转速)对比,我终于决定要对风扇转速下手...

    行 者
  • centos7.2部署vnc服务记录

    不做过多介绍了,下面直接记录下centos7系统下安装配置vncserver的操作记录 1)关闭防火墙 centos的防火墙是firewalld,关闭防火墙的命...

    洗尽了浮华
  • python小程序:无限求和平均

    机器学习和大数据挖掘
  • 安卓不再支持华为手机,国外网友怎么看

    据国外媒体报道,谷歌母公司Alphabet已按特朗普要求,停止与华为相关的业务和服务,涉及硬件、软件和技术服务,包括旗下手机操作系统:安卓。

    挖数

扫码关注云+社区

领取腾讯云代金券