« 読了:Clemen & Winkler (1986) 共分散行列もベイズ推定するベイジアン合意モデル | メイン | 読了:Bates & Granger (1969) 2つの予測をどうやって結合するか »
2016年4月11日 (月)
「製品・サービスの普及をBassモデルで推定したいよ!でも時点数が足りないからうまく推定できないよ!」「じゃあ時点数が足りるまで待てば?」「うぎー!そんなに待ってたら推定する意味ないじゃん!」というジレンマに対し、「じゃあさ、過去データからパラメータの事前分布みたいのを作っといて、手元のデータでベイズ更新しようよ」という路線のモデルがある。
先日読んだSultan et al.(1990)は、過去データから求めたBassパラメータと手元のデータから求めたパラメータをGoldberger-Theilアプローチというので結合する、という提案であった。
Lenk, P.J., & Rao, A.G. (1990) New Models from Old: Forecasting Product Adoption by Hierarchical Bayes Procedures. Marketing Science, 9(1), 42-53.
いっぽう、この論文ははなっから階層ベイズモデルを使うという提案。こっちのほうが気が利いているような気がする。
まずはBassモデルのおさらいから。潜在受容者数を$m$、時点$t$における累積受容者数を$N(t)$として、新規受容者は
$N'(t) = \left( p + q \frac{N(t)}{m} \right) \left( m - N(t) \right)$
$F(t) = N(t)/m$として、
$F'(t) = \left( p + q F(t) \right) \left( 1 - F(t) \right)$
これを解いて、
$\displaystyle G(t) = c \ \frac{1 - \exp(-bt)}{1 + a \exp (-bt)}$
$G(t)$は受容までの時間の累積密度関数, $a=q/p, b=p+q, c=m/M$, $M$は母集団サイズ。
ここで、年間売上$X_t$について
$X_t / M = \Delta G(t) + \epsilon_t$
と定式化する。$\Delta G(t) = G(t)-G(t-1), G(0)=0$。$\epsilon_t$はiidな正規誤差と考え、その分散を
$Var(\epsilon_t) = \Delta G(t) (1-\Delta G(t)) \sigma^2$
と仮定する。売上のレートが高ければ分散も大きいだろう、という仮定である。ほんとは$X_t / M$は非負でないとおかしいし、合計は1以下でないとおかしいけど、とりあえずこの2点の制約は忘れる。
[このくだり、いまいち腑に落ちていない... Srinivasan & Mason(1986, MktgSci.)をみるとよいらしい]
ここからが本題。ここに階層ベイズ(HB)モデルを導入する。まずはHBモデルとはなにか、ご紹介しましょう。[←こういうところ、時代だなあ]
いま$K+1$群の母集団があり、それぞれ$N(\theta_k, \sigma_k^2)$に従っているとしよう。最初の$K$群のそれぞれから無作為標本$X_{k,1}, X_{k, 2}, \ldots, X_{k, n(k)}$を得る。標本平均$\bar{X}_k$は$\theta_k$の十分統計量である。$\bar{X}_k$の尤度は$N(\theta_k$, $\sigma^2_k/n(k))$から得られる。
いま$\theta_1, \theta_2, \ldots, \theta_{K+1}$が$N(\phi, \tau^2)$からのiidドローであるとしよう。$\phi$は未知だが$\tau^2$は既知とする。これを第一段階事前分布と呼ぶ。$\phi$は$N(\mu, \xi^2)$に従うとしよう。これを第二段階事前分布と呼ぶ。
$\bar{X}_k$の周辺分布は$N(\mu, \sigma^2_k/n(k) + \tau^2)$。最初の$K$群からの標本が観察されたとして、$\phi$の事後分布$N(\mu_K, \xi^2_K)$について考えると、$\mu_K$は標本平均$\bar{X}_k$の周辺分布の分散の逆数を重みにして、事前平均$\mu$との加重和をとったものになり、$\xi^2_K$はウェイトと$\xi^{-2}$の和の逆数となる。
第$K+1$群からの標本を観察する前の$\theta_{K+1}$の予測分布は$N(\mu_K, \tau^2+\xi^2_K)$となる。最初の観察事例$X_{K+1, 1}$の予測分布は$N(\mu_K, \sigma^2_{K+1}+\tau^2+\xi^2_K)$となる。$n(K+1)$の標本を得たときの$\theta_{K+1}$の事後分布について考えると、それは正規分布で、平均$\tilde\theta_{K+1}$は第$K+1$群からの標本平均と$\mu_K$とを、それぞれの分散の逆数を重みにして加重和をとったものとなる。云々...
[丁寧に説明してくださっているんだろうけど、勉強不足のせいでちょっと理解できない箇所が... ま、あとでゆっくり考えよう]
エアコン(13年間)、カラーテレビ(8年間)、衣類用ドライヤー(13年間)、超音波診断装置(14年間)、マンモグラフィー(14年間)、外国語プログラム(12年間)、加速教育プログラム(?)(12年間)の、7本の普及曲線を使う(各時点をケースとみるわけである)。$k$番目のカテゴリのパラメータを$\theta_k = \{logit(c_k), logit(p_k), logit(q_k), 2log(\sigma)\}$とする。$\theta_k$の第一段階事前分布を$MVN(\mu, \Sigma)$とする。7カテゴリしかないので、推定の都合により$\Sigma$の非対角要素はゼロとする。ハイパーパラメータ$\phi = (\mu, \Sigma)$にはJeffreyの無情報事前分布を与える。
6カテゴリで事前分布を推定して1カテゴリを予測、というのを繰り返す。当該の普及曲線をMLで推定した場合と比べると、初期の売上が低い場合はHBのほうが有利、6カテゴリと大きく違うカテゴリについてはMLのほうが有利。
細かいところ、よくわからない点が多い... 勉強不足を痛感いたしました。
90年の論文なのでMCMCは出てこない(数値積分をモンテカルロ積分でやっているけど)。そのほかにも、いまならちょっとこういう書き方はしないんじゃなかろか、という箇所があった。もうちょいと新しいのを読んで、きちんと勉強しよう。
... それよかですね、この論文の白眉(?)は、このあとについたコメントと返答なのであります。実をいうとそっちを先に読んでいて、ちょっと笑っちゃったので、本編を探して読んだ次第である。
Vanhonacker, W.R. (1990) On Bayesian Estimation of Model Parameters. Marketing Science, 9(1), 54-55.
Lenk-Raoの提案、実にすばらしい。いくつかコメントしたい。
彼らのアプローチはこうだ。
- 基本モデル: $x_k \sim N(\theta_k, \sigma^2_k)$
- パラメータの異質性の表現: $\theta_k \sim N(\phi, r^2)$
- 不確実性の表現: $\phi \sim N(\mu, \epsilon^2)$
このアプローチはある重要な想定に基づいている。すなわち、交換可能性だ。事前分布$N(\phi, r-2)$は交換可能な事前分布である。つまり、$\theta_k$の事前情報は異なる$k$のあいだで同じである。このことは、Bassモデルのパラメータについての事前情報が産業材でも消費財でも同じだと考えていることに相当する。これは現実にそぐわない。
このように、HBはパラメタの異質性を確率的に表現してはいるものの、いかなるパラメータについても事前分布が弁別できない。事前知識はパラメータの異質性を含んでいないのである。ここがベイジアン・モデルの非現実的なところだ。仮に事前分布を別の形で表現しても本質はかわない。異質性が持っているシステマティックな性質を事前情報に組み込むことができていない。
今後は、Lenk-Raoがappendixで触れているような、事前分布に説明変数を組み込むアプローチが期待される。また、これは僕らがやっているアプローチなんだけど、Goldberger-Theilの再帰推定量という考え方を用いて、異質性の既知の構造を線形のパラメータ構造に統合していくという方法も考えられる。すなわち、
- 基本モデル: $x =Pb + u$
- メタ分析: $b = Zc + v$
- 不確実性の表現: $c = \bar{c} + e$
このやり方だと初期予測を簡単に手に入れられるよ。
Lenk, P.J., & Rao, A.G. (1990) Reply to Wilfried R. Vanhonacker. Marketing Science, 9(1), 56-57.
Vanhonacker先生、コメント誠にありがとうございます。光栄に存じますが、なんか勘違いしておられるようです。
- HBモデルは交換可能性を前提としてません。
- 先生が挙げているのは結局のところ動的線形モデル(DLM)だと思うんですけど、それはHBモデルの特殊ケースです。先生の式の1本目が群内分散、2本目が第一段階の事前分布、3本目が第二段階の事前分布です。
- 先生が推してるGoldberger-Theil推定量というのは、結局のところ、線形モデルのベイジアン分析をカルマンフィルタでやってるだけです。ベイジアン・アプローチであれば、線形モデルでなくても、誤差の分布がどうであっても、最適な推定値が得られます。
- DLMだろうがHBだろうが、ポイントは第一段階の事前分布と尤度を正しく設定することです。Bassモデルは本来非線形なモデルなんだから、先生みたいにDLM使ってちゃだめです。
うっかりコメントしたらもうコテンパンな目に... Lenk & Rao, おそろしい子...
論文:マーケティング - 読了:Lenk & Rao (1990) 階層ベイズなBassモデル (心温まるコメントと背筋の凍る返答つき)