二项分布(Binomial Distribution)
对Bernoulli试验序列的n次序列,结局A出现的次数x的概率分布服从二项分布
- 两分类变量并非一定会服从二项分布
- 模拟伯努利试验中n次独立的重复,每次试验成功的概率为pi

特征值
- 均值(数学期望)和方差:
  - 不同的值,二项式分布有着不同的形态和偏度值
  - pi值越大,呈负偏度;pi值越小,呈正偏度
  - 当 pi = 0.5时,分布是对称的
  - 当 n * pi 与 n * (1-pi) >= 5 时,样本比例p的抽样分布趋向于正态分布
- 当 n 较大,pi不太极端时,可以采用正态近似方法计算概率分布规律

应用

- 博彩行业的规则设定
- 正常值范围的设定(例:医疗行业)

# 对二项分布概念的理解及计算

 # 对二项分布概念的理解及计算

 from scipy.stats import binom

 pi = .3; n = 10
k = 2; m = 8 # 求成功次数为i的概率
pk = 0
for i in range(n):
p = binom( n, pi ).pmf( i )
if i <= k:
pk += p
print( 'P(x = {0:d}) = {1:.4f}'.format( i , p )) # 求成功小于k次的概率
print('-'*20)
p = binom( n, pi ).cdf( k )
print( 'P(x <= {0:d}) = {1:.4f}'.format( k , p ))
print( '比较累加值:', pk) # 求成功大于k次,小于m次的概率
print('-'*20)
p = binom( n, pi ).cdf( m ) - binom( n, pi ).cdf( k )
print( 'P({0:d} < x <= {1:d}) = {2:.4f}'.format( k , m, p ))

运行结果:

# 比较:p对结果的影响

 import numpy as np
from scipy.stats import binom
import matplotlib.pyplot as plt num_trials = 60
x = np.arange(num_trials) plt.plot(x, binom(num_trials, 0.2).pmf(x), 'o-', label='p=0.2')
plt.plot(x, binom(num_trials, 0.5).pmf(x), 'o-', label='p=0.5')
plt.plot(x, binom(num_trials, 0.7).pmf(x), 'o-', label='p=0.7')
plt.legend()
plt.title( '二项分布:p对结果的影响' )
plt.show()
print('当p不同时,成功m次的能性的最大值都出现在均值处,对应概率为n*p')

结果:

# 比较:n对结果的影响

 import numpy as np
from scipy.stats import binom
import matplotlib.pyplot as plt n1 = 10
n2 = 15
n3 = 20
p = 0.5
x = np.arange( max([n1,n2,n3])+1 ) plt.plot( x, binom.pmf( x, p = 0.5, n = n1), 'o-', label='n=10')
plt.plot( x, binom.pmf( x, p = 0.5, n = n2), 'o-', label='n=15')
plt.plot( x, binom.pmf( x, p = 0.5, n = n3), 'o-', label='n=20')
plt.legend()
plt.title( '二项分布:n对结果的影响' )
plt.show()
print('当N不同时,成功m次的可能性的最大值都出现在均值处,对应概率为n*p。')

结果:

用Python学分析 - 二项分布的更多相关文章

  1. 用Python学分析 - 单因素方差分析

    单因素方差分析(One-Way Analysis of Variance) 判断控制变量是否对观测变量产生了显著影响 分析步骤 1. 建立检验假设 - H0:不同因子水平间的均值无差异 - H1:不同 ...

  2. 用Python学分析:集中与分散

    散点图进阶,结合箱体图与直方图对数据形成全面的认识 描述数据集中趋势的分析量: 均值 - 全部数据的算术平均值 众数 - 一组数据中出现次数最多的变量值 中位数 - 一组数据经过顺序排列后处于中间位置 ...

  3. 用Python学分析 - t分布

    1. t分布形状类似于标准正态分布2.  t分布是对称分布,较正态分布离散度强,密度曲线较标准正态分布密度曲线更扁平3.  对于大型样本,t-值与z-值之间的差别很小 作用- t分布纠正了未知的真实标 ...

  4. 用Python学分析 - 正态分布

    正态分布(Normal Distribution) 1.正态分布是一种连续分布,其函数可以在实线上的任何地方取值. 2.正态分布由两个参数描述:分布的平均值μ和方差σ2 . 3.正态分布的取值可以从负 ...

  5. 用Python学分析 - 散点图

    # 运用散点图对数据分布得到直观的认识 import numpy as np import matplotlib.pyplot as plt # 设计 x, y 轴 n = 10000 x = np. ...

  6. 《用 Python 学微积分》笔记 3

    <用 Python 学微积分>原文见参考资料 1. 16.优化 用一个给定边长 4 的正方形来折一个没有盖的纸盒,设纸盒的底部边长为 l,则纸盒的高为 (4-l)/2,那么纸盒的体积为: ...

  7. 《用 Python 学微积分》笔记 2

    <用 Python 学微积分>原文见参考资料 1. 13.大 O 记法 比较两个函数时,我们会想知道,随着输入值 x 的增长或减小,两个函数的输出值增长或减小的速度究竟谁快谁慢.通过绘制函 ...

  8. Python学到什么程度就可以去找工作?掌握这4点足够了!

    大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问 ...

  9. Python学到什么程度才可以去找工作?掌握这4点足够了!

    大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...

随机推荐

  1. Vector 特性

    1.Vector是一个连续内存占用的容器 2.每次Insert,都会将插入的对象先析构,然后复制一个副本添加到容器内 3.容器的大小先是1,然后是2,然后是4,也可以使用reserve来重新制定队列的 ...

  2. VS 和 VAssistX 常用快捷键

    ----------------------------------------------------------------函数跳转-------------------------------- ...

  3. 一步一步设置Joomla!开发环境

    转载自:http://h2appy.blog.51cto.com/609721/373414 虽然是英文,可是写的非常浅显易懂,再配合截图,更是明了. http://docs.joomla.org/S ...

  4. Failed to create the Java Virtual Machine(zt)

    http://lixueli26.iteye.com/blog/711152 在以下版本也发生类似情况,采用同样方法得以解决. 版本:eclipse-jee-indigo-win32 自己电脑上装的j ...

  5. Vue、AngularJS 双向数据绑定解剖

    数据与视图的绑定与同步,最终体现在对数据的读写处理过程中,也就是 Object.defineProperty() 定义的数据 set.get 函数中.Vue 中对于的函数为 defineReactiv ...

  6. Coursera-AndrewNg(吴恩达)机器学习笔记——第二周

    一.多变量线性回归问题(linear regression with multiple variables) 搭建环境OctaveWindows的安装包可由此链接获取:https://ftp.gnu. ...

  7. Spring中IOC和AOP的理解

    IOC和AOP是Spring的核心 IOC:控制反转:将创建对象以及维护对象之间的关系由代码交给了spring容器进行管理,也就是创建对象的方式反转了,交由spring容器进行管理. DI:依赖注入: ...

  8. PHP session有效期session.gc_maxlifetime详解

    一个已知管用的方法是,使用session_set_save_handler,接管所有的session管理工作,一般是把session信息存储到数据库,这样可以通过SQL语句来删除所有过期的sessio ...

  9. flex 访问webservice方法及跨域问题解决

    一.flex调用webserivice代码 import mx.rpc.soap.WebService; import mx.rpc.events.FaultEvent;   import mx.rp ...

  10. python爬虫入门(七)Scrapy框架之Spider类

    Spider类 Spider类定义了如何爬取某个(或某些)网站.包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item). 换句话说,Spider就是您定义爬取的动作 ...