项目简介
本项目是一个R包,集成了所有必要代码,可重现Howard和Ramdas(2019)论文《Sequential estimation of quantiles with applications to A/B - testing and best - arm identification》中的模拟结果和全部图表。其核心功能是进行顺序估计分位数,并应用于A/B测试和最佳臂识别。
项目的主要特性和功能
- 模拟结果重现:可重现论文中图1至图6的所有图表。
- 自定义模拟运行:提供多个函数,能运行不同模拟并将结果保存为CSV文件。
- C++支持:模拟代码依赖C++14编译器,且包含C++单元测试。
- 版本信息管理:借助Python脚本从
configure.ac
文件提取版本信息,生成含版本信息的Info.plist
文件。
安装使用步骤
1. 安装R包
R
install.packages('devtools')
2. 运行模拟
- 使用
run_paper_simulations(save = TRUE)
运行图5的模拟,结果保存至build/simulations_10_64.csv
。 - 使用
run_ab_simulations(save = TRUE)
运行图6的模拟,结果保存至build/simulations_2_256.csv
。
3. 生成图表
- 使用
make_intro_plot(save = TRUE)
生成图1。 - 使用
plot_quantile_cs(save = TRUE)
生成图2。 - 使用
plot_tuning(save = TRUE)
生成图3。 - 使用
make_simulation_plots('path/to/csv', save = TRUE)
生成图5。 - 使用
make_ab_plots('path/to/csv', save = TRUE)
生成图6。
4. 运行C++单元测试
sh
make -C test runtests
需安装BH
和confseq
R包,因为项目链接了这些包的C++头文件。
5. 版本信息管理
- 下载并运行
versiongenerate.py
脚本,从configure.ac
文件提取版本信息,生成Version.h
文件。 - 用生成的
Version.h
文件构建Google Test测试框架,确保Info.plist
文件版本信息正确。
注意:运行模拟耗时较长,建议在多核机器上运行以提升效率。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】