《冰与火之歌》书迷遍布全球。该小说凭借其丰富的人物设置受到广大书迷青睐。然而,在马丁( Martin )笔下,无论好人、坏人,主角、配角都难逃命运的捉弄。除不计其数的无名小卒外,马丁的世界里有916位有名字的角色,其中三分之一都已以各种方式结束了自己在小说中的生命。本文中,我们将进一步探究小说人物的死亡模式,建立贝叶斯生存模型来预测各角色的死亡概率。

本文数据来自冰与火之歌维基( A Wiki of Ice and Fire )。依据该数据我们创建了截至目前书中出现的916名角色的数据集。用人物首次出现的章节,性别,是否为贵族,所属势力,死亡的章节(若已故)作为解释变量来预测这些角色在未来两本书中的存活情况。

方法论

采用Weibull 分布外推在7本书中的各个角色的生存概率。Weibull分布提供了一种建立危险函数( hazard function )模型的方法。而危险函数主要测量人物在特定“书龄”上的死亡概率。Weibull分布主要依赖与两个参数,k和lambda,这两个参数决定了Weibull分布的形状。

在参数估计之前我们选取均匀分布作为先验概率。对于尚存角色,分析k和lambda如何描述人物的存活状况;对于已故人物,分析参数如何预测人物死亡时间。

对守夜人( Night’s Watch ),生存概率的后验分布如图1

图1:lambda的分布比较紧密(在0.27附近),K的分布比较宽松

接下来,本文通过生存曲线分析人物的生存情况。为与生存曲线相联系,计算k和lambda的均值以及90%的置信区间。进一步,绘制原始数据和基于后验均值的生存曲线以及置信区间。

个人分析:雪诺( Jon Snow )

采用贝叶斯生存分析方法可以预测个性化人物(例如雪诺)的生存情况。在卷五:魔龙的狂舞( A Dancewith Dragons )结尾,守夜人生存的置信区间为0.36到0.56。Jon能活下来的估计并不乐观。即使Jon可以顺利活过第5本书,他在接下来的两本书中存活的概率将降到0.3到0.51。

图2:置信区间紧紧围绕在真实数据周围,均值为合理预测

值得注意的的是Jon并非守夜人的普通一员。他受过良好的教育,拥有精良的武器和战斗技能。接下来,将样本选为守夜人中家族地位显赫,教育良好的贵族。守夜人中只有11人为贵族。所以置信区间(如图3所示)非常分散,最优近似( Best Estimate )显示贵族背景并不能提高守夜人的生存率。

图3:当只有贵族角色时,生存曲线的置信区间显著加宽,概率置信区间下限非常接近0

家族因素

接下来,我们分家族研究人物的生存情况。这里包括9个主要家族,守夜人,野人( the Wildlings ),和其他( a “None” category,指无法归入某类势力的人物)。

图4 :Arryn (蓝),Lannister (金),None (绿)及Stark (灰)的生存概率

图5:Tyrell (绿),Tully (蓝),Baratheon (橘)及Night’sWatch (灰)生存概率

图6:Martell (橘),Targaryen (栗色),Greyjoy (黄)及Wildling (紫色)生存概率

图4、5、6的置信区间表明艾琳家族( Houses Arryn )、提利尔家族( Houses Tyrell )以及马泰尔家族( Houses Martell )有较高的生存率。主要原因是其远离书中主要冲突,不过这也意味着这些家族信息较少,我们只有至多5个死亡成员样本,所以生存曲线并没有包含足够的样本点。信息量的稀疏体现为较宽的置信区间。相反,北境诸侯( in the north )、史塔克家族( the Starks )、守夜人和野人这些家族(或势力)有较低的生存曲线和较窄的置信区间。他们在情节主线中占据主要篇幅,许多重要人物都是他们的一员。

男女(性别因素)

书中塑造了丰富的女性角色,但依旧以男性人物为主(男女比例为769:157)。女性生存概率的置信区间较宽,但是其生存状态显著好于男性。如图7。

地位(阶层)

小说中贵族和贫民人数差距很大,其生存曲线也展现出不同态势。如图8所示,平民倾向于在出场阶段迅速死亡,若能安全度过“介绍期”则将存活较长时间,甚至生存概率会高于部分贵族。

图8:贵族在介绍期存活的概率较大,但生存概率的下降速度要大于平民

个性角色分析

利用本文提及的方法,可以结合性别,家族,地位等复合因素提供针对个体角色的粗糙预测模型。在书中给一个非常受欢迎的角色是艾莉亚( Arya ),许多读者关心她在书中的命运。史塔克家族的贵族女性中还包括一些值得注意的角色如珊莎( Sansa )和布雷妮( Brienne,宣誓效忠于史塔克家族,虽然她后来才被介绍)。另外,皇后瑟曦( Cersei )和可怜的弥赛拉( Myrcella )也十分令人着迷。为了得到生存曲线的准确区间估计,我们将贵族女子和平民女子的数据加以综合。

图9:各组置信区间都比较宽松。与史塔克家族相比,兰尼斯特( Lannister )家族的贵族女性死亡可能性更高。虽然信息不明确,但艾莉亚会比瑟曦活得久一些

此外我们还关心两个小角色,野人公主瓦迩( Val )和神秘的魁蜥( Quaithe )。她们并不是故事一开始就出现,所以分析相对比较复杂。瓦迩在章节2.1中被引入,她在整个时序中存活的概率在0.1到0.53之间。魁蜥在章节1.2中首次出现,她的生存概率为0.58到0.85,明显高于瓦迩。

图10:代表一些小角色的生存曲线,魁蜥和瓦迩有不同的生存曲线

有足够的数据能够区分大多数男性角色的家族、性别和地位,以绘制他们的生存曲线。图11显示,兰尼斯特兄弟的生存曲线居中,在第七本书的生存概率为0.35到0.79。达里奥( Daario )生存曲线的置信区间较宽,但考虑到他是在章节2.5中才出现,所以存活概率较大。曼斯( Mance )的存活概率最不容乐观。曼斯在章节2.2故事中登场,他的存活概率为0.19到0.56。

图11:不同地位、联盟的男性角色的生存曲线

有一些角色,我们期望看到他们一命呜呼,但是图12显示他们还要活很久。希恩( Theon)似乎会痛苦的活着直到到结局。瓦尔德·弗雷( Walder Frey )在章节0.4中初次登场,存活的可能性为0.44到0.72之间。目前为止,霍斯特·徒利( Hoster Tully )可能是唯一一个死于衰老的人,所以弗雷将有可能活到结局

图12:不同地位、联盟的男性的生存曲线

总结

孰生孰死在故事中充满变数,但从现有数据中,我们可以观察到不同组别下人物生死的模式。对于一些特定角色,尤其是男性角色,我们可以对他们在未来的故事中的遭遇做简单预测。但对于数据较少的、非主要家族的女性来说,预测的准确性则有待商榷。

本文内容翻译并编辑自 Bayesian Survival Analysis in A Song of Ice and Fire,by Erin Pierce and Ben Kahle. 原文链接:http://www.reddit.com/r/statistics/comments/31oz8n/bayesian_survival_analysis_in_a_song_of_ice_and/.compact翻译:新妍 校对:Jude via:数据工匠


加入Python学习微信交流群

请添加微信:AI_doer

备注:姓名-单位-研究方向

往期文章

假期已过半,是否该重拾心情,继续我们的AI事业啦

年末收藏福利 | 百度的中文问答数据集WebQA

学习 | Python之高级特性:如何写出少而有效的代码

学习 | Python之高抽象的编程范式——高阶函数

学习 | Python之高抽象的编程范式

对话系统原理和实践

请猛戳右边二维码

公众号ID

BetaWater


基于贝叶斯生存分析的《冰与火之歌》人物死亡率分析相关推荐

  1. 推荐系统笔记:基于贝叶斯的协同过滤

    1 问题的限制 & 定义 在本文中,我们假设有少量不同的评级,每个评级都可以被视为一个离散的分类值. 因此,在以下讨论中将忽略评级之间的排序. 例如,三个评分(如"喜欢". ...

  2. MindSpore首发:基于贝叶斯的图神经网络推荐方法,提升新用户和交互稀疏用户推荐的点击率

    BGCF背景简介 针对推荐系统中由于观察数据噪声或不足导致用户与物品的交互不确定性问题,华为诺亚方舟实验室和分布式与并行软件实验室MindSpore团队联合提出了一种基于贝叶斯的图神经网络协同过滤(B ...

  3. 基于贝叶斯算法的邮件过滤管理系统的设计和实现(Vue+SpringBoot)

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  4. 一起自学SLAM算法:7.4 基于贝叶斯网络的状态估计

    连载文章,长期更新,欢迎关注: 写在前面 第1章-ROS入门必备知识 第2章-C++编程范式 第3章-OpenCV图像处理 第4章-机器人传感器 第5章-机器人主机 第6章-机器人底盘 第7章-SLA ...

  5. 贝叶斯网络计算机系统性能建模,基于贝叶斯网络的AIBNS系统建模研究及其应用-计算机应用技术专业论文.docx...

    摘要智能授导系统ITS研究的重点在于增加远程网络教学系统的适 摘要 智能授导系统ITS研究的重点在于增加远程网络教学系统的适 应性和智能性.学生模型是ITS的基础和核心,是其他模块进行工 作的前提.论 ...

  6. 让机器学习手把手指导你的下一步实验-基于贝叶斯优化的序贯实验

    在企业的日常研发工作中, 工程师可能会面对众多潜在影响因子及这些因子间的复杂组合而无所适从,不知道如何通过实验构建这些因子与最终响应间的数学模型.类似困扰常出现在锂电池行业对于电解液配方的研究.医药行 ...

  7. 基于贝叶斯算法的证券市场风险研究

    [摘要] 证券市场风险是指由于受到各种不确定因素引起证券市场价格非理性剧烈变动及证券资产迅速贬值,从而使市场行为主体可能受到损失.风险事件是风险产生的必要条件,是直接导致损失发生的不确定性事件,也是导 ...

  8. m基于贝叶斯理论的超分辨率重构算法matlab仿真,对比Tikhonov重构算法

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 超分辨率(Super-Resolution)通过硬件或软件的方法提高原有图像的分辨率,通过一系列低分 ...

  9. ICCV19 (Oral) | 基于贝叶斯损失函数的人群计数

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文作者:洪晓鹏 https://zhuanlan.zhihu.co ...

最新文章

  1. 软件开发环境-环境用户界面
  2. 5 个针对有经验用户的 Vim 实用技巧
  3. 区块链应用 | 区块链将永久改变法律行业的七种方式
  4. php indexof的用法,c语言中indexof的用法有哪些
  5. 记 Arthas 实现一次 CPU 排查与代码热更新
  6. python第七周答案_马哥2016全新Linux+Python高端运维班第七周作业
  7. 中序遍历的模板(以及变形更新中。。。)
  8. ios不行安卓可以 微信签名_王者荣耀安卓、iOS互通来了!现在可以互看好友资料...
  9. python进阶项目设计_Python进阶循环设计
  10. docker 相关操作
  11. 蓝桥杯第六届国赛JAVA真题----切开字符串
  12. 7-2 jmu-Java-02基本语法-05-浮点数的精确计算 (1 分)
  13. body 没有被撑开_父div没有被撑开,该怎么解决?_html/css_WEB-ITnose
  14. 「leetcode」C++题解:226.翻转二叉树,递归法与迭代法详解
  15. 15.Linux/Unix 系统编程手册(上) -- 文件属性
  16. 关于对H264码流的PS的封装的相关代码实现
  17. 记录点滴23(中秋、国庆篇)
  18. AndroidStudio 编译报错 abc_list_selector_disabled_holo_light.9.png
  19. Web漏洞之CORS与JSONP跨域漏洞
  20. TypeError: __init__() got an unexpected keyword argument ‘rate‘

热门文章

  1. 多模态学习(Multimodal Deep Learning)研究进展综述(转载)
  2. 基于高德地图实现可编辑的电子围栏功能【多边形围栏】
  3. 击碎“基因决定论”和“1万小时理论”认知误区!这本书告诉你怎么快速成长!
  4. sketch生成android布局,让 Sketch 小部件布局如此轻松:Compo
  5. 基于神经网络和小波变换的癫痫脑电诊断比较
  6. 如何使用React Native构建新闻应用
  7. hutool excel导入报错org.apache.poi.ss.usermodel.Cell.getCellType()Lorg/apache/poi/ss/usermodel/CellType;
  8. 《启示录:打造用户喜爱的产品》第一部分 人员6 招聘产品经理
  9. 国外变电站3d可视化技术发展_变电站3D可视化运维管理!
  10. 【激光测距仪方案】激光测距仪的测量原理及作用方法