3

以下のようなデータセットがあります (最初の 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'])

私の知る限り、このモデルは単純に次のように述べています。

  • 治療用スロープをご用意しております
  • グローバルインターセプトがあります
  • キャンペーンごとにインターセプトもあります

そのため、そのような変数ごと1 つの 事後分布が得られます。

ただし、以下の結果を見ると、次の変数の事後分布も得られます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)
4

1 に答える 1

6
  • 1|campaign_uid

これらは、パラメータのリストで言及したキャンペーンのランダム インターセプトです。

  • 1|campaign_uid_sd

これは、前述のランダム キャンペーン インターセプトの標準偏差です。

  • CPA_sd

これが残差標準偏差です。つまり、モデルは (部分的に) CPA_ij ~ Normal(b0 + b1* Treatment_ij + u_j, sigma^2) としてCPA_sd記述でき、パラメーター sigma を表します。

  • 1|campaign_uid_offset

これは、ランダム インターセプトの別のパラメーター化です。bambiMCMC のサンプリング効率を向上させるために、この変換を内部的に使用します。通常、この変換されたパラメーターは、デフォルトでユーザーから隠されています。つまり、results.plot()ではなくを使用してトレースプロットを作成すると、指定しpm.traceplot(model.backend.trace)ない限り、これらの用語は非表示になりますtransformed=True(デフォルトでは False です)。また、デフォルトではresults.summary()出力から非表示になっています。この変換の詳細については、Thomas Wiecki によるこの素敵なブログ投稿を参照してください。

于 2017-04-08T15:34:17.700 に答える