階層ベイズをわかりやすく解説|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$ が含まれます。
これらのレベルは、条件付き確率分布を用いて結び付けられ、ベイズの定理を用いてパラメータの事後分布を推定します。