130502 discrete choiceseminar_no.3

13
交通行動分析と離散選択モデル ー第 3 回ー 都市システム工学科 隆浩 1 2013 5 2 日(木)

Upload: yoongho-ahn

Post on 21-Jul-2015

401 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 130502 discrete choiceseminar_no.3

交通行動分析と離散選択モデル ー 第 3 回 ー

都市システム工学科 安  隆浩

1

2013年 5月 2日(木)

Page 2: 130502 discrete choiceseminar_no.3

• 個人の選択行動を「ランダム効用理論」により記述

• 誤差項にガンベル分布を適用すると,選択肢 iの選択確率は選択肢に対する確定効用 Viのみで表現できる

• 選択確率は,選択肢の確定効用の相対関係に依存する

2

前回の復習

iii VU ε+=

P1

=exp(V

1)

exp(V1)+ exp(V

2)

誤差項ランダム効用 確定項

Pi=exp(V

i)

exp(Vj)∑

選択肢 2つの場合

選択肢 3つ以上の場合

Page 3: 130502 discrete choiceseminar_no.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

Page 4: 130502 discrete choiceseminar_no.3

• SP調査から得られた結果からデータセットの整理方法

• Excelを利用した最尤推定法によるパラメータの推定方法

• LIMDEP( NLOGIT)の利用方法について

• 例題データを利用し、 NLOGITの推定演習

4

本日の目標

Page 5: 130502 discrete choiceseminar_no.3

• 一般的な回帰分析のデータセットは1 Record(レコード)1行にまとめる場合が多い。( Single Line)– レコード: N個のデータにおけるデータ 1件分を表す用語– 例えば、被験者 1人の身長、体重、年齢、性別、血液型等を 1行に横に整理する。

• 離散選択モデルのデータセットは1レコード 2行以上にまとめる場合が多い。(Multi Line)– 二項モデルであれば 2行、多項モデルであれば、選択肢数行必要

– 例えば、被験者 1人に対して、車のデータを 1行目でまとめ、電車のデータを 2行目にまとめる。

5

データセットの整理方法

Page 6: 130502 discrete choiceseminar_no.3

• 離散選択モデルデータセットとして、• 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

… … … … … …

… … … … … …

Page 7: 130502 discrete choiceseminar_no.3

Excelを用いた推定方法

• 対数尤度を Excelを利用して計算– Excelは式をコピーする時、式の中の位置関係が相対的にコピーされる。

– 1行に 1人の選択結果をまとめると、 1行で式が作成できて式に必要な値が計算される。

• ニュートン法を用いて順次的に計算– ニュートン法には勾配ベクトルとヘッセ行列が必要– 1行に 1人の計算値を入れるため、行列を 1次元表示

• 更新されるパラメータを新しい入力値として繰り返し– 次の段階のパラメータが求められるとそれを、入力セールにコピペ

– Excel内ソルバーを利用することも可能7

Page 8: 130502 discrete choiceseminar_no.3

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

βββ

δβ

δ

二項選択の場合

Page 9: 130502 discrete choiceseminar_no.3

Excelを用いた推定方法

• ヘッセ行列を 1行で計算( ExcelFile)

• 説明変数が 5個ある場合、– 11,12,13,14,15,22,23,…,44,45,55のように表現– ヘッセ行列は対称行列なので三角半分のみ計算– データの合計を求めて整理すればヘッセ行列

• ニュートン法の更新方法

9

)())(( 010201 βLβLββ ∇∇−= −

Page 10: 130502 discrete choiceseminar_no.3

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 −=ρ

Page 11: 130502 discrete choiceseminar_no.3

LIMDEP/NLOGIT

• 基本的な画面構成• CSV形式の入力データ• ExcelFileの Import可能• SLからMLへ変換• 従属変数は LHSに、• 説明変数は RHSに• ASC類は RH2に入力• Choice=r1, r2

• Menuの Runから推定• 結果 Output.lim•

11

Page 12: 130502 discrete choiceseminar_no.3

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 $*

Page 13: 130502 discrete choiceseminar_no.3

本日のまとめ

• SPデータの整理方法

• Excelを用いた推定方法

• LIMDEP/NLOGITを利用した推定方法

• 次回までに、自分のデータを用いて推定してみる。– どの推定方法・ツールを利用してもいい– 作動しない、正しく推定されない等の問題は次回話し合う。

13