当前位置: 首页 > news >正文

贝叶斯思维 统计建模的python_《贝叶斯思维:统计建模的Python学习法》--第3章Estimation(估计)介绍...

原文我发表于天善智能

第1、2章主要讲似然函数怎么编写,先验概率使用均匀分布,但实际问题往往更复杂,先验概率可能也很复杂,

这章主要用火车头的示例说了先验概率怎么使用幂律分布预估,并且讲到点估计和区间估计。

具体还是看示例:

示例1:骰子问题,

骰子问题主要用来总结了第1、2章说的通用方法论:

示例的具体表述:有多个面的骰子,随机拿了一个,扔了多次,最可能的骰子是哪一个。

这个示例和先前的几个示例解题方法基本一样,先验概率使用均匀分布,主要讨论似然度怎么计算,也就是似然函数怎么编写。

通用的一般的方法是:

1.选择假设的表示方法

2.选择数据的表示方法

3.编写似然函数

class Dice(Suite):

def Likelihood(self, data, hypo):

if hypo < data:

return 0

else:

return 1.0/hypo

使用即可

for roll in [6, 8, 7, 7, 5, 4]:

suite.Update(roll)

示例2:火车头问题

这个示例的不同点是似然度和示例1一样,但是先验概率就不能使用均匀分布了,

按以往情况可以使用幂律(Posterior distribution based on a power law prior,

compared to a uniform prior)

class Train(Dice):

def __init__(self, hypos, alpha=1.0):

Pmf.__init__(self)

for hypo in hypos:

self.Set(hypo, hypo**(-alpha))

self.Normalize()

2种分布的结果

最后的结果也比较收敛:

置信区间:

由于火车头的上限是不固定的,示例2开始的时候使用了1000的上限假设,实际上需要提供置信区间才能更好的描述问题:

提供了一个新的功能 Cumulative distribution functions(累计分布函数)来解决这个问题:

cdf = suite.MakeCdf()

interval = cdf.Percentile(5), cdf.Percentile(95)

print(interval

相关文章:

  • 手机 调起自带地图 java_安卓11系统再加紧封锁!国内第三方手机应用商店或将全部阵亡?...
  • 串口中断和定时器中断_STM32f103单片机(四)——定时器中断
  • 多个参数变更update_PTOSC在线DDL变更工具使用攻略
  • php和python学不明白_现在自学php和python那个合适?
  • 交通流元胞自动机模拟仿真 matlab源码_SLM工艺仿真综述(三)之《金属3D打印仿真的解决方案与思路 . 下篇》...
  • python 菜单按钮打开新窗口_Python Tkinter Menubutton菜单按钮
  • python selenium翻页_Python+Selenium自动化实现分页处理
  • python中不相等符号_python的关系运算符中,用来表示不等于的符号是
  • python 预测分析_如何用Python来预测分析离职率呢
  • mysql big转字符串_mysql的这些坑你踩过吗?快来看看怎么优化mysql
  • windows api 刷新控件_基于 .NET 5的ComponentOne控件示例正式推出
  • python用pip安装第三方库显示没有pip_新手学习Python第三方包库pip安装失败总结
  • 表达式树括号_抽象语法树为什么抽象
  • mfc cpropertysheet tab键切换焦点_Linux 下如何切换工作目录
  • qwidget 怎么在程序中设置大小_石雕牌坊中的门的大小比例怎么确定
  • 「译」Node.js Streams 基础
  • 【RocksDB】TransactionDB源码分析
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • flask接收请求并推入栈
  • JavaScript函数式编程(一)
  • JS实现简单的MVC模式开发小游戏
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Webpack 4x 之路 ( 四 )
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 分布式任务队列Celery
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 如何胜任知名企业的商业数据分析师?
  • 事件委托的小应用
  • 线性表及其算法(java实现)
  • 智能合约Solidity教程-事件和日志(一)
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #Z0458. 树的中心2
  • (11)MSP430F5529 定时器B
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Java数据结构)ArrayList
  • (第一天)包装对象、作用域、创建对象
  • (三)elasticsearch 源码之启动流程分析
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一) storm的集群安装与配置
  • (转)详解PHP处理密码的几种方式
  • .net core 6 redis操作类
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET中winform传递参数至Url并获得返回值或文件
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @Repository 注解
  • [ C++ ] STL---string类的使用指南
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [Android Pro] AndroidX重构和映射