構造と識別~構造推定と計量経済学に関するトピックを紹介する

踏み込んだ構造推定の日本語の文献がネットに転がっておらず、「構造推定」という響きのかっこよさに夢を抱いたりする人や、響きのうさんくささに勘違いしている人も多いので、土地勘のある自分が日本語でまとめます。気が向いたら。全ての記事はベータ版でござい。

構造推定をしたい匿名学生の実地体験ルポ (5) 。第五章~データを使ってパラメタを推定するまで(博打推定パート)

下記の

第五章~データを使ってパラメタを推定するまで(博打推定パート)

に関する手記が届いたので公開する。

 

 

 

ohtanilson.hatenablog.com

 

第五章は、ジョジョ5部みたいなもんです。もちろん「これでうまくいくぜぇ!」と思った我々は「これでジョルノたちを倒せるwww」と敵側です。。。Backwardに解いて処刑用BGMをいいタイミングで流しましょう。

 

www.youtube.com

 

 

 

 

 

 

 

難所1. 第四章で作ったモデルに、第二章で集めたデータを対応させるコード実装ができるか(前処理)

 

をどうやって対応するか。感謝の正拳突きや!!!

 

nlab.itmedia.co.jp

 

実際のところは、ちゃんとデータ生成過程が書かれてるモンテカルロシミュレーションコードをレプリケーションしたり書き直ししたりして土地勘を養うのがよいとおもう。構造推定に限らず、共同研究などでのコードやデータ管理や環境設定はプログラマーのプロジェクトマネジメントを参考にベストプラクティスを探すのがよいらしい。

 

 

難所2. 複数の初期値を試して、(真値は当然分からないが)reasonableなパラメタが推定できるか。

 

これはいわゆる「いろんな特定化を試してsweet spotを探す作業」も含まれている。構造推定で厄介なのは特定化さぐりみたいなものが、「パッケージを使って回帰でいうXの関数形や組み合わせを試してみる作業」では済まず、コードを書き直して均衡を解きなおして推定するという作業が主になる。これはコーディングと計算時間の見積もりができない。あと、理論モデルで想定していない要素は、追加修正が絶対できない(たとえば、情報完備ゲームを想定していて、情報不完備ゲームな要素を追加することは絶対できない)。

 

また、reasonableかどうかは理論的に解釈できるかどうかだけでなく、次章の均衡計算で現実データを再現できるかどうか、反実仮想の均衡計算結果も理論的に妥当かどうか、という複数の基準がある。想定している反実仮想に応じて、すべての基準をクリアする必要があったり、推定値の解釈基準だけクリアすればいいだけのときもある。ただここの基準が緩いと、あとのパートで自分で解釈できないところがたくさん出てくる=推定コードがおかしい、という沼にはまってしまうので、ごまかさない方がよい。

 

 

難所3. 使う推定量に応じたStandard Errorを解析的にかブートストラップなりで計算して実装できるか、現実的な時間でそれが済むか

 

ブートストラップなら一つの特定化したモデルに対して1000回ぐらい解かないといけない。初期値に依存する非線形なモデルなんかは一つのブートストラップしたデータに対して30回異なる初期値を試すことになる。結果表に5モデル(列)あったら、5*1000*30回は計算する必要がある。並列化しないと永遠に終わらないし、一回の計算時間はせいぜい数分で終わらないとお話にならない。最初のうちに固定費はできるだけ削ることが大事です。

ソルバーに微分情報が与えれるならば、SEが計算できるし絶対そうしましょう(Dube, Fox, Su 2012)。

 

 

 

この章が薄っぺらいのは、誘導系の実証研究とそれほど変わらないからなのか、経験が薄いからなのかは識別不可能です。

 

 

みんな大好きdemand rotation IVを発明したブレスナハン1982の理論的計算的保証

「構造推定やりたい大学院生へのTips」兼「自分の備忘録」としてアクセプトされた論文のきっかけとGithub参照の工数を記録します。


論文はIOを受講した学部生でも知ってるものですが、これをちゃんとやってみるかなー、と思って突き進めるのはPh.D.の構造推定の授業受けてモンテカルロシミュレーション経験ある博士院生レベルなのかな、と思います。

 

きっかけは、私が自分のJMPでconduct parameterの推定を実装してみてどうやってもうまくいかなくて、特定化もだめなパターンがそもそも理論的にありそうだということまで突き止めたものの、数多ある先行研究もどう実装しているのか分からなかった(これが構造推定の究極の問題!)ので、同じ指導教官についてる友人(conduct parameterに詳しい、のちの共著者)に23年11月に相談DMしたのがきっかけです。

のちに一本だけモンテカルロシミュレーションしてるIOの教科書書いてる大御所が書いたペーパーを発見。これは「既存の有名モデルがふつうの設定では機能しません」という理論結果と数値計算結果でした(フィールド下位ジャーナルに載ってるものの有名ではない)。試しに彼らのモンテカルロシミュレーションをレプリケートしてる途中に、彼らのシミュレーションが複数間違ってることが分かり、こまごまとした実装上の設定を統一的に実験、年末年始には第一結果で20ページ弱のドラフトができて、1月中に指導教官のグループでプレゼン。そこで「いまある内容の前半だけでいい(=2つに分けろ)」「そもそも先行研究の理論結果自体も間違ってるんじゃ?」といわれ2月に精査して「先行研究の証明が間違ってることの証明」と「明示的に仮定を追加すると既存のモデルは成立するという証明」を作って3月中に前半部分で独立論文を完成。
後半部分は別のよくある特定化で別問題が発生することを発見して、指導教官の専売特許であるMPECって手法が解決するよ、という独立論文にした。


前半論文はlinear論文として英文校正して4月に投稿。5月にR&R(修正点はa/theの使い分けに関するコメントのみ)で英文校正に文句言って再校正してもらったもののまた低クオリティを引いてしまい、ネイティブの指導教官にa/theの使い分けを全部見てもらって再投稿、アクセプト。

後半論文はloglinear論文として4月末にできてたものの、指導教官チェックが上のR&Rや諸事情で後回しになり、5,6月にに証明アップデート,実験の再調整&クラスタに週に2,3日投げるを繰り返して時間消費、8月に英文校正、WP化、いったん放置。

検定論文は8月頭に飛行機内で6時間で(!?)書いて8月中に微調整、WP化、投稿、リジェクト後のリバイズはいったん放置。

 

で二人ともしっかりコーディングと手を動かしたのは実質11-3月の四ヶ月+4-8月以降は週に数時間で1カ月分と換算して、労働投入量は(2*5=)10人月、産出量は3本です。
結論、複雑にしすぎた構造推定はモンテカルロシミュレーションもレプリケートできないので、そういうのばかりやってる人は信用しないようにします。

構造推定をしたい匿名学生の実地体験ルポ (4) 第四章~モデルが数値計算を通してパラメタを推定できるようになるまで(計量理論パート)

趣味で構造推定をチャチャっと習いにきたら、こんな教室でした。

 

www.youtube.com

 

 

 

第四章~モデルが数値計算を通してパラメタを推定できるようになるまで(計量理論パート)

難所1.第三章で作った均衡モデルの数値計算コードに真のパラメタを与えて仮想データを色んなrandom seedで生成して、ばらつきがあるがおおざっぱな挙動は同じかどうか

これは理論ペーパーの比較静学(+ランダム項)のことである。これは理論的な解釈と生成する均衡の挙動が同じかどうか確かめるためにも、大事なステップである。例えば、一番シンプルな需要曲線と供給曲線の交点(+ランダム項)から均衡価格Pと均衡量Qを計算した時に、X軸QーY軸Pのグラフに各均衡点をプロットしたら価格は右下がりになりますか?少し拡張したモデルでも解釈可能な挙動をしていますか?ここをやっておかないと反実仮想以前のベンチマークモデルと現実のフィッティングでおかしくなる。DGPがそもそもおかしいんなら、どんなモンテカルロシミュレーションもgarbage in, garbage out。どんなパラメタの時に意味わからない挙動なのかも簡単にチェックできるようになる。

 

難所2.作った仮想データから求めたいパラメタを推定するためにGMMなりSimulated Maximum LikelihoodなりベイズMLEなり部分識別なりの望ましい推定式や解法や言語を選んで実装できるか

これは実際に扱うデータの性質に依存するので省略。

 

難所3.仮想データを使って上で作った推定式は、真のパラメタを推定できているか。どんな条件(操作変数の強さやモーメント式の数や外生的ばらつき)で真のパラメタを上手く推定できるのか、把握できるか

これは計量理論ペーパーでやるモンテカルロシミュレーションのことである。構造推定だと、データから作る有益そうなモーメントやなんやらが雨後の筍のように現れる(レフェリーが足すように要求してるのか、著者が足してるのかは定かではない)が、いったんはシンプルな設定でうまくいくか確かめる必要がある。操作変数の強さは理論上は大事だが、どのレベルだと強いのかみたいなコンセンサスは応用上はなさそう(モンテカルロシミュレーションではStock and Yogo (2002)みたいなのがあるし、自分も一本書いてる。)。なので、どのぐらい強くないといけないかは実験してみるとペーパーになるかもしれない(自分は一本書けた)。モーメント式の数は多ければ理論上は望ましいので、応用上いいかんじのやつを頑張って見つけてください。

 

難所4.第五章以降に備えて追加的な特定化や変数をある程度試せる設定やコードになっているか

これは「実際のデータと特定化でやったら、なんか挙動がおかしかった」というのに気づくためにあると便利な設定で、研究者というより「プログラマーとしての能力」である。徹底してhard cordingしない、とかに相当する。トップジャーナルのレプリケーションコードとか見ると、プログラマーが見たら卒倒するコードが沢山あるのでご覧あれ。よいこのみんなはくれぐれも真似してはいけない。

構造推定をしたい匿名学生の実地体験ルポ (3) 「よくわからんがまぁ動いてるからヨシ!」フラグ 第三章~モデルが数値計算を通して正しく動くまで(経済学理論+数値計算パート)

 

ののかちゃんが構造推定のイントロ1枚目からモデルスライドを歌ってくれました

 

youtu.be

 

下記の

 

第三章~モデルが数値計算を通して正しく動くまで(経済学理論+数値計算パート)

に関する手記が届いたので公開する。

 

ohtanilson.hatenablog.com

 

 



 

 

難所1. 自分の作った均衡モデルがバグなくプログラミング実装できるか、経済学理論で特徴づけされた通りの均衡数や性質が得られるか

 

難所2. 数値計算の解を探すアルゴリズムは適当か、縮小写像なり凸性なりで数学的に現実的なオーダーで(局所)解に収束することが示されているか。

 

難所3. 既存のパッケージやORや応用数学の観点から正しく定式化できて、正しくソルバー等を使えているか。初期値に依存するかどうか

 

をどう克服するか。これはモンテカルロシミュレーションの均衡データ生成パートをちゃんとやることで解決できる。モンテカルロシミュレーションの仕様書を経済学を知らないプログラマーにも実装できるように書いて、それ通り実装して均衡を計算してデータ発生させる。パラメタ数は最低限で!。生成したデータをプロットしてみる(需要曲線は右下がりになってるかなど)。目的関数があれば、1パラメタを動かして形を確かめる(凸性のチェックになる)。均衡計算にどれぐらい時間がかかるかも計測可能である。また1000 samples for 1000 experimentsとかどうせ反実仮想でやるので、時間がどれぐらいかかるかもここの段階である程度分かる。初期値への依存チェック、よさげな初期値の把握もこの時点でやっとくと、実データで変な初期値から始める愚行をせずにすむ。余裕があればでよいが、よさげなソルバーもこの時点でいくつか試して同じ結果が出るか確認しておく(Juliaで解けない行列がMatlabのソルバーがでは解けてることになっててバグの原因になったことがある)。「初期値をたくさん試して複数均衡か調べましたが一つしかありませんでした、だけどコードは公開しません」論文を世界から抹消しましょう。

 

 

 

難所4. 実装した均衡モデルは固定した真のパラメタと第二章で想定したエラーを入れたもとで正しく解けているのか

難所5. 真のパラメタを変更した時の挙動は、「事前の」理論的な解釈と(都合解釈でなく)一致しているか

をどう克服するか。これもモンテカルロシミュレーションのデータ生成パート(+エラーがあるのでちょい推定パート)をちゃんとやることで解決できる。エコノメ論文なら、ここが論文の数値計算結果を出すためのデータになる。なので、モンテカルロシミュレーションもワイできまっせ、というアピールにもなるので、学生ならちょろっとやってみるとよい気がする。これをやらないと「よくわからんがまぁ動いてるからヨシ!」な論文を見抜けずそれを追いかけて爆死するので、気を付けたし。ここで己の非力さと無力さを知ることが、デバッグ不可能な無茶モデルで死なないために重要になる。再度「初期値をたくさん試して複数均衡か調べましたが一つしかありませんでした、だけどコードは公開しません」論文を世界から抹消しましょう。二度いう。

 

 

難所6. 現実的な速度で解き切れているか、並列化高速化できるのか

ここは計測した計算時間に依存する。計算時間が短いなら手元で回すのでよい。クラスターに投げるコードの書き方を念頭に置いておいた方がよい。この時点で高速化できる箇所を把握だけ(大幅改善はあとでよい)はしとくとよい。

 

 

 

海運経済トップジャーナルに海運のシニアの先生との共著がアクセプトされました

「構造推定やりたい大学院生へのTips」兼「自分の備忘録」としてアクセプトされた論文のきっかけとGithub等参照の工数を記録します。

2021.1-8. 年末年始の帰国時の数週間に集中してJMP用にデータ発掘、別単著の作業があったので夏まで放置。

2021.10- データパートが共著になる。 このときはJMPとの切り分けがまだ完全ではない。
2022.3. カンファレンスに投稿するドラフト30p+appendix 10pが完成。Igami(2015JIndE)をモチーフにしてたのでIO系のジャーナルに投げるつもりだった。

2022.7.  時系列分析と市場レベルのデータの章だけをペーパーとして独立させることにし再構築。ここでJMPとの完全な切り分けがなされる。Igami(2017JPE)のアペンディクスを参考にインタビューを足すことに。

2022.10. 英文校正

2022.11. 英文校正が返ってきて投稿

2022.1. 軽めのR&R (2 positive, 1 on the fense)
2022.2. Resubmit

2022.4. 軽めの2nd R&R(2 ok, 1 on the fense)
2022.5. Accepted 

 

きっかけはJMPのデータ作成で、資料の保存してある某センターに細かいデータを問い合わせていたところ、なぜかTwitter上で返信がくる。DMでやりとり。いったんは自分の単著(JMPとは別)の話を学会(オンライン)でさせてもらうことになる。そのあとに、データ発掘含めて興味あれば共著にしましょうと声かける、という流れ。

制度知識と産業歴史の専門家として違和感がないか結果のチェック、制度的解釈、共著者の幅広いネットワークを駆使した当時の企業代表へのインタビューを加えてもらって、データハンドリングと分析は自分が行い、無事1本になりました。

当初はDIDやる予定だったので、爆速整備中のDIDと古き良き構造変化検知周りの時系列分析のサーベイとその応用の実装経験(誘導系分析)ができてよかったです。また、産業歴史データ発掘と(コード公開前提の)前処理だけで(経済ドメインではないとはいえ)書き方次第でトップジャーナル載せれる貢献になるんやで、と知れたのはよい発見でした。WPの激長アペンディクスにいれて誰も読まないよりは、ジャーナルに載せた方が人類のためと学びました。

 

ohtanilson.hatenablog.com

 

この辺が当時自分がやってた前処理Tipsの備忘録兼心構え。これだけでパブまでいけてヨカッタネ。

 

 

 

 

 

 

 

構造推定をしたい匿名学生の実地体験ルポ (2-2) サグラダファミリアか、賽の河原か 第二章~データを得るまで

下記の

 

第二章~データを得るまで(制度知識+経済理論パート)

に関する手記が届いたので公開する。

 

ohtanilson.hatenablog.com

 

第一章は、ジョジョ一部みたいなもんです。

 

ohtanilson.hatenablog.com

 

第二章では、

 

構造推定を最終目標としたとき、データをどのように集めるか、という前前前処理パートをできるだけ構造的に書いてみる。ここの整備具合で、サグラダファミリアか(少なくともいつか完成する望みはある)、賽の河原か(地盤から崩れては積み、崩れては積みの繰り返し)になるかが決まる。

 

 

第二章~データを集めるまで(前前前処理パート)

難所1. データセットはどういう形でどういう範囲でどういう観察単位で集められるか、スクレイピングなりアナログなりどんな手法で集めるか(前処理の前処理の前処理)

 

観察単位に関しては第一章で全て決まってるようなものだが、集める段階では当然できるだけfinerなサンプルが望ましい。集計レベルより個人レベル、年レベルより月レベル、国レベルより都道府県レベル。

各レベルで得られる観察される共変量Xもどういったものが得られるかどうか事前に調べておくのも必須である。例えば、製品価格は年レベルでしか得られないけど、購入量は月レベル得られる場合、データ上は製品価格は月で変動しないことになるので、このレベルのtime variationは推定量や均衡計算に使えないのである。別の例として、製品価格が店舗週レベルで数年得られるけれど、東京都中央区のデータしか使えない場合、geographical variationは使えず、time variationしか使えない。

 

スクレイピングの場合は権利関係が(多分というか絶対)難しくて、amazonとかスクレイピングがダメだった気がする。

申請することで得られるデータだと、ふつう数か月から年単位で入手まで時間がかかる。また「自分の想定していた変数とかと違う!」みたいなことが事後で起こりうるのを覚悟する。また、コロナ期間を経て、保険とか医療系のデータ申請が軒並み停止しているらしく、そのデータを当てにしていた学生は軒並みプロジェクトが頓挫している。
データ取得の時点で

f:id:ohtanilson:20210529095157p:plain


ということである。

アナログの資料だと自分の目と手で判断でき拡張できるので時間はかかるが確実かもしれない。OCR技術もうまく使おう。

RCTとかができる環境だと事前準備がどれだけできるかに依存するはずだが、巧くやった経験がある人に聞いてみるべし。

 

 

 

難所2.上で作ったraw dataをどういうtidydataに処理するか(前処理の前処理)

 

環境構築先駆者である先人の答え。これが先のステージあることを意識して、データを集めるのである。

 

sumatome.com

 

 

 

ただしこの「前処理の前処理」は、指示と実行のギャップが大きく、相当の専門的訓練が必要である。訓練しなければどんなスター研究者のコードでも危ないことが起こりうる(ことがコード公開されたときにレプリケーションしようとする後続の研究者によって判明する。)

 失敗した経験からみると、分析のゴールへのpathが見えていない経験不足な状態だと、自分で書いた「前処理の前処理」のコードが将来的にどこで問題になるか分からない、ので上述のスパゲティ化が生まれてしまう。また、追加的注文があったときに、ad hocな枝葉だけの処理をしてしまいがち(というか、それしか修正方法を知らない)で、枝葉が増えるごとに全体の修正が効かなくなる。指示を出す側も、追加的注文の(能力面での)コストが観察不可能であるため、コード完成図に対する認識のズレが発生してしまう。

同様に、数値計算の難しいコーディングをRAにやらせる場合も、不確実性をはらんだモデルの場合、無限に時間がかかってしまう。この場合、追加能力として「何がうまくいっていないのか」をドキュメントとして報告して結果を解釈するレポーティング能力が別途必要である。例えば、構造推定ならば、シミュレーションデータの均衡計算で理論的な解釈通りコードが動いていなければ、「何かがおかしい」とこの時点で判明する。この時点で分かるだけ、マシなのであるが。

 

 

 

一方で、調べ物やデータ取得は「ゴールが不確実性がなくはっきりしている」かつ「労働投入量と成果物の対応が明確」なので、正確にタスクが処理されるだろう。数値計算上の仕事でも「XXの論文のコードを別言語でレプリケーションする」という課題ならば、同様に正確にタスクが処理されるだろう。

 

 

難所3.誘導形や基本統計量からデータの傾向をみて、第一章で立てた理論モデルとそれなりに予想通りかどうか。操作変数等はそれなりに機能していそうか。

 

理論モデルが全くない研究は、ここを充実させることで全部書ききれるかもしれない。あとはこの時点で大量のグラフや表が作れるので、Section 2あたりに入れ込んでプレゼンでも映える図を作るようにするイメージ。

 

 

 

難所4.カリブレーションするパラメタと推定(識別)する予定のパラメタを想定したデータセット(行動変数、状態変数、説明変数、被説明変数)になっているかどうか

 

これも第一章で想定しているモデルに依存する。先行研究がどうコード書いているのか真似するのが一番である。

 

難所5.エラーが入るのはどのレベル(複数階層、相関有無、分布指定有無)と想定しているのか

ここで厄介なのは、構造推定におけるエラーには、企業は明らかに考慮してる(情報として意思決定に取り入れている)けど我々がデータから得られない要素、と企業も知らないただのエラー、の二種類がある。この前者の存在が均衡計算に入ってきて非常に厄介なのである。

 

これの良い例は、incomplete information static entry gameで企業立地を構造推定した以下。

Seim, K. (2006). An empirical model of firm entry with endogenous product‐type choices. The RAND Journal of Economics, 37(3), 619-640.

これがWP2001時点で、このゲームをこの世で初めて対称な競争効果を仮定して、市場mに観察不可能だけど企業は知ってる要素ξ_mをiidで入れてBayesianNashEquilibrium解いて推定しましたよ、

Zhu, T., & Singh, V. (2009). Spatial competition with endogenous location choices An application to discount retailing. Quantitative Marketing & Economics, 7(1).

これがこのゲームを企業間の非対称競争効果(i.e.,Walmart参入のK-martを脅かす効果と逆パターンの効果は別物)に拡張して、同じ感じで解きましたよ、

Orhun, A. Y. (2013). Spatial differentiation in the supermarket industry The role of common information. Quantitative Marketing and Economics, 11(1), 3-37.

これがWP2005時点で、企業間の非対称競争効果に加えて、市場m内のより細かい立地grid lに対して観察不可能だけど企業は知ってる要素ξ_lをiidで入れてBNEを解いて推定しましたよ、

という流れ。モデルの構造は全く同じであるが、エラーの階層がより複雑になっている。これらはエラーが階層が異なれど1次元だが、全部のエラーを組み合わせて4次元エラーをドローしたり、市場間のエラーに相関を作ったりいろいろある。実用的には、ひとつはGumbel分布にして、あとはiid Normal、階層間で一次元の空間or時間依存性を入れるぐらいが多い。

 

 

 

構造推定をしたい匿名学生の実地体験ルポ (2) 火のない所に煙は立たぬ。第二章~データを集めるまで(前前前処理パート)

下記の

第二章~データを集めるまで(前前前処理パート)

に関する手記が届いたので公開する。

 

ohtanilson.hatenablog.com

 

構造推定を最終目標としたとき、データをどのように集めまとめるか、という(前前前処理パート)をできるだけ構造的に書いてみる。この段階では、すでに研究プロポーザルがある程度固まって、データにもあてがある状態。なので、準備不足ならば第一章~データを得るまで(制度知識+経済理論パート)に戻る。

 

ohtanilson.hatenablog.com

 

 

第二章~データを集めるまで(前前前処理パート)

まず

難所1. データセットはどういう形でどういう範囲でどういう観察単位で集められるか、スクレイピングなりアナログなりどんな手法で集めるか(前処理の前処理の前処理)

難所2.上で作ったraw dataをどういうtidydataに処理するか(前処理の前処理)

をどのように対処するか。

第一に、観察単位と収集手法はデータソースに依存するので適宜対応するしかないが、クローリング、OCRスクレイピング等でできるだけ自動化できることが望ましい。できない場合は、この時点で人を雇うコストが死ぬほどかかる。以後のcleaned dataに落とし込むステップを想定した集め方をする必要があるので、ここでも次のステップからbackwardで前処理しやすいかつ収集ミスしにくいフォーマットで集める必要がある。

 

第二に「raw dataをどういうtidydataに処理するか」の最適解は「input dataはraw dataの状態をできるだけフォーマットもそのままcsvにまとめる、分析に使うデータはcleaned dataとして、(できるだけハードコーディングを避けて)前処理コードを書く。以降の分析には、cleaned dataしかアクセスしない。」。ここでraw dataをマニュアルでエクセル上で変換してcleaned dataの数値を作って埋める、なんていう悪魔の所業をしては絶対にならない!(そんな悪魔なお前に神エクセルをDisる資格はない!)

コードを回せば前処理が完了する、修正したら修正が反映されるという、前処理の再現性はリサーチャー側で確保しよう。

 

個人的には実証分析での一番の博打要素が

難所3.誘導形や基本統計量からデータの傾向をみて、第一章で立てた理論モデルとそれなりに予想通りかどうか。操作変数等はそれなりに機能していそうか。

である。この対処方法も最近システマチックにまとめられている。

基本姿勢は「火のない所に煙は立たぬ、なのでまず火を見つけろ」ということ。上記のJEPの論文内ではFive principlesの各ポイントについて

1.kinkや不連続など、Data Variationを示す

2.リサーチクエッションに必要な記述的結果だけ出す(無関係な結果は無駄)

3.記述的結果がモデリングの妥当性をする形でModel sectionにつなげる。記述的結果がない無闇に複雑な要素(strategic interaction)などは入れない。

4.明確にthe Value-Added of the Modelを強調する。誘導形だけじゃだめなのだ、と読者を説得する。

5.Choose Parameters of Interest and Counterfactuals That Are Informed by Your
Variation.注意点として、反実仮想と経済学的パラメタの解釈は短い時間で後付けで片付けては絶対いけない!一番丁寧にやるべき箇所である。

他にもJEPではData-Then-Model or Model-Then-Data?というセクションで両手法のいいところ悪いところがまとめられている。

結局は我々はここでもトレードオフを考えるのである(At each stage in the paper, you are offering the reader a deal: if you accept some additional assumptions, then I will provide you with additional results. If the reader is willing to accept assumptions about the validity of the empirical approach, you can offer causal estimates. If the reader is willing to accept additional assumptions about the economic environment, you
can deliver additional results in terms of economic parameters, counterfactuals,
or welfare.)

 

難所4.カリブレーションするパラメタと推定(識別)する予定のパラメタを想定したデータセット(行動変数、状態変数、説明変数、被説明変数)になっているかどうか

この対処は、モデルとその識別仮定に依存する。ただし、ミクロ理論家が想定する変数がデータで観察できない場合が多いのでここは要注意である。例えば、不完備情報ゲームにおけるInformationに関しては完全対応するデータは手に入らない(だからゲームの情報の設定を仮定する)。交渉ゲームにおけるナッシュ交渉解の分配パラメタも完全対応するデータは手に入らない(だからカリブレーション&Sensitivity checkする)。オークションにおける各bidderのもっているWillingness to payも完全対応するデータは手に入らない(だからノンパラ識別仮定のもとでWillingness to payを復元する)。このように、見えていて欲しいデータはそう簡単に見つからない。経験的に、(割引因子パラメタ以外に)カリブレーションが許されるパラメタは1つまで、観察不可能なkey term(例えばオークションのWillingness to pay)が復元できるのは1種類まで、なので要注意。

 

難所5.エラーが入るのはどのレベル(複数階層、相関有無、分布指定有無)と想定しているのか

この対処はテクニカルに非常に厄介である。例えば、離散選択モデルでよく効用内の観察不可能なエラー項の分布をi.i.d logit distributionに特定化する。これをすることで選択シェア、消費者厚生が解析的に得られる最高すぎる仮定なのだが、分野によっては選択肢間でエラー相関を許して多次元正規分布にしたり、セミパラにしたり、ノンパラにしたりとテクニカルな拡張が沢山提示されている。ただし、リサーチクエッションが手法面でなく応用面にある場合、上述のトレードオフを理由に、エラー云々の仮定を難しくすることはほとんどない。ただ研究者によってはここを異常に気にする人も沢山いるので流派による。