具有随机效应的多层次回归变量的解释
Interpretation of variables in multi-level regression with random effects
我有一个类似于下图的数据集(显示前 5 行)。 CPA 是对不同广告航班进行实验(处理)的观察结果。广告投放在广告系列中按层次分组。
campaign_uid flight_uid treatment CPA
0 0C2o4hHDSN 0FBU5oULvg control -50.757370
1 0C2o4hHDSN 0FhOqhtsl9 control 10.963426
2 0C2o4hHDSN 0FwPGelRRX exposed -72.868952
3 0C5F8ZNKxc 0F0bYuxlmR control 13.356081
4 0C5F8ZNKxc 0F2ESwZY22 control 141.030900
5 0C5F8ZNKxc 0F5rfAOVuO exposed 11.200450
我适合像下面这样的模型:
model.fit('CPA ~ treatment', random=['1|campaign_uid'])
据我所知,这个模型简单地说:
- 我们有一个治疗坡度
- 我们有一个全局拦截
- 我们也对每个活动进行拦截
所以对于每个这样的变量.[=15,一个 后 =]
但是,查看下面的结果,我还得到了以下变量的后验概率:1|campaign_uid_offset
。它代表什么?
拟合模型和绘图的代码:
model = Model(df)
results = model.fit('{} ~ treatment'.format(metric),
random=['1|campaign_uid'],
samples=1000)
# Plotting the result
pm.traceplot(model.backend.trace)
- 1|campaign_uid
这些是您在参数列表中提到的广告系列的随机截取。
- 1|campaign_uid_sd
这是上述随机活动拦截的标准差。
- CPA_sd
这是残差标准差。也就是说,你的模型可以(部分地)写成 CPA_ij ~ Normal(b0 + b1*treatment_ij + u_j, sigma^2),而 CPA_sd
代表参数西格玛。
- 1|campaign_uid_offset
这是随机截距的另一种参数化。 bambi
在内部使用此转换以提高 MCMC 采样效率。通常这个转换后的参数默认是对用户隐藏的;也就是说,如果您使用 results.plot()
而不是 pm.traceplot(model.backend.trace)
制作跟踪图,那么这些项将被隐藏,除非您指定 transformed=True
(默认情况下为 False)。它也默认隐藏在 results.summary()
输出中。有关此转换的详细信息,请参阅 this nice blog post by Thomas Wiecki。
我有一个类似于下图的数据集(显示前 5 行)。 CPA 是对不同广告航班进行实验(处理)的观察结果。广告投放在广告系列中按层次分组。
campaign_uid flight_uid treatment CPA
0 0C2o4hHDSN 0FBU5oULvg control -50.757370
1 0C2o4hHDSN 0FhOqhtsl9 control 10.963426
2 0C2o4hHDSN 0FwPGelRRX exposed -72.868952
3 0C5F8ZNKxc 0F0bYuxlmR control 13.356081
4 0C5F8ZNKxc 0F2ESwZY22 control 141.030900
5 0C5F8ZNKxc 0F5rfAOVuO exposed 11.200450
我适合像下面这样的模型:
model.fit('CPA ~ treatment', random=['1|campaign_uid'])
据我所知,这个模型简单地说:
- 我们有一个治疗坡度
- 我们有一个全局拦截
- 我们也对每个活动进行拦截
所以对于每个这样的变量.[=15,一个 后 =]
但是,查看下面的结果,我还得到了以下变量的后验概率:1|campaign_uid_offset
。它代表什么?
拟合模型和绘图的代码:
model = Model(df)
results = model.fit('{} ~ treatment'.format(metric),
random=['1|campaign_uid'],
samples=1000)
# Plotting the result
pm.traceplot(model.backend.trace)
- 1|campaign_uid
这些是您在参数列表中提到的广告系列的随机截取。
- 1|campaign_uid_sd
这是上述随机活动拦截的标准差。
- CPA_sd
这是残差标准差。也就是说,你的模型可以(部分地)写成 CPA_ij ~ Normal(b0 + b1*treatment_ij + u_j, sigma^2),而 CPA_sd
代表参数西格玛。
- 1|campaign_uid_offset
这是随机截距的另一种参数化。 bambi
在内部使用此转换以提高 MCMC 采样效率。通常这个转换后的参数默认是对用户隐藏的;也就是说,如果您使用 results.plot()
而不是 pm.traceplot(model.backend.trace)
制作跟踪图,那么这些项将被隐藏,除非您指定 transformed=True
(默认情况下为 False)。它也默认隐藏在 results.summary()
输出中。有关此转换的详细信息,请参阅 this nice blog post by Thomas Wiecki。