贝叶斯方法(实例1)——概率分布
频率派认为概率是事件在长时间内发生的频率;贝叶斯派把概率解释成是对事件发生的信心。
如果频率推断和贝叶斯推断是一种编程函数,输入是各种统计问题,那么这两个函数返回的结果可能是不同的。频率推断返回一个估计值(通常是统计量),而贝叶斯推断则会返回概率值。
实例:图书管理员还是农民
故事的灵感来自于Daniel Kahneman的《思考,快与慢》一书,史蒂文被描述为一个害羞的人,他乐于助人,但是他对其他人不太关注。他非常乐见事情处于合理的顺序,并对他的工作非常细心。你会认为史蒂文是一个图书管理员还是一个农民?
从上面的描述来看,大多数人会认为史蒂文更像是图书管理员,但是却忽略了一个关于图书管理员和农民的事实:男性图书管理员的人数只有男性农民的1/20。所以,从统计学来看史蒂文更有可能是一个农民。
把问题简化,假设世上只有两种职业——图书管理员和农民,并且农民的数量确实是图书管理员的20倍。
设事件A为史蒂文是一个图书管理员。如果我们没有史蒂文的任何信息,那么P(A) = 1/21 = 0.047,这是我们的先验。
现在假设从史蒂文的邻居们那里得到了关于他的一些消息,我们称它为X。我们想知道的就是P(A|X),由贝叶斯定理得:
P(X|A)可以被定义为在史蒂文真的是一个图书管理员的情况下,邻居们给出的某种描述的概率。即如果史蒂文真的是一个图书管理员,他的邻居们将他描述为一个图书管理员的概率,这个值可能接近于1,假设它为0.95。
P(X)可以解释为:任何人对史蒂文的描述和史蒂文邻居的描述一致的概率。我们将其改造为: P(X)=P(X and A) + P(X and ~A)=P(X|A)P(A) + P(X|~A)P(~A) 其中~A表示史蒂文不是一个图书管理员的事件,那么他一定是一个农民。
现在我们知道P(X|A)和P(A),另外也可知P(~A)=1-P(A)=20/21。现在我们只需知道P(X|~A),即在史蒂文为一个农民的情况下,史蒂文的邻居们给出的某种描述的概率即可,假设它为0.5,这样 P(X)=0.95*1/21 + 0.5*20/21=0.52
结合以上,P(A|X)=(0.95*1/21)/0.52=0.087
这个值并不算高,但考虑到农民的数量比图书管理员的数量多那么多,这个结果也非常合理了。
具体实现代码如下:
# -*- coding: utf-8 -*-
from IPython.core.pylabtools import figsize
import numpy as np
from matplotlib import pyplot as pltfigsize(12.5, 4)
plt.rcParams['savefig.dpi'] = 100
plt.rcParams['figure.dpi'] = 100
colors = ['#348ABD', '#A60628']prior = [1/21., 20/21.]
posterior = [0.087, 1-0.087]
plt.bar([0, .7], prior, alpha=0.70, width=0.25, color=colors[0], label="prior distribution", lw="3", edgecolor="#348ABD") plt.bar([0+0.25, .7+0.25], posterior, alpha=0.7, width=0.25, color=colors[1], label="posterior distribution", lw="3", edgecolor="#A60628") plt.xticks([0.20, 0.95], ["Librarian", "Farmer"])
plt.title("Prior and posterior probabilities \of Steve's occupation")
plt.ylabel("Probability")
plt.legend(loc="upper left")
结果如下图:
概率分布
设Z为一个随机变量,那么就存在一个跟Z相关的概率分布函数,给定Z任何取值,它都得到一个相应的概率值。我们把随机变量分为3中类别:
Z为离散的,离散随机变量的取值只能是在特定的列表中。
Z为连续的,连续型随机变量的值可以是任意精度数值。
Z为混合的,混合型随机变量的值可以为以上两种形式。
离散情况
如果Z是离散的,那么它的分布为概率质量函数,它度量的是当Z取值为k是的概率,用P(Z=K)表示。
设Z服从Poisson分布:
λ被称为此分布的一个参数,它决定了这个分布的形式。对于Poisson分布来说,λ可以为任意正数,λ可以被称为Poisson分布的强度。
跟λ可以为任意值不同,值k可以为任意非负整数,即k必须为0、1、2之类的值。
不同λ取值,Poisson随机变量的概率质量函数:
from IPython.core.pylabtools import figsize
from matplotlib import pyplot as plt
import numpy as np
import scipy.stats as statsfigsize(12.5, 4)a = np.arange(16)
poi = stats.poisson
lambda_ = [1.5, 4.25]
colors = ["#348ABD", "#A60628"]plt.bar(a, poi.pmf(a, lambda_[0]), color=colors[0],label="$\lambda = %.1f$" % lambda_[0], alpha=0.60,edgecolor=colors[0], lw="3")plt.bar(a, poi.pmf(a, lambda_[1]), color=colors[1],label="$\lambda = %.1f$" % lambda_[1], alpha=0.60,edgecolor=colors[1], lw="3")plt.xticks(a + 0.4, a)
plt.legend()
plt.ylabel("Probalitity of $k$")
plt.xlabel("$k$")
plt.title("Probability mass function of \a Poisson random variable, \differing $\lambda$ values")
结果如下:
连续情况
对应于离散情况下的概率质量函数,连续情况下概率分布函数被称为概率密度函数。举一个连续型随机变量的例子:指数密度。指数密度随机变量的密度函数如下:
类似于Poisson随机变量,指数随机变量只可以取非负值。但是和Poisson分布不同的是,这里的指数可以取任意非负值,包括非整数。
对指定的参数λ,指数型随机变量的期望值为λ的逆,即
不同λ取值情况下,指数分布的概率密度函数:
from IPython.core.pylabtools import figsize
from matplotlib import pyplot as plt
import numpy as np
import scipy.stats as statsfigsize(12.5, 4)a = np.linspace(0, 4, 100)
expo = stats.expon
lambda_ = [0.5, 1]
colors = ["#348ABD", "#A60628"]for l, c in zip(lambda_, colors):plt.plot(a, expo.pdf(a, scale=1./l), lw=3,color=c, label="$\lambda = %.1f$" % l)plt.fill_between(a, expo.pdf(a, scale=1./l),color=c, alpha=.33)plt.legend()
plt.ylabel("Probability density function at $z$")
plt.xlabel("$z$")
plt.ylim(0, 1.2)
plt.title("Probabiltiy density function of \an exponential random variable, \differing $\lambda$ values")
结果如下:
注意:概率密度方程在某一点的值并不等于它在这一点的概率。
参考文献:
贝叶斯方法. Cameron Davidson-Pilon 著. 辛愿等 译
贝叶斯方法(实例1)——概率分布相关推荐
- 独家 | 为什么要尝试A/B测试的贝叶斯方法(附链接)
作者:Michael Armanious 翻译:欧阳锦 校对:阿笛 本文约3400字,建议阅读8分钟 本文通过一个A/B测试的实例,介绍了贝叶斯方法的各种优点和具体的实现方法,同时也将贝叶斯推断方法与 ...
- 贝叶斯方法学习笔记(一)
贝叶斯方法学习笔记(一) 一.基本概念 二.实例(史蒂文的身份): 三.基本的概率分布及其性质 四.实例(用短信数据推断行为): 数据集来源 一.基本概念 先验概率:我们把对一个事件A发生的信念记作P ...
- [work]从贝叶斯方法谈到贝叶斯网络
0 引言 事实上,介绍贝叶斯定理.贝叶斯方法.贝叶斯推断的资料.书籍不少,比如<数理统计学简史>,以及<统计决策论及贝叶斯分析 James O.Berger著>等等,然介绍贝叶 ...
- 转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏
为什么80%的码农都做不了架构师?>>> 转自:http://blog.csdn.net/pongba/archive/2008/09/21/2958094.aspx 数学之美 ...
- 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(二)
前言 在上一篇博客中,我们介绍了朴素贝叶斯方法以及详细推导.在这篇博客中,我们将介绍朴素贝叶斯的python3实现代码. 这里,我们将算法复述如下: 输入:数据集 T={(x1,y1),(x2,y2) ...
- 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(一)
前言 朴素贝叶斯方法通过构造数据生成分布来预测未知数据的类型,属于生成模型.这里之所以称为"朴素",是因为我们假设数据特征之间具有互相独立的假设. 在这篇博客里,我们将介绍朴素贝叶 ...
- 贝叶斯方法学习笔记(二)
贝叶斯方法学习笔记(二) 原文来自于知乎<你一定从未看过如此通俗易懂的马尔科夫链蒙特卡洛方法解读>.在这里只是将文章主要的核心知识点进行提炼汇总. 链接:你一定从未看过如此通俗易懂的马尔科 ...
- 数学之美番外篇:平凡而又神奇的贝叶斯方法(转自刘未鹏)
概率论只不过是把常识用数学公式表达了出来. --拉普拉斯 记得读本科的时候,最喜欢到城里的计算机书店里面去闲逛,一逛就是好几个小时:有一次,在书店看到一本书,名叫贝叶斯方法.当时数学系的课程还没有学到 ...
- 贝叶斯方法的思想基础
进军概率深度学习的第一步,首先要弄清楚什么是贝叶斯深度学习. 而贝叶斯深度学习的基础是要搞明白贝叶斯的思想到底是个什么思想. 首先给出老生常谈的贝叶斯公式: 各种生动形象的例子就不自己想了,这里引用知 ...
- 贝叶斯统计——贝叶斯方法简述
贝叶斯方法简述 贝叶斯公式 全概率公式 贝叶斯统计基本原理 统计学中有两个主要学派:频率学派(又称经典学派)和贝叶斯学派. 频率学派利用总体信息和样本信息进行统计推断,贝叶斯学派与之的区别在于还用到了 ...
最新文章
- SOCKET编程-时间服务器和客户端的实现
- Failed to start firewalld.service: Unit firewalld.service is masked.
- C++是一种糟糕的语言 Linux之父炮轰C++
- c++ 构造函数数组_“动态数组”的设计与实现
- Android系统(74)--- 从零实现灵活且可高度定制的Android图片选择架构
- HTML解决div里面img的缝隙问题
- 湖州机器人上课时间_【倒计时5天】燃到炸!湖州吾悦广场10月30日开业狂欢指南,请收下...
- stimwoo大师解释MSDP与MBGP的关系
- Cannot set property ‘innerHTML‘ of null 问题的解决
- 第八章 虚拟机字节码执行引擎
- k8s ReplicaSet
- 军用软件开发周期和文档
- linux下exec用法,linux下exec系列(一)
- 2013年12月北京市广播电台网络影响力排名
- 部署无鱼工时系统,超详细教程,并成功部署
- windows故障转移群集 文件服务器,为服务器故障转移群集中的 IIS Windows FTP - Windows Server | Microsoft Docs...
- 提取音乐用什么软件哪个好
- 华为OD机试真题 Python 实现【数字涂色】
- 硬件配置部分——从无到有自主搭建视觉惯性VI-SLAM(vins-mono)平台
- 乔布斯的斯坦福演讲(双语)
热门文章
- 人民币国际化推进债市双向开放
- 649 Dota2 参议院
- OA选型指南:移动OA系统比较
- Jquery实现数字华容道小游戏
- pymongo count和count_documents效率对比
- Modelsim编译报错“(vlog-2401) Extra semicolon found. This is permitted in SystemVerilog, but not permitt”
- 动力电池系统介绍(六)——预充回路介绍
- 电池包预充RC电路仿真
- ENVI(二)——全色图像和多光谱图像融合
- 驻足,为了更好的驶向下一站