多項ロジットモデルとは
多項ロジットモデル(MNL)は、選択モデリングの分野で広く使用される統計モデルです。離散選択モデルの一種であり、有限な選択肢の中から個人の選択を理解し予測するために特に有用です。
MNLモデルはランダム効用理論に基づき、個人が効用を最大化することによって意思決定を行うという前提に基づいています。MNLモデルは、交通、マーケティング、経済学などのさまざまな分野で使用され、消費者行動、旅行需要、政策の影響を予測・理解するために役立ちます。
MNLの数学的基礎
この章では、MNLの数学的基礎について探求します。確率論と効用最大化の概念について説明し、MNLモデルを導出し、そのパラメータを推定する方法について議論します。
確率論と効用最大化
MNLはランダム・ユーティリティ理論に基づいており、個人の各選択肢の効用は、決定論的な要素と確率的な要素に分解されると仮定しています。数学的には、これは次のように表現できます。
ここで、
ここで、
MNLの導出
MNLモデルを導出するために、個人
確率的な要素
この式がMNLの本質です。個人
モデルパラメータの推定
MNLモデルのパラメータ
ここで、
対数尤度関数を最大化することは、ニュートン・ラプソン法、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つの選択肢の選択確率の比率は、選択肢集合内の他の選択肢と独立しています。数学的には、これは次のように表現できます。
IIAの仮定は、2つの選択肢間の相対的な好みが、他の選択肢が選択肢集合から追加または削除された場合でも変わらないことを示しています。これは、第三者には見えない選択肢を追加すると、元の選択肢の選択確率に影響が及ぶというような、特定の状況で直感に反する結果をもたらすことがあります。
均一分散性とテイストの均一性
MNLモデルの別の重要な仮定は、誤差項
また、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_time
、cost
、age
、income
を含めます。
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
オブジェクトには、データセット内の各個人と代替手段の予測選択確率が含まれます。