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

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

構造推定をしたい匿名学生の実地体験ルポ(続報1)

やあ (´・ω・`)
ようこそ、バーボンハウスへ。
このテキーラサービスだから、まず飲んで落ち着いて欲しい。

うん、「また」なんだ。済まない。
の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、このスレタイを見たとき、君は、きっと言葉では言い表せない
ときめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい
そう思って、このスレを立てたんだ。

じゃあ、注文を聞こうか

 

以前の報から、半年以上たったが、続報が届いたのでシェアしたい。


指導教官にぶっ叩かれた鉄は熱いうちに打て。

どうやら彼は一つ目の個人プロジェクトは愚直に以下の難所を後ろ向きに解いてみているらしい。

 

ohtanilson.hatenablog.com


我々日本人IOの研究者はバックワードで動学の数値計算解いて反実仮想しないとねー、というノリ。医学者が自分で治験する感じで、経済学者が治験しないとねえ。

 

 

 

自己採点結果は以下。構想から1年後をバックワードでいってみよう!
とりあえずそれなりのバッドエンドからスタートしとくのがシミュレーションゲームの鉄則。人生にハッピーエンドはない。城之内は結局死ぬし、海馬は散るし、本田は男の花道だけど玉砕する。進撃の巨人も最終回でエレンが多分死ぬ(来月が最終回)。

 

-----------------------------------
第七章~そして伝説へ

バッドエンド1. これだけの難所を厳密に検討してもうまくいかなかったら、改善点か方向修正点は無数にあるはず!前向きに!時間はかかっても、別の良い仕事や別の大発見に繋がりそうな予感!

-> 実際今これ。ある意味99%の不確実なチャレンジはこれでしょ。

-----------------------------------
第六章~推定したパラメタで反実仮想モデルを解くまで(世界であなたしかできないコイン取り放題お楽しみボーナスステージ)

難所1. 第一章で想定した反実仮想のアイデアを、第三章で使った均衡モデルの拡張で実装できるか

->関心のあるサブサンプルでは動くことが確認された。というかモンテカルロシミュレーションでこれができるように作った。強烈な描画もOK。ただ推定値が正しくないのでただの動作確認。【きれいにいけばドラ2翻】

難所2.上の拡張モデルを解いた結果が、「理論的に」解釈できるか

->理論の結果で解釈可能なモデル作ってるから、できる。変な値がでるけど、それは理論的解釈ができるから「変」と気づけるのである。【きれいにいけば1翻】


難所3. 異世界の創造神としてその結果に納得できるか

->変な推定値だからまだ変な結果だけど、まあいけそう。


-----------------------------------
第五章~データを使ってパラメタを推定するまで(博打推定パート)
難所1. 第四章で作ったモデルに、第二章で集めたデータを対応させるコード実装ができるか(前処理)

->できた。変数のスケールは直すかもしれない。Rでやった、Juliaはデータフレームの扱いがまだ微妙。【役には貢献しない】

難所2. 複数の初期値を試して、(真値は当然分からないが)reasonableなパラメタが推定できるか。【指導教官がOKだせるクオリティなら難所123合わせて3翻】

->初期値10000回試したプロットを見ると、推定値は集合識別しかできなさげ。下限は識別きれいだけど、上限はunboundedでだめ。なのでConfidence Intervalは計算したけど識別力なし。
2タイプにサンプルを分けると推定値が識別できるが、エコノメ理論的にはYでconditioningしてるからダメな実験デザインってことらしい。確かに。お手厳しい。
ここは特定化の単純化とか不等式評価をいい感じに修正するべき、ということらしい。確かに、1パラメタからじわじわやらないとダメよね。
上限が識別できないってのは部分識別の文脈でも新しい結果らしい。sharp identification探せっつうわけ。

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

サブサンプリングでやったけど、上限が識別できないっぽいので、統計的には意味なし。一応やったけど、やっぱりうんこな結果を再確認した。うんこの確認は健康状態の把握に大切です。【指導教官がOKだせるクオリティなら難所123合わせて3翻】

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

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

->下限は識別できるけど、上限は無理ってのが分かった。モデルの性質上、均衡解くDGPがヘビーなので、小サンプルのモンテカルロシミュレーションしかできない。
サイズが小さいからやっぱりパラメタ一つから始めるべし。確かに。
うまく不等式評価に効かせたい要素を重視するとsharpに行くんじゃないのって話。確かに。【指導教官がOKだせるクオリティなら難所123合わせて2翻】


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

->セミパラのスコア推定一択なので、仮定が緩い分、計量理論上いろいろ変数入れるのは厳しい感じ。先行研究見てなんとなくわかってたよ。【指導教官がOKだせるクオリティなら難所123合わせて2翻】

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

->下限はわかるよ。特定化はいくつか試したけど、だいたい一緒の結果となったよ。Appendixに放り込んだ。【指導教官がOKだせるクオリティなら難所123合わせて2翻】

 

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

->想定してたので、一人でうにゃうにゃやる分には大丈夫。全部の処理も1日あれば終わる。【役には貢献しない】


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

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

->計算結果チェックしながらやったけど、細かいバグはまだあるかも。でも多分モデル上の問題。均衡結果のシミュレーション結果はAppendixに放り込む(予定)。【役には貢献しない】

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

->OK.先行研究に沿ってるし、先行研究も重要なのはレプリケートできてる。【役には貢献しない】

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

->OK. というかDifferential Evolution使ってるだけで、数値計算上はそんな難しくない。初期値は1000回サクサクやれる。【役には貢献しない】

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

->エラーの分布にロバストなのでOK.【役には貢献しない】

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

->あるパラメタだと微妙。均衡が変わっちゃうからなあ。でもいろいろ試せるコードだし悪くない。【役には貢献しない】

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

->並列化はOK.そもそも計算速度が軽いのが利点の手法だし。【役には貢献しない】

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

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

->ほぼアナログ、面倒だけど写本しないと得られないデータの方が参入障壁高いっしょ。パブしたらに公開予定。【役には貢献しない】

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

->Rでいろいろタイプのきれいなプロットを書きました。【印象アップになれば1翻】

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

->OK。回帰はした。本筋からすると別にそれほど意味はないけど、やっとくと役が一つ乗るっぽい。【きもちの1翻】

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

->そういう風に作れるように、モンテカルロシミュレーションのコードに当てはめるイメージでデータセット作った。【役には貢献しない】

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

->今回はエラーの数は重要じゃない。分布にロバストセミパラだから。【役には貢献しない】

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

難所1. そもそも見たい現象と問いが経済学「理論」的に興味深いかどうか。その問いに応えるのに「追随した形で」、手法や理論面で貢献や新規性はあるのかどうか(あるとよりいいね!!)

->問いのアイデアの着想は先輩研究者のパブ済みの研究から拝借してる。手法もデータも違うから、本人にすらわからないだろうけど。でもある意味、安全策でいった。【第6章まできれいにいけば難所1と2でこみこみ2翻】

難所2. 理論的に興味深いことを制度情報などからもサポートできるかどうか

->これが意外としんどいというか一番時間がかかる。制度情報がまとまってないし、digる範囲も自分で設定しないといけないし。後追い研究の産業ならそれを追えばいいってのはあるけどね。
先行者優位をえるのはそれなりにしんどい。【第6章まできれいにいけば難所1と2でこみこみ2翻】

難所3. 見たい現象が経済学「理論」の閉じたモデルに落とし込めて均衡存在や一意性などを特徴づけできるか。閉じるために必要な仮定とパラメタが全て網羅されているかどうか。見えてる現象はそこの均衡をどうやってデータとしてサンプリングしたものか把握しているか

->OK.一意存在が保障されて計算アルゴリズムも存在するモデルを、自分用に拡張して使った。これもテクいので十分貢献。一意じゃない奴は意図的に避けた。【あくまで先行研究の拡張なので1翻】

難所4.上のモデルを動かすための変数に対応するデータは現実世界に存在するのか。上で得られた仮定をそれなりに満たしてそうか

->一つを除き悪くない。変数はOKだけど、現実にそれがあったかどうかは制度的情報でサポートってかんじ。ひとつだけ理論的に究極に重要な要素があるが、これをどう表現するかができを左右するというか、役がふたつ乗るかどうかのcontroversial pointってかんじ。【うまくいかないとマイナス2翻、つらい】

 

難所5.その変数はそのデータで「理論的に」(都合解釈を排して)代理変数として近似できているか

->OK。そもそも代理変数としての正解がないし。先行研究はランダムパラメタみたいな処理してるし、データ独特の特定化しないといけない。【うまくいかないとマイナス2翻、つらい】

難所6.上のモデルを動かすためのパラメタは、モデルとデータから計量理論的に(部分)識別できるのか、識別できる範囲内でどんな特定化ができそうか。わざわざ新しい要素をモデルに入れたところで、データからは観察的同値な別の標準的なモデルが存在しなさそうかどうか、新要素が行動変化をどれだけ「経済学理論的に」説明しそうか。

->見たいパラメタが効きそうな感じでモデルを改良する必要あり。現状、下限しか識別できなかったけど、それはニューな発見なのでOK。【うまくいけば1翻】

難所7.除外制約や外生性などの推定に関する批判を乗り越えるアイデアと制度情報が「データを集める前から」すでに「複数」あるか

->これを考える必要が(幸運にも)そんなにないモデル(ある種の自然実験にちかい設定)をあえて選んでるので、ここはセーフ。IVが効く効かないとかサンクコストでかすぎるのでつらいし。【1翻】

難所8.経済学「理論」的にも政策的にも興味深い反実仮想アイデアが「複数」あって、モデルに外生的あるいは内生的に組み込めるか、その反実仮想アイデア自体が解いた後に識別できるのか

->ここはOK.バチバチに面白いはずなのを固めた。というかそういう風に作ってる。これが論文の面白さの上限ですし、それ以上の要素はモデルに組み込めないですし。【裏ドラ0-2翻】

難所9.解きたいアイデアと既存の推定手法は、どのレベル(N,T,S,B?)の漸近論を用いてどのサンプルサイズだと正当性が保証されているか、使おうと思っているデータがその漸近論がそもそも機能するサンプルサイズであるか「データを集める前に」把握できているか

->サンプルサイズは不安だったけど、信頼できる先行研究より多いのでいけるってことで踏み出して、結果なんとかなりそう。あぶねえ。【役には貢献しない】

難所10.第二章以下の難所を想定したtractableな方向性、challengingな方向性が事前に描けて、自分自身の能力、時間資源等制約付き、不確実性ありの動学投資最適化問題をイメージできているか、イメージできるだけの失敗経験とそれに基づく直観と文献理解がある程度あるか

->ここはOK。そういう風に作ってる。あと指導教官の学生しか、このタイプのコード書けない気がする。というか、モデル自体、指導教官の学生以外には全然自明じゃない。【役には貢献しない】

 

1(+ドラ2)+3+2+0+2+5(-4+裏ドラ2)=13翻前後がベースライン、全部完結するまでは当然あがれませんが。

 

結果、想定したバッドエンドのパスに落ちている(「パラメタの下限しか識別できないじゃん」と分かった)ので、ある意味予定通り。これがバックワードでやってみた治験結果。イメージとしては数え役満を目指して、13翻以上を取る予定だった。引用してるジャーナルの論文たちが自分の中では最低15翻って感じ。マーケティングとか書き方とかいろいろあるにしろ。

遺言書としてほにゃイヤーペーパとして全部結果まとめてるし、結果をLatexに自動生成するコードも書いてるし、reproduceableにはしてきたし、どこまで翻が変わるでしょうかねえ。