SPSS備忘録 -45ページ目

数値は15桁まで

SPSSもClementineもAMOSも、数値は小数点の有り無しに関わらず15桁までしか扱えません。16桁以上の数値を扱おうとすると、中途半端に四捨五入されて15桁+10の何乗というような無理やりの15桁にされます。


実はこれはSPSS製品だけでなくExcelなど多くのソフトで発生します。これは32bitソフトウェアが数値として16桁の値を計算できないためにこのような値になります。


16桁目の単位は、整数で「1,000兆」です。日本の国家予算レベルの数字でもこの桁は使わないと思いますので、おそらく大半の方は取り扱えなくても問題ないと思われます。


この障害は計算をさせることが出来る数値として扱うことが出来ないためのものですから、この値を数値以外で使うことには問題ございません。文字型変数としてでしたら16文字以上の数字の羅列も全く問題がございません。


おそらく会員番号とか分類コードの類が全て数字で入力されている、型という概念のないテキストファイルから読み込ませると、この問題のために変な四捨五入がされ、値が使えなくなるということがあると思います。あわてずに文字型としてSPSSやClementineに取り込ませましょう。

Clementineを使って、どうすればいいかわからない。

7月20日の記事 に引き続き、本日はClementineをどう使えばいいかの考察です。


ちなみにClementineのモデルの一部はSPSSでも分析できますので、SPSSに含まれるそれらのモデル(回帰分析・ツリー分析・クラスタ分析など)もここに含めます。


統計ソフトのSPSSは仮説は正しさの確率を出しておりましたが、Clementineはデータマイニングのソフトです。データマイニングは大量データから「○○と□□という組み合わせがあった」とか「△△と○○がこの数値の主要因になっている」をあぶりだすものですので、統計ソフトのように仮説を検証するのではなく、無数の組み合わせから「○○と□□という組み合わせ」を有用な仮説として見出すためのソフトと思います。


データマイニングは統計ソフトとはアプローチの異なるソフトのため、SPSSもCRISP-DM という分析の仕方の提案をおこなっております。ちなみにSASのデータマイニングソフトもSEMMA という同じような提案をしておりますが、内容は似たようなものです。


CRISP-DMについては、ClementineのインストールディレクトリにもPDFが格納されておりますが、なんか製本の原稿そのまんま裁断ポイントとか付いているんですけど・・・。

C:\Program Files\SPSS Clementine\10.1\Help\i18n\japanese_jp\CRISP-DM.pdf


CRISP-DMは、要するに「今の問題と現状持っているデータを勘案してモデルを何度も作成してそのなかから最適なものを採用する」というものです。統計ソフトでは仮説は正しいか間違っているかを検証するので何度も分析をしなおすということはしないですし、データも仮説に対して取るのですが、データマイニングではそれらが逆の発想になります。


データマイニングソフトは「○○と□□という組み合わせがあった」を見つけるソフトで、統計ソフトは「○○と□□という組み合わせ」は起こりうるのかを統計的に検証することが出来るので、「Clementineで仮説を発見して、効果測定は別途SPSSでデータを取り直して検証をする」という使い方もアリだと思います。ClementineはSPSSのような統計ソフトと異なり、目的が見えてこないところから始めて目的を見つけるまでの分析です。だからある意味どうすればいいかわからないことは正しいです。


明確なところからスタートしないため、決まった内容から良いか悪いかを判定するSPSSのような統計ソフトよりも、設定を変えてモデルを作り直しそれらを比較するという作業が多くなると思います。データマイニングとはそういうものですので、どんどん調整しましょう。調整をする過程で目的が見つかった時がモデルの完成です。


手法にはニューラルネットワークや、ニューラルネットワークの技術を用いているKohonenというクラスタモデルがあるのですが、これはあとでモデル内容を説明しづらいので、初心者は最初に使わないほうがいいかもしれません。モデルの内容を説明しやすい手法からやってみることが現実的だと思います。


くどいようですがClementineは「○○と□□という組み合わせ」を発見するためのソフトです。その組み合わせはClementineがたくさん出ると思うのですが、現実世界で発見した知見を活用できるリソースには限りがあるはずですので、活用する組み合わせは絞ることになると思います。あれもこれも同時に出来ませんよね。


データをモデルに照らし合わせて、各レコードにモデルの傾向による予測値を割り出すことが出来ます。これは有用だとは思いますが、実際に当ったかどうか効果測定はした方がいいと思います。なおあくまでモデルという傾向ですので、関西人は「必ず」阪神 ファンで納豆を食べないということがないように、100点満点のモデルということはありえません(何百万項目も特定すれば100点満点のモデルを作成できるのかもしれませんが、もうそれはモデルではなく一個人の特定ですね)。過度に正確さを求めても運用には限界があると思います。トータルでモデルは有益であったのならば良しとするのがデータマイニングということをご理解いただければと思います。

SPSSを使って、どうすればいいかわからない。

先日最近SPSSを使うようになった人に聞かれました。


「どうすればいいか、わからない。」


うーん、「じゃあ何で入手したんだ?、その予算ちょうだい!」とツッコミたかったですが、よく聞くと「統計的裏付けの必要性を感じ、SPSSを使うとさまざまな計算が自分で出来るということは理解できたが、実際どう使えばいいのだろうか?」を要約して、以上の結論になったようです。


私も統計が専門ではなく、必要に迫られて統計もやっているという者なので、上手く説明できないかもしれません(間違っていたらコメントで指摘してください)が、SPSSは


「○○という仮説はほとんどの場合本当に起こりうるのか?」


の統計的な確率を出すソフトと主に言えると思います。他の用途にも使えますがまとめると結局これだと思います。いろいろ手法はあるのですが、状況に応じた最適な手法で「有意確率」という確率を出して、ハズレが何%かを導き出し、5%未満(ハズレが5%未満は、裏を返せば正常が95%以上とも言えますね)なら仮説が成り立つとかを出すためのソフトと認識しております。


つまり、あらかじめ仮説がないと分析が出来なくて当たり前なのです。仮説を立てるのはコンピュータの仕事ではないので、それではSPSSではグラフや記述統計などの簡単な集計以外は出来ないと思います。仮説もないのに買っただなんて、日本法人に押し売りでもされましたのでしょうか?。


で、仮説を立てます。なんでもいいでしょう。「2007年現在流行っているビリーズブートキャンプは本当に痩せるのか?」でもいいでしょう。まあ、実際は自分の仕事や学術分野に関連するものになると思いますが・・・。


Basic Training Bootcamp

¥1,862
Amazon.co.jp

仮説を立てたら具体的には何をもって仮説を検証するかを考えます。例えばブートキャンプをやっている人のグループの使用前と使用後の体重の平均と、ブートキャンプ以外のダイエット方法のグループの同時期の体重の平均との比較をしたいとします。ここで説明に必要な変数を挙げていないと、どんな分析者でもあとで解釈が困難な分析になりますので、きちんと考えましょう。


比較するポイントが決まると、そこで使用できる分析がおのずと決まってきます。上記の例の場合は「平均値の比較」なので、t検定か分散分析ということになり、2元配置分散分析を行うことになると思います。


手法や検証材料が決まったら、ここでデータを収集いたします。データ入力も本などを参考にあらかじめSPSSでこの分析を行うためのかたちで入力しておきます。


あとはそのデータを用いて、ダイアログで[OK]ボタンをクリックするだけで、「ビリーの成果は、統計的にアリなのか?、ナシなのか?」が確率によって統計的に証明されます。


と、順序だてて考えれば、慣れれば難しくないのですが、まず元々データがあってそこから考えなければいけない(しかも分析に向いていない入力のされかただったり)とかで、順序だてて出来ない場合は、初心者にとって大幅に使うのが難しくなります。だからつまづくのではないでしょうか?。


まずは順序どおりやってみましょう。やりなれてくると、もうどこかの会社のアンケート用紙を見ただけで「こいつら因子分析する気だな」と笑えるようになります。


統計を駆使したことがある教授についている大学生とかですと、このへんの戦略が上手く立てられるのですが、いきなり上司から「とにかくやれ」といわれた畑違いの会社員には、こういった考え方から最初に入るべきなのですよね。SPSSというソフトの使い方はトレーニングやサポートで補えますが、戦略面は自分で考えるべきものです。


全国の「どうすればいいか、わからない」皆様、これでいいでしょうか?。次回 はちょっと考え方が違うClementineについて同じ文章を書きます。