疾病监测与贝叶斯


  • 疾病监测与贝叶斯

    • 问题引入
    • 问题分析
    • 贝叶斯公式
  • 总结

问题引入

举个例子,我们去医院检查某种疾病,一般都会让你做个检查,检查的结果,有可能是阳性,也有可能是阴性。通常呢,我们是不大希望是阳性的,这意味着我们患病的可能性非常大,一般人看到阳性后,都比较恐慌。
假如有一台机器,通过对患者血液的分析(检测结果阳性或者阴性),来判断一个人是否有艾滋病。如果一个人是艾滋病患者,那么检测后,结果显示为阳性的概率为99%。如果一个人不是艾滋病患者,那么检测后,结果显示为阳性的概率为1%(即该设备的可靠性是99%)。
那么问题来了,如果一个人经过检测后,检测结果是阳性。那么这个人是艾滋病患者的概率有多大呢?
首先,大家从直觉出发,可能认为既然这个设备的准确率是99%。那么这个人经过设备的检测是阳性,则他得病的概率应该是非常大。那么,我们来具体分析下这个问题

问题分析

处理任何问题,都是需要方法论的,我们不能总是靠灵感或者是感觉去分析问题,所以我们先对这个问题进行分解,那么首先定位人群是如何的。
- 人分为:得病的人 VS 无病的人
- 得病的人分为:正确被预测的人 VS 错误被预测的人
- 无病的人分为:正确被预测的人 VS 错误被预测的人
(读者可以自行画个图,拓扑图或者脑图)

上面写的稍微抽象了些,下面我来举个例子,假设总人口是1000000,患艾滋病的概率是 110000 \dfrac{1}{10000}。因此可以理解为患病人数为100人,未患病人数为990000。对于100名患者而言,由于检测的准确率是99%,则99人检测是阳性。有病并且可以正确的检测出来,我们称之为正确发现(True Positive)。对于990000个未患病的人来说,由于这个设备有1%的错误率,则有9900个人被检测是阳性(False Positive)。则总共检测是阳性的人数是9999个,真正的患病人数才是99个。那么如果检测结果是阳性,那么他得病的可能性仅仅是1%。
贴个图:

所以即使检测出是阳性,也不要过分紧张。

贝叶斯公式

下面我们进行公式推导,假设

  • H代表患病;
  • H′ H^{'}代表未患病;
  • P代表检测结果是阳性;
  • P′ P^{'}代表检测结果是非阳性;

我们需要求: p(H|P) p(H|P) ,根据条件概率、全概率公式、贝叶斯公式可推导:

p(H|P)=P(H)P(P|H)P(P)=P(H)P(P|H)P(H)P(P|H)+P(H′)P(P|H′)

p(H|P) = \dfrac{P(H)P(P|H)}{P(P)}= \dfrac{P(H)P(P|H)}{P(H)P(P|H) + P(H^{'})P(P|H^{'})}

按照上面的例子

  • P(H)=110000

    P(H) = \dfrac{1}{10000}

  • P(P|H)=99100

    P(P|H) = \dfrac{99}{100}

剩下的大家自己计算吧。

总结

问题分析到现在,也许有人会问。既然检测结果是呈阳性,仍然不能判断这个人是否患病,那么这个意义何在呢?那么我们来分析下,首先,从人群中任意抽出一个人,其患病的概率是 P(H)=110000 P(H) = \dfrac{1}{10000},如果结果呈现阳性,那么患病概率提高100倍。这个就是这个检测的意义所在。

疾病检测与贝叶斯应用相关推荐

  1. 【突变检验方法二】MATLAB实现贝叶斯突变检测

    MATLAB实现贝叶斯突变检测 1 贝叶斯突变检测 2 原理 3 MATLAB相关代码 3.1 调用函数 3.2 案例 参考 另:其它语言实现贝叶斯突变检测 1 贝叶斯突变检测 贝叶斯突变检测属于概率 ...

  2. ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测

    ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测 目录 输出结果 训练数据集 设计思路 核心代码 输出结果 测试01:I love you ...

  3. 朴素贝叶斯—疾病的预测

    1. 朴素贝叶斯理论基础 贝叶斯决策理论方法时统计模型决策中的一个基本方法,基本思想如下: (1)已知类条件概率密度参数表达式和先验概率 (2)利用贝叶斯公式转换成后验概率 (3)根据后验概率大小进行 ...

  4. 贝叶斯网络应用实例一:胸部疾病诊所

    转自:http://blog.sciencenet.cn/blog-82650-255141.html 以下内容摘录自www.norsys.com,根据实例内容意译译文. 贝叶斯网络应用实例一:胸部疾 ...

  5. 朴素贝叶斯算法检测DGA

    僵尸网络&恶意软等程序,随着检测手段的更新(在早期,僵尸主机通产采用轮询的方法访问硬编码的C&C域名或IP来访问服务器获取域名,但是这种方式在安全人员进行逆向之后会得到有效的屏蔽),黑 ...

  6. 机器学习:用于恶意软件检测和分类的朴素贝叶斯规则

    本文转载自:https://resources.infosecinstitute.com/machine-learning-naive-bayes-rule-for-malware-detection ...

  7. 论文笔记: 贝叶斯在线变点检测:An intuitive understanding

    目录 0. 前言0 1. 前言 2. Overview of BOCD 3. Possible extensions 4. References 5. 后记 0. 前言0 本文是关于一篇关于贝叶斯变化 ...

  8. 朴素贝叶斯算法代码实现(垃圾邮件检测)

    1.文本预处理 (1)分词 首先需要对文本进行分词操作,转换为list,同时词语全部小写,并去除字母数量小于等于2的单词 # 将词切分为list def textParse(input_string) ...

  9. 《数据科学家养成手册》--第十一章算法学2---(非监督,监督贝叶斯概率以及损失函数)

    11.8 机器学习-----自动归纳 数据挖掘是随着商务智能发展起来的一种相对比较新的一种算法学科. 只知道自己想学习的是数据挖掘和大数据,但是真的说出个所以然自己真的办不到.现在说是一种算法学科,忽 ...

  10. 独家 | 一文读懂概率论学习:贝叶斯理论(附链接)

    作者:Jaime Zornoza 翻译:李 洁 校对:郑 滋 本文长度约为3400字,建议阅读10分钟 本文为大家详细介绍了概念学习中常见的贝叶斯理论. 通过一个简单示例,了解概率的基本定理之一. 本 ...

最新文章

  1. 网页性能优化之异步加载js文件
  2. 深入解析String#intern
  3. 【研发管理】为什么你的高效交付,却没有好的业绩
  4. linux 压缩解压归档
  5. 数据库系统(五)——数据库设计
  6. Boost::context模块fiber的throw测试程序
  7. struts2 常用标签的一般用法
  8. 2016十大优秀jQuery插件推荐
  9. 现在装修还有必要铺设网线吗?
  10. python框架实例,从零构建一个简单的 Python 框架
  11. few-shot learning, zero-shot learning, one-shot learning,any-shot learning, C-way K-shot,Meta-learn
  12. Word 模板引擎 poi-tl
  13. 感动的要哭了(不得不看)
  14. arraylist 线性不安全_Java面试系列(一)--集合类ArrayList
  15. MyBatis-Plus学习
  16. K8S集群Calico网络组件报错BIRD is not ready: BGP not established with
  17. 【安全资讯】引爆点:过去2020年勒索软件攻击激增62%
  18. 如何完整删除Windows.old(详细教程)
  19. 强大的虚拟音频器:Loopback for Mac
  20. 批量修改文件后缀名 文件扩展名

热门文章

  1. Unity一键压图插件开发
  2. python中的实用案例
  3. PDF转图片以及转html
  4. EventBusException:Subscriber class and its super classes have no public methods with the @Subscribe
  5. DM8 Linux 服务脚本
  6. 初学unity 3D-按钮点击事件触发函数
  7. Pytorch之经典神经网络语义分割(3.2) —— ASPP 空洞空间金字塔池化(atrous spatial pyramid pooling )
  8. PAT-ADVANCED1025——PAT Ranking
  9. 使用mat排查Android项目中的内存泄漏
  10. H5在微信/QQ/安卓/IOS拉起app-直接唤醒跳进去!