Traffine I/O

日本語

2022-12-27

多項ロジットモデル

多項ロジットモデルとは

多項ロジットモデル(MNL)は、選択モデリングの分野で広く使用される統計モデルです。離散選択モデルの一種であり、有限な選択肢の中から個人の選択を理解し予測するために特に有用です。

MNLモデルはランダム効用理論に基づき、個人が効用を最大化することによって意思決定を行うという前提に基づいています。MNLモデルは、交通、マーケティング、経済学などのさまざまな分野で使用され、消費者行動、旅行需要、政策の影響を予測・理解するために役立ちます。

MNLの数学的基礎

この章では、MNLの数学的基礎について探求します。確率論と効用最大化の概念について説明し、MNLモデルを導出し、そのパラメータを推定する方法について議論します。

確率論と効用最大化

MNLはランダム・ユーティリティ理論に基づいており、個人の各選択肢の効用は、決定論的な要素と確率的な要素に分解されると仮定しています。数学的には、これは以下のように表現できます。

U_{ij} = V_{ij} + \epsilon_{ij}

ここで、U_{ij}は個人iが選択肢jを選ぶ効用を表し、V_{ij}は決定論的(観測可能な)要素、\epsilon_{ij}は確率的(観測できない)要素を表します。決定論的要素は、通常、選択肢の関連属性と個人の特性の線形結合で構成され、次のように表されます。

V_{ij} = \beta_1 X_{1ij} + \beta_2 X_{2ij} + ... + \beta_k X_{kij} = \sum_{n=1}^k \beta_n X_{nij}

ここで、X_{nij}は個人iが選択肢jに対して持つn番目の属性を表し、\beta_nは推定される対応するパラメータであり、属性の相対的な重要性を反映します。

MNLの導出

MNLモデルを導出するために、個人iが選択肢jを選ぶ確率を考えます。これは、選択肢集合C_i内の全ての他の選択肢の効用よりも選択肢jの効用が大きい場合に発生します。数学的には、これは以下のように表現できます。

P_{ij} = P(U_{ij} > U_{il} \; \forall l \in C_i, l \neq j)

確率的な要素\epsilon_{ij}が独立かつ同一分布のGumbel分布に従うと仮定すると、MNLモデルは以下のように導出されます。

P_{ij} = \frac{e^{V_{ij}}}{\sum_{l \in C_i} e^{V_{il}}}

この式がMNLの本質です。個人iが選択肢jを選ぶ確率は、選択肢jの効用の指数関数化された決定論的要素を、選択肢集合C_i内の全ての選択肢の効用の指数関数化された決定論的要素の和で割ったものです。

モデルパラメータの推定

MNLモデルのパラメータ\beta_nは、最尤推定法(MLE)を使用して推定できます。MNLモデルの尤度関数は、サンプル内の各個人が行った選択を観測する確率の積で表されます。

L(\beta) = \prod_{i=1}^N \prod_{j \in C_i} P_{ij}^{y_{ij}}

ここで、y_{ij}は、個人iが選択肢jを選んだ場合に1を取り、それ以外の場合に0を取る指標変数です。モデルパラメータを推定するためには、対数尤度関数を最大化します。

l(\beta) = \ln L(\beta) = \sum_{i=1}^N \sum_{j \in C_i} y_{ij} \ln P_{ij}

対数尤度関数を最大化することは、ニュートン・ラプソン法、Broyden-Fletcher-Goldfarb-Shanno(BFGS)法、またはLimited-memory BFGS(L-BFGS)法などの最適化アルゴリズムを使用して実現できます。これらの最適化アルゴリズムは、パラメータ推定値を反復的に更新し、イテレーションの間の対数尤度の変化が指定された許容値以下になったときに収束すると通常は考えられます。

モデルパラメータが推定されたら、得られたMNLモデルを使用して、新しい観測に対する選択確率を予測し、選択肢の属性または個人の特性に関する選択確率の弾性を計算できます。弾性は、属性または特性の変化に対する選択確率の感度を理解するのに役立ちます。弾性は、政策決定、マーケティング戦略、インフラ計画に関する意思決定に頻繁に使用されます。

MNLの仮定と制限事項

この章では、Multinomial Logit Modelの主要な仮定と制限事項について説明します。これらの側面を理解することは、モデルの解釈や意思決定に不可欠です。Independence of Irrelevant Alternativesの仮定、均一分散性、味の均一性に加え、モデルの柔軟性における制限について説明します。

Independence of Irrelevant Alternatives (IIA)

MNLモデルのもっとも重要な仮定は、Independence of Irrelevant Alternatives(IIA)です。この仮定により、任意の2つの選択肢の選択確率の比率は、選択肢集合内の他の選択肢と独立しています。数学的には、これは以下のように表現できます。

P_{ij} / P_{ik} = e^{V_{ij} - V_{ik}}

IIAの仮定は、2つの選択肢間の相対的な好みが、他の選択肢が選択肢集合から追加または削除された場合でも変わらないことを示しています。これは、第三者には見えない選択肢を追加すると、元の選択肢の選択確率に影響が及ぶというような、特定の状況で直感に反する結果をもたらすことがあります。

均一分散性とテイストの均一性

MNLモデルの別の重要な仮定は、誤差項\epsilon_{ij}が均一分散であることです。つまり、全ての選択肢と個人に対して、同じ分散を持つということです。この仮定は、選択肢や個人ごとに見られる未観測のユーティリティのばらつきが異なる場合の異質分散性を示唆していません。

また、MNLモデルは、全ての個人が人口内で同じ好み構造を持つというテイストの均一性を仮定しています。この仮定は、個人がしばしば異質な好みを示すため、実際には成立しない場合があります。このような場合、MNLモデルは真の人口の好みをバイアスのある推定値で提供する可能性があります。

モデルの柔軟性における制限事項

MNLモデルは強力で広く使用されていますが、柔軟性に関しては制限があります。厳格な仮定のため、モデルは全ての選択肢の選択に適しているとは限りません。例えば、選択肢が近い代替品である場合や強い類似性を示す場合、IIAの仮定が成立しない場合があり、IIAの特性の違反やバイアスのある結果を招く可能性があります。

さらに、MNLモデルは好みに関する未観測の異質性を考慮していないため、全ての個人が同じ好み構造を持つと仮定しています。この制限は、パラメータの推定値にバイアスが生じ、選択肢の属性と選択確率の関係についての不正確な推論を引き起こす可能性があります。

RでMNL

この章では、Rプログラミング言語を使用してMultinomial Logit Modelを実装する方法を示します。 mlogitパッケージを使用して、モデルパラメータを推定し、予測を行います。この例の目的のために、通勤用の交通手段の選択肢が車、バス、自転車である個人の仮想的なデータセットを使用します。

データの準備

まず、必要なパッケージをインストールしてロードします。

install.packages("mlogit")
library(mlogit)

以下の構造を持つcommute_dataという名前のデータセットがあるとします。

  • id: 個人識別子
  • choice: 交通手段の選択(車、バス、自転車)
  • travel_time: 移動時間(分)
  • cost: 移動費用(ドル)
  • age: 個人の年齢
  • income: 個人の収入
id choice travel_time_car travel_time_bus travel_time_bicycle cost_car cost_bus cost_bicycle age income
1 car 20 30 45 5 2 0 35 55000
2 bus 25 28 50 6 1.5 0 28 48000
3 bicycle 22 40 38 4 3 0 42 62000
4 car 30 35 60 7 2.5 0 31 50000
5 bus 28 33 55 5.5 1.8 0 26 45000

データセットをmlogitパッケージに適した形式に変換する必要があります。mlogit.data関数を使用します。

commute_data_mlogit <- mlogit.data(commute_data, choice = "choice", shape = "long", id.var = "id", alt.levels = c("car", "bus", "bicycle"))

モデル推定

今、MNLモデルを推定できます。説明変数としてtravel_timecostageincomeを含めます。

mnl_model <- mlogit(choice ~ 1 + travel_time + cost + age + income, data = commute_data_mlogit)
summary(mnl_model)

summary関数は、モデルパラメータの推定値、標準誤差、z値、およびp値を表示します。

モデル解釈

推定された係数は、代替の確定的ユーティリティに対する各説明変数の影響を表します。

例えば、travel_timeの係数が負である場合、移動時間が増加すると、その代替手段の効用が減少し、その代替手段を選択する確率も減少することを意味します。

モデル予測

推定されたMNLモデルを使用して予測するには、 predict関数を使用できます。

predicted_probabilities <- predict(mnl_model, newdata = commute_data_mlogit)

predicted_probabilitiesオブジェクトには、データセット内の各個人と代替手段の予測選択確率が含まれます。

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!