2011年11月23日水曜日

あってはならないこと

ここのところ仕事が忙しい。
自分の研究課題が本来の仕事とするならば、本来の仕事ではなく頼まれ仕事のようなもので忙殺され、研究課題の方はカンペキにお留守になっている。マズイ。とってもマズイ。

先週はTPP一色だった。詳しいことは極秘?なので言えない。
今週は、職場の中でやる統計研修の準備に追われている。職場でみんなに統計処理を進めてもらうために、JMP(ジャンプ)で統計処理をする研修なのだ。JMPは、あの統計ソフトの雄、SASが作るお手頃価格(といっても20万円もする)の統計ソフトだ。

私の担当は回帰分析である。
長年使ってきた回帰分析を若い研究者にレクチャーするのだ。
重回帰分析を行う上で多重共線性(マルチコ)の問題は、いつも頭に入れておかなければならない問題だから、話さなければならない。当然だ。

なぜ、マルチコが起こるのか、それを仕組みから説明しようと思った。
回帰係数を求めるためには、説明変数の積和行列(SSCP or X'X)の逆行列を求めなければならない。この変数間に高い相関があるのがマルチコ=multicolinearityで、積和行列の行列式が0に近くなり不安定になる。そのため回帰係数の推定が正しくできなくなる現象だ。変数同士が完全に線形関係にあれば、積和行列はsingularになり、逆行列を求めることが不可能になる。

ちなみに「マルチコ」というのは日本だけであるという話だ。アメリカでは「マルタイ・コリニアリティ」と言ってるらしいから。

だから、わざと線形関係にある二つの変数を入れたデータで計算させようとしたのだ。普通は、「逆行列が計算できません」となるはずだ。しかし、なんと言うことだろう・・・エラーが出るわけでもなくペラッと結果が出てしまった。確かに一番上に「特異性の詳細」という項目が出てはいる。しかし、結果が出ている。よ~く見ると、線形関係にあった変数の一つを自動的に削除して回帰分析を行っているではないか。











これはやり過ぎだぞ、SAS!!

計算できないとキチンと教えるべきだ。
回帰分析をよく知らない人は、この結果をただ使ってしまうだろう。

修士課程にいた頃、研究室のPC98からネットワーク経由で使っていたSASは、計算センターのメインフレームにあり、オプションの一つ一つに至るまでプログラムを書かなければ動かなかった。
研究室にあった和文のマニュアルは、翻訳が悪く、分厚いだけで何を書いてあるかよくわからず、結局英文マニュアルを読みながら使ったものだ。もちろん結果の出力も英語で、思った通りの計算ができないこともしばしば。しかし、必要な計算はほとんどできて、使いこなせればこれ以上ない、素晴らしい統計ソフトだった。ただ、ユーザーに求められるレベルは高く、使おうとしている分析手法のことがわかってなければ、決して使うことができないプログラムだった。

JMPはよくできている。マウスでちょこちょこオプションを選択するだけで、あっという間にキレイな結果が出てくる。しかし、これでいいのだろうか?私は決していいとは思わない。


---------------------------------------------

他のソフトではどうなのかと思って、そのあと、SPSS(ver14)、R-Commender でも同じことをやってみた。
しかし、JMPと同じように計算できてしまった。何故?
これが現代統計ソフトの流れなんだろうか?
いいんだろうか、これで。
いいわけないと思うんだけどなあ・・・ワシは。

0 件のコメント:

コメントを投稿