置信序列与一致边界
confseq的Python项目详细描述
置信序列和均匀边界
这个库支持计算均匀边界,置信序列, 总是有效的p值。这些结构在顺序A/B中很有用 测试、最佳臂识别和其他顺序统计 程序。主要参考文献是
S.R.霍华德,A.拉姆达斯,J.麦考利夫,J.塞孔。统一、非参数, 非渐近置信 序列。预印本,arxiv:1810.08240。
此外,该库还包括一些分位数置信度函数 基于
的序列和A/B测试S.R.霍华德,A.拉姆达斯。分位数的序贯估计及其应用 至A/B-测试和最佳ARM 标识。预印本,arxiv:1906.09712。
这个图书馆处于早期开发阶段,不应考虑 稳定的。我只在MacOS Mojave上的Python3.7.0上测试过它。这个 实现是在C++中的,编译器需要用C++ 14来支持编译。 包裹。
安装python包
运行pip3 install confseq
演示
在随机试验中估计平均治疗效果
demo/ate_demo.py
演示如何计算平均值的置信序列
一项随机试验的治疗效果,其潜在疗效有限
具有始终有效的p值序列。该方法基于
并利用伽玛指数混合边界。此演示需要
numpy
和pandas
分位数置信序列
demo/quantiles.py
演示如何使用一些包含的边界来
基于
身份证样本。该文件包含一个函数,用于估计单个
分位数,以及同时估计所有分位数的函数
分位数和时间上的误差控制一致。
均匀边界
confseq.bounders
模块实现了
置信序列纸。
有四个混合边界。这些由函数实现
<;type>;_log_mixed()
和<;type>;_mixed_bound()
,其中<;type>;
是正常
(命题4和命题5),伽马指数
(命题8),伽马泊松
(命题9),或贝塔二项
(命题6和7)。<;type>;_log_mixed(s,v,…)
返回混合的对数 当被叫来与s_t,鞅和v_t,the 内在时间过程。这个值的指数的倒数是 始终有效的p值。这些函数在 纸.<<;type>;_mixed_bound(v,alpha,…)
返回具有 最大α交叉概率,在固有时间v下计算。
每个函数都有另一个必需的参数
v_opt
和一个可选的 参数alpha_opt=0.05
。这些参数用于设置调整 每种混合物的参数,在文中用rho或r表示,优化 内禀时间具有交叉概率alpha_opt
的均匀边界v_opt
。本文第3.5节讨论了这种调谐。伽马指数和伽马泊松混合物也需要一个标度 参数
c
。β二项混合物需要范围参数g
和h
。最后,函数接受 可选的布尔参数是单向的
,默认情况下是真的
。如果false
,使用这些混合物的双面变体(命题4 6)聚几何缝合边界(见定理1和随后的例子) 通过
poly_-stitching_-bound
实现。除了v
和alpha
,这个 函数需要调整参数v_min
和可选参数c
、s
和eta
,所有这些都记录在论文中。该模块还包括一个
bernoulli_confidence_sequence
函数 计算任意有界分布均值的置信序列 利用次伯努利条件支持。观察结果必须 按比例缩放,使支架在单位间隔[0,1]内。
所有函数都接受numpy数组并执行矢量化操作。
分位数界限
confseq.quantiles
模块实现两个分位数的一致置信
分位数纸上的序列。
经验过程_lil_bound
基于定理2,可用于 构造分位数的重对数率置信序列,其中 所有分位数的置信半径(分位数空间)都是常数。这个 也可用于运行 第7.2节双缝合界限
基于定理3,可用于构造 其中置信半径(分位数)为 空间)变化,对于接近0和1的极端分位数,变得更小。
最后,分位数ab_p_值
实现
假设两个总体对于某个分位数具有相等的值,基于
定理5。这个定理涵盖了除等式以外的零假设的检验,如
以及单面测试,但尚未实现。
C++库
下面的实现是在单个文件中,只在头文件中添加C++库
src/confseq/uniform_bounders.h
。文件顶部定义了
接口镜像上述python接口。下面是一个
面向对象的接口对于更复杂的工作很有用。这个
confseq.bounders
python模块是由
pybind11