階層ベイズをわかりやすく解説|Google Meridianを例に

階層ベイズモデルとは?

階層ベイズモデルは、データの複雑な構造を扱うための統計手法です。特に、異なるレベルでデータが相互に関連している場合、その特性を効果的に捉えることができます。このモデルは、データのばらつきや不確実性を自然に表現することができ、実際の問題に対する柔軟なアプローチをになります。

通常のベイズとの違いを見つつ、深掘りしていきます。

階層ベイズの基礎|数式で理解

階層ベイズモデルは、通常のベイズモデルと比較して、データの構造をより柔軟に表現できる点が大きな違いです。

通常のベイズモデルでは、各データポイントに対して独立したパラメータを推定しますが、階層ベイズモデルでは、個々のデータポイントのパラメータを共通のハイパーパラメータから生成されると仮定します。

つまりどういうことかというと、こんな感じです。

通常ベイズモデル

通常ベイズモデルでは、観測データyを生成する過程を、以下の式で表すことが多いです。

$${y \sim f(y | θ)}$$

  • ${y}$: 観測データ
  • ${\theta}$: モデルのパラメータ
  • ${f}$: パラメータ${\theta}$のもとでの${y}$の確率分布

ベイズ推定では、事後分布${p(\theta∣y)}$を求めることが目的ですね。

ベイズの定理より、以下の式で表されます。

$${p(\theta|y) = \frac{p(y|\theta)p(\theta)}{p(y)}}$$

  • ${p(y∣\theta)}$: 尤度
  • ${p(\theta)}$: 事前分布
  • ${p(y)}$: 周辺尤度

階層ベイズモデル

一方階層ベイズモデルでは、パラメータθ自体がさらに別の確率分布から生成されると考えます。つまり、パラメータにも階層構造があるのです。

$${y_i ~\sim f(y_i | \theta_i)}$$
$${θ_i \sim g(\theta_i | η)}$$

  • ${y_i}$​: ${i}$番目の観測データ
  • ${\theta_i}$​: ${i}$番目のデータに対応するパラメータ
  • ${η}$: ハイパーパラメータ
  • ${f}$: パラメータ${\theta_i}$​のもとでの${y_i}$​の確率分布
  • ${g}$: ハイパーパラメータηのもとでの${\theta_i}$​の確率分布

このモデルでは、個々のデータ${y_i}$​に対応するパラメータ${\theta_i}$​は、共通のハイパーパラメータ${η}$によって生成されると仮定しています。

管理人

パラメータも確率変数となり、上位の階層の${\eta}$に生成されると考えるということですね。

この階層構造によって、以下の利点が得られます。

階層ベイズのメリット

データ間の情報共有: ハイパーパラメータを通じて、データ間で情報を共有し、推定の精度向上に繋がる。
柔軟なモデル化: パラメータの階層構造により、様々な複雑な現象をモデル化できる。
過学習の抑制: ハイパーパラメータの導入により、過学習を抑制する効果が期待できる。

3つ目は要はパラメータの正則化効果ですね。

ハイパーパラメータを通じて、個々のパラメータの推定値を安定化させ、過学習を防ぐ効果も期待できます。

階層ベイズにMCMCを使う例

例えば、以下の階層ベイズモデルを考えてみましょう。

$${y_i \sim N(θ_i, σ^2)}$$
$${\theta_i \sim N(\mu, τ^2)}$$

このモデルの事後分布${p(\theta,μ,τ^2∣y)}$は、解析的に求めることが困難です。

そこで、MCMC法を用いて、${(\theta,μ,τ2)}$のサンプルを生成し、それぞれのパラメータの事後分布を近似的に求めます。

MCMC法の手続きについては、こちらの記事がおすすめです。

MCMCを使うメリット

  • 複雑なモデルにも適用可能: 解析的に解けない複雑なモデルに対しても、事後分布の推定が可能。
  • 柔軟な事前分布: 様々な形の事前分布を指定できる。

具体例|GoogleのGeo-Level Bayesian Hierarchical Media Mix Modeling

Googleの最新のマーケティングミックスモデリングの一つである「Meridian」には、Geo-Level Bayesian Hierarchical Media Mix Modeling(地理的階層MMMですかね笑?)というモデルが使われています。

従来の全国レベルデータを用いたモデルでは、サンプルサイズが小さく、広告費の変動が不十分であるという課題がありました。

そこでGBHMMMは、地域レベルのデータを用いることで、より多くの観測値と広告費の有用な変動性を得て、より精度が高い推定値(信頼区間が狭い)を提供することを示しています。

管理人

地理、というとわかりにくいかもしれませんが、広告を打つエリア(関東など)と捉えていただくと良いかもしれません。

$${y_{t,g} = \tau_g + \sum_{m=1}^{M} \beta_{m,g}Hill(x_{t,m,g}(a_{m},L);K_{m},S_{m}) + \sum_{c=1}^{C}\gamma_{c,g}z_{t,c,g} + \epsilon_{t,g}}$$

$${\beta_{m,g} \sim N(\beta_{m},\eta_{m}), m = 1,\cdots,M}$$

$${\gamma_{c,g} \sim N(\gamma_{c},\xi_{c}), c = 1,\cdots,C}$$

$${\tau_g \sim N(\tau,\kappa^2)}$$

$${\epsilon_{t,g} \sim N(0,\sigma^2)}$$

モデルは複雑ですが、先ほどまで見ていた階層ベイズが使われていることがわかります。

管理人

例えば、定数項がエリアごとに異なるベースラインを持っていますね。

広告効果の逓減具合を表すhill関数については別の記事で扱います。今回は階層ベイズです。

具体的には、モデルは次のような階層構造を持っています。

  • 最上位レベル: 全体的な母集団レベルのパラメータ(${τ}$、${β}$、${γ}$)と、地理レベルの変動を制御する標準偏差(${κ}$、${η}$、${ξ}$)が存在します。
  • 地理レベル: 各地理(${g=1,…,G}$)は、全体的な母集団レベルのパラメータからのランダム効果(${τ_g}$、${β_g}$、${γ_g}$)を持ちます。
  • 観測レベル: 各地理、各時点(${t=1,…,T}$)において、応答変数(${y_t,g}$)が、メディア変数(${x_t,m,g}$)、制御変数(${z_t,c,g}$)、およびランダム効果に基づいてモデル化されます。

複雑なモデルですが、抑えて欲しいのは「地理ごとに固有の分布からパラメータが生成されるという前提」があるということです。

モデルは、各地理(エリアごと)のパラメータ (${τ_g, βm_g, γc_g}$) が、それぞれ全体的な母集団のパラメータ (τ, βm, γc) を平均とし、標準偏差 (κ, ηm, ξc) を持つ正規分布から生成されると仮定しています

→つまり分散はエリア別の分布から生成されるということですね。

ポイント

各地理が共通のメディア効果を共有しながら、地理固有の要因によってそのメカニズムからのばらつくことを許容することを意味します。

こちらで論文は確認できます。

https://storage.googleapis.com/gweb-research2023-media/pubtools/3804.pdf

管理人

元々、エリアごとに広告効果は異なるというのが一般的で、そこをモデルに落とし込んだのが今回のGHMMMということですね。

まとめ|階層ベイズモデルの構造

階層ベイズモデルは、データの階層構造を反映した複数のレベルから構成されます。

  • レベル1(データレベル): 観測データ ${y_i}$ が含まれます。
  • レベル2(グループレベル): グループごとのパラメータ ${\theta_j}$ が含まれます。
  • レベル3(上位レベル): グループレベルのパラメータ ${\theta_j}$ の分布を規定するハイパーパラメータ $\alpha$ が含まれます。

これらのレベルは、条件付き確率分布を用いて結び付けられ、ベイズの定理を用いてパラメータの事後分布を推定します。

FOLLOW ME !