忍者ブログ
Yaleで、遊んで学ぶ日々。

Yaleで、遊んで学ぶ日々。

囲碁、ときどきプログラミング、ところにより経済。
[1]  [2]  [3]  [4]  [5]  [6
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

政治経済学のterm paperで使おうと思って日本の選挙のデータをザ・選挙というページからがっつりデータを落とした。Web-scraping作業だ。このページ、国政選挙に関しては8~9割、特に戦後についてはほぼ100%をカバーしている有難いwebsiteだが、半年くらいで閲覧できなくなるらしい。いずれ有用になるかもしれないので、ここで公開されているデータは一通り保存してしまうことにした。時間が空いたら全てデータにして一通りdata cleaningを施して、もし元ページの管理者の許可が下りたら公開しようと思う。秋ぐらいになるかなぁ。

今日は当面使いそうな衆・参議員選挙の結果をデータにまとめたのだけど、ところどころで(小さいながら)誤りが発見された。公式のデータじゃないわけだしある程度は仕方ないので(別に公式だって間違っている可能性はある)、ここからちまちまdata cleaningをする予定。ちなみに今日発見した誤りは、第37回衆議院選挙の秋田2区結果にある。定員4名のはずが3人までしか当選のマークがついていない。この場合いくつかの可能性が考えられる。
(1) 定員は実は3名。
(2) 実は4位の笹山さんも当選。
(3) 実は特別な理由があって実は5位以下の誰かが当選。
(4) その他、僕の想像の及ばない理由。

さて、正解は......


PR

計量経済学ではよくidentificationが問題になる。identificationというのは要するに、「僕はこれが正しいモデルだと思う」という主張をしたい時に、「でも実はこうかもしれない」という可能性をきちんと否定できるか、という問題だ。多くの場合に、経済学では完全なモデルの記述ではなくある重要なパラメータ(つまりモデルの1部分)のみを問題にするので、そういう場合はidentificationはそのパラメータの範囲で議論され、「僕はパラメータはこの値だと思う」という主張を「実は違う値かもしれない」という反論からきちんと守ることができるか、という問題になる。

どう主張を守るというと、それはデータだ。もし、パラメータの値が異なるときにデータの分布が異なるならば、無限に多くのデータを採取すればデータの分布からパラメータの値を逆算することができるので、「ほら、こっちの値だったでしょ」と言うことができる。これがもし、パラメータの値が違うのにデータの分布は変わらないのであれば、2つのパラメータは永遠に区別ができない(データに差が出ないので)。identification不可能というケースだ。このように、パラメータのidentificationは、データの分布との間の1対1関係により保持される。


見方を変えれば、identificationは要するに言い逃れの可否に関する問題だ。そこで、友人がよく約束の時間に遅れてくるときに、この人に寝坊の癖があるかどうかを特定できるか考えてみる。

「約束に遅れたな。寝坊したんだろう」
「電車が止まったんだ。寝坊はしてないよ」
寝坊でも電車の遅延場合でも同様に遅刻というデータが観測されるので、identificationできない。つまり、「この友人には寝坊の癖がある」というモデルと「この友人はよく止まる路線を利用している」というモデルは同じデータの分布を導くので、区別ができない。しかし
「今iPhoneで検索したところ、電車の遅延の事実がないことが分かった」
電車の遅延情報についてもデータとして得られるなら、電車が遅れて遅刻したのか寝坊で遅刻したのかを区別することができる。逆に、電車の遅延というデータを考慮にいれないと、パラメータの推計ができない。重要なデータが不足しているためにidentificationが不可能になることを、omitted variable biasという。

「約束に遅れたな。寝坊したんだろう。電車の遅れではないことは分かっているんだ」
「違うんだ。隣にいた妊婦が急に苦しみ出したので病院へ連れて行ったんだ。この前の遅刻は大きな荷物を抱えたおばあさんを送っていったせいだし、その前は迷子のお母さんを探していたんだ」
妊婦、おばあさん、迷子などの証言は得られないとすると、彼の主張を完全に否定することはできない。「この友人には寝坊の癖がある」というモデルは「この友人はよく困っている人に遭遇し、かこの友人はそういう人を放っておけない」というモデルから区別することができない(そんな人いる? 例えば一般に名探偵という類の人物は行く先々で事件に遭遇する傾向があるらしい)。これはidentification不可能なケースだ。

しかし現実にはそんな言い訳は通らない。
「そんなことが都合よく何度も起こるわけないだろう」
これをBayesian inferenceという。


SPの結果、キム・ヨナ1位に浅田真央2位だそうで。スコアはちょっと離れているようですが、せっかくなので5時からテレビ観戦してやろうと思っていたら、開始時間はPST5時だそうで、うち(EST)では8時からでした。日本時間だと朝の10時。

先に終了した男子シングルスでは、プルシェンコがjudgeに文句を言っているそうで、興味を持って色々調べてみたら、先学期授業を取ったJohn Emersonが大分この分野(judgeのいるタイプのスポーツの評価)では有名な人だったらしい。そもそも、9人の審判のうち2人をランダムに除いて、残った7人のつけた点数で結果が決まるそうだ。知らなかった。Jayの引用:
February 19, 2010: Men's Results. Congratulations to Lysacek! And he was a little lucky. The   random panel of 7 judges used for the competition liked him. The full panel of 9 judges thought it was a closer competition, a 0.47 point winning margin instead of the official 1.31 point margin. It's likely that some random panel could have awarded Plushenko the gold (other random panels scored him as many as 3-4 points higher when other pairs of judges were dropped).
source: http://www.stat.yale.edu/~jay/skating2010.html
 
 

つまり、コンピュータが違う審判を選んでいたらプルシェンコの金メダルもありえるかもしれなかったらしい。選手の視点からするとそれはどうなのだろうか。確かに人による審査にはランダムな部分は必ず残るので、不確実性を審査から取り除くことはできないわけだけど、コンピュータによる乱数というのとは受け止め方が違いそうな気がする。僕はアスリートではないですが。
参考:Emerson, John W. (2007). “Chance, On and Off the Ice.” Chance 20(2).

審判の国籍の問題も噂されている。北米審判がフリーで増えてロシア人のプルシェンコに不利になった、とか。審判の採点は匿名性で、どの審判が誰に何点をつけたかは分からないようになっている。代わりに、9つの得点が名前抜きで公開される。これには歴史的経緯があって、昔票の売買が不正に行われていたのに対する防止措置なのだそうだ。名前を隠すことによって、審判Aに裏金を渡してある選手の得点を甘く(または辛く)つけるように依頼しようとしても、審判Aの得点を後から確認できないので契約が成立しない、ということらしい。
理論的には、票の取引は「難しくなる」が「不可能にはならない」、というのが正解だと思う。審判の行動を直接監視することはできないけど、審判の行動に強く依存する公共情報(9人の得点の分布やその選手の順位など)が存在するので、public monitoringによる協力関係を維持するのは不可能にはならない。
票の売買の防止のために匿名性をしいた結果、今度は国籍バイアスの危険性が高まった。自分の名前が特定されないので、ちょっと自分の贔屓の選手に甘い点をつけたとしても、メディア批判などの恐れが少ない。
参考:Zitzewitz, Eric. 2006. "Nationalistic Bias in Winter Sports Judging and its Lessons for Organizational Decision Making," Journal of Economics and Management Strategy; Zitzewitz, Eric, Does Transparency Really Increase Corruption? Evidence from the 'Reform' of Figure Skating Judging, 2010.  http://www.dartmouth.edu/~ericz/


【余談】
さっきPSTとESTの時差を調べようと思って検索していたら、こんなの見つけた。
  Q. 17:00:12PST ってどういう意味?
  A. 5時0分12秒のことよ。
・・・そんなの分からない人がいることにちょっと驚いた。小学生でも分かることじゃないか(質問者が小学生かもしれないけど)。でも、24時間表示のことを"military time"って呼ぶのは知らなかった。
考えてみると、米国で暮らしているとほとんどの時間は12時間表示で書いてある。イベントの時間が 10a-1pとか、最初はちょっと違和感があった(開始時間の数字が終了時間より大きいというのが)。24時間表示を見るのは、空港とか。

気まぐれにDevelopment Lunch Seminarに出席してみた。Developmentでは今randomized experimentが大流行な様子。開発途上国へ行って、何らかのtreatment (職業訓練とか) をランダムに与えてその効果を推定する。何でそんなことをしたいかと言うと、Selection Biasというやつを恐れているからだ。つまり、ランダムに割り振るのでなく志願制にすると、志願した人としなかった人とで特徴が異なっていることが大いに予想されるので、両者の間に観測される差が、本当にプログラムによるものなのか、それとももともと存在する特徴の差によるものなのかが区別できなくなる。例えば、塾に通うことが成績を上げるかどうかを検証したいする。もしも、塾へ通うかどうかが完全にランダムに決められれば(くじ引きで決めるとか)、塾へ通う層と通わない層の特徴の分布は等しくて、したがって両者の唯一の違いは塾に通っているかどうか、という点だ。でも、一般的には塾へ通うかどうかは自発的に決められる。もし、勉強に意欲的な人ほど塾に通いやすい傾向があるとすると、例え塾に通っている層の成績が通っていない層よりも高かったとしても、それはもともと意欲的な人が多いからに過ぎないかもしれない。こういう風に、何らかのパラメータを特定すること (identification) が目的の場合、randomized experimentは有効なアプローチの1つになる。何で開発経済で特に流行っているのかは知らないけど。費用が安くすむからかな。先進国でも実験することはある。この前読んだ政治経済学の論文だと、ある地域の人に対して、隣人の過去の投票経歴を記載した手紙を郵送することで、投票率にどう影響がでるかを検証していた。投票行動をSocial Pressureから説明する理論の実証だ。

個人的にはあんまりrandomized experimentには心惹かれない。どうもチートっぽい気がしてしまうんだ。社会科学っていうのはもっとこう色んなことが相互に影響しながら発生する事象を研究していて、データがどうにも混ぜこぜになってしまっているなかに秩序を見つけ出すところにロマンがあるんじゃないかと思うので、作為的にランダムな状況を作り出して検証をしようっていうのは、理解は出来るけど共感しない。


ここから本題。そういうわけであんまりDevelopment lunceに出席したことはなかったんだけど、今日は昼時に学校にいて、セミナー参加者に振舞われるピザを見つけたので、ピザのために出席することにした。他のセミナーだとサンドウィッチとかの場合が多いので、ピザが食えるのは旨いと思った。そうしたら冒頭で、教授から衝撃のアナウンス。
「これはマジな話なんだが、今日で食事が出るランチセミナーは最後だ。Growth Centerの予算の問題で、食事を提供し続けるともっと大切な、研究の支援に回す予算が足りなくなる。だから、今日は最後のピザを楽しんでくれ」
もう、ぽかーんとしたよ。lunch seminarからランチを抜いてどうするって感じだよ。旨い食事のでるセミナーだから、特に残念だ。Labor Lunchも同じくGrowth Centerの予算から出ているので同じく食事が出なくなるらしいけど、そっちは不味いことで有名なので感慨もない。

これが学生のセミナーへの出席率を検証するために作られた実験に過ぎないことを祈っている。


ここ最近の日記を見ると、コンピュータ・ギークのブログにしか見えなくて落ち込んだ。今回もそういうお話です。

僕にはお気に入りのテキストエディタがあって、それは真魚(「まな」と読む)というやつです。
作者のページ
Vector

この真魚、秀丸やTerapadに比べて有名じゃないようだけど、思いのほか使い勝手が良くて使っている。タブ式のテキストエディタというのがいい。色の設定も自由に変えられて、とても鮮やか。しかも背景に画像まで入れられる(昨日知った)。そして何より、軽い。
プログラムソースを書く場合も想定されていて、予約語などのハイライトもしてくれる。HTML, Delphi, C, Javaなどの主要言語はカバーされている。

ただ、この真魚、どうも自分で予約語の設定とかをいじれないっぽい。Vectorのレヴューではできるようなことが書いてあったのだけど、探してもその機能が見当たらない。なので、研究で使うR, Matlab, Fortranのソースエディタとしてカスタマイズしようと思ったけどできなかった。がっかり。誰か知っていたらぜひ教えてくださいね。

すでに真魚が気に入ってしまっているので、他のエディタに乗り換える気はあまりないのだけど、将来的に膨大なプログラムを書いてデバッグするときのことなどを考えると、そのうち高機能なエディタを使う必要が出るかもしれない。


でも好きなんだよなぁ。


ところで古いバージョンの真魚ではアイコンが幼女でうわぁって思ったんだけど、最新のバージョンでは無難になっていたのは何で?

2010y01m21d_153833266.jpg 
旧アイコン

2010y01m21d_153858112.jpg
現アイコン
Calender
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Search in This Blog
Latest Comments
[03/30 川内のばば山田]
[03/30 川内のばば山田]
[08/06 Aterarie]
[07/05 Agazoger]
[07/01 Thomaskina]
Oldest Posts
Latest Trackbacks
フリーエリア

Barcode
Access Analysis
Powerd by NINJAブログ / Designed by SUSH
Copyright © Yaleで、遊んで学ぶ日々。 All Rights Reserved.
忍者ブログ [PR]