二項選択モデル¶
最も単純なケースとして、財の数J=2の場合を考える。各財から得られる効用を、平均的な満足度βj、価格pj、ランダムな選好ショックϵijで表す:
Ui1=β1−αp1+ϵi1Ui2=β2−αp2+ϵi2 このとき、消費者iがとる選択diは、効用が多い方を選ぶと仮定すれば
di={12 if β1−αp1+ϵi1>β2−αp2+ϵi2 if β1−αp1+ϵi1≤β2−αp2+ϵi2 となる。したがってその確率は、jの効用が高くなる確率
Pr(di=1)=Pr(β1−αp1+ϵi1>β2−αp2+ϵi2)=Pr(ϵi1−ϵi2>−(β1−β2−α(p1−p2))) となる。
二項ロジットモデル¶
選好ショックϵijが第I種極値分布(ガンベル分布) P(ϵij≤x)=F(x)=e−e−x に従うと仮定する場合、選好ショックの差分ϵi1−ϵi2 は標準ロジスティック分布 F(t)=P(X≤t)=1+exp(−t)1 に従うため、財1の購入確率は次のように表すことができる。
Pr(di=1)=1+exp(−{β1−β2−α(p1−p2)})1=1+exp(β1−β2−α(p1−p2))exp(β1−β2−α(p1−p2))
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import gumbel_r
x = np.linspace(-4, 8, 200)
fig, axes = plt.subplots(1, 2, figsize=[8, 3])
for mu, beta in [(0, 1), (0, 2), (2, 1)]:
axes[0].plot(x, gumbel_r.pdf(x, loc=mu, scale=beta), label=fr"$\mu={mu}, \beta={beta}$")
axes[1].plot(x, gumbel_r.cdf(x, loc=mu, scale=beta), label=fr"$\mu={mu}, \beta={beta}$")
axes[0].set(title="PDF", xlabel="x", ylabel="f(x)")
axes[0].legend()
axes[1].set(title="CDF", xlabel="x", ylabel="F(x)")
axes[1].legend()
fig.tight_layout()
fig.show()
/tmp/ipykernel_16063/1017810842.py:18: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
fig.show()
多項ロジットモデル¶
消費者iが財jから得られる効用 Uij が、個人の選好ショック ϵi とそれ以外の部分 Vj(θ) からなるとする。
Uij=Vj(θ)+ϵi そしてV(θ)jは
Vj(θ)=β0+k=1∑Kβkxjk−αpj のようにパラメータθ=(α,β0,β1,…,βK)で決定されるとする。
J個の財があり、消費者iが財jを購入する確率 Pr(di=j) は、財jから得られる効用 Vj(θ)+ϵij が他の財から得られる効用を上回る確率とする
Pr(di=j)=Pr({ϵij}j=0J∣Vj(θ)+ϵij>Vl(θ)+ϵil,∀l=j) 選好ショック ϵij が第I種極値分布(ガンベル分布) P(ϵij≤x)=F(x)=e−e−x に従うと仮定する場合、消費者にとっての製品jの購入確率を以下のように書くことができる。
Pr(di=j)=1+∑l=1Jexp(β0+∑k=1Kβkxlk−αpl)exp(β0+∑k=1Kβkxjk−αpj) 財jの選択確率は自身の価格pjや製品属性xjkのみならず、他の選択肢の価格や製品属性(pl,xlk)にも依存する点に注意。
最尤推定¶
顕示選好(「ある製品の選択肢のもとで、人々が実際にどの選択肢を選んだのか」が選好を反映している、とする考え方)の考え方を反映したものが、データを用いた最尤推定である。
製品の価格や性能などのデータ{pj,xj1,⋯,xjK}j=1Jと、各消費者がどれを購入したかというデータ{di}i=1Nが利用可能であるとする。このとき、多項ロジットモデルから尤度関数を以下のように書くことができる
L(θ)=i=1∏Nj=0∏J(Pr(di=j))1(di=j) この尤度関数をパラメータθ=(α,β0,⋯,βK)について最大化することで消費者の効用関数内のパラメータを得ることができる。
消費者の異質性を考慮する¶
上記の単純なモデルでは、消費者iが財jから得られる効用 Uij がは 個人の選好ショック ϵi とそれ以外の万人に共通な部分 Vj からなるとしていた。
しかし、Vijとしてより個人差を表す拡張もできる。
個人の属性を考慮する¶
消費者の所得や属性の違いをパラメータに取り入れる場合について。
例:消費者iの所得yiを取り入れる¶
Vij=k=1∑Kβkxjk−(α0+α1yi)pj もし α1<0 なら所得が多いほど価格感応度 −(α0+α1yi) が小さくなり、商品価格pjの大きさによる効用の低下は緩やかになり、価格の高さを気にしなくなることが表現できる
例:個人の属性の考慮¶
例えば「どの病院を利用するか」の離散選択モデルを考えるとして、消費者iの自宅と病院jとの距離dijを考慮する場合
Vij=k=1∑Kβkxjk+γdij ここでγはパラメータで、距離が遠いことによる不効用を捉える。
ランダム係数ロジット・モデル¶
ランダム係数ロジットモデル(random coefficients logit model) は、消費者の異質性は観察不可能な要因に由来すると考え、選択肢の属性についてのパラメータ(係数)が消費者間でランダムに異なる確率変数であると仮定する。
最もシンプルな例として製品属性が1つだけ存在するケースを考える。効用関数を次のように仮定する。
Uij=βixj+ϵij Uij:効用
βi:係数。βi∼N(μ,σ2)を仮定
ϵij:個人の選好ショック。第1種極値分布に従うと仮定
ロジットモデルは次のようになる
Pr(di=j∣βi)=∑j=1Jexp(βixj)exp(βixj) しかし係数βiは消費者ごとに異なり観察不可能なパラメータである。そこで係数に関して積分をとることで確率の期待値(平均的な選択確率)を用い、確率関数の引数からβiを消去する
Pr(di=j)=∫∑j=1Jexp(βixj)exp(βixj)f(βi∣μ,σ2)dβi この積分のためにパラメータを解析的に推定することはできない。そこで推定はモンテカルロシミュレーションを用いる。具体的には、
βiについて正規分布から生成した疑似乱数で選択確率を計算することをR回繰り返す
そのR個の実現値の平均によって積分値を近似し、選択確率を得る
ほかのパラメータについてはβiを積分消去したあとの選択確率での対数尤度 SLL(θ)=∑i=1N∑j=1JdijlogPr^(di=j∣θ) で最尤推定する。
この方法は シミュレーションによる最尤推定法(simulated maximum likelihood estimation: SML) と呼ばれる
価格弾力性¶
ロジットモデルと需要¶
消費者iがマーケットt(地理や時点の差異などを示す)において製品jを購入した場合の効用Uijtは以下のように与えられる
Uijt={β0+∑k=1Kβkxjtk−αpjt+ξjt+ϵijt,ϵi0t,j=1,…,Jtj=0 ロジットモデルでは製品jの購入確率は次のように表される
Pr(j を購入 )=1+∑l=1Jtexp(β0+∑k=1Kβkxltk−αplt+ξlt)exp(β0+∑k=1Kβkxjtk−αpjt+ξjt) この確率をすべての消費者について集約することで、マーケット全体の製品需要が得られる。
製品jへの需要qjt(p1t,…,pJtt)は、潜在的な消費者の数がMtのとき、
qjt(p1t,…,pJtt)=Mt×Pr(j を購入 ) となる。潜在的な消費者の数を使うのは製品を「買わない(アウトサイドグッズ)」という選択肢もあるためである。
ロジットモデルにおいて製品jへの購入確率は、ほかの製品の価格や属性にも依存するため、推定される需要も同様となる。
ロジットモデルにおける価格弾力性¶
マーケットtにおける製品jのマーケットシェアをsjt=qjt/Mtとすると、需要の価格弾力性ηjltは次のようになる
ηjlt=∂plt∂qjtqjtplt={−αpjt(1−sjt),αpltslt,l=j(自己価格弾力性)l=j(交差価格弾力性) ログ・サム公式¶
ロジットモデルの便利な性質のひとつは意思決定者の期待効用を解析的に求められること
消費者iが実際に得る効用は、選好ショックが実現したあとの最大効用 maxjUij=maxj(Vj+ϵij) である。この期待値 E[maxjUij] を求めたい。
まず maxj(Vj+ϵij) 自体の分布を調べる。ϵijは独立に標準ガンベル分布 F(x)=e−e−x に従うので、その累積分布関数は
P(jmax(Vj+ϵij)≤x)=P(ϵij≤x−Vj, ∀j)=j∏P(ϵij≤x−Vj)=j∏exp(−exp(−(x−Vj)))=exp(−j∑exp(−(x−Vj)))=exp(−e−xj∑eVj)(ϵijは独立) ここで A=∑jeVj とおくと、e−xA=exp(−(x−logA)) なので
P(jmax(Vj+ϵij)≤x)=exp(−exp(−(x−logA))) となる。これは位置パラメータμ=logA、尺度パラメータβ=1のガンベル分布の累積分布関数と一致する(ガンベル分布の定義は前掲の「ガンベル分布」を参照)。つまり
jmax(Vj+ϵij)∼Gumbel(μ=logj∑eVj, β=1) であり、独立なガンベル分布に従う変数の最大値に定数を足したものも、やはりガンベル分布に従うという性質(max-stability)がわかる。
ガンベル分布の期待値は E[X]=μ+γβ(γ≈0.5772:オイラー・マスケローニ定数)なので、求める期待効用は
E[j∈{0,1,…,J}maxUij]=log(j=0∑Jexp(Vj))+γ となる。この右辺の log(∑jexp(Vj)) の形は ログ・サム公式(log-sum formula) と呼ばれる。定数項γは効用の原点(スケール)の取り方に依存するだけで、効用の差分を使う分析には影響しないため、しばしば任意定数Cとして
E[jmaxUij]=log(j∑exp(Vj))+C と書かれる。
解釈・応用¶
ログ・サム公式は「選択肢集合{0,1,…,J}全体から得られる期待効用」を表しており、しばしば インクルーシブバリュー(inclusive value; IV) とも呼ばれる。
ΔCSi=α1[log(j∑exp(Vjafter))−log(j∑exp(Vjbefore))] と書ける。1/αは「効用1単位あたりの金額」なので、効用の変化分(ログ・サム公式の差)を金額に変換している。