FAQ

典型的なViscoveryアプリケーションに関してよくある質問と回答です。

Viscoveryは、Windows 7以降で動作します。32ビットと64ビットの両方のバージョンがサポートされています。

はい。Viscoveryは32ビットと64ビットの両方のソフトウェアがあります。

はい。こちらからViscovery SOMineのトライアル・バージョンをダウンロードできます。

テクニカル・サポートは、support@viscovery.netまでEメールをお送りください。

Viscoveryは、ダウンロード・パッケージでのみご利用頂けます。

英語と日本語のViscoveryソフトウェアとそのマニュアルがございます。

ほぼバグ修正のパッチが年に3~4回あります。毎年1回はマイナーな機能改良リリースを予定しています。メジャーな新機能リリースは、2年に1回予定されています。

もっとも一般的なサイトはたぶんカリフォルニア大学のUCI KDD Archiveで、そこにUCI Machine Learning Repositoryが置かれています。

その他、たくさんのサイトでもさまざまなデータセットを提供しています。たとえば、下記のようなところがあります:

Viscoveryのウェブサイトでアプリケーション・デモとViscovery SOMineのソフトウェア・デモをご覧頂けます。さらにヒントやテクニックをお知りになりたい場合は、トレーニング・コースをご受講ください。

まずは、自己組織化マップ(SOM)についてちょっとだけ調べて、その読み方や解釈の仕方を理解してください。

Viscoveryツールの試用するには、Viscovery SOMineの10日間無償トライアル・バージョンをダウンロードしてください。トライアル・バージョンは、SOMモデルが保存できないのと、グラフィックスにウォーターマークが付けられることを除いては、すべての機能が提供されています。

マップ作成のプロセスのすべてのステップを説明する Viscovery SOMineのソフトウェア・デモを視聴してください。

あなたがよくわかっている単純で小さなデータセットを用いて、ステップ・バイ・ステップでワークフローを繰り返してください。

ご質問があればsupport@mindware-jp.comにメールをください。

よりアプリケーション寄りのご相談は、コンサルティング・サポートおよびトレーニング・コースも提供しております。

はい、できます。SOMの読み方がわかりさえすれば大丈夫です。

Viscoveryでは、ユーザーは使いやすいワークフロー指向のインタフェースでガイドされますので、テクノロジーを意識する必要はありません。初心者でも有用な結果を得られるように、実証されたデフォルトに設定が確立されています。もちろん、ユーザーがよりプロセスやテクノロジーを理解されているなら、プロセスをよりコントロールすることもできます。

SOMの専門家ではないにしても、SOMで有益な作業を行うには、データマイニングの基本知識は不可欠です。とくに、“ガーベージイン – ガーベージアウト”(ゴミを入れたらゴミが出てくるだけ)の第1規範は、他のデータマイニング手法の場合と同様、SOMによるデータマイニングでも当てはまります。同じく重要な “ノウ・ユア・データ”(データを理解するべし)の第2規範も、他のデータマイニング手法の場合と同様、SOMにも当てはまります。

統計学をそれほど理解していなくてもViscoveryを使用することはできます。結果のマップのユニークな可視化は、非統計学者でも簡単に理解できます。統計のスキルを持つユーザーの場合、ViscoveryはSOMに加えてデータを評価するためのさまざまな統計ツールを提供します。

統計学をそれほど知らなくてもよいにしても、SOMで有意義な結果を生みだすには、あなたのデータをよく知らなければならないことにご留意ください。

Viscoveryは下記を含むたくさんの前処理機能を提供します:

  • 変数の変換
  • 値の置換
  • (多値化)名義属性の取り扱い
  • 既存の属性による新しい属性の定義
  • 欠損値の取り扱い
  • 外れ値の取り扱い
  • データレコードの除去
  • データのサンプリング

Viscoveryが提供する統計機能は、下記を含みます:

  • 記述統計
  • 相関分析
  • ヒストグラム
  • 度数表
  • 箱ひげ図
  • 散布図
  • 主成分分析
  • 回帰分析

back to top

Viscoveryは下記の入力データ・フォーマットを読み込みます:

  • タブ区切りテキスト・ファイル
  • Excelファイル(*.xls)
  • SPSSファイル(*.sav)
  • Viscovery専用フォーマットのXMLファイル(*.xml)
  • ODBCドライブが利用可能なデータベース・テーブル

データは、列が属性を表し行がデータレコードを表すように、行と列で構成されなければなりません。最初の行は属性の名前を格納しなければなりません。

国際文字のデータを含むテキスト・ファイルが正しく解釈されていることを確かにするために、BOM (byte order mark)つきのUTF-8 または UTF-16 (“Unicode”) テキスト・ファイルをご使用ください。この方法で準備されたデータは、どのような国際文字の組み合わせも可能です。テキスト・ファイルがBOMで開始されない場合は、システム・コード・ぺージと一致するようにエンコードされたテキストとして取り扱われます。その場合、データはオペレーティング・システムの言語の文字のみを含むことができます。

Viscoveryは、コンピュータが処理できるだけの量のデータを取り扱えます。 アプリケーションは数1000の変数と数100万のレコードを含むことができます。ただし、 Viscovery SOMineのEnterprise Dataモジュールを含まない場合は、100,000データレコードと100変数までに制限されます。Enterprise Dataモジュールを追加することにより、データセットのサイズに関する制限が解除されます。

Viscoveryでは2つのデータ・タイプがあります:数値属性に使用する “値” と名義属性やラベルに使用する “テキスト”です。

前処理関数datetime は、日付や時間を表現するテキストを数値に変換するために使用できます。

はい。テキスト属性は、名義変数として宣言されるか、処理されずに入力から出力にそのままコピーされることができます(たとえば、キー属性やラベルは、常にテキスト属性です)。

前処理関数datetime は、日付や時間を表現するテキストを数値に変換するために使用できます。

はい。日付や時間の値を処理するには、値がテキストで格納されていて、月が数値で示されていることを確認してください。データをインポートするときに、datetime関数を使用する数式を指定して、新しい属性の定義ダイアログで新しい属性を定義してください。この関数は、テキスト値で表現された日付と時間をメトリック値に変換します。

Viscovery version 6 は、少なくとも1つの演算対象が欠損値の場合、andor 演算を前のバージョンとは異なる計算をします。

  • and演算子は、演算対象を順々に計算して、最初のゼロ(偽)値に遭遇すると停止します。Viscoveryの以前のバージョンでは、and演算子は欠損値に遭遇した場合も停止し、その場合、欠損値を返しました。Version 6は、最初の欠損値の後、非ゼロ値に遭遇した場合のみ欠損値を返します。
  • or演算子は、演算対象を順々に計算して、最初の非ゼロ(真)値に遭遇すると停止します。以前のバージョンでは、欠損値は単純に無視されていました。Version 6は、最初の欠損値の後、非ゼロ値に遭遇した場合のみ、欠損値を返します。

いいえ。キーは数字で構成でき、数値属性として定義することもあり得ます。 ただし、その数字が定義された有効桁数よりも大きな桁数を持つキーを表現する場合の問題を回避するために、 それが数字でできているか文字でできているかにかかわらず、テキスト属性として定義するのがベストです。

Viscoveryは、この目的のためのワークフロー・ステップを提供します: 属性のどの値をViscoveryが認識するべきかを定義します。 Viscoveryは、名義値に基づいて、その列の値が0か1に設定されるような名義属性の数値列を生成して、名義値を表現します。

マップ・ウィンドウの属性ピクチャおよびグループ・プロファイル ウィンドウにおいて、 名義値から派生するバイナリ属性の値は、0と1の間です。もちろん、 “Gender: male”または “Profession: Public Officer”の中間というような人はあり得ません。 その値は、このノードでの平均を表現しており、(パーセンテージのような)比率 として解釈できます。 たとえば、もし“Profession: Public Officer” = 0.345 なら、 対応するグループ(またはノード)中の人々の約 1/3 が Profession: Public Officer の値を 持つことになります(すなわち、正確には 34.5%)。

Viscoveryデータマートで定義されたすべての名義属性(すなわち、それらの値に分割)は、マップのトレーニング、したがって、セグメンテーションにも使用できます。

はずれ値を取り扱うために、値がより均等な分布になる変換を用いることができます。

属性が正に歪曲した分布を示す(分布が左端に偏っている)場合は、対数変換がよいでしょう。しかしながら、多くの場合、シグモイド変換が適切です。

対数変換の自動オフセットがViscovery version 6では変更されました。新しい自動オフセットは、以前のバージョンで使用していた値よりも多くのケースで適切です。以前のバージョンの変換を再現するには、古いワークフロー・ステップで使用された自動オフセット値を調べて(ステップ・レポートにあります)、version 6の自動オフセットを無効にして、古いプロジェクトで使用したオフセットを入力してください。

はずれ値を示す属性には、変換を実行するのがベストでしょうが、すべてのはずれ値を 上限と下限の境界値に置き換えることもできます。

もう1つの選択として、もしはずれ値を分析から除外したいのであれば、これらの値を データレコードから消去することもできます。

Viscoveryは、欠損値を持つデータレコードまたは無効なエントリを認識して、分析では 適切に取り扱います。数値属性では、数字でないすべてのエントリは、欠損値として扱われます。 名義テキスト属性では、定義されていないすべての値が欠損値として扱われます。

SOMを用いた基本操作は、 ベストマッチ・ノードを検索することです。 入力データが不完全な(欠損値を持つ)場合、 その検索は、利用可能な値に限られます。 つまり、ノードがより低次元のベクトルであるかのように扱われ(数学的には、SOMは 利用可能な値からなるデータ空間に投影されます)、その削減されたマップで検索が 行われるように、SOMが扱われます。これは、それぞれにレコードで起こります。

欠損値をマッチング・ノードの検索値に置き換えることが可能です。データマートを エクスポートするときに、データマートのレコードの欠損属性値を、SOMの対応するノード値で置き換えることさえ可能です。

存在する10%の値が、データ集合の中でほぼ均一に分布しているのなら大丈夫です (たとえば、デモグラフィック属性の比率が顧客全体と一致しているなら)。

1つの属性中の欠損値が、マップのトレーニングに使用した他の属性の値にシステマティックに従属する場合は、マップを解釈するときにそれを覚えておく必要があります。 明らかに、このような属性には重み(重要度)をかけすぎてはいけません。 とくにわずかの属性にのみ重みをかける場合は、注意が必要です。

スケーリングは、さまざま属性のさまざまな桁の大きさを克服するために必要です。 まず、たとえば、属性が分散=1でスケーリングされた場合、値は、2つのポイント間の (意味のある)ユークリッド距離を計算するために、さまざまな属性間で比較することができます。

両方とも、まず各値から平均値を引いて、尺度化された値の新しい平均が0になるようにします。

  • 分散尺度については、その結果を属性の標準偏差で割ります。したがって、 尺度化された値の新しい分散は、常に1になります。
  • 範囲尺度については、その結果に8/(max-min)を乗じます。ここで、"max"と"min"は、その変数の最大値と最小値です; その結果、新しい範囲(すなわち、最大値と最小値の差)は、 常に8です。

範囲尺度は、分散尺度と比べて、外れ値を取り扱うための追加の方法を提供します。

外れ値はトレーニングの際にマップのレイアウトに影響し、外れ値が結果のマップで表現されすぎると予想されます。範囲尺度を使用すると最大値が8を超えないので、この効果が緩和されます。

属性の範囲(すなわち、最大値と最小値の差)が、標準偏差の8倍よりも小さい場合は、分散尺度を使用します。それ以外は範囲尺度が適用されます。このヒューリスティクスは、 正規分布において、すべてのデータの99.73% が、[–3*stddev, +3*stddev]の区間内にあるという事実に基づいています。 したがって、区間[–4*stddev, +4*stddev] の外側の値は、かなり外れていると推測され、したがって、範囲尺度を使用します。

back to top

SOMアルゴリズムは、2つの最大主成分の固有ベクトルで張られた空間から開始します。ノードは、この平面上に均等に配分され、対応する値で初期化されます。データレコード(入力ベクトルとも呼ばれる)は、 最短のユークリッド距離でノードと照合されます(すなわち、ベストマッチ・ノード)。 そして、このノードと近傍ノードの重みベクトルが、入力ベクトルの方向に引っ張られます。 ベストマッチ・ノードにより近いノードほど、“より強く”引っ張られます。 最終的に、すべてのデータレコードが複数回提示されると、ノードはデータの分布を表現します。

Viscoveryの各学習サイクルでは、すべてのデータレコードに起因する繰り返しが累積され、 一度に適用されます (“Batch-SOM”)。さらに、ノード数は、最初の小さなサイズから 最終のサイズ(すなわち、ノード数)へと、サイクルごとに成長します。

トレーニング時間は、属性の数、データレコードの数、ノードの数におおよそ比例します。 さらにトレーニング・サイクルの数にも比例し、一般的に、トレーニング・スケジュールは、 本質的にマップ作成時間に影響を与えます。したがって、それは数秒のこともあれば、数時間かかることもあります。

これは、あらゆるSOMの作成において(そして、実際、一般的なデータ・モデルリングでも)、とても重要な問題です。属性に重要度を与えることは、それにアプリケーションでの特有の重要性を割り当てることを意味します。内部的には、この重要度は、分散または範囲尺度で乗じられた相対尺度係数です。属性の重みづけは、形式的に0以外の重みを与えます。 より高い重要度を持つ属性は、SOMデータ表現の順序により高い影響を得ます。 結果として、クラスタは、その属性に直交して現れる傾向があります。

重みづけをしないで属性をマップに含めることも可能です。これらの属性は、マップの順序づけには寄与しません。にもかかわらず、それらを含むことには意味があります。マップ上のそれらの値の分布を見ることができるからです。

すべての属性を同じ値で重みづけするかぎり違いはありません。重要度間の相対係数のみが 決定的であり、絶対値はそうではありません。

多くのアプリケーションでは、最終的なマップは、マップの順序づけに寄与する属性が 15個を超えることはありません。多くの属性に重みづけすればするほど、それらの属性の 1つずつのマップの順序づけへの寄与が少なくなることを忘れないでください。 より多くの属性がお互いに相関していると、マップの順序づけをかく乱することなしに、 それらのより多くに重みづけができます。強く相関する属性がたくさんある場合は、相関補償i>(これは自動的に相関する属性のそれぞれにより小さな重要度を与える) で調整しながら、マップのトレーニングに複数の相関する属性を使用することができます。 とはいうものの、強く相関する属性のグループには、より低い重要度を設定するべきです。

各ノードが平均10レコードにマッチするように、データレコードの数を10で割るという大まかなやり方を紹介している本もあります。しかしながら、多くの実践では、 その計算とは合わなくても、500個から5000個のノードを使用するのが妥当です。 Viscoveryは、データ集合のレコードよりも多いノードを含むSOMも取り扱うこともできます。 この場合、SOMはレコードにマッチしない空ノードも含みますが、それは順序づけにをかく乱することはなく、SOMの見かけがよいという利点があります。

一方、セグメンテーションや探索を実行する際は、ノードあたり2000個以上を使用するのは 意味をなしません。SOMはデータ分布の要約ですから、ノードあたり5000レコードだろうと500レコードだろうと、ほとんど同じように見えます。したがって、より小さなデータ標本で 同じ仕事ができます。予測/スコアリングのモデルでは、非線形予測モデルがノードでの ローカルな情報に依存するので、一般的に利用可能なすべてのレコードを使用するべきです。

テンションは、マップの硬直性に影響します。テンションが高いほど、データへのマップの近似性が下がります。より大きなテンションは、よりスムージングされたマップとなり、ノードでの詳細性が減ります。 より小さなテンションは、逆に外れ値やノイズに左右されやすいマップを作ります。デフォルトの0.5 が、ほとんどアプリケーションで十分です。

マップの品質は、性能指標よりもむしろアプリケーションへの適性で決まります。目的は、(すべての外れ値やノイズさえもマップにモデルされるように)より完全にデータを近似することではなく、属性間の従属性への洞察を与え、新しい知見を導くようなスムージングされ平均化されたデータの表現を得ることです。

Viscoveryは、全体の量子化誤差歪み測度を計算します。 生成記録でこれらを見ることができます。異なるマップについてこれらを比較することは、 マップが同じデータのほぼ同じ属性の集合から学習された場合だけ意味をなします。

どのマップがベストであるかは、分析の目的によって異なります。さらに、上等なマップは、アプリケーション・タスクを反映する秩序立った属性と表現を持ちます。 ただし、マップの有用性はあくまでもデータとその従属性に依存しますが、すべての属性を同時に並べることが可能ではあります。

マップが間違っているはずはありません。マップが明らかにするすべてのことは正しく、そのデータ固有のものです。不都合な重要度設定が原因して、データのいくつかの特徴が明確に示されていない、ということは起きるかも知れません。

もちろん、データ分布の固有の次元が自明でない場合は、マップを作成する意味があります。

適切な重要度の発見は、インタラクティブなプロセスです。分析の目的にもよりますが、 通常、最初のマップを作成するために、マップに表示されるすべての属性(すなわち、 答えを得たい質問に適切な属性)に 1 の重要度を設定するところから開始するでしょう。 最初、一度に30個以上の属性に重みづけしないというのも、しばしば有益です。 ゼロでない典型的な重要度の値は、0.3から1.5の間です。

以下のようにして、マップを検討し、修正版を作成してください:

  • 関係のない情報を含むと思われる属性を非選択(または0の重要度を与える)にする;
  • 前回含まなかった属性を選択して重みづけする;
  • 興味のある属性の重要度を上げる;
  • マップの興味深い順序づけを邪魔すると思われる属性の重要度を下げる。

重要度の上昇・低下の差分は、(もし 1 で開始したとすると)0.3から 1 の間が推奨 されます。

ただし、最適な重要度設定の発見プロセスは、いくらかの洞察力を必要とし、経験を積めば積むほど、より速く簡単になります。

まず、明らかにマップ中で見たいとは思わない属性は、データマートに含めるべきではありません。

たくさんのデータレコード(たとえば、10万件以上)を持っている場合、マップ作成には、 そのデータの標本のみを使用することができます。

データマート作成ワークフローの最後のステップで、データマートを保存するときに、データの標本を作成することができます。そして、そのデータマートを学習に使用するのです。

適切な重要度を発見する途上では、500個のノードだけを使ってマップを作成します。 最終のマップを生成するプロセスで、ノード数を上げればよいのです。

最初の試みでは、トレーニング・スケジュール“Fast”が、十分で(名前のとおり) とても速いです。

Bこれらの示唆に従って、マップ作成をスピードアップできます。マップ作成に使用したい 属性を発見して、適切な重要度設定ができたら、より大きな標本(あるいは、すべての データレコードでも可)と、より多くのノード(2000ノードまで)と、“Normal” または“Accurate”トレーニング・スケジュールを用いて、最終の マップを作成し直すことができます。最終的に、マップの順序づけに寄与させるべきでない属性のマップ上での分布を見るために、それらに0の重要度を用いて、マップに含めることもできます。

back to top

この色は、属性の数値に対応します。マップ・ウィンドウ内の各属性ピクチャの下部の スケール(目盛)は、表示されている色と対応する属性の数値の対応関係を示します。 また、このwebサイトのSOMテクノロジーの "SOMの可視化の理解"のページを参照することもできます。

この色はノード自身の値を表現しており、各ノードは値を持っているからです。 実際のトレーニングが開始する前に、すべてのノードは、主平面の対応する値で初期化されて、最初のノード値を獲得します。その後、トレーニング・プロセスの間、各ノードが データレコードにマッチングしながら、ノード値が徐々にデータレコードに適合します。 しかしながら、ノードにマッチする各データレコードは、ノード自身の値に影響するだけでなく、 (データレコードのどれにもマッチしていない)近傍のノードにも影響します。

小さな6角形で表示されているマップ中の各ノードが、マイクロ・クラスタを表現します。 (訳者:ノードにいくつかのデータレコードが対応して、SOMの上でのクラスタの最小単位を 構成していると解釈できます。)

カラースケールの最初または最後のドット(...)は、表示範囲の外側に属性の数値が存在することを示します。

短い回答: この特性を実現することは、SOMのトレーニング・アルゴリスムの目的でも保証でもありません。

長い回答: トレーニング・プロセスの後、マップ・ノードは一定を保ち、それ以上更新されません。この時点でノードは、モデル・データの表現(代表)とみなされます。データ・レコードの部分集合でのグループ・プロファイルや統計的情報を計算するには、すべてのデータレコードが最後の1回でノードに照合されます。特定のノードにマッチするデータ・レコードの平均がノードの値に等しいことは保証されません。実際、それは偶然に一致することはあります。

表示されているすべての値は、オリジナルのスケールです。スケーリングされた値は、 ユーザーから隠されており、マップの計算のときにバックグランドで使用するだけです。 Viscoveryは、ユーザーがスケールを元に戻したり、変換したりする必要がないように、 全般的に、オリジナルのスケーリングで属性を提示します。

この色は、ノードに格納された値を表現しますので、性別のようなバイナリ変数の場合、 緑色は0.5の値にマッチします(すなわち、ノード中のデータレコードの50%が女性で、 50%が男性)。もちろん、すべての色がノード中の女性のパーセンテージに左右されます。 バイナリ属性に低い重要度を与えると、その属性のピクチャにもっとさまざまな色を見る ことでしょう。それは、たとえば、男性と女性(ほとんど青と赤のノードを導く)に はっきりと分かれて並ぶとは限らず、むしろマップ上で男性と女性が均等に分布するかも しれません。

参照グループは、2つのグループ範囲を比較して、(グループ・プロファイルウィンドウに表示される)グループ・プロファイルを計算するのに使用されます。

参照グループを定義するには、ツールバーのグループ範囲ドロップダウン・リストを用いてグループ範囲を選択し、マップ・ピクチャでノード、ノードの集合、またはクラスタを選択してください。選択を参照グループとして指定するために、編集メニューから参照グループを設定を選択してください。

そして、グループ範囲を修正して、参照グループと比較する新しいグループ範囲として、ノード、ノードの集合、クラスタを選択してください。

Viscovery versions 5.2以前では、任意の参照グループを定義することはできませんでした。その代わり、参照グループにマップ全体を選択したのと同じグループ・プロファイルが提供されていました。

最初のノードのグループを選択して、編集メニューから参照グループを設定を選択します。2番目のノードのグループを選択することにより、グループ・プロファイルウィンドウが2番目のグループと参照グループ(つまり、最初のグループ)からプロファイル値の比較を表示します。

1つを除いてすべての場合で、バーは、表示メニューのグループの記述サブ・メニューでの選択(5.2以前では、統計の選択ドロップダウン・リスト)によって指定されている絶対値で、選択された範囲を参照します。 ただし、属性はかなり異なる尺度を持つ可能性があるので、絶対値はしばしば比較ができません。

プロファイルが選択されている場合のみ、バーは絶対値を示しません。この場合、参照グループの平均からの選択された範囲の平均の偏差を反映します。比較可能な測度を得るために、平均の偏差が参照グループの標準偏差で割られています:すなわち、バーが短いほど、選択された範囲の平均は、標準偏差の観点で、参照グループの平均からあまり異なりません。グループ・プロファイルウィンドウのチャートで、どの属性がグループ・プロファイルを構成するかを簡単に見ることができます(すなわち、残りの集団から異なる場合は長いバーを示しています)。

この棒グラフは、選択された範囲の平均が参照グループの平均から有意に異なる属性のみを表示します。棒グラフで表示される属性を増減させるには、使用する有意水準をファイルメニューからの プリファレンスダイアログのチャートページで変更します。信頼度に関わりなくすべての属性のバーを見たい場合は、信頼水準で“使用しない”を選んでください。

Viscoveryのversion 6以前では、この設定はプリファレンスダイアログの表示ページにありました。

クラスタウィンドウの表は、両方のオプションでクラスタ平均を示します。ただし、グループ・プロファイルウィンドウは、平均プロファイルで異なる振る舞いをします:

プロファイルを選んだ場合、棒グラフは参照グループの平均からの選択された範囲の平均の偏差を示します。その単位は参照グループの標準偏差です: すなわち、バーが短いほど、選択された範囲の平均は、標準偏差の観点で、参照グループの平均からあまり異なりません。

平均を選んだ場合、棒グラフは、実際に、選択された範囲の属性平均値を示します。

クラスタの特徴ウィンドウ(version 6以降)は、現在のセグメンテーションでのすべてのクラスタの自動分析を提供します。並べられたクラスタ記述は、各クラスタの特徴の概観を提供します。各クラスタは、全データセットからそれが異なっっていることに最も強く寄与している変数で説明されます。絶対プロファイル値の中央値(クラスタウィンドウに表示)は、興味深いクラスタを識別することを支援する重要な数字です。

箱ひげ図、散布図、さらに、その他の統計機能が、Viscoveryのあらゆる箇所で 文脈依存的に利用できます。これらの機能は、マップの任意の選択上で、また各ワークフローで ポップアップメニュー(すなわち、ワークフローにカーソルを置いて右クリック)から 統計量 を選んででも使用できます。

箱ひげ図は、統計ウィンドウの右から2番目のページにあり、箱ひげ図を表示させたい属性 を選びます。箱ひげ図は、色づけされた箱の内側の白線で中央値を、箱で下側と上側の四分位点を、ウィスカー(ひげ)で箱の長さの+/-1.5倍の点を、そしてウィスカーの外側の 色づけされた線ではずれ値を示します。

散布図は、統計ウィンドウの右端のページにあり、x軸とy軸にそれぞれ1つずつ属性を 選びます。散布図は、1つの属性の分布をもう1つの属性の観点から示します。通常、散布図でのポイントは、そのポイントが表現するレコードの数に応じて色づけされています。これは、データポイントの色づけドロップダウン・リストで変更できます。

back to top

ノードにマッチするデータレコードの数は、度数と呼ばれ、マップ・ウィンドウの度数ピクチャに表示されています。

  1. マップメニューから属性… を選ぶ(version 5.2以前では表示メニューから)。
  2. 最後から2番目の度数にチェックを入れる。
  3. “OK”をクリックしてダイアログを閉じる。
  4. マッチングしているデータレコードの数を知りたいノードをクリック。
  5. マップ・ウィンドウ内に現れる度数ピクチャで、カラスケール内の下向きの三角形矢印にカーソルを合わせると、そのノードに含まれるデータレコードの数が表示される。を見るために、て、マウスの左ボタンを 押し下げる。

あるいはグループ・プロファイルウィンドウの一覧内(の最後)に度数があり、範囲ノードを選ぶとノードの度数が見られます。

ノードを選択すると、それが現在のアクティブ・ノードになり、点滅カーソルで 示されます。カラースケール上に、現在のノードの対応する値を指す小さな下向きの黒い三角形が表示されます。三角形にマウス・カーソルを合わせると、そのノードの正確な値が読み取れます。

はい、もちろんできます。各ノード上に表示される属性のどれかのノード値を 表示したい場合は、以下のようにします:

  1. ノード値を表示したいノードを選択する。
  2. 選別をコピーする。
  3. ラベル・モードに切り替える。
  4. ラベル貼り付けで、これらのノードにノード値を表示したい属性を選ぶと、選別がラベルとして貼り付けられる。

属性値をラベルとしてマップ中に表示したい場合は、下記のステップによって、ソースデータ・ファイルからラベルをインポートする必要があります:

  1. ソースデータ・ファイルを開く。
  2. ラベルをインポートしたいレコードの行を選択してコピーする。
  3. Viscoveryをラベル・モードに切り替える。
  4. マップにそれらを貼り付けす。

あるいは、データ・ファイルのすべてのデータ・レコードの ラベルをインポートするには、Viscoveryのファイルメニューのインポート機能を使用する ことができます。(訳者:比較的小規模データの場合のみにお薦めです。)

属性ダイアログで属性を類似度によって並べ替えできます。これは視覚的な類似度で属性ピクチャを配置します。

最も早くて簡単なのは、下記の方法です:

  1. データ・レコードダイアログを開く。
  2. 問題のレコードを検索する。
  3. それをダブルクリックする。

すると、そのデータレコードを含むノードの上にカーソルが置かれます。

他にいくつかマップ中の特定のデータレコードの場所を探す方法があります:

  1. ソースデータファイルを開いて、問題のヘッドラインとレコードを選択する。
  2. 選択された2行をコピーする。
  3. 選別モードに切り替える。
  4. レコードを貼り付ける。

そのデータレコードを格納するベストマッチ・ノードが選別されます。

あるいは、データレコードとヘッドラインをコピーしたあと、次のようにできます。

  1. レベル・モードに切り替える。
  2. 識別子(キー属性)が、そのデータレコードを格納するベストマッチ・ノード上に現れるように、キーをラベルとして貼り付ける。

複数のデータレコードを一度にコピーして、それらのキーをラベルとしてマップに貼り付けることができます。

あるいは:

  1. 置きたいデータレコードのみを格納したファイルを準備する。
  2. このファイルからラベルをインポートする。

はい、いつでも、エクスポートしたい表の行を選択して、コピー&ペーストを用いて 他のプログラムにエクスポートできます。マップ・ウィンドウがアクティブであるにもかかわらず、どの編集モードも選択されないで、コピーを使用した場合、すべての属性ピクチャの画像がクリップボードにコピーされます。目的のアプリケーションで形式を指定して貼り付けを用いて、画像または画像の中で表示されているデータのテキスト表現のどちらでも挿入できます。

ファイルメニューのエクスポートサブ・メニュー―を用いて、マップの属性ピクチャをWMF画像ファイルとして直接エクスポートすることもできます。

はい、できます。マップのすべてのノード値をテキスト・ファイルに直接、または、ラベルを含むノード、選択されたノード、パスに沿ったノードのいずれかのみの値をエクスポートするには、Viscoveryのエクスポート機能を使用できます。モードのどれかが選択されている場合、マップからモードに対応するノード値をクリップボードにコピーすることもできます。

選別モードを選んでください。ラベルを追加したいノードを選別してください。 “ラベル”と名付けられた列を追加して、所望のラベルを入力してください。この場合、 列全体が同じ1つのラベルを格納します。すべての行とヘッドラインをコピーします。

Viscoveryマップで、ラベル・モードに切り替えます。スプレッド・シートからコピーされたレコードを貼り付けます。事前に選別されたノードにラベルが現れるはずです。

これはversion 5.2以前のみの問題です。version 6以降では、ラベルが切れないようにずらされます。

新しいバージョンにアップグレードできない場合は、手動でラベルの位置を調整してください: ラベル・モードに切り替えて( 編集メニューからラベル・モードを選択)、半分だけ表示されているラベルを内側にドラッグしてください。長いラベルは、ノードを中心にして2行ないし3行で書くようにしてください。

はい。ステップのプロパティを開いて、タイトルを変更し、コメントを追加することにより、ステップが処理されている間に、ステップのタイトルや説明を編集できます。

ワークフローの上にマウス・ポインタを置くと、そのステップと上のステップの間の違いをがポッポアップに示されます。さらに、ステップのプロパティに違いが一覧されます。枝分かれの最初のステップについては、違いが一覧されません。

Viscovery SOMine 7.0以降をご使用であれば、前処理ワークフローの黄色いデータ・インポートステップを右クリックして、前処理プロトコルをインポートを選択すると、属性の説明を一括でインポートできます。

以前のバージョンのViscoveryソフトウェアでは、 データ・インポートステップの属性の選択ページで説明をインポートボタンを使用して、 属性の説明を一括インポートできます。

back to top

最適なローカル回帰の計算は、繰り返しプロセスです。重要度の設定(ユーザー指定)で始まり、マップが学習され、そこからさらにより良い重要度の設定が明確な基準で計算されます。この新しい設定で、もう1つのマップが学習されて、重要度が再び洗練されます。これが繰り返しです。

トレーニング・サイクルは、これらのマップの1つが学習される操作です。 トレーニング・サイクルは、各繰り返しごとに異なります。それらは、重要度によって変わる (変換およびスケーリングされた)データの主成分に依存します。

いいえ。重要度はローカルではあり得ません。“ローカル”とは、通常、単一ノードを 指します。重要度は、通常、変数に対して全体的にかかります。

受容野はマップの順序づけには影響しません。それらは、各ノードで有意なローカル回帰を計算するために、どのデータレコードを使用するかを決定します。

ある属性の係数ピクチャ内の白いノードは、そのノードでのステップワイズ回帰でその属性が 使用されなかったことを意味します。

back to top

自己組織化マップ(SOM:self-organizing map、Kohonenマップともいう)とは、 複雑さを単純化し、変数間の関係性を明らかにする2次元空間に、 多次元データの代表を並べたものです。SOMの直感的な可視化は、技術者でない人でも簡単に理解ができ、ビジネス・マンとアナリスト、IT担当者の間での コミュニケーション・プラットフォームを提供します。SOMテクノロジーでのSOMの説明も読んでください。

自己組織化マップは、以下のタスクに使用されます:

  • データ表現
  • データ探索
  • 従属性分析
  • クラスタリング
  • セグメンテーション
  • クラス分類
  • 非線形予測
  • スコアリング

まず第一段階は、このサイトのSOMテクノロジーです。 また、お薦めする文献のたくさんのリストのリンクも辿れます。 そこには、オンライン・リソース印刷物 などがあります。(一部の学術書も含めて市販の書籍では、古い情報、誤解、誤訳に基づく記述が多いことにご注意ください。)

SOMの解釈についてより詳しく知るには、SOMテクノロジーを参照してください。

すべてのデータマイニング・ソフトウェアと同様、データの取り扱い方を知らなければなりません。そして、前処理が結果にどう影響するを知らなければなりません。したがって、いくらかの基本的な統計学の知識は有用です。また、SOMの読み方・解釈の仕方(上記の質問を参照)を知るべきです。これはむしろ直観的なタスクなので、たったの数分間で SOMを理解することができるでしょう。

SOM-Wardクラスタリングは、Ward距離の変種であるSOM-Ward距離に基づきます。

2つのクラスタ間のWard距離は、次式で定義されます。

dxy := nx * ny / (nx + ny) * norm(meanx - meany)2

ここで、nxとnyは、データ・ポイントの数で、meanxとmeanyは、クラスタの重心; norm() は、ユークリッド・ノルム。

SOM-Ward距離は、次式で定義されます。

d'xy :=



 

 if clusters x and y are adjacent in the SOM
 then
          dxy
 else
          +infinity

したがって、SOM-Ward距離は、クラスタのトポロジカルな位置に着目します。 とくに、SOM内で隣接しない2つのクラスタは、融合するべきでないと見なされます。

詳しくは、SOM-Ward クラスタ・アルゴリズムを参照してください。

c個のクラスタの指標I(c)の正確な数式は、こちらです:Here are the exact formulas for the indicator of clusters:

I'(c) := [ mu( c ) / mu( c+1 ) ] - 1

I(c) := max(0, I'(c)) * 100

mu(c) := d(c) * c-beta

ここでd(c)は、c個のクラスタをc-1個のクラスタに 融合するために使用されたWard距離です。 そして 3 <= c <ノード数。 betaは、“データ・ポイント” [ ln(c), ln(d(c)) ] の線形回帰係数 (ここで 2 <= c <= ノード数)これは、d(c) がc-betaのように“振る舞う”からです。

さらに我々は I(1) := 0 および I(2) := 0 と定義します。そして、SOM-Wardクラスタでは、 我々は、さらに c個のクラスタでの反転のためにI(c) := 0 と定義します。 すなわち、d(c) < d(c+1)の場合。

これの背景にある考え方は、d(c) が高く、d(c+1) が低い場合、c 個のクラスタが良いクラスタであり、それは次の融合ステップ (c-1 個のクラスタを結果する)が、クラスタ内の分散を増加させるからです。

さらなる問題は、(SOM-) Ward 距離行列をどのように初期化するかです: 我々は、 各ノードでの度数(各ノードにマッチするデータポイントの数)を考慮します。

その属性をトレーニング・データに含めておいて、重要度は0に設定しておきます。この方法は、マップの順序(秩序)には影響しません。

適切な重要度を識別することは繰り返しのプロセスで、それはプロジェクトの分析やビジネス目標に依存します。

初期の重要度を選んで、結果に満足するまで、マップ作成、評価、重要度の改良を繰り返します。

詳細は、以下の4つのFAQエントリーをご覧ください。

この手順は、探索的データマイニングと呼ばれます。

探索的データマイニング(データ可視化、データに新しい洞察を得ること、従属性の発見;特定のターゲット値(目的変数)や事前に決められた目的がない)のための重要度の発見の繰り返しプロセスは、下記のようになります:

説明属性の初期の重要度を 1に、残りの属性の重要度を 0に設定します。

最初の繰り返しでは、邪魔に見える属性は重要度を0に設定するか、あるいは選択せずにモデルから除去します。ここで、余分な属性を追加することもできます。

後続の繰り返しで、重要度を段々と(だいたい0.3のステップで)最も重要な属性が順序づけられた領域を示すまで変更します。興味深い特徴を示す属性により高い重要度が設定されるでしょう。

特別な質問(たとえば、購買パターン、顧客プロファイル)に答えるクラスタやセグメンテーションの定義のための重要度の発見の繰り返しプロセスは、下記のようになります:

最初に、目的に関係するすべての属性(たとえば、購買パターンでは、"製品 Aの購買", "製品 Aの収益"などの属性)に重要度 1を設定し; 残りの属性に0を設定します。

複数の繰り返しで、重要度がとても低かったにもかかわらず少し整って見える属性の重要度を上げ、とても整然としていたが他の属性の順序づけをかく乱する属性の重要度を下げます。

最初に、目的変数に影響を持つであろうすべての変数と目的変数自身に重要度1を設定します。

最初の繰り返しで、高い目的変数の値を持つ領域がいくつかまとまるように、目的変数の重要度を適応させます(通常、下げます)。一方が高い目的変数の値のみで、もう一方が低い目的変数の値ののみというたった2つの領域に完全に分割さえるのは避けるべきです。

グループ・プロファイルを使って、特定の目的変数の値(高いまたは低い)を持つ領域に最も影響のある属性を検出するためにSOMを評価します。

後続の繰り返しで、最も影響のある属性の重要度を上げて、他の属性の重要度を下げます(だいたい0.2刻みで)。

スコア値とスコア・グループの重要度を1に、その他の属性の重要度 0.01から 0.1の間に設定します。

相関補償を無効にしてください。

重要度は属性の重みで、マップの順序づけに影響しています。属性のより高い重要度は、マップでのその影響がより高く、その属性がより整って現れます。

いくつかの経験則があります:

  • 10から15個を超える属性に(非ゼロの)重要度をかけるべきではない。より多くの属性に重要度をかけるほど、すべての属性がきれいに整う可能性が低くなる。
  • 相関する属性がある場合、より多くの属性に重要度をかけてよい。
  • 名義属性またはバイナリ属性のみに重要度をかけてはならない! これは、わずかのノードにデータレコードが集中して、多くのノードにはデータレコードがないという結果になる。(既知の分類をするだけで何も発見がない)。
  • 名義属性がさまざまな値を持つほど、その属性の重要度はより低く抑えること。
  • 欠損値を多く持つ属性の重要度は低くする。
  • 属性Bが特定の値を持つときのみ、属性Aが意味をなす場合(たとえば、 „保険請求の数“ が> 0ならば、„最後の保険請求からの時間“に意味がある)、属性Aに重要度がかけられるのなら、Bは常に重要度をかけられるべきである。

このオプションを選ぶと、強く相関する属性の影響を減らすために、内部尺度係数(ユーザーには見えません)が使用されます。相関補償なしでは、これらの属性は、マップの順序づけに不相応に大きな影響を持つ過ぎます。相関補償を有効にすると、他の属性がより整いやすくなります。

このオプションはデフォルトで有効になっていて、一般的に使用され、とくに下記のケースでは必要です:

  • 複数の属性が強く相関している
  • 一般的なデータ可視化のため
  • 予測を行うとき

重要度は、尺度の1つの要素に過ぎません。入力データの尺度は、3つの要素からなります:

  • 分散または範囲尺度 PS (常に内部尺度)
  • 相関補償 PCC (内部尺度、無効にできる)
  • 重要度 PP (ユーザー定義)

トータルの尺度は、次のように計算されます: P = PS * PCC * PP

back to top