Thursday, 14 June 2007

SAS/SPSS/S/R



プログラミング言語シリーズ。いわゆる統計パッケージですね。東工大の2年生の時に、何故か、野崎先生のSPSSのプロジェクトに組み込まれた。と言っても、SPSSの本を読んで、BASICで、東大の大形計算機センタのTSSにつなぐプログラム(10行)を書いただけだったが。この通信プログラムはとっても、喜ばれた記憶があります。(喜ばれなかったものもある...)

で、そこで言われた(学んだ..)ことが二つ。

 データは、まず散布図(Scattergram)にしろ
 統計データで面倒なのは前処理(特に、欠損値の扱い)

ってこと。つまり、なんだ、「グラフに書いてわかる以上のことが高度な統計でわかることはない」ってなことだったりします。

学部は化学だったので、1次回帰は死ぬ程やりました。プログラム電卓持っているとヒーローだった。それもグラフ書いて物差しで「これぐらいかなぁ?」でも、そんなような値は出ます。でも、母集団の推定で「1/nと1/(n+1)の違い」とか言われた時は、「そんなのは役に立たない」と決めつけていた気がする。

統計学のゲーデルの不完全性定理に相当するのが、みにくいあひるの子の定理だったりする(そして、それは統計学の基本定理の応用だったりする)んだけど、統計学を比較的軽視するようになったのは、それもあったと思う。

SAS/SPSSは言語とは呼べないと思う。バッチ処理用のパッケージですね。今でも使っている人は、やっぱり、まずいんじゃないの? 人間は保守的になるものだが。

Sは有料なので、ほとんどの人はRを使っているでしょう。うちの学科でもそうです。EasyPackage には入れてないね。

でも、実は「前処理ならPerlだろ?」っていうか「RよりPerlの方がいいんじゃないの? というかPerl で出来るだろ」とか思ってます。じゃぁ、なんで、RとかSASなのかと言えば、やっぱり、統計には権威が必要だから、なんじゃないかと疑ってます。

みにくいあひるの子の定理にも関連するんだけど、僕自身はBaysianです。一言で言えば「客観確率なんてねぇよ」という立場ですね。Baysian の方が出来ることも多いと思う。哲学的には、頻度確率はイデアリズム(理想的なランダム事象が存在する)であり、Baysian は唯名論的(見たことしか信じない)なんじゃないかな。宇宙論の人間原理とかもBaysianだと思うし。確率って、「自分が感じた頻度」以外の意味はないと思う。

学科の統計の先生は非Baysianらしいので、そのあたりを議論したいと思っていたりしますが...

ちなみにSPAM filter に Baysian filterは使ってません。white list/black list 方式のPerl script です。もっとも、amavis/clam は使っているだろうから、間接的には使っているか。SPAM filterにRが使われるようになれば、もっと僕の評価はあがると思う。そんなものはうれしくないでしょうけど。

No comments: