beta函数与置信度估计
可信度的估计
- 二项分布中的\(p\) 服从Beta分布 $ {\rm beta}(\alpha, \beta)$, 密度函数 \(\frac1{B(\alpha, \beta)} x^{\alpha-1} (1-x)^{\beta -1}\)
- 均值 \(\frac \alpha {\alpha + \beta}\)
- 方差 \(\frac {\alpha \beta} {(\alpha+\beta)^2 (\alpha+ \beta + 1) } \)
from scipy.stats import beta
def confidence(n_bad, n_good, tol=2):
''' 返回估计的坏率p, 以及在tol倍标准差下的可信度'''
a, b = n_bad+1, n_good+1
p = a / (a+b)
v = beta.std(a, b)
up, low = min(1, p + v*tol), max(0, p - v*tol)
d = beta.cdf(up, a,b) - beta.cdf(low, a,b)
return p, v, d
test_set = [
(500, 20000, 2),
(1000, 200000, 2),
(2000, 200000, 2),
(5000, 200000, 2),
(500, 100000, 2),
(1000, 100000, 2),
(2000, 100000, 2),
(5000, 100000, 2),
(2000, 10000, 2),
]
print(" bad; total; 均值p; 标准差v; 均值的相对误差e; 置信度")
for (n_bad, n_good, tol) in test_set:
p,v,d = confidence(n_bad, n_good, tol)
ss = ('{:5d};{:7d}; p={p:0.4f}; v={v:0.6f}; e={e:0.3f}; '
+ '均值在[p - {t}v, p + {t}v]的概率 {d:2.2f}%'
).format(n_bad, n_bad+n_good, p=p,v=v, c=v/p, d =d*100,t=tol, e=tol*v/p)
print(ss)
bad; total; 均值p; 标准差v; 均值的相对误差e; 置信度
500; 20500; p=0.0244; v=0.001078; e=0.088; 均值在[p - 2v, p + 2v]的概率 95.46%
1000; 201000; p=0.0050; v=0.000157; e=0.063; 均值在[p - 2v, p + 2v]的概率 95.46%
2000; 202000; p=0.0099; v=0.000220; e=0.044; 均值在[p - 2v, p + 2v]的概率 95.45%
5000; 205000; p=0.0244; v=0.000341; e=0.028; 均值在[p - 2v, p + 2v]的概率 95.45%
500; 100500; p=0.0050; v=0.000222; e=0.089; 均值在[p - 2v, p + 2v]的概率 95.46%
1000; 101000; p=0.0099; v=0.000312; e=0.063; 均值在[p - 2v, p + 2v]的概率 95.46%
2000; 102000; p=0.0196; v=0.000434; e=0.044; 均值在[p - 2v, p + 2v]的概率 95.45%
5000; 105000; p=0.0476; v=0.000657; e=0.028; 均值在[p - 2v, p + 2v]的概率 95.45%
2000; 12000; p=0.1667; v=0.003402; e=0.041; 均值在[p - 2v, p + 2v]的概率 95.45%
结论: 坏样本大于2000以上, 在95%置信度下, 坏率的相对误差<5%
beta函数与置信度估计的更多相关文章
- 两个Beta函数类型的积分及其一般形式
\[\Large\displaystyle \int_{0}^{1}\frac{\sqrt[4]{x\left ( 1-x \right )^{3}}}{\left ( 1+x \right )^{3 ...
- beta函数分布图
set.seed(1) x<-seq(-5,5,length.out=10000) a = c(.5,0.6, 0.7, 0.8, 0.9) b = c(.5, 1, 1, 2, 5) colo ...
- [再寄小读者之数学篇](2014-06-20 Beta 函数)
令 $\dps{B(m,n)=\sum_{k=0}^n C_n^k \cfrac{(-1)^k}{m+k+1}}$, $m,n\in\bbN^+$. (1) 证明 $B(m,n)=B(n,m)$; ( ...
- Matlab常用函数集锦
ndims(A)返回A的维数size(A)返回A各个维的最大元素个数length(A)返回max(size(A))[m,n]=size(A)如果A是二维数组,返回行数和列数nnz(A)返回A中非0元素 ...
- MATLAB相关快捷键以及常用函数
MATLAB快捷键大全 F1帮助 F2改名F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 ...
- (转)Gamma分布,Beta分布,Multinomial多项式分布,Dirichlet狄利克雷分布
1. Gamma函数 首先我们可以看一下Gamma函数的定义: Gamma的重要性质包括下面几条: 1. 递推公式: 2. 对于正整数n, 有 因此可以说Gamma函数是阶乘的推广. 3. 4. ...
- 数理统计4:均匀分布的参数估计,次序统计量的分布,Beta分布
接下来我们就对除了正态分布以外的常用参数分布族进行参数估计,具体对连续型分布有指数分布.均匀分布,对离散型分布有二项分布.泊松分布几何分布. 今天的主要内容是均匀分布的参数估计,内容比较简单,读者应尝 ...
- Beta分布和Dirichlet分布
在<Gamma函数是如何被发现的?>里证明了\begin{align*} B(m, n) = \int_0^1 x^{m-1} (1-x)^{n-1} \text{d} x = \frac ...
- LDA-math-神奇的Gamma函数
http://cos.name/2013/01/lda-math-gamma-function/ 1. 神奇的Gamma函数1.1 Gamma 函数诞生记学高等数学的时候,我们都学习过如下一个长相有点 ...
随机推荐
- vue 操作列的自定义
<el-table-column label="操作"> <template slot-scope="scope"> // 用到了 el ...
- 调用servlet报The requested resource is not available.
调用servlet的时候经常有这种报错,一般来说我直到现在遇到的情况大致有以下几类: 1.参数写错了 在新创建的servlet文件中有这么一行代码,“/LoginCheck”这个一定要和form表单中 ...
- java课程课后作业190612之Beta版总结会议
1.每个成员在beta 阶段的实践和alpha 阶段有何改进? 陈阳:在编程的时候学习广播知识,了解了Android的广播机制完成了上课静音以及课前提醒的功能,在代码的美观上也有了一定的提升 2. 团 ...
- Oracle学习笔记(2)
2.Oracle用户管理 (1)创建用户:create user 用户名 identified by 密码(需要dba权限); sql>create user yzw identified by ...
- SQL笔记整理
- POJ 2014:Flow Layout 模拟水题
Flow Layout Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3091 Accepted: 2148 Descr ...
- 题解 P1654 【OSU!】
题面 一序列\(a\), 对于每一个\(i\)均有\(a_i\)有\(p_i\)的几率为1, 否则为\(0\) 求: \(a\)中极长全\(1\)子序列长度三次方之和的期望 前置知识 基本期望(期望的 ...
- 多源D点(邻接表+bfs)
[问题]给出一颗n个结点的树,树上每条边的边权都是1,这n个结点中有m个特殊点,请你求出树上距离这m个特殊点距离均不超过d的点的数量,包含特殊点本身. 输入: 输入第一行包含三个正整数,n.m.d分别 ...
- 在linux上部署多个tomcat
1.vim /etc/profile ##########first tomcat########### CATALINA_BASE=/usr/apache-tomcat--fore CATALIN ...
- 系统学习python第七天学习笔记
1.get方法用法补充 info = {'name':'王刚蛋','hobby':'铁锤'} while True: data = input('请输入:') val = info.get(data, ...