130502 discrete choiceseminar_no.3
TRANSCRIPT
交通行動分析と離散選択モデル ー 第 3 回 ー
都市システム工学科 安 隆浩
1
2013年 5月 2日(木)
• 個人の選択行動を「ランダム効用理論」により記述
• 誤差項にガンベル分布を適用すると,選択肢 iの選択確率は選択肢に対する確定効用 Viのみで表現できる
• 選択確率は,選択肢の確定効用の相対関係に依存する
2
前回の復習
iii VU ε+=
P1
=exp(V
1)
exp(V1)+ exp(V
2)
誤差項ランダム効用 確定項
Pi=exp(V
i)
exp(Vj)∑
選択肢 2つの場合
選択肢 3つ以上の場合
3
● 例として ...大学までクルマで来ますか?電車で来ますか?
044332,21,1 θθθθθ ++++= xxxxV CarCarCar
2,21,1 RailRailRail xxV θθ +=
費用所要時間
共通変数 荷物ダミー選択肢固有変数
50歳代以上ダミー個人属性
定数項S
SS
S S
S SS
Sさんにとってのクルマ・電車の効用
31歳の Yさん:大きい荷物を抱えて嵯峨嵐山〜 BKCまで
電車の場合 ⇒ 所要時間 70分,料金 470 円(定期 + バス代) クルマの場合 ⇒ 所要時間 60分,料金 550 円(高速 + ガソリン代)
VCarY = θ
1×60+θ
2×550+θ
3×1+θ
4×0+θ
0
VRailY = θ
1×70+θ
2×470
• SP調査から得られた結果からデータセットの整理方法
• Excelを利用した最尤推定法によるパラメータの推定方法
• LIMDEP( NLOGIT)の利用方法について
• 例題データを利用し、 NLOGITの推定演習
4
本日の目標
• 一般的な回帰分析のデータセットは1 Record(レコード)1行にまとめる場合が多い。( Single Line)– レコード: N個のデータにおけるデータ 1件分を表す用語– 例えば、被験者 1人の身長、体重、年齢、性別、血液型等を 1行に横に整理する。
• 離散選択モデルのデータセットは1レコード 2行以上にまとめる場合が多い。(Multi Line)– 二項モデルであれば 2行、多項モデルであれば、選択肢数行必要
– 例えば、被験者 1人に対して、車のデータを 1行目でまとめ、電車のデータを 2行目にまとめる。
5
データセットの整理方法
• 離散選択モデルデータセットとして、• Single Line
– 長所:• 1件のデータを 1行でまとめられる。• Excelで整理しやすい。
– 短所:• 選択肢数が増えれば、列の数が急激に増える。(列の制限)• 統計パッケージでMulti Lineを利用する場合がある。
• Multi Line– 長所:
• モデルの効用式と形が同じ、モデルを把握しやすい。• そのままデータとして利用できる。
– 短所:• Single Lineになっているデータを変換する必要がある。 6
データセットの整理方法
ID 選択 時間 _車 時間 _電車 費用 _車 費用 _電
車 荷物 年齢
1 2 40 45 400 350 0 0
2 1 60 50 550 700 1 1
… … … … … … …
ID 選択 時間 費用 荷物 年齢
1 0 40 400 0 0
1 1 45 350 0 0
2 1 60 550 1 1
2 0 50 700 1 1
… … … … … …
… … … … … …
Excelを用いた推定方法
• 対数尤度を Excelを利用して計算– Excelは式をコピーする時、式の中の位置関係が相対的にコピーされる。
– 1行に 1人の選択結果をまとめると、 1行で式が作成できて式に必要な値が計算される。
• ニュートン法を用いて順次的に計算– ニュートン法には勾配ベクトルとヘッセ行列が必要– 1行に 1人の計算値を入れるため、行列を 1次元表示
• 更新されるパラメータを新しい入力値として繰り返し– 次の段階のパラメータが求められるとそれを、入力セールにコピペ
– Excel内ソルバーを利用することも可能7
Excelを用いた推定方法
• 1行で必要な計算式– まず、調査から得られたデータを SingleLineで整理– 次の列に最初パラメータを利用して選択肢ごとの効用を計算– ロジットモデル式を用いて選択肢ごとの選択確率を計算– 的中率を計算するための確率による選択結果を計算– 1人の選択結果に対する対数尤度を計算
• 選択された選択肢の選択確率の Ln値– 勾配ベクトルとヘッセ行列を計算
• 勾配ベクトル• ヘッセ行列
8
( ){ }
∑
∑
∑
∑∑
−−−=
−∂∂−=
∂∂∂
=−−=∂∂
⋅==
i
ijb
ija
ikb
ika
ib
ia
i
ikb
ika
j
ia
jk
n
nkb
nka
na
na
k
n i
ni
ni
xxxxPP
xxPL
xxPL
PLL
))((
)(
0))((
ln*ln
2
βββ
δβ
δ
二項選択の場合
Excelを用いた推定方法
• ヘッセ行列を 1行で計算( ExcelFile)
• 説明変数が 5個ある場合、– 11,12,13,14,15,22,23,…,44,45,55のように表現– ヘッセ行列は対称行列なので三角半分のみ計算– データの合計を求めて整理すればヘッセ行列
• ニュートン法の更新方法
9
)())(( 010201 βLβLββ ∇∇−= −
Excelを用いた推定方法
• 推定結果を検討– パラメータの符号が常識的に正しいのか– t値は一般的な有意水準 5%を満足しているのか– 尤度比、的中率等のモデルの説明指標は妥当なのか
• t値の計算– βk= 0なのか?という帰無仮説の判断材料– K番目説明変数の t値は推定パラメータを推定標準偏差で除した値
– 分散は分散共分散行列の k行 k列の値を利用– 分散共分散行列はヘッセ行列の逆行列から
• 尤度比の計算– ρ2はパラメータが全部 0の時の尤度と推定された時の尤度を比較した比 10
)ˆ(
ˆ
)ˆ(
ˆ
k
k
k
kkk
V
Vt
β
β
β
ββ
=
−=12 )ˆ( −∇− βL
)(
)()ˆ(2
0L
0LβL −=ρ
LIMDEP/NLOGIT
• 基本的な画面構成• CSV形式の入力データ• ExcelFileの Import可能• SLからMLへ変換• 従属変数は LHSに、• 説明変数は RHSに• ASC類は RH2に入力• Choice=r1, r2
• Menuの Runから推定• 結果 Output.lim•
11
LIMDEP/NLOGIT
• モデルをより具体的に• Modelオプションを利用
Model:
U(r1,r2) = <broute,0> + <btime,btime>*time
+ <biu1,0>*iu1 + <bio1,0>*io1
+ <biu2,0>*iu2 + <bio2,0>*io2
+ <bsex,0>*sex + <bage,0>*age• btimeが rhs, biu1…が rh2に該当• 選択肢別違うパラメータも使用可能
12
NLOGIT ; Lhs = mode; Choices = air, tra in ,bus , car; Model : U(air) = bc invc+bt invt+aa+cha hinc+cga gc /* * * * U(tra in) = bc invc+bt invt+at+cht hinc+cgt gc /* * * * U(bus) = bc invc+bt invt+ab+chb hinc+cgb gc /* * * * U(car) = bc invc+bt invt+ cgc gc $* * *
; Model : U( ai r ) = ba + bcprv gc /* U( car ) = bc + bcprv gc /* U( bus ) = bcpub gc /* U(train) = bt + bcpub gc $*
本日のまとめ
• SPデータの整理方法
• Excelを用いた推定方法
• LIMDEP/NLOGITを利用した推定方法
• 次回までに、自分のデータを用いて推定してみる。– どの推定方法・ツールを利用してもいい– 作動しない、正しく推定されない等の問題は次回話し合う。
13