LoginSignup
6
0

集計データで需要推定をしたい!(理論編①)

Posted at

はじめに

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

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

今回は、構造推定の盛んな実証産業組織論や計量マーケティングにおいて需要推定の登竜門(?)である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$におけるシェアを近似できます。

次回

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

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0