移動先:
品質チェックを実行する
モデルのトレーニングが完了したら、因果推論の結果を信頼する前に、モデルの完全性と安定性を評価する必要があります。これらのモデリング後の品質チェックは、モデルの収束、仕様、妥当性に関連する一般的な問題を診断するように設計されています。
これらのチェックを実行すると、潜在的な問題を特定し、データがモデルにどのように影響したかを把握して、モデルの出力が信頼性が高く、ビジネス上の意味があることを確認できます。
次のコマンドを実行すると、このページの必要なすべての診断の結果が生成されます。
from meridian.analysis.review import reviewer
reviewer.ModelReviewer(mmm).run()
診断ステータスを解釈する
このページの各診断チェックでは、3 つのステータスのいずれかが返されます。それぞれの背景にある考え方は次のとおりです。
PASS: このステータスは単なる情報提供であり、ユーザーによる操作は必要ありません。
REVIEW: このステータスは、検出結果がビジネス コンテキストに依存しており、明らかな
PassまたはFailでない場合に表示されます。結果を手動で確認し、さらなる対応が必要かどうかを判断します。検出結果を評価し、その影響を理解していれば、REVIEWステータスで続行することは妥当であることがほとんどです。FAIL: 重大な問題が検出されたことを示す重要なフラグです。モデルの結果が因果推論に関して信頼できない可能性があるため、続行する前に問題を修正することを強くおすすめします。
収束
モデルの収束は、メリディアンなどのベイズモデルから推定値を解釈する前に満たすべき基本的な前提条件です。収束しない場合、推定値は任意の値となり、事後分布を正しく表すことができません。
メリディアンは、Gelman と Rubin(1992 年)の Potential Scale Reduction Factor(R-hat)を使用して収束を診断します。R-hat は、チェーン間の分散と各チェーン内の分散を比較します。チェーンが収束している場合、これらの分散はほぼ同じになり、R-hat 値は 1.0 に近くなります。
モデル全体に対して単一の明確なシグナルを提供するため、メリディアンはすべてのモデル パラメータで検出された max_r_hat 値をレポートします。この単一の値によって、モデルの全体的な収束ステータスが決まります。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
max_r_hat < 1.2 |
PASS | すべてのパラメータの R-hat 値が 1.2 未満であるため、モデルは収束している可能性があります。 |
max_r_hat >= 1.2 かつ < 10 |
FAIL | モデルが完全には収束しておらず、パラメータ X の max_r_hat は Y です。R-hat 値の高いパラメータを手動で検査して、結果がユースケースに適しているかどうかを判断し、MCMC の反復回数を増やすか、モデルの誤指定を調査することを検討してください。 |
max_r_hat >= 10 |
FAIL | モデルが収束しておらず、パラメータ X の max_r_hat は Y です。続行する前に、MCMC の反復回数を増やすか、モデルの誤指定(事前分布、多重共線性など)を調査することをおすすめします。 |
モデルの max_r_hat が 1.2 以上の場合は、モデルの出力を信頼する前に原因を調査する必要があります。収束の問題を解決するには、次の手順を行います。
MCMC の反復回数を増やす: まず、MCMC の反復回数を増やしてみます。モデルが事後分布を調べて安定した状態に達するまでに、より多くの時間が必要になることがあります。
モデルを調査する: 反復回数を増やしても収束の問題が解決しない場合は、モデルの誤指定の可能性を調査します。これには、事前分布を慎重に再検討し、予測変数間の高い多重共線性を確認することが含まれます。
詳細については、MCMC を収束させるをご覧ください。
負のベースライン
メリディアンでは、ベースラインは、すべての介入変数がベースライン値に設定されている反事実的シナリオで期待される結果(売上、コンバージョンなど)を表します。つまり、分析期間中に有料メディア、オーガニック メディア、メディア以外のその他の介入群を実施しなかった場合に、結果がどうなっていたかを把握できます。
ベースラインを正確に推定することは、マーケティング活動の増分効果を判断するための基盤となるため、非常に重要です。ベースラインが不正確だと、マーケティングの真の影響を大きく見誤る可能性があります。
一般的に結果が負になることはないため、ベースラインが負の値に落ち込む場合は、統計的な誤りがあることを示しています。ただし、重大度について正確を期すことが重要です。他の統計モデルと同様に、メリディアンにも誤差が生じます。そのため、負の値にわずかに落ち込むことがあっても、大きな問題ではない可能性があります。しかし、ベースラインが常に負の値になる場合は明らかに問題があります。マーケティングを行わなければ売上が常にマイナスになることを示唆しており、現実のシナリオではあり得ないことです。これは、モデルが介入群効果を過大評価している可能性が高いことを示す強いシグナルです。オーガニックな成長やその他の測定されていないプラスの効果を、介入変数に誤って帰属させているためだと考えられます。
メリディアンは統計的かつ確率的なモデルであるため、単一の点推定値を見るのではなく、ベースラインを確率的に評価することで、これらのシナリオを区別できます。評価する主な指標は、期間全体で集計されたベースラインが負になる事後確率です。この確率が高い場合は、統計誤差が大きく、モデルの調整が必要であることを示しています。詳細については、負のベースラインを評価するをご覧ください。
メリディアンはこの確率を評価して、モデルの診断に役立てます。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
負のベースラインの確率 < 0.2 |
PASS | ベースラインが負になる事後確率は X です。このことを確認するには、モデル適合度グラフでベースライン時系列を視覚的に検査することをおすすめします。 |
負のベースラインの確率 0.2~0.8 |
REVIEW | ベースラインが負になる事後確率は X です。これは、ベースライン時系列が断片的に負の値に低下していることを示しています。モデル適合度グラフでベースライン時系列を視覚的に検査することをおすすめしますが、過度に心配する必要はありません。断片的に発生する小さな低下は、モデルに固有の軽微な統計誤差である可能性があります。 |
負のベースラインの確率 > 0.8 |
FAIL | ベースラインが負になる事後確率は X です。この確率が高い場合は、統計誤差があることを示しており、モデルの調整が必要だという明確なシグナルとなります。モデルが介入群を過大評価している可能性があります。この問題を解決するには、モデルの設定、データ、事前分布の調整を検討してください。 |
モデルに関して、負のベースラインの確率が高い場合(つまり、0.8 より大きい場合)は、モデルの仕様、コントロール変数、モデルの DAG を確認することをおすすめします。詳細については、負のベースライン、または低いベースラインを緩和するをご覧ください。
ベイズ事後予測 P 値(PPP)
ベイズ事後予測 P 値(PPP)は、モデルの全体的な適合度を確認する強力な診断ツールです。ベイズ P 値ともいいます。これは、「モデルでシミュレートしたデータは、観測された実際のデータと似ているか?」という疑問に答えるものです。モデルがデータの基盤となるパターンを正しく学習していれば、シミュレートされたデータは実際のデータと統計的に区別できません。シミュレートしたデータがまったく異なる場合は、モデルが誤って指定されており、データに適合していない可能性が高いことを示しています。詳細については、ベイズデータ分析のセクション 6.3 をご覧ください。
このチェックを行うために、メリディアンは結果の合計(すべての地域と時間)を検定統計量として使用します。このチェックでは、事後分布のサンプルから得られた予測合計結果($T(y_{\text{exp}})$)の分布と、単一の観測合計結果($T(y)$)を比較します。この比較を行う際は、予測合計結果の分布内における観測合計結果($T(y)$)の片側 p 値またはパーセンタイル ランクを次のようにして計算すると簡単です。
ここで、$S$は事後分布のサンプル総数です。この計算では、観測データが期待される結果の事後予測分布の左端(p 値が 0 に近い)または右端(p 値が 1 に近い)に該当する場合に、モデルの適合度が「極端」または「不良」になります。レポート用に、p 値は 0 に近い値がテールの両端を表すように変換されます(頻度論的な p 値の解釈と一致させるため)。概念的な帰無仮説は、観測データがモデルによって生成されたというものです。p 値が所定のしきい値を下回ると、帰無仮説は「棄却」されます。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
ベイズ PPP >= 0.05 |
PASS | ベイズ事後予測の p 値は X です。観測された合計結果は、モデルの事後予測分布と一致しています。 |
ベイズ PPP < 0.05 |
FAIL | ベイズ事後予測の p 値は X です。観測された合計結果は、モデルの想定合計結果と比較して極端な外れ値であり、系統的な適合不足を示しています。この問題を解決するには、入力データの品質を確認し、モデル仕様(事前分布、変換など)を再検討することをおすすめします。 |
PPP 値の FAIL ステータスは、モデルの誤指定(変数の欠如、EDA で検出されなかったデータの問題、不適切な事前分布、アドストック減衰、飽和、ベースラインに関する誤った仮定など)の強い指標となります。KPI、メディア、コントロール変数全体で、異常、外れ値、エラーがないか、入力データの品質を徹底的に確認することをおすすめします。さらに、モデル仕様を再検討します。事前分布の選択、ベースライン、アドストックとヒルの変換の適切性には特に注意してください。最後に、ベイズ PPP の結果を、収束、決定係数、残差プロットなどの他の重要なモデル診断と相互参照して、モデルのパフォーマンスを包括的に把握します。
適合度
適合度指標は、モデルの予測が実際の観測データとどの程度一致しているかを測定します。これらは重要な信頼性チェックとして機能しますが、MMM の主な目標は予測精度ではなく、正確な因果推論であるため、慎重に解釈する必要があります。メリディアンでは、次の 3 つの標準指標がレポートされます。
決定係数: モデルによって説明される結果変数の分散の割合。値が 1 に近いほど、適合度が高いことを示します。
平均絶対誤差率(MAPE): 予測値と実測値の平均絶対誤差率。値が 0% に近いほど、適合度が高くなります。
加重 MAPE(wMAPE): 誤差が実際の結果値(収益など)で重み付けされる MAPE のバリエーション。結果が小さい地域や期間の重要性が低く評価されるため、誤差指標が大きくなる可能性がある MAPE よりも、多くの場合優先されます。
これらの指標はすべてのモデルでレポートされ、主に他の候補モデルとの相対比較のツールとして使用されます。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
決定係数 > 0 |
PASS | 決定係数 = X、MAPE = Y、wMAPE = Z。これらの適合度指標は、ガイダンスと相対比較を目的としています。 |
決定係数 <= 0 |
REVIEW | 決定係数 = X、MAPE = Y、wMAPE = Z。決定係数が負の値の場合、事前分布とデータとの間に競合が発生している可能性があるため、調査が必要です。この競合が意図的なもの(有益な事前分布によるもの)である場合、追加の対応は必要ありません。意図的でない場合は、事前分布を緩和して制約を減らすことをおすすめします。 |
これらの適合度指標は、ガイダンスと相対比較を目的としているため、通常は PASS ステータスになります。ただし、決定係数の値が負の場合、メリディアンは REVIEW ステータスをレポートします。負の決定係数は多くの場合、データ内のパターンと競合する情報量の多い事前分布が原因で発生します。この競合は重要な診断シグナルですが、本質的に「悪い」ものではありません。競合は意図的なものである可能性があるため、モデリングの目標に基づいて検討する必要があります。たとえば、観測データに存在すると思われる既知のバイアス(交絡因子の欠落など)を意図的に打ち消すために、強力なテストベースの事前分布を使用することがあります。このシナリオでは、負の決定係数は導入した緊張を強調しているに過ぎません。
そのため、REVIEW ステータスは、この競合が発生している理由を調査するよう求めるものです。競合が意図的なものでない場合(上記の例のような意図的な選択ではない場合)、事前分布を見直して制限を緩和することをおすすめします。問題が解決しない場合は、モデルの構造を調べて、主要な変数の欠落や、予測因子と結果の関係に関する誤った仮定など、他の問題がないか確認します。詳細については、負の決定係数をご覧ください。
ベイズ PPP と決定係数の比較
ベイズ PPP と決定係数は相補的な指標です。決定係数は相対指標であり、主にモデル間の比較に使用されます(「モデル A の決定係数はモデル B の決定係数よりも優れている」など)。一方、ベイズ PPP はモデルの妥当性の絶対指標です。
また、通常、決定係数はモデルの点推定値によって説明される分散を測定します。一方、ベイズ PPP は推定値の不確実性を考慮し、観測データがモデルから導かれた妥当な結果であるかどうかを判断します。
ベイズ PPP の FAIL ステータスは、モデルが根本的に誤って指定されていることを示します。逆に、真のプロセスが本質的にノイズを含んでいる場合、モデルが完璧に指定されていても決定係数が低くなることがあります。
ROI の事前分布と事後分布の変化
ベイズ モデリングの基本的なコンセプトは「データからの学習」です。このチェックでは、事前分布と事後分布を比較することで、モデルが学習した量を把握できます。このチェックには主に 2 つの解釈があります。
大幅な変化がある場合: 一般的に、これは良い兆候です。これは、MMM の適合に使用されたデータが、モデルの初期の信念を更新するのに十分な情報量があり、正確かつデータドリブンな推定値が得られることを示しています。
変化がほとんどない場合: MMM の適合に使用されたデータに含まれる情報が、事前分布に含まれる情報と比較して弱いことを意味します。この問題は主に次の 2 つの理由で発生します。
データ内の情報が少ない: そのチャネルのデータがまばらすぎる、ノイズが多い、またはバリエーションが不足している。データに情報が少ない場合、事前分布と事後分布は類似します。特に費用の少ないチャネルは、この影響を受けやすい傾向があります。この問題を解決するには、チャネルを別の関連チャネルと統合してシグナルを増やすのが一般的です。統合する適切なチャネルがない場合でも、チャネルを完全に削除するよりは、チャネルをモデルに含めて事前分布に関する知識に依拠する(少なくともおおよそ妥当であると仮定する)方が良いでしょう。妥当な事前分布を使用する方が、チャネルが存在しないと仮定するよりも優れています。チャネルの削除は、費用が非常にわずかで、論理的に他に統合できない場合など、最後の手段としてのみ検討すべきです。詳細については、事前分布が事後分布と同じ場合をご確認ください。
事前分布の情報が強い: 事前分布が意図的に非常に強い(分散が小さい)値に設定されています。これは必ずしも悪いことではありません。事前分布が確かな外部知識(このモデルの適合に使用されていない以前の因果関係テストなど)に基づいている場合、事前分布がモデルデータよりも多くの情報を持っていることは許容されます。変化がないことは問題ありません。
この変化は視覚的に確認できます。次のコマンドを実行して、各メディア チャネルの ROI 事後分布を ROI 事前分布と比較してプロットします。
model_diagnostics = visualizer.ModelDiagnostics(meridian)
model_diagnostics.plot_prior_and_posterior_distribution()
定量的には、メリディアンは各有料メディア チャネルの ROI パラメータの主要な統計情報(平均値、中央値、第 1 四分位数、第 3 四分位数)に対して両側仮説検定を行います。検定では、事前分布の分析統計(事前分布の平均など)が、事後分布のサンプルから構築された信頼区間の外にあるかどうかを確認します。そのためにノンパラメトリック ブートストラップを使用します。
統計量(平均など)の経験分布は、繰り返し再サンプリングすることで事後分布のサンプルから生成されます。
両側仮説検定を行います。帰無仮説は、事後分布の統計量が事前分布の統計量と等しいというものです。
検定では、事前分布の値よりも大きいか小さい、ブートストラップされた事後分布の統計量の割合を求めて p 値を計算します。
p 値が有意水準($\alpha=0.05$)を下回る場合、帰無仮説は棄却され、その特定の統計量について有意な変化がレポートされます。
主要な統計量に有意な変化が見られない場合、チャネルは「事前分布と事後分布に有意な変化がない」として推奨事項の表で報告されます。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
| すべてのチャネルで、事前分布と事後分布に有意な変化がある。 | PASS | モデルがデータから正常に学習しました。これは、データが有益であったことを示す良い兆候です。 |
| どのチャネルでも、事前分布と事後分布に有意な変化がない。 | REVIEW | チャネル X、Y、Z で、事後分布が事前分布から有意に変化していないことが検出されました。これは、これらのチャネルのデータシグナルがモデルの信念を更新するのに十分な強さではなかったことを示しています。これらのチャネルを確認して、強い事前分布によるものか(想定内)、弱いシグナルによるものか(問題あり)を判断してください。 |
ROI の一貫性
ROI は多くの場合、MMM の出力として最も厳しく精査されます。このチェックは、モデルの ROI の推定値が妥当であることを確認するのに役立ちます。ROI の値が極端な場合、ベースラインの推定やモデルの仕様に関する問題など、根本的な問題を示している可能性があります。
メリディアンは、各有料メディア チャネルの事後分布の平均 ROI を対応するカスタム事前分布と比較することで、このチェックを行います。あるチャネルの ROI について、事後分布の平均が事前分布のテールの端部に該当する場合、その ROI は外れ値として報告されます。具体的には、この REVIEW ステータスは、表明した事前仮説の 99 パーセンタイルを超えるか、1 パーセンタイルを下回る場合にトリガーされます。
| 条件 | ステータス | 推奨事項 |
|---|---|---|
| すべてのチャネルで、事後分布の平均 ROI が事前分布の 1 パーセンタイルから 99 パーセンタイルの間に収まっている。 | PASS | ROI の事後分布が妥当な範囲内にあり、指定したカスタム事前分布と一致しています。 |
| いずれかのチャネルで、事後分布の平均 ROI が事前分布のテールの端部(99 パーセンタイル以上または 1 パーセンタイル以下)に該当する。 | REVIEW | チャネル X、Y、Z で、事後分布の平均がカスタム事前分布のテールの端部に該当することが検出されました。この結果を確認して、ビジネスのコンテキスト内で妥当かどうかを判断してください。 |
このチェックは、カスタム事前分布が設定されている場合にのみ実行され、デフォルトの事前分布が使用されている場合はスキップされます。このチェックの目的は、モデルのデータドリブンな結果(事後分布)と、明示的なエキスパート主導のビジネス仮説(カスタム事前分布)の間における競合を検出することです。表明した信念とデータが大きく矛盾している場合、実用的なアラートとして機能し、モデルまたは前提条件の見直しを促します。一方、デフォルトの事前分布はビジネス仮説ではなく、正則化のための汎用的な統計ツールです。これらの基準は意図的に広範囲に設定されており、特定のビジネス知識を表しているわけではないため、モデルの結果をこれらの基準と比較しても、有意義な分析情報や実用的な分析情報は得られません。