Kosugitti's BLOG

アンドロイドは正規分布の夢を見るか

この画面は、簡易表示です

2008 / 8月

最後の自由人

今日は一人暮らし最後の日、かな。

たまっているDVDも見尽くし、漫画喫茶に行って読みたかったものを読み*1、一人暮らしに飽きてきた。

おそらく、今後の人生で、こういう生活をすることはほとんどないだろうけど(あったら嫌じゃなー)、もう十分満喫したので終わらせたい。というかむしろもう早く家族一緒に生活したいです。

明日から一週間東京です。ブログは更新できたらします。

*1:ハチワンダイバー。これはすごい。良い漫画だが、家でコレクションできない・・・かな(笑)



週末の過ごし方

先週と違って、ある意味同様に、ゆっくり過ごしました。
今週は途中から客を呼んだり、お呼ばれに行ったりして、結構飲んで疲れて、という感じだったので、ゆっくりできて助かります。週明けから東京一週間だしなぁ。

ただ、体重管理が全くできないのが問題です。食べ過ぎ、飲み過ぎだ。週末になっても、ついつい飲んでしまってるなぁ。

夕方、娘とテレビ電話。久しぶりに子供達の顔を見た!彼女らは元気をくれます。生への意欲がわいてくるね!



Rを使うということ

Rでプログラムをしたことについての、所感。

Rで自分で関数を作ったのは初めてだったので、「ソートってどうやるんだよ」とか「実数部だけ取り出すにはどうしたらいいんだ」とか、「散布図にラベルを入れるのは?」といった、ごく初歩的なところに逐一つまづいたけれども、ありがたいことにネット上の資料でほとんど解決できた。ありがたい、は二つの意味があって、そういう解説サイトが多い、という意味と、Rがそもそも強力な関数群を保っている、という意味です。VB6で作っていたとき、まず複素数を使う型がなかったので、自分で構造体をつくって、関数を自前でつくって、とかなり面倒な所からはじめました。もちろん、固有値分解に至ってはもひとつ大変で、ウンウンうなって作ったものです。

「車輪の再発見をしてないか?」という標語を知るにあたって、確かにそうだ、利用できるものは利用しよう、と思った次第。一から作るのは、ユーザーフレンドリーにしたい、という思いがあってのことなんだけど、Rがここまで便利でここまで普及していると、ある程度作る側からユーザーに「こっちこいよ」と行っても許されるか、と思い始めたというのも、今回プログラムを作ろうと思うに至った次第。

RはGUIで使うこともできるけど、基本はコマンドプロンプト。でも、インタプリタというか、対話型というか、一つ命令を入れたら、結果をすぐに返してくれるので、プログラムを書くときもトライアル&エラーの精神でもって、こうか、あぁか、あ、できた、イタダキ、という感じでやっても十分なのである。いちいちコンパイルせねばならない他言語に比べ、習熟するスピードはこっちの方が速いのではないか。実際、今回作ったプログラムも、作ったというよりまずやってみて、そのときのコマンド履歴をまとめた、というだけなのである。これは楽しいですよ。

アルゴリズムを知らなくても、一歩ずつ進んでいくことのおもしろさ、ってのを感じられるので、Rは本当にお薦めです。



HFM for R!

やっと少し時間が取れたので、RでHFMをやってみようと思いまして。関数を作りました。次の通りです。

[crayon-5bcac47860b0e562595963/]

これで、例えば先日の北京五輪、野球一次予選のデータを分析してみよう。8チームの総当たり、非対称行列なのでHFMの例示にもってこいですな。
次のプログラムを実行してください。

[crayon-5bcac47860b30812584277/]

上二行がデータ入力、三行目がhfm関数の実行。四行目はプロット。より詳しい解説は、本家サイトKosugitti Laboにreadme等といっしょにパッケージングしたものを置いてありますので、そちらからDLして使ってみてください。
結果の一部を書きますと、

[crayon-5bcac47860b45932886335/]

となる。第一次元の寄与率が68%、第二次元が17%。二次元目までで85%だから、どこまで使うかが考え処なんだけど、それよりも注目すべきは固有値の符号。正と負が入り乱れてます。これはつまり、データ全体にある単位(ノルム)を決めるのが難しい*1ということ。語弊を恐れずに簡略化して言えば、一つのモノサシで決められるほどはっきりした構造を保ってないということです。

第一次元をプロットしたのが冒頭の図。台湾を軸に、上と下に分かれています。非対称関係なので、上が台湾より強い、下が台湾より弱い、と考えてもらえばいいでしょう。原点から一番遠いのがキューバ。キューバは8試合で52点とって23点取られてます。原点からの距離で言えば、次は韓国かアメリカか。同じぐらいのポジションです。中身を見てみると、韓国は41点取って22点取られてる。アメリカは40点とって23点取られてる。しかも、韓国vsアメリカは8-7で韓国の勝ち。この辺が図の微妙な位置関係に、ちゃんと反映されているのが見て取れます。

星野さんは「勝ったものが強い」という迷言を吐いてましたが、これを見ると日本は金メダルがとれようはずもなく、予選の結果だけで行けばキューバが金なのです。実際は韓国が金、キューバが銀、アメリカ銅でした。上位2チームが入れ替わったのは、いつかも述べたように、また分析結果が綺麗な距離空間に落とし込めなかったように、尺度が安定しない、あるいは、勝負のアヤというのが効いてくる競技だからでしょう。

*1:不定量計量空間を構成している、という




top