Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rで計量経済学#5 プロビット・ロジットモデル

Rで計量経済学#5 プロビット・ロジットモデル

所属している研究会で扱った資料になります。
内容について間違いがある可能性もありますので、その際にはご連絡ください。

TomoyaOzawa-DA

August 15, 2020
Tweet

More Decks by TomoyaOzawa-DA

Other Decks in Education

Transcript

  1. 重回帰分析の限界 被説明変数が2値のものに回帰分析を⽤いるとどうなるでしょう? 2値を0, 1としてあげると確率として考えることが出来ますが…. 5 ⼈⼝ 1:参⼊する 0:参⼊しない 問題点1 ・確率が1を超えたり負の値をとってしまい,

    確率が定義出来なくなる. 問題点2 ・誤差項の分散が不均⼀になり, OLS推定だとバイアスがかかる. 回帰直線(線形確率モデル) 01 離散選択モデルとは?
  2. 離散選択モデル:数式でのイメージ 消費者が商品を購⼊するか否かを数式で捉えてみましょう. 離散選択モデルで書くと, ∗が商品から得られる効⽤に相当しますね. 7 01 離散選択モデルとは? = # ∶

    購入する. ∶ 購入しない. とします. ∗ = + ×価格 + ×質 … = ( ( ∗ ≥ ) ( ∗ < ) = = ( + ×価格 + ×質 … ) 効⽤が以上であれば購⼊することを⽰すと, 選択確率は以下の式で推定する. ※ は関数を表しています.推定するモデルによって異なります.
  3. 離散選択モデル パラメータの推定⽅法とその解釈がOLS推定とは異なります. 解釈については実際に分析しながら理解していきましょう. 9 01 離散選択モデルとは? 推定⽅法:最尤法 解釈:平均限界効果 尤度関数を最⼤化させる パラメータを推定しています.

    尤度関数はモデルがどの程度 ⼿元のデータを再現するかを⽰します. パラメータをそのまま解釈する ことは出来ません. 平均的にどのくらい確率が 変化するのかを⽰す値になります. ※平均限界効果の他にも期待限界効果がある.
  4. 【応⽤編】最尤法とは? 最尤法とは,モデルから⼿元のデータが現れる確率を最⼤にするように パラメータを探索する⼿法 10 01 離散選択モデルとは? = × × …×

    = , , ⋯ , ⼿元のデータがn個あるとする パラメータをとすると尤度関数は以下のように書ける この尤度関数を最⼤化するパラメータを計算する. (計算する際は対数尤度関数.指数があると⼤変だから) ※ :パラメータがである時にデータ が予測される確率.条件付き確率ですね! max () = 7 (
  5. 13 本⽇のデータ:メイン 本⽇は Mitaron_convenience.csv というファイルをメインに使います. ▼データの詳細 ▼こんなデータのはず 変数の名前 変数の内容 Mesh_area

    メッシュ地域番号 Open_year 参⼊年 Familymart_Entry Familymartが参⼊したら1をとるダミー変数 LAWSON_Entry LAWSONが参⼊したら1をとるダミー変数 Familymart_existed Familymartの既存店舗数 LAWSON_existed LAWSONの既存店舗数 pop メッシュ地域の⼈⼝ n_employee メッシュ地域の従業員数 super_count メッシュ地域に出店しているスーパーの店舗数
  6. 15 本⽇のデータ:おまけ Familymart_mesh.csv というファイルもちょっと使います. Google Driveのサブゼミ -> R講義 -> Data

    にあります. ▼データの詳細 ▼こんなデータのはず 変数の名前 変数の内容 store_name 店舗名 store_address 参⼊した場所の住所 opening_date 参⼊した⽇付 opening_year 参⼊した年 longitude 経度 latitude 緯度
  7. 【おまけ編】データの把握:地理データの可視化 Rでは簡単に位置情報を可視化することが出来ます. 緯度と経度のデータを⽤いてプロットしてみましょう! 仮説 ⽴て 収集 把握 モデル 推定 解釈

    # leafletというライブラリを今回は使⽤します # install.packages("leaflet") library(leaflet) # R上で地図を作成します # map <- leaflet(df_map) %>% addTiles() # 経度と緯度で場所を指定して,プロットします.⾊はFamilymartなので緑⾊にしてみました# map %>% addCircles(lng = ~ longitude, lat = ~latitude, color = "green") 16
  8. 17 計量経済学モデル構築:モデル 今回検証したいことをモデル化してみましょう. ⾃社の参⼊状況に加えて,地域特性を⽰す⼈⼝を説明変数に加えてみます. 仮説 ⽴て 収集 把握 モデル 推定

    解釈 ・この時, ∗は参⼊した際に得られる期待利潤にようなものを⽰しているイメージですね。 期待利潤 ∗がより⼤きければ参⼊の意思決定をするみたいな感じです. _ = = ( + ×_ + × ) ∗ = + ×_ + × _ = ( ∶ 参入する ( ∗ ≥ ) ∶ 参入しない ( ∗ < )
  9. 18 推定:プロビットモデル 仮説 ⽴て 収集 把握 モデル 推定 解釈 #

    プロビットモデルで推定して,その結果をprobit1という名前の箱に格納 # probit1 = glm( Familymart_Entry ~ Familymart_existed + pop, family = binomial(link = "probit"), data = df_fam) まずはプロビットモデルで推定してみましょう! ・glm関数を使って離散選択モデルを推定します. glm(被説明変数 ~ 説明変数① + 説明変数②…, family = binomial(link = “logit” or = ”probit“ ), data = データ名 )
  10. 19 解釈:離散選択モデルの結果の⾒⽅:統計的有意 分析結果を確認してみましょう! 仮説 ⽴て 収集 把握 モデル 推定 解釈

    # 分析結果を出す # summary(probit1) ・プロビットモデル,ロジットモデルの両⽅とも同じ操作になります. 係数をそのまま解釈できないことに注意してください! ・ここで⾒るのは統計的に有意かどうかですかね.AICでモデルの評価は出来ます. AICが⼩さい⽅が良いモデルと⾔えます.
  11. 20 解釈:離散選択モデルの結果の⾒⽅:平均限界効果 係数はそのまま解釈できないので,marginsというライブラリを使⽤して, 限界効果を求めてみます. 仮説 ⽴て 収集 把握 モデル 推定

    解釈 # 平均限界効果を出す # install.packages("margins") library(margins) margins(probit1) summary(margins(probit1)) 【平均限界効果の解釈の仕⽅】 ・平均限界効果は,Xが1単位増加した際に確率が平均的にどのくらい変動するかを⽰したものです. ・既存のファミリーマートの店舗数が1店舗増えると,平均して参⼊する確率が4.2%低下する. ・⼈⼝が1⼈増加した場合,参⼊する確率は2.068e-03%増加する.つまり⼈⼝が1000⼈増えたら,2.068%増加する.
  12. 21 解釈:離散選択モデルの結果の⾒⽅:精度 離散選択モデルでは決定係数は算出されません. その代わりに擬似決定係数というものがあります. 仮説 ⽴て 収集 把握 モデル 推定

    解釈 # 分析結果を出す # install.packages("BaylorEdPsych") library(BaylorEdPsych) PseudoR2(probit1) ・擬似決定係数の他にも対数尤度や混同⾏列に基づく正解率, F値などがあります.
  13. 22 推定:ロジットモデル 仮説 ⽴て 収集 把握 モデル 推定 解釈 #

    プロビットモデルで推定して,その結果をprobit1という名前の箱に格納 # logit1 = glm( Familymart_Entry ~ Familymart_existed + pop, family = binomial(link = "logit"), data = df_fam) 次はロジットモデルで推定してみましょう! linkにlogitと指定すれば,ロジットモデルになります. ・glm関数を使って離散選択モデルを推定します. glm(被説明変数 ~ 説明変数① + 説明変数②…, family = binomial(link = “logit” or = ”probit“ ), data = データ名 )
  14. 23 おまけ:モデル 今までのモデルに加えて,競合の参⼊状況も考慮に⼊れて分析してみましょう. 仮説 ⽴て 収集 把握 モデル 推定 解釈

    ・2019年にセブンイレブンが沖縄に初出店したので,競合はLAWSONだけなんです. その他の変数も加えてみると,⾯⽩いかもしれません. _ = = ( + ×_ + ×_ + × ) ∗ = + ×_ + ×_ +× _ = ( ∶ 参入する ( ∗ ≥ ) ∶ 参入しない ( ∗ < )