用Python学分析 - 二项分布
二项分布(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学分析 - 二项分布的更多相关文章
- 用Python学分析 - 单因素方差分析
单因素方差分析(One-Way Analysis of Variance) 判断控制变量是否对观测变量产生了显著影响 分析步骤 1. 建立检验假设 - H0:不同因子水平间的均值无差异 - H1:不同 ...
- 用Python学分析:集中与分散
散点图进阶,结合箱体图与直方图对数据形成全面的认识 描述数据集中趋势的分析量: 均值 - 全部数据的算术平均值 众数 - 一组数据中出现次数最多的变量值 中位数 - 一组数据经过顺序排列后处于中间位置 ...
- 用Python学分析 - t分布
1. t分布形状类似于标准正态分布2. t分布是对称分布,较正态分布离散度强,密度曲线较标准正态分布密度曲线更扁平3. 对于大型样本,t-值与z-值之间的差别很小 作用- t分布纠正了未知的真实标 ...
- 用Python学分析 - 正态分布
正态分布(Normal Distribution) 1.正态分布是一种连续分布,其函数可以在实线上的任何地方取值. 2.正态分布由两个参数描述:分布的平均值μ和方差σ2 . 3.正态分布的取值可以从负 ...
- 用Python学分析 - 散点图
# 运用散点图对数据分布得到直观的认识 import numpy as np import matplotlib.pyplot as plt # 设计 x, y 轴 n = 10000 x = np. ...
- 《用 Python 学微积分》笔记 3
<用 Python 学微积分>原文见参考资料 1. 16.优化 用一个给定边长 4 的正方形来折一个没有盖的纸盒,设纸盒的底部边长为 l,则纸盒的高为 (4-l)/2,那么纸盒的体积为: ...
- 《用 Python 学微积分》笔记 2
<用 Python 学微积分>原文见参考资料 1. 13.大 O 记法 比较两个函数时,我们会想知道,随着输入值 x 的增长或减小,两个函数的输出值增长或减小的速度究竟谁快谁慢.通过绘制函 ...
- Python学到什么程度就可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问 ...
- Python学到什么程度才可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...
随机推荐
- Ubuntu12.04下Django1.4的删除目录
网上有很多文章说这个问题,大意就是下载压缩包以后用 sudo python setup.py install 上面这条命令安装的Django,然后到相关目录下把那个Django的目录删掉就Ok了,但是 ...
- Android开发之深入理解Android 7.0系统权限更改相关文档
http://www.cnblogs.com/dazhao/p/6547811.html 摘要: Android 6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限 ...
- Ocelot中文文档-跟踪
Ocelot使用一个杰出的项目Butterfly 提供了跟踪功能. 为了使用跟踪,请阅读Butterfly的文档. 在Ocelot中如果你想跟踪一个ReRoute,你需要做如下事情: 在Configu ...
- Android开发之adb无法连接
2017/11/14 21:20 Unable to run 'adb': null 21:20 'E:\AndroidSDK\platform-tools\adb.exe start-server' ...
- nodejs环境 + 入门 + 博客搭建
NodeJS:NodeJS是一个使用了Google高性能V8 引擎 的服务器端JavaScript实现.它提供了一个(几乎)完全非阻塞I/O栈,与JavaScript提供的闭包和匿名函数相结合,使之成 ...
- 第三章 C++的三种基本控制结构
0x C++提供的三种基本控制结构 顺序结构:按照先后顺序依次执行程序中的语句 选择结构:按照给定条件有选择地执行程序中的语句 循环语句:按照给定规则重复地执行程序中的语句 1x 第一节 C++语句 ...
- python爬虫入门(一)urllib和urllib2
爬虫简介 什么是爬虫? 爬虫:就是抓取网页数据的程序. HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的 ...
- C#之Redis为所欲为
一 Redis是一种支持多种数据结构的键值对数据库 1.1Redis下载地址 :https://github.com/MicrosoftArchive/Redis 建议下载 .msi结尾的应用程序进行 ...
- C++ 模板基础
我们学习使用C++,肯定都要了解模板这个概念.就我自己的理解,模板其实就是为复用而生,模板就是实现代码复用机制的一种工具,它可以实现类型参数化,即把类型定义为参数:进而实现了真正的代码可重用性.模版可 ...
- gevent:异步理论与实战[转]
原创 2018-01-10 大邓 大邓带你玩python gevent库中使用的最核心的是Greenlet-一种用C写的轻量级python模块.在任意时间,系统只能允许一个Greenlet处于运行状态 ...