有一个具有自然循环模式的度量。我们想通过 A/B 测试来衡量对这个指标的影响。
例子:
- 指标是冰淇淋车的日收入,工作日低,周末高;A/B 测试检查 2 种音乐中的哪一种会带来更高的收入。每辆卡车被随机分配到治疗中。每天我们都会得到 2 个数据点——治疗 A 和 B 中每辆卡车的平均收入。零假设是两种音乐对收入的影响相同。
- 指标是电子商务网站的收入,工作日低,周末高;A/B 测试以检查 2 个站点布局中的哪一个会带来更高的收入。该网站的访问者被随机分配到治疗。每天我们都会得到 2 个数据点——处理 A 和 B 中每位访客的平均收入。零假设是两种布局对收入的影响相同。
度量上的潜在循环模式违反了正常假设,并在假设样本为独立同分布时导致高 SD 这反过来导致用于测量小提升的样本量非常大。配对 t 检验在一定程度上缓解了这种情况。但所有配对的 t 检验示例似乎都围绕“同一主题的多次测量”的想法。
我的理解是,独立样本 t 检验是错误的,仅仅是因为样本不是 iid(WRT 时间的均值偏移)——这忽略了大多数测试;即使是不假设已知分布的置换检验。配对 t 检验似乎是一个合理的想法,但到目前为止还没有遇到类似的建议。
- 有没有可以在这里应用的简单测试?
- 或者我们是否需要采用“趋势去除”技术——然后应用 t 检验?
这是python中的一个综合示例(运行代码):
import numpy as np
from scipy import stats
x_data = np.linspace(0,1,101)
num_period = 3
treatment1 = np.sin(num_period*2*np.pi*x_data) + 1 # cyclic data
treatment2 = treatment1 + np.random.normal(0.05,0.05,len(treatment1)) # T1 + N(0.05,0.05)
stats.ttest_ind(treatment1,treatment2)
# Ttest_indResult(statistic=-0.5252661250185608, pvalue=0.5999800249755889)
stats.ttest_rel(treatment1,treatment2)
# Ttest_relResult(statistic=-10.13042526535737, pvalue=5.12638080641741e-17)
```

