ベイジアンマーケティングミックスモデルの理解:事前仕様に深く入り込む

Understanding Bayesian Marketing Mix Models Delving into Prior Specifications

GoogleのLightweightMMMを使ってモデル仕様を探索する

Pawel Czerwinskiによる写真Unsplash

ベイズマーケティングミックスモデリングは、特にLightweightMMM(Google)やPyMC Marketing(PyMC Labs)などのオープンソースツールがリリースされたことで、ますます注目を集めています。これらのフレームワークはベイズモデリングの複雑さを簡素化していますが、ユーザーが基本的なベイズコンセプトを理解し、モデル仕様を理解できることは重要です。

この記事では、GoogleのLightweightMMMを実際の例として取り上げ、このフレームワークの事前仕様の直感と意味を示します。Pythonとscipyライブラリを使用して、事前サンプルのシミュレーションを実証します。

データ

私はRobynがMITライセンスで公開したデータを使用しています。

データセットには、以下が含まれます。

  • 5つのメディア支出チャネル: tv_S、ooh_S、print_S、facebook_S、search_S
  • 露出情報(Impression、Clicks)も持つメディアチャネル2つ:facebook_I、search_clicks_P
  • 支出のない有機メディア:newsletter
  • コントロール変数:events、holidays、競合他社の売上( competitor_sales_B)

LightweightMMMモデル仕様

LightweightMMMモデルの仕様は次のとおりです:

LMMMモデル仕様(著者による画像)

この仕様は、特定の時点tでの応答(ターゲット変数)の値を説明する加算線形回帰モデルを表します。

方程式の各構成要素を分解してみましょう。

  • α:この構成要素は、応答の切片または基準値を表します。すべての他の要因がゼロのときの応答の期待値です。
  • trend:この構成要素は、時間の経過に伴う応答の増加または減少の傾向を捉えます。
  • seasonality:この構成要素は、応答の周期的な変動を表します。
  • media_channels:この構成要素は、メディアチャネル(テレビ、ラジオ、オンライン広告)の応答への影響を考慮します。
  • other_factors:この構成要素は、天気、経済指標、競合他社の活動など、応答に影響を与える他の変数を包括します。

以下では、各構成要素について詳しく説明し、事前仕様の解釈方法を説明します。事前分布は、基礎となるデータの知識がない場合に、あるパラメーターの仮定された分布を表します。

切片

切片の事前仕様(著者による画像)

切片は、標準偏差が2の半正規分布に従うように定義されています。半正規分布は、正の値に制限された正規分布に似た連続的な確率分布です。分布は、単一のパラメータである標準偏差(スケール)によって特徴付けられます。半正規分布は、切片が正の値しか取得できないことを示します。

以下のコードは、スケールが2の半正規分布の事前分布からサンプルを生成し、確率密度関数(PDF)を視覚化します。他の構成要素の視覚化については、Githubリポジトリの付属ソースコードを参照してください。

from scipy import statsscale = 2halfnormal_dist = stats.halfnorm(scale=scale)samples = halfnormal_dist.rvs(size=1000)plt.figure(figsize=(20, 6))sns.histplot(samples, bins=50, kde=False, stat='density', alpha=0.5)sns.lineplot(x=np.linspace(0, 6, 100),       y=halfnormal_dist.pdf(np.linspace(0, 6, 100)), color='r')plt.title(f"スケール={scale}の半正規分布")plt.xlabel('x')plt.ylabel('P(X=x)')plt.show()
半正規分布(著者による画像)

トレンド

トレンドの仕様(著者による画像)

トレンドは、時間tとトレンド値の間のべき乗則の関係として定義されます。パラメータμは、トレンドの振幅または大きさを表し、kはトレンドの急峻さまたは曲率を制御します。

パラメータμは、平均が0で標準偏差が1の正規分布から描かれます。これは、μが0を中心に標準偏差1の標準正規分布に従うことを意味し、μが正または負の値を取ることができることを示します。

パラメータkは、0.5から1.5の一様分布から描かれます。一様分布により、トレンドの合理的かつ意味のある曲率を示す値を取ることができます。

以下のプロットは、事前分布から得られた別々のコンポーネントを示しています:切片とトレンドのサンプル、それぞれ個別に表されます。

トレンドと切片(著者による画像)

季節性

季節性の仕様(著者による画像)

各コンポーネントγは、平均が0で標準偏差が1の正規分布から描かれます。

cosineおよびsine関数を異なるγと組み合わせることで、データに存在する季節性を捉えるための循環的なパターンがモデル化されます。cosineおよびsine関数は、52単位(週)の期間中に観察される振動的な振る舞いを表します。

以下のプロットは、事前分布から得られた季節性、切片、およびトレンドのサンプルを示しています。

季節性、トレンド、および切片(著者による画像)

その他の要因(制御変数)

その他の要因の仕様(著者による画像)

各因子係数λは、平均が0で標準偏差が1の正規分布から描かれます。これは、λが、それぞれの要因が結果に与える影響の方向と大きさを表す正または負の値を取ることができることを意味します。

以下のプロットは、事前分布から得られた別々のコンポーネントを示しています:切片、トレンド、季節性、および制御変数(competitor_sales_B、newsletter、holidays、およびevents)のサンプルがそれぞれ個別に表されます。

その他の要因(結合)(著者による画像)

メディアチャンネル

メディアチャンネルの事前仕様(著者による画像)

メディアチャンネルmのβ係数の分布は、標準偏差パラメータvがメディアチャンネルmに関連する総コストの合計によって決定される半正規分布で指定されます。総コストは、その特定のメディアチャンネルに割り当てられた投資やリソースを反映しています。

メディア変換

Adstock and Hill Saturation Specification (image by the author)

これらの方程式では、広告在庫やヒル飽和などの一連の変換を使用して、メディアチャンネルの振る舞いをモデル化しています。

PyMC3を使用したマーケティングミックスのモデリング

事前分布、データ正規化、Robyn、FacebookのオープンソースMMMとのベイジアンモデリングの比較についての実験…

towardsdatascience.com

メディアチャンネルの変換値は、時点tでの変換済みメディアチャンネルを表します。生のメディアチャンネル値xに変換を適用して得られます。ヒル変換は、半飽和点(0 <k≤1)を制御するパラメータK、および曲線の急峻さを制御する形状Sによって制御されます(s>0)。

変数x∗は、広告在庫変換を受けた後の時点tでの変換済みメディアチャンネル値を表します。現在の生のメディアチャンネル値に、前の変換済み値と広告在庫の減衰パラメータλの積を加算することによって計算されます。

パラメータKとSは、形状とスケールパラメータの両方を1に設定したガンマ分布に従い、λは形状パラメータが2、スケールパラメータが1のベータ分布に従います。

ヒル飽和のパラメータKとSの確率密度関数は、以下のプロットに示されています。

shape = 1scale = 1gamma_dist = stats.gamma(a=shape, scale=scale)samples = gamma_dist.rvs(size=1000)plt.figure(figsize=(20, 6))sns.histplot(samples, bins=50, kde=False, stat='density', alpha=0.5)sns.lineplot(x=np.linspace(0, 6, 100), y=gamma_dist.pdf(np.linspace(0, 6, 100)), color='r')plt.title(f"Gamma Distribution for $K_m$ and $S_m$ with shape={shape} and scale={scale}")plt.xlabel('x')plt.ylabel('P(X=x)')# Show the plotplt.show()python
Gamma distribution (image by the author)

広告在庫パラメータλの確率密度関数は、以下のプロットに示されています。

Beta distribution (image by the author)

広告在庫パラメータλの仕様に関する注記:

Beta(α = 2, β = 1)分布の確率密度関数は、より高い値がより高い確率密度を持つことを示しています。メディア分析では、異なる産業やメディアアクティビティによっては、一般に小さな減衰率を示すメディアチャンネルが多い場合があります。例えば、Robynは一般的なメディアチャンネルのλ減衰の以下の範囲を示唆しています:TV(0.3〜0.8)、OOH/Print/Radio(0.1〜0.4)、digital(0〜0.3)。

Beta(α = 2, β = 1)分布の文脈では、λ値に近い確率が高くなり、0に近い値には低い確率が割り当てられます。そのため、区間[0、1]の上端付近の結果または観測値が、下端付近の結果または観測値よりもより頻繁に発生する傾向があります。

また、キャリーオーバーとシェイプエフェクトを備えたメディアミックスモデリングのベイジアン方法では、減衰パラメータはBeta(α = 3, β = 3)と定義されており、その確率密度関数は以下のようになります。この分布は、[0、1]の区間の両端と中心付近で観測結果が同様に発生する可能性があることを示しています。

Beta(3,3)(著者による画像)

以下のプロットは、事前分布から得られた別々のコンポーネントを描画しています。それぞれ、切片、トレンド、季節性、制御変数、メディアチャンネルが個別に表されています。

すべてのモデルコンポーネント(著者による画像)

すべてのコンポーネントを組み合わせる

前述のように、LightweightMMMは、切片、トレンド、季節性、メディアチャンネルなど、さまざまなコンポーネントを事前分布からサンプリングし、予測応答を得るために加算的な線形回帰をモデル化します。以下のプロットは、真の応答と、事前予測分布からサンプリングされた期待される応答を視覚化しています。

1つのサンプルを真の応答値に対して視覚化することで、特定のパラメータ値のセットに対してモデルの予測が実際の結果と比較してどのようになるかを観察することができます。これにより、その特定のインスタンスでモデルのパフォーマンスを直感的に理解することができます。

収益:真の値 vs.事前(著者による画像)

事前予測チェック

より堅牢な洞察を得るためには、事前予測分布から複数回サンプリングし、不確実性を測定することが一般的に推奨されます。事前予測チェックは、実際のデータを観察する前に、選択したモデルの適切性を評価し、モデルの予測が私たちの期待に沿っているかを評価するのに役立ちます。

以下に描かれたプロットは、期待収益(平均)と不確実性の尺度を示して、事前予測分布を視覚化しています。真の収益が標準偏差の範囲内にあることから、モデル仕様が観測されたデータに適していることがわかります。

事前予測チェック(著者による画像)

結論

ベイズマーケティングミックスモデリングは、習得にかなりの時間がかかる場合があります。この記事が事前分布とベイズマーケティングモデルの仕様に対する理解を深めるのに役立てば幸いです。

完全なコードは、私のGithubリポジトリからダウンロードできます。

読んでくださってありがとうございました!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「DAE Talking 高忠実度音声駆動の話し相手生成における拡散オートエンコーダー」

今日は、新しい論文と、私が出会った中で最高品質の音声駆動ディープフェイクモデルについて話し合いますマイクロソフトリサ...

データサイエンス

「解釈力を高めたk-Meansクラスタリングの改善」

「クラスタリングは、一組のオブジェクトをグループ化する非監督学習のタスクであり、同じグループ内のオブジェクトには他の...

機械学習

「IoT企業のインテリジェントビデオアナリティクスプラットフォームを搭載したAIがベンガルール空港に到着」

毎年、約3200万人がベンガルール空港、またはBLRを通過し、世界で最も人口の多い国の中で最も忙しい空港の一つです。 このよ...

データサイエンス

グラフニューラルネットワークによるローマ数字の分析

『この記事では、自動和声分析のモデル開発の過程を説明したいと思います個人的には音楽を深く理解することに興味があります...

人工知能

「Azureプロジェクト管理のナビゲーション:効率的な運用と展開についての深い探求」

「エキスパートのストラテジーを使用して、シームレスな操作と成功した展開に必要なキーワードを明らかにし、Microsoft Azure...

機械学習

ディープネットワークの活性化関数の構築

ディープニューラルネットワークの基本的な要素は、活性化関数(AF)です活性化関数は、ネットワーク内のノード(「ニューロ...