【问题标题】:Python plot multiple z-test result with confidence interval (visualize A/B test results)Python 用置信区间绘制多个 z 测试结果(可视化 A/B 测试结果)
【发布时间】:2021-01-27 20:44:29
【问题描述】:

what I want to plot

您好,我想可视化一项 A/B 测试的结果。该实验跟踪 4 个指标,我想将它们完全显示在一个图中。我的数据框的架构是:

测试控制 |公制1 |公制2 |公制3 |公制4

有人知道如何通过 matplotlib、pandas 或 seaborn 进行绘图吗?

提前致谢!

【问题讨论】:

  • 你能显示完整的数据框吗?您的问题在这里有点不具体,您应该从数据框中计算置信区间吗?

标签: seaborn abtest python-visual


【解决方案1】:

我发现在 R 中可能更容易完成。 在python中,我计算了误差条,然后使用matplotlib.pyplot.errorbar进行绘图:

获取 CI

kpi_map = {'kpi':[], 'mean_diff':[], 'err':[], 'pval':[]}
for col in metrics:
    sp1 = df.loc[df['test_control']=='test'][col]
    sp2 = df.loc[df['test_control']=='control'][col]
    std1 = np.std(sp1, ddof=1)
    std2 = np.std(sp2, ddof=1)
    mean_diff_std = (std1**2/len(sp1) + std2**2/len(sp2)) **0.5
    mean_diff = sp1.mean() - sp2.mean()     
    kpi_map['kpi'].append(col)
    kpi_map['mean_diff'].append(mean_diff)
    kpi_map['err'].append(1.96*mean_diff_std)

情节

df_kpi = pd.DataFrame(data = kpi_map)
plt.errorbar(y=df_kpi['kpi'], x=df_kpi['mean_diff'], xerr=df_kpi['err'], fmt='o', elinewidth=2, capsize=4, capthick=2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-17
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多