階層ベイジアンモデル(?)


12

統計用語の虐殺について謝罪してください:)ここで、広告とクリックスルー率に関連するいくつかの質問を見つけました。しかし、それらのどれも私の階層的状況の私の理解で私をあまり助けませんでした。

関連する質問があります。これらの同等の表現は、同じ階層型ベイジアンモデルですか?、しかし、実際に同様の問題があるかどうかはわかりません。別の質問階層ベイジアン二項モデルの事前分布事前は、ハイパープライアについて詳しく説明しますが、それらの解を自分の問題にマッピングすることはできません

新製品のオンライン広告がいくつかあります。広告を数日間掲載しました。その時点で、広告をクリックして十分な人がクリックを獲得している広告を確認しました。クリック数が最も多いものを除いてすべてを追い出した後、広告をクリックしてから実際にどのくらいの人が購入したかを確認するために、さらに数日間実行します。その時点で、そもそも広告を掲載するのが良いアイデアであったかどうかがわかります。

私は毎日数個のアイテムしか売っていないので、私は多くのデータを持っていないので、私の統計はとてもうるさいです。したがって、広告を見た後に何人の人が何かを購入するかを推定することは本当に困難です。150回のクリックごとに約1つだけが購入につながります。

一般的に言って、広告グループごとの統計をすべての広告のグローバル統計で何らかの方法で平滑化することにより、各広告でできるだけ早くお金失うかどうかを知る必要があります。

  • すべての広告が十分な購入数に達するまで待つと、時間がかかりすぎるため、壊れてしまいます。10個の広告をテストするため、各広告の統計情報が十分に信頼できるように10倍のお金を費やす必要があります。その時までに私はお金を失ったかもしれません。
  • すべての広告を平均して購入すると、うまく機能していない広告を追い出すことはできません。

グローバル購入率( N $サブ分布を使用できますか?つまり、各広告のデータが多いほど、その広告の統計情報はより独立したものになります。まだ誰も広告をクリックしていない場合、世界平均が適切であると思います。perclick)anduseitasapriorfor

そのためにどのディストリビューションを選択しますか?

Aで20回、Bで4回クリックした場合、どのようにモデル化できますか?ここまでで、二項分布またはポアソン分布がここで意味をなすかもしれないことがわかりました。

  • purchase_rate ~ poisson (?)
  • (purchase_rate | group A) ~ poisson (グループAのみの購入率を推定しますか?)

しかし、実際にを計算するには、次に何をしますかpurchase_rate | group A。グループA(または他のグループ)にとって意味のある2つのディストリビューションをプラグインするにはどうすればよいですか。

最初にモデルを適合させる必要がありますか?モデルを「トレーニング」するために使用できるデータがあります。

  • 広告A:352回のクリック、5回の購入
  • 広告B:15回のクリック、0回の購入
  • 広告C:3519回のクリック、130回の購入

いずれかのグループの確率を推定する方法を探しています。グループに含まれるデータポイントが数個しかない場合、基本的に世界平均にフォールバックしたいと思います。私はベイジアン統計について少し知っており、ベイジアン推論や共役事前分布などを使用してモデル化する方法を説明する多くの人々のPDFを読みました。これを適切に行う方法はあると思いますが、正しくモデル化する方法がわかりません。

ベイジアン的な方法で問題を定式化するのに役立つヒントにとても満足しています。これは、実際にこれを実装するために使用できる例をオンラインで見つけるのに大いに役立ちます。

更新:

お返事ありがとうございます。私は自分の問題について少しずつ理解し始めています。ありがとうございました!問題をもう少しよく理解しているかどうかを確認するために、いくつか質問をさせてください。

私が想定して変換がベータ分布として配布されており、ベータ分布は、2つのパラメータを持っているaと。b

12 12パラメーターはハイパーパラメーターなので、前のパラメーターですか?最後に、ベータ分布のパラメーターとしてコンバージョン数とクリック数を設定しましたか?

ある時点で異なる広告を比較したいので、P(conversion|ad=X)=P(ad=X|conversion)P(conversion)P(ad=X)。その式の各部分を計算するにはどうすればよいですか?

  • は、尤度、またはベータ分布の「モード」と呼ばれると思います。それでは、そのα - 1P(ad=X|conversion)、とαおよびβ私の分布のパラメータです。しかし、ここでの特定のαβは、広告Xだけの分布のパラメータですよね?その場合、それはこの広告で見られたクリック数とコンバージョン数だけですか?または、すべての広告で見られたクリック数/コンバージョン数はどれくらいですか?α1α+β2αβαβX

  • それから、私は事前情報(P(変換))を掛けます。これは、私の場合は情報量の少ないジェフリーズ事前情報です。より多くのデータを取得しても、以前のバージョンは変わりませんか?

  • 限界尤度であるで割るので、この広告がクリックされた頻度をカウントしますか?P(ad)

ジェフリーズの以前のものを使用する際、私はゼロから始めており、私のデータについて何も知らないと想定しています。その事前は「非情報的」と呼ばれます。データについて学習し続けているときに、事前データを更新しますか?

クリックとコンバージョンが発生すると、ディストリビューションを「更新」する必要があることを読みました。これは、私の分布のパラメーターが変わることを意味しますか、それとも以前の変更を意味しますか?広告Xのクリックがあった場合、複数のディストリビューションを更新しますか?事前に複数ありますか?

回答:


9

直観したように、ご質問に対処する非常に一般的な方法は、階層(マルチレベル)ベイジアンモデルを構築することです。以下に示すように、モデルには3つの部分があります。

モデル

広告コンバージョン率の階層ベイズモデル

  1. 母集団レベルでは、特定のテスト済み広告セットのサンプリング元となる広告母集団のコンバージョン確率をモデル化します。Neilが以前に指摘したように、母集団パラメーターを修正し、それらを第2レベルの事前分布として使用できます。あるいは、母集団パラメーター自体に事前分布を置くこともできます。これにより、母集団パラメーターに関する不確実性をデータに照らして表現できるという追加の利点が得られます。このルートに従い、母集団の精度(つまり、逆分散)に事前の人口平均の μジョージアλを| 00を配置しましょう。μを使用して拡散事前分布を取得できますN(μμ0,η0)μGa(λa0,b0)私たちの後方推論を保証する、データによって支配されます。μ0=0,η0=0.1,a0=1,b0=1

  2. πjjjρj:=logit(πj)N(ρjμ,λ)

  3. kjjBin(kjσ(ρj),nj)σ(ρj)njj

データ

例として、元の質問で投稿したデータを取り上げましょう。

広告A:352回のクリック、5回の購入

広告B:15回のクリック、0回の購入

広告C:3519回のクリック、130回の購入

n1=352,k1=5,n2=15,k2=0,

推論

このモデルを反転すると、モデルパラメーターの事後分布を取得することになります。ここでは、MCMCなどの確率的サンプリングスキームよりも計算上効率的な、モデル化に変分ベイズアプローチを使用しました。以下の結果をプロットしました。

データと結果の事後

図は3つのパネルを示しています。(a)入力したサンプルデータの簡単な視覚化。灰色のバーはクリック数を表し、黒いバーはコンバージョン数を表します。(b)母集団の平均変換率に対する結果の事後分布。より多くのデータを観察するにつれて、これはますます正確になります。(c)広告固有の事後コンバージョン率の中央95%事後確率間隔(または信頼できる間隔)。

最後のパネルは、階層モデリングに対するベイジアンアプローチの2つの重要な機能を示しています。まず、事後の精度は基礎となるデータポイントの数を反映します。たとえば、広告Cには比較的多くのデータポイントがあります。したがって、その後方は、他の広告の後方よりもはるかに正確です。

第二に、広告固有の推論は、母集団に関する知識によって通知されます。つまり、広告固有の事後要因はグループ全体のデータに基づいており、これは人口の減少として知られています。たとえば、広告Aの事後モード(黒丸)は、経験的なコンバージョン率(青)よりもはるかに高くなっています。これは、他のすべての広告がより高い事後モードを持っているためです。したがって、グループ固有の広告固有の推定値を通知することにより、グラウンドトゥルースのより良い推定値を取得できます。特定の広告に関するデータが少ないほど、他の広告のデータの影響が大きくなります。

元の質問で説明したすべてのアイデアは、上記のモデルで自然に達成され、完全なベイジアン設定の実用性を示しています。


ケイ、詳細な答えをありがとう。私は答えがわずかに日付が付けられていることを理解していますが、それを保持している場合は付随するコードを共有してもらえますか?私は階層ベイズモデルを学ぶしようとしているが、Rに直感的な例を見つけるのに苦労しています
Zhubarb

@Kay、興味深い答えをありがとう、階層ベイジアンモデルへの参照を追加してください。ありがとう!
user511005

1
こんにちは@Zhubarb、user511005は、ここでは上記のモデルを記述した論文へのリンクです:sciencedirect.com/science/article/pii/S1053811913002371私はしましたが、ここで一緒に変分推論を簡単に紹介を置く:people.inf.ethz.ch/ bkay / talks / Brodersen_2013_03_22.pdf
ケイBrodersen

2

p

paabb

ab(12,12)a,bデータのすべてに係ります。

の推定値を取得するにはpab、最尤値、ベータ分布のモードを選択できます。


編集への回答:

変換はベータ分布ではなく、確率でベルヌーイ分布します p。設定方法を比較してくださいa そして bあなたが書いたものとパラグラフ2。あなたが持っていることに注意してくださいp 広告ごとに、したがって信念 p 広告ごとに、それらの信念にはそれぞれ独自の a そして b

ベイジアン更新は

PpバツPpPバツp

どこ バツ 観測(変換または変換なし)および p適切な広告に選択されています。この式はすでに更新に組み込まれていますa そして b、変換の場合に1を追加するように機能します a、それ以外の場合は1を追加します b—これは信念を更新していますp

ジェフリーズの事前分布は、情報価値のない事前分布と同じものではありませんが、使用する正当な理由がない限り、より良いと思います。それについての議論を始めたい場合は、気軽に別の質問をしてください。


返信いただきありがとうございます!このコメントボックスの文字がなくなったため、元の質問を更新しました。アップデートで書いた詳細のいくつかについてフィードバックをいただければ幸いです。
ミカティイホネン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.