设计稳健的平衡随机实验
rct的Python项目详细描述
rct公司
此软件包的功能
这个软件包提供了生成健壮且平衡的随机分配的工具 在Banerjee, Chassang, Montero, and Snowberg (2019)之后。在
的RCT
、KRerandomizedRCT
和{rct.design
模块实现了RCT,K-重新编程
RCT和分位数靶向RCT设计在Banerjee, Chassang, Montero, and Snowberg (2019)中描述。在
对于每个设计,assignment_from_iid
绘制从i.i.d.分配中选择的设计;
assignment_from_shuffled
绘制从exchangeable中选择的设计
分配保证精确匹配所需的采样权重(最多
整数问题)。在
该软件包允许任意数量的治疗臂,通过
每个设计中的weights
参数。在
rct
实现各种平衡目标,包括:
- 最小化所选平均值之间的马氏距离 跨治疗组的协变量
- 协变量回归的最小p值最大化 治疗假人
- 选择协变量的软阻塞
- 现有目标的线性组合。在
定制平衡目标,除了现有平衡函数的线性组合外,很简单。首先,你可以通过不同的
将函数聚合到BalanceObjective
构造函数。例如,这将使平均p值最大化,而不是最小p值。其次,您可以简单地定义一个继承自BalanceObjective
并实现抽象方法_balance_func
的新类。在
引文
要在出版物中引用rct
,请使用
Banerjee, Abhijit, Sylvain Chassang, Sergio Montero, and Erik Snowberg.
A theory of experimenters. No. w23867. National Bureau of Economic Research, 2017.
对应的bibtex
条目是:
安装
这个包在Ubuntu下测试python 3.6
和python 3.7
Linux 16.04版。在
您可以通过pip
下载软件包:
$ pip install rct
这将安装所有必需的依赖项。在
或者,您可以克隆回购的(git@github.com:sylvaingchassang/rct.git
)或download a ^{pip
,运行
./rct$ pip install -r requirements.txt
运行测试
在使用该软件包之前,您可能需要检查该单元和 集成测试通过您的计算机。为此,快跑
./rct$ pytest --cov=. --cov-report=term-missing
示例
示例笔记本说明了rct
模块的使用:
- 在
^{
在} 演示如何生成 二进制和三值的传统i.i.d.和随机循环分配 治疗。pvalue_report
函数提供了一个有用的 通过报告(#treatments -1, #covariates)
分配余额 回归协变量得到的p值矩阵 治疗假人。在 - 在
^{
在} 演示如何 获得不同的平衡和重复的任务 目标。在 - 在
^{
在} 执行 分位数靶向实验设计的类似练习。在
位于rct/tests/test_integration.py
replicate的集成测试
这些笔记本的内容。在
贡献
如果你想改进rct
,请联系我们!在
无论你是一个想改进我们代码的程序员,还是一个拥有 实用的意见,或新的设计想法,我们想和你谈谈!在
在我们当前的待办事项列表(2019/09/20):
- 增加类型提示以提高可读性
- 分析和速度改进
- 实现顺序设计。在
- 项目
标签: