はじめに
データ科学は懐がひろ〜い分野。いわゆる理工系の方々のみならず、私のバックグラウンドである社会科学出身の方々も、データサイエンティストとして多く活躍されています。
社会科学×データといえば、計量経済学をはじめとして、統計的性質に重きをおいた手法のイメージが強いかと思います。しかしその陰で、理論に基づくモデリングをした上でデータに当てはめるという構造推定と呼ばれる方法もあり、(『経済セミナー』での連載などのおかげか)にわかに知られてきています。
今回は、構造推定の盛んな実証産業組織論や計量マーケティングにおいて需要推定の登竜門(?)であるBLPモデル (Berry, Levinsohn and Pakes, 1995) を使って、社会科学におけるモデリング×データのやり口を垣間見たいと思います。
と言いましたが、単に自分が思い出したいだけというのもあるので、詳しく知りたければ『経済セミナー』の連載を読んでください。記事投稿も初めてなので、諸々見逃していただけると嬉しいです。
進め方
一回では収まらないので、大雑把に以下のように分けて書こうと思います。
- 理論編
- モデルの構築(理論編①)
- モデルの推定(理論編②)
- 実装編
ただし、この通りうまくいく保証はありません。
シチュエーション
ある市場$t$において、消費者$i$が財$j$を購う場合を考えます。また、
\begin{align*}
i &\in \mathcal{I} = \{1, 2, \ldots, I\} \\
j &\in \mathcal{J} = \{0, 1, 2, \ldots, J\} \\
t &\in \mathcal{T} = \{1, 2, \ldots, T\}
\end{align*}
であるとします。すなわち、$I$人の消費者、$J+1$個の財(ただし$j = 0$は「何も買わない」ことを表す)、$T$個の市場におけるできごとを見ていくことになります。
さて、ここで財$j$の需要について分析することを考えてみましょう。
「各消費者がどのような購買行動をしたか」という個票データがあれば問題ないのですが、大抵の場合はそんなことは起こらず、ある市場における財の売り上げに関する集計データしか手に入りません。たとえば、ある市場について
商品 | 市場シェア |
---|---|
りんご | 40% |
ぶどう | 25% |
みかん | 20% |
バナナ | 10% |
その他 | 5% |
合計 | 100% |
といった具合のデータが手に入る感じです。今回は、こういった集計データのみが手に入る状況を想定して、需要推定のためのモデルを構築します。
モデル
効用
消費者$i$が市場$t$において財$j'$を選択するということはどういうことなのか、を考えたいです。しかしこれはややこしいので、まずは2つの財の比較を考えます。
市場$t$で、消費者$i$が財$j'$を財$j$より好んでいるとき、それを
u_{ij't} > u_{ijt}
と表現するような$u$を持ってきて、「効用」と名付けます。もし上の式が成り立っていれば、市場$t$における消費者$i$は、財$j'$と$j$だったら前者を選ぶということが少なくとも言えます。つまり、何かを選ぶということは、任意の2つの選択肢どうしを見比べていって、最も好ましかったものを選ぶという行為だと考えられます。
このように考えると、消費者$i$が市場$t$において財$j'$を選択するということは、
\forall j \in \mathcal{J}\setminus \{j'\}, \ u_{ij't} > u_{ijt}
であると言えます。
ランダム係数モデル
消費者$i$が財$j$を市場$t$で選択することの効用$u_{ijt}$が以下のように書けるとしましょう。
u_{ijt} = \alpha_i p_{jt} + \beta_iX_{jt} + \xi_{jt} + \varepsilon_{ijt}
- $p_{jt}$:財$j$の市場$t$における価格
- $X_{jt}$:財$j$の市場$t$における観察された特徴
- $\xi_{jt}$:財$j$の市場$t$における観察されない特徴
- $\varepsilon_{ijt}$:消費者$i$の財$j$の市場$t$に対する特異なショック
さらに、ランダム係数$(\alpha_i, \beta_i)$については、消費者ごとの特徴を考慮して次のように表せるとします。
\begin{bmatrix}
\alpha_i \\
\beta_i
\end{bmatrix}
=
\begin{bmatrix}
\alpha \\
\beta
\end{bmatrix}
+ \Pi D_i + \Sigma \nu_i
- $D_i$:消費者$i$の観察された特徴
- $\nu_i$:消費者$i$の観察されない特徴
以上をまとめて$u_{ijt}$を書き直すと、パラメータが線形な部分$\delta_{jt}(\theta_1)$と非線形な部分$\mu_{ijt}(\theta_2)$に分割できます。
\begin{align*}
u_{ijt}
&=
\underbrace{
\alpha p_{jt} + \beta X_{jt} + \xi_{jt}
}_{線形な部分}
+
\underbrace{
\begin{bmatrix}
\Pi D_i + \Sigma \nu_i
\end{bmatrix}
\begin{bmatrix}
p_{jt} & X_{jt}
\end{bmatrix}^{\top}
}_{非線形な部分}
+
\varepsilon_{ijt} \\
&=
\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2) + \varepsilon_{ijt}
\end{align*}
- $\theta_1 = (\alpha, \beta)$:線形なパラメータ
- $\theta_2 = (\Pi, \Sigma)$:非線形なパラメータ
需要を分析する場合、一般には消費者の平均的な傾向に興味があるため、線形パラメータ$\theta_1$の推定が焦点になります。
ショックの仮定
消費者$i$が市場$t$において財$j'$を選択するとき、効用の定義より
\forall j \in \mathcal{J}\setminus \{j'\}, \ u_{ij't} > u_{ijt}
となっています。したがって、消費者$i$が市場$t$において財$j'$を選択する確率$P_{ij't}$は
\begin{align*}
P_{ij't}
&=
\prod_{j' \in \mathcal{J}\setminus\{j'\}}
\Pr(u_{ij't} > u_{ijt}) \\
&=
\prod_{j' \in \mathcal{J}\setminus\{j'\}}
\Pr(
\varepsilon_{ijt} < \varepsilon_{ij't}
+ \{\delta_{j't}(\theta_1) + \mu_{ij't}(\theta_2)\}
- \{\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2)\}
)
\end{align*}
となります。さらに計算を進めるために、次の仮定を置きます。
ショックの仮定
特異なショック$\varepsilon_{ijt}$は、互いに独立して第一種極値分布に従う。
ただし、第一種極値分布の累積分布関数を$F_{EV}$、確率密度関数を$f_{EV}$とすると、
\begin{align*}
F_{EV}(x) &= \exp\{-\exp\{-x\}\}\} \\
f_{EV}(x) &= -\exp\{-x\}\exp\{-\exp\{-x\}\}\}
\end{align*}
である。
上の仮定により、$P_{ij't}$はより簡単に書けます。(詳細は省略)
\begin{align*}
P_{ij't}
&=
\prod_{j' \in \mathcal{J}\setminus\{j'\}}
\Pr(
\varepsilon_{ijt} < \varepsilon_{ij't}
+ \{\delta_{j't}(\theta_1) + \mu_{ij't}(\theta_2)\}
- \{\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2)\}
) \\
&=
\int
\prod_{j' \in \mathcal{J}\setminus\{j'\}}
\Pr(
\varepsilon_{ijt} < \varepsilon_{ij't}
+ \{\delta_{j't}(\theta_1) + \mu_{ij't}(\theta_2)\}
- \{\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2)\}
\mid \varepsilon_{ij't}
)
df_{EV}(\varepsilon_{ij't}) \\
&=
\frac{
\exp\{\delta_{j't}(\theta_1) + \mu_{ij't}(\theta_2)\}
}{
\sum_{j \in \mathcal{J}}
\exp\{\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2)\}
}
\end{align*}
これを、任意の財$j' \in \mathcal{J}$について考えればよいです。
財の市場シェア
消費者ごとの購買行動データがなければ、$P_{ijt}$をそのままデータと照らし合わせることができません。しかし、$P_{ijt}$をある市場$t$において財$j$を購入した消費者について足し合わせてあげれば、残るのは財$j'$の市場$t$におけるシェアであるため、集計データでもモデルを推定できそうです。
そこで、ここでは消費者$i$に関連する変数$(D_i, \nu_i)$を積分消去し、財の市場におけるシェアと照らし合わせることを考えます。いま、財$j'$の市場$t$におけるシェアのモデル$\sigma_{j't}$を考えると、上の議論から
\sigma_{j't}(\{\delta_{jt}(\theta_1)\}_{j\in \mathcal{J}}, \theta_2)
=
\int \int
\frac{
\exp\{\delta_{j't}(\theta_1) + \mu_{ij't}(\theta_2)\}
}{
\sum_{j \in \mathcal{J}}
\exp\{\delta_{jt}(\theta_1) + \mu_{ijt}(\theta_2)\}
}
dF(D_i)dG(\nu_i)
と書けます。ただし、$F(D_i)$と$G(\nu_i)$はそれぞれ$D_i$と$\nu_i$の分布です。
一般にこの積分を解析的に解くことはできないため、実データや仮定された分布から数値的に計算します。具体的には、$D_i$を実際の消費者属性データから、また$\nu_i \sim \mathcal{N}(0, I)$と仮定して、十分に大きな試行回数$R$をとって
\tilde{\sigma}_{j't}(\{\delta_{jt}(\theta_1)\}_{j\in \mathcal{J}}, \theta_2)
=
\frac{1}{R} \sum_{r=1}^R
\frac{
\exp\{\delta_{j't}(\theta_1) + \mu_{ij't}(D_i^r, \nu_i^r; \theta_2)\}
}{
\sum_{j \in \mathcal{J}}
\exp\{\delta_{jt}(\theta_1) +\mu_{ij't}(D_i^r, \nu_i^r; \theta_2)\}
}
のように計算すれば、モデルに基づいて財$j'$の市場$t$におけるシェアを近似できます。
次回
今回はデータと照らし合わせるためのモデルを用意したので、次はパラメータの推定について考えます。