集計データで需要推定をしたい！（理論編①）

# はじめに
データ科学は懐がひろ〜い分野。いわゆる理工系の方々のみならず、私のバックグラウンドである社会科学出身の方々も、データサイエンティストとして多く活躍されています。

社会科学×データといえば、計量経済学をはじめとして、統計的性質に重きをおいた手法のイメージが強いかと思います。しかしその陰で、理論に基づくモデリングをした上でデータに当てはめるという構造推定と呼ばれる方法もあり、（『経済セミナー』での連載などのおかげか）にわかに知られてきています。

今回は、構造推定の盛んな実証産業組織論や計量マーケティングにおいて需要推定の登竜門（？）であるBLPモデル (Berry, Levinsohn and Pakes, 1995) を使って、社会科学におけるモデリング×データのやり口を垣間見たいと思います。

と言いましたが、単に自分が思い出したいだけというのもあるので、詳しく知りたければ『経済セミナー』の[連載](https://sites.google.com/view/keisemi-ebiz/%E3%83%9B%E3%83%BC%E3%83%A0?authuser=0)を読んでください。記事投稿も初めてなので、諸々見逃していただけると嬉しいです。

# 進め方

一回では収まらないので、大雑把に以下のように分けて書こうと思います。

- 理論編
    - モデルの構築（理論編①）
    - モデルの推定（理論編②）
- 実装編

ただし、この通りうまくいく保証はありません。

# シチュエーション
ある市場$t$において、消費者$i$が財$j$を購う場合を考えます。また、
```math
\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'$を選択するということはどういうことなのか、を考えたいです。しかしこれはややこしいので、まずは２つの財の比較を考えます。
市場$t$で、消費者$i$が財$j'$を財$j$より好んでいるとき、それを
```math
    u_{ij't} > u_{ijt}
```
と表現するような$u$を持ってきて、「効用」と名付けます。もし上の式が成り立っていれば、市場$t$における消費者$i$は、財$j'$と$j$だったら前者を選ぶということが少なくとも言えます。つまり、何かを選ぶということは、任意の２つの選択肢どうしを見比べていって、最も好ましかったものを選ぶという行為だと考えられます。

このように考えると、消費者$i$が市場$t$において財$j'$を選択するということは、

```math
    \forall j \in \mathcal{J}\setminus \{j'\}, \ u_{ij't} > u_{ijt}
```
であると言えます。

## ランダム係数モデル
消費者$i$が財$j$を市場$t$で選択することの効用$u_{ijt}$が以下のように書けるとしましょう。
```math
    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)$については、消費者ごとの特徴を考慮して次のように表せるとします。

```math
    \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)$に分割できます。

```math
\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'$を選択するとき、効用の定義より

```math
    \forall j \in \mathcal{J}\setminus \{j'\}, \ u_{ij't} > u_{ijt}
```

となっています。したがって、消費者$i$が市場$t$において財$j'$を選択する確率$P_{ij't}$は

```math
\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*}   
```
となります。さらに計算を進めるために、次の仮定を置きます。

:::note info
**ショックの仮定**
特異なショック$\varepsilon_{ijt}$は、互いに独立して第一種極値分布に従う。
ただし、第一種極値分布の累積分布関数を$F_{EV}$、確率密度関数を$f_{EV}$とすると、
```math
\begin{align*}
    F_{EV}(x) &= \exp\{-\exp\{-x\}\}\} \\
    f_{EV}(x) &= -\exp\{-x\}\exp\{-\exp\{-x\}\}\}
\end{align*}
```
である。
:::

上の仮定により、$P_{ij't}$はより簡単に書けます。（詳細は省略）

```math
\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}$を考えると、上の議論から

```math
    \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$をとって
```math
    \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$におけるシェアを近似できます。

# 次回
今回はデータと照らし合わせるためのモデルを用意したので、次はパラメータの推定について考えます。