SOM(自己組織化マップ)データマイニングの方法
〜Viscovery® SOMineの活用ヒント
SOMを用いたデータマイニングの方法は、90年代にViscovery社(元Eudaptics社)によって、完全に確立されました。残念ながら市販されているデータマイニングの解説書はもちろん、SOMの専門書にもそれは解説されていません。ここでは、Viscovery SOMineを用いたデータマイニングの基本的な分析方法を説明します。(この解説内容は、弊社のオリジナルです。転載にはご注意ください。)
1.パターン(トレンド)と支配変数の識別
SOMのマップ(Viscoveryマップ)を見るときには、まず、どの属性(変数)がマップの順序づけにより強く寄与しているかを識別します。値の高いところ(赤い色)と値の低いところ(青い色)が、穏やかに分布していて、明確なパターン(たとえば、マップのどちらかの側の値が高く、そこから遠のくほどだんだん低くなるなど)が示されている属性は、マップの順序づけによく寄与しています。(Viscoveryのマップの可視化方法は、国際著作権条約で保護されています。)
 |
| 支配変数(主要な変数)(左)と非支配変数(主要でない変数)(右) |
2.複雑な従属性(関係性)の識別
上記で識別したパターンが似ている属性同士は、正の相関があります。逆のパターンを持つ属性同士は負の相関になります。従来の相関係数行列では、属性同士の全体的な相関の強さしかわかりませんが、SOMのマップを見ることによって、属性間のローカルな関係性を知ることができます。属性間のローカルな関係性を詳細に検討することにより、最適化問題に適用することも可能です。たとえば、コンジョイント分析などでは、評価得点と価格のトレードオフでバランスするノードを発見することによって、製品・サービスの最適仕様を求めることができます。
 |
| 負の相関を示す属性マップ |
 |
| 最適化問題のマップ |
3.変数選択と重要度
マップを作成するために「どの属性(変数)を用いるか」「どの変数がどれだけ他の変数よりも重要であるか」を決定することが最も重要な問題です。言い換えるなら、それを探求することがデータマイニングのプロセスだと言えるのです。
多くの人がこれを「恣意的だ」と考えて、「利用可能な変数をすべて平等に扱えば”客観的な”モデルができるはず」と考えがちです。残念ながら、それは間違いです。ここで「モデル」を「意味」という言葉に置き換えてみたらよくわかります。物事の意味は時と場合によって変化します。つまり、それは同一の対象(現象)でも、見る角度(見方)によって意味が異なるということです。「特定の見方だけが客観的で、他はそうではない」ということではありません。データマイニングは”有用な知識”(役に立つ構造=パターン、関係性、法則性)を発見するプロセスです。「客観的なモデルではなく、役に立つモデルを探せばよい」と考えると、やるべきことがハッキリと見えてきます。
たとえば、アンケート調査なら、「ニーズに関する設問の集合」「用途に関する設問の集合」「商品選択に関する設問の集合」というように設問を分類することができます。通常、アンケート調査の目的は、それらの間にどんな関係があるのかを知りたいわけです。
幸いなことにSOMは、物事(現象)の”概念化”を意味しています。「ニーズに関する設問の集合」だけに重要度1をかけて作成したマップは、「ニーズの類似性」によってマップ上に回答者が並んでいます。そこには類似したニーズを持つ回答者の集まりがあるはずです。このとき「用途に関する設問の集合」や「商品選択に関する設問の集合」の重要度をゼロにしてマップを作成すると、ニーズと用途、ニーズと商品選択との間にどんな関係があるのか、あるいは関係があるのかないのかを分析することになるのです。
データマイニングの研究者が「次元の呪い」という現象をよく議論しています。数理的な観点だけでものを考えるから起きる問題です。次元数(属性数)が増えると急速にモデルが複雑になって、モデルの品質が劣化するといわれるのですが、それは料理に手当たり次第にデタラメな材料を放り込むと、それはもはや料理ではなく生ごみになるのと同じことです。可能な限りあらゆる属性を同時に考慮すると、すべてのオブザベーションがそれぞれ独立した次元軸に乗った「オンリーワン」に限りなく接近する、といえば簡単にその事態を理解できることでしょう。また、それは60年代のパターン認識研究で渡辺慧が「醜いアヒルの仔の定理」で説明したことと本質的に同じでもあります。つまり、「次元の呪い」とは、心理学的には「ゲシュタルト崩壊」(統一的意味の崩壊)であり、人工知能的には「フレーム問題」です。これらは同じ現象を異なる専門分野からみた側面です。
もし完全なオンリーワン状態(すべてのオブザベーション同士が等距離)のデータにSOMを適用しても、やはりそれはナンセンスです。ただし、SOMのメリットは、不要な属性が(少しぐらい)紛れ込んでも、それで極端に意味(概念化)が損なわれるわけではない、という頑丈さがあるところです。その状態からさらにより良い状態を探索することができます。SOMによるデータマイニングでは、「マップが有用な”意味”を形成しているかどうか?」という観点から、ごく常識的かつ自然な方法で「次元の呪い」を回避します。SOMの優位性は、従来の科学アプローチと同様に要素還元的分析が可能なのと同時に、(人間的な)「意味のある世界」としっかりとつながっている点です。分析と直感(感覚)のバランスのとれた知識創造が可能なのです。
4.マップの最適化
ほとんどの場合、属性の重要度は1か0かのどちらかを設定することによって、属性間の関係性をチェックすることができますが、さらに高度なモデル作成として、0と1の間の重要度を使うことができます。これはとくに、予測(回帰)や判別(クラス分類)の問題の場合に使用します。
これらの問題では通常の方法として、目的変数の重要度を0に設定してモデルを作成します。そして、説明変数として、どの変数を使用して、どの変数にどれだけの重要度をかけるべきか?を求めることがモデル作成のプロセスとなるわけです。目的変数は、それ自体ではマップの順序付けに寄与しませんが、目的変数は説明変数に対して従属している(関係がある)べきですから、結果として、目的変数もマップ上で何らかのパターンを示していなければなりません。目的変数がなるべくきれいにマップ上に整頓されるように、説明変数の重要度を調整するのです。
その意味で、目的変数の属性マップがランダムになっているようなモデルは適切ではありません。目的変数の値がランダムに分布しているということは、マップの順序付けに寄与している他の変数(説明変数)への依存性が乏しい(関係がない)ということです。SOMは魔法ではありませんので、観測された変数と関係のないことについての説明や予測は不可能です。困ったことにこのへんを誤解している専門家(?)もいます。くれぐれもご注意ください。
実際の研究データでは、「与えられた説明変数が目的変数とまったく関係がないとは言い切れないが、何か重要な特性が観測できないか、データの品質が悪すぎて十分なモデルが作成できない」ということもよくあります。そんな場合は、当然SOMを使ってもモデルの品質は落ちます。ただし、使い方の工夫はあるにはあります。ヒントとしては、SOMでも教師信号を用いることもできますし、また潜在変数を作成(推定)することもできます。しかしながら、わずかな観測データをいろいろとこねくりまわすムダな研究が多いのも事実ですので、手法的可能性はともかく、研究の有用性についてもよく考えて欲しいものです。
ちなみに統計的観点から、重回帰分析が適用できる予測問題でのSOMのマップの最適化手法は、Viscovery
Predictorとい製品で確立されております。結論をいうと、複数のマップを作成する繰り返しプロセスの中で、目的変数に対する非線形性を評価することによって、最適な重要度が自動で求められるようになっております。もちろん、特許取得済みです。
 |
| マップの最適化(Viscovery Predictor) |
5.ポジショニング (ラベリング)
小規模なデータ集合のレコードラベルをSOMのマップに貼り付けて分析をする方法がよく本などで紹介されているので、多くの人がこれがSOMの使い方だと思っています。もちろん、それも1つの方法です。ただし、この方法でラベルが識別できるのは、せいぜい1000レコードぐらいまででしょう。大規模なデータでは、興味のある一部のレコードのみをラベリングするほうがよいかもしれません。
とくに戦略プランニングでは、小規模なデータからマップを作成して、ラベリングによって分析することがよくあります。PPMや製品市場マトリックスなどの古典的な戦略マネジメントの手法もSOMに置き換えると、オリジナルの手法のいい加減さ(論理の粗さ)を修正することができます。
 |
| ポジショニング・マップ |
レコードラベルを貼り付けたマップを見るときの注意ですが、ラベルの並び方だけからあれこれと飛躍した類推や解釈をするのは避けてください。たとえば、ラベルが市町村の名前になるような統計データをマップにして、そのラベルの並びが地理的な順序と一致するとかしないとか議論には、何ら科学的根拠は見出せません。もちろん、ワインの品種のように気候や地質に左右されるようなデータの場合は、地理的位置とある程度の関係性があって当然ですが、経済データのような場合にこのような議論をするのは非科学的です。学会の発表ではこの種の混乱がとても多いですし、そのような間違った解説が出版されている場合があるかもしれません。マップにラベリングをしたときには、非科学的な議論に陥らないように、くれぐれもご注意ください。
SOMのマップの見方の基本は、あくまでも属性(変数)間の関係を調べること、そして後述のクラスタリング/プロファイル分析のように、どの領域にどのような性質のオブザベーション(レコード)が集まっているかを調べることを優先するべきです。Viscoveryでは大規模データの分析のために強力なプロファイル分析機能がありますが、ラベリングによって直感的に見たいという場合は、転置行列やコレスポンデンス分析、相関係数行列、バイプロットなどをマップにする手もあります。
SOM以外の他のポジショニング・マップは、2次元平面への単純な投影ですが、SOMを用いた場合は、データ空間の曲がり(非線形性)に沿った自由曲面上でポジショニングを行なっているという違いがあります。ただし、見かけ(表示)上のノードの位置は位相的順序(データ空間のつながりでの並び順)のみに基づいており、ノード間の距離は、距離としてそのままストレートには表示していません。ノード間の距離(感)は、U行列表示により濃淡で確認することができます。
6.クラスタリング
SOMのマップ上でクラスタ分析を行なうことにより、従来のクラスタ分析では困難だった非線形データのクラスタリングが可能になりました。つまり、クラスタ分析をデータレコード間の距離だけではなく、そこにデータ空間のトポロジー(つながり方)情報を導入することにより、従来のクラスタ分析の限界を突破します。Viscoveryでは、とくにSOM-Ward法の自動クラスタリングが強力なので、これをデフォルトとして推奨します。(これもオリジナルの権利があります。)
 |
| クラスタリング調整ダイアログ(グラフはクラスタ数に対する有意度) |
7.プロファイル分析
マップ上の任意の領域(単一のノード、近傍ノードの集合、任意のノードの集合、クラスタ、マップ全体)の統計的特徴を詳細に調べます。Viscoveryでは、マップ上の領域を選択すると、瞬時にt検定を実行して、有意な差のある属性を棒グラフで示すことができます。これにより、マップのどの領域にどのような性質のグループが形成されているかを識別します。
 |
| プロファイル・グラフ |
8.セグメンテーション
上記の自動クラスタリングは、大規模・多次元データに潜むクラスタを素早く発見できる強力なツールです。ただし、それは与えられた属性での数理的な結果に過ぎません。実際的な問題を解決するには、コンピュータのデータには含まれない定性的な情報を活用することも重要です。したがって、Viscoveryでは、自動クラスタリングを鵜呑みにするのではなく、それを目的のセグメンテーションを発見するための「道具」として用います。上記のプロファイル分析を通して、ユーザの知見を加味しながら、真に有用なセグメンテーションを発見します。
9.モデルの適用: リコール(想起)
過去のデータから作成したマップとそこで定義したセグメンテーションをモデルとして用いて、新しいデータを分類します。例えば、各顧客にどのキャンペーンを適用するべきかを自動で判断することができます。
 |
| リコール処理 |
10.モデルの適用: アソシエーション(連想)
マップを作成したときに使用されなかった新しい属性を既存のマップに関係づける情報処理が可能です。上記の1.と2.のマップの見方によって、新しい属性が、モデル(マップ)に使用した属性と関係性があるのかないのかを判断することができます。すべてのデータレコードが、既存の属性と新しい属性の間で対応していると、より正確な結果が得られますが、一部のレコードのみが対応する場合でも、それなりに構造(パターン)を推定する手がかりになることがあります。まったく別の目的で収集されたデータ(たとえば顧客全員のデータと一部の顧客へのアンケート調査など)を統合して分析することに応用できます。
 |
| アソシエーション処理 |
11.他手法との組み合わせ
相関係数、主成分分析、因子分析、コレスポンデンス分析などの分析結果をSOMで可視化することにより、従来手法では思いもつかない深い分析が可能です。たとえば、主成分分析(特異値分解)のバイプロットを用いることにより、アンケート調査の関与度分析(たとえばどのブランドをより好むか)から、従来の全体的な競争力(知名度・潜在顧客率・リピート率・満足度)などの比較にとどまらず、ブランド間のターゲット・マーケティング力(競合する顧客層に競争力をどの程度集中できているか)のベンチマーキングが可能になるなどです。
また、SOMと構造方程式モデルやベイジアンネットワークとの組み合わせも期待されます。これらは、定性と定量を融合する手法である点でも親和性があります。SOMによる「セグメンテーション」と「プロファイル分析」を経て、ベイジアンネットワークなどで要素間の「関係づけ」を行なうステップは、KJ法などの知的創造技法の原理と共通していると考えることができます。
|