In the online A/B test. We use the BatchTrial mode and set a status_quo(control group). Because of fluctuations in the online metrics, we usually have different mean and sem of status_quo in each iteration.
Suppose we need to optimize a range parameter $a \in [0.0, 1.0]$. The objective metric is video playback time per capita which can only be obtained through online experiments. We started an online experiment with three groups and the control group's parameter is $a = 0.0$. The experiment went through two iterations, one from Monday to Wednesday and the other from Thursday to Saturday. we get the following data frame:
| arm_name |
trial_index |
a |
mean(s) |
sem |
time |
| 0_0 |
0 |
0.3 |
1600 |
0 |
Mon. - Wed. |
| 0_1 |
0 |
0.5 |
1700 |
0 |
Mon. - Wed. |
| Control |
0 |
0.0 |
1650 |
0 |
Mon. - Wed. |
| 1_0 |
1 |
1.0 |
2500 |
0 |
Thu. - Sat. |
| 1_1 |
1 |
0.8 |
2600 |
0 |
Thu. - Sat. |
| Control |
1 |
0.0 |
2300 |
0 |
Thu. - Sat. |
(For convenience, assuming that sem of each group is 0)
if I directly use Models.BOTORCH(experiment=exp, data=exp.eval()) to generate a model, It will prompt Warning: [WARNING 03-16 14:37:02] ModelBridge: Status quo status_quo found in data with multiple features. Use status_quo_features to specify which to use. But It can be seen from the results that the mean between multiple iterations cannot be directly compared. So I can't specify which to use.
My method is to first calculate the relative difference of each group relative to the control group of the corresponding iteration. After processing, I have the following data:
| arm_name |
trial_index |
a |
mean(s) |
sem |
time |
| 0_0 |
0 |
0.3 |
(1600 - 1650) / 1650 = -0.030 |
0 |
Mon. - Wed. |
| 0_1 |
0 |
0.5 |
(1700 - 1650) / 1650 = 0.030 |
0 |
Mon. - Wed. |
| 1_0 |
1 |
1.0 |
(2500 - 2300) / 2300 = 0.087 |
0 |
Thu. - Sat. |
| 1_1 |
1 |
0.8 |
(2600 - 2300) / 2300 = 0.130 |
0 |
Thu. - Sat. |
| Control |
1 |
0.0 |
0 |
0 |
Thu. - Sat. |
Then pass this data to Models.BOTORCH. My question are:
- How does Ax handle this scenario?
- Is My method correct? If correct, does Ax consider supporting this method internally?
In the online A/B test. We use the BatchTrial mode and set a status_quo(control group). Because of fluctuations in the online metrics, we usually have different mean and sem of status_quo in each iteration.
Suppose we need to optimize a range parameter$a \in [0.0, 1.0]$ . The objective metric is video playback time per capita which can only be obtained through online experiments. We started an online experiment with three groups and the control group's parameter is $a = 0.0$ . The experiment went through two iterations, one from Monday to Wednesday and the other from Thursday to Saturday. we get the following data frame:
(For convenience, assuming that sem of each group is 0)
if I directly use
Models.BOTORCH(experiment=exp, data=exp.eval())to generate a model, It will prompt Warning:[WARNING 03-16 14:37:02] ModelBridge: Status quo status_quo found in data with multiple features. Use status_quo_features to specify which to use.But It can be seen from the results that the mean between multiple iterations cannot be directly compared. So I can't specify which to use.My method is to first calculate the relative difference of each group relative to the control group of the corresponding iteration. After processing, I have the following data:
Then pass this data to
Models.BOTORCH. My question are: