シーケンス クラスタ モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)
このトピックでは、Microsoft シーケンス クラスタ アルゴリズムを使用するモデルに固有のマイニング モデル コンテンツについて説明します。すべてのモデルの種類に適用されるマイニング モデル コンテンツに関連する一般用語と統計用語の説明については、「マイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。
シーケンス クラスタ モデルの構造について
シーケンス クラスタ モデルには、モデルとそのメタデータを表す 1 つの親ノード (NODE_TYPE = 1) があります。親ノードには、"(すべて)" というラベルが付けられ、トレーニング データで検出されたすべての遷移を一覧表示するシーケンス ノード (NODE_TYPE = 13) が関連付けられています。
また、このアルゴリズムでは、データ内で検出された遷移やモデルの作成時に含められた他の入力属性 (顧客の人口統計など) に基づいて、さまざまなクラスタが作成されます。各クラスタ (NODE_TYPE = 5) には、そのクラスタの生成に使用された遷移のみを一覧表示する固有のシーケンス ノード (NODE_TYPE = 13) が含まれます。シーケンス ノードからドリル ダウンすると、個々の状態遷移 (NODE_TYPE = 14) の詳細を表示することができます。
シーケンスおよび状態遷移の説明と例については、「Microsoft シーケンス クラスタ アルゴリズム」を参照してください。
シーケンス クラスタ モデルのモデル コンテンツ
ここでは、マイニング モデル コンテンツの列のうち、シーケンス クラスタに関連する列について詳しく説明します。
MODEL_CATALOG
モデルが格納されているデータベースの名前。MODEL_NAME
モデルの名前。ATTRIBUTE_NAME
常に空白です。NODE_NAME
ノードの名前。現在は NODE_UNIQUE_NAME と同じ値です。NODE_UNIQUE_NAME
ノードの一意の名前。NODE_TYPE
シーケンス クラスタ モデルでは、次のノードの種類が出力されます。ノードの種類の ID
説明
1 (モデル)
モデルのルート ノードです。
5 (クラスタ)
クラスタ内の遷移の数、属性の一覧、およびクラスタ内の値を表す統計が含まれます。
13 (シーケンス)
クラスタに含まれる遷移の一覧が含まれます。
14 (遷移)
一連のイベントがテーブルで示されます。テーブルの最初の行は開始時の状態を表し、その他のすべての行は以降の状態を表します。サポートと確率の統計も示されます。
NODE_GUID
空白。NODE_CAPTION
ノードに関連付けられている表示目的のラベルまたはキャプション。クラスタのキャプションの名前はモデルの使用中に変更できますが、モデルを終了すると新しい名前は保持されません。
CHILDREN_CARDINALITY
ノードの子の推定数。モデル ルート 基数の値はクラスタ数に 1 を加算した値と等しくなります。詳細については、「基数」を参照してください。
クラスタ ノード 基数は常に 1 です。これは、各クラスタに 1 つの子ノードが含まれるためです。子ノードには、クラスタ内のシーケンスの一覧が含まれます。
シーケンス ノード 基数は、そのクラスタに含まれる遷移の数を示します。たとえば、モデル ルートのシーケンス ノードの基数は、モデル全体で検出された遷移の数を示します。
PARENT_UNIQUE_NAME
ノードの親の一意な名前。ルート レベルのノードには NULL を返します。
NODE_DESCRIPTION
ノードのキャプションと同じ。NODE_RULE
常に空白です。MARGINAL_RULE
常に空白です。NODE_PROBABILITY
モデル ルート 常に 0 です。クラスタ ノード モデル内のクラスタの調整済みの確率。調整済みの確率は、合計が 1 になりません。これは、シーケンス クラスタで使用されるクラスタリング手法では、複数のクラスタでの部分的なメンバシップが許可されるためです。
シーケンス ノード 常に 0 です。
遷移ノード 常に 0 です。
MARGINAL_PROBABILITY
モデル ルート 常に 0 です。クラスタ ノード NODE_PROBABILITY と同じ値。
シーケンス ノード 常に 0 です。
遷移ノード 常に 0 です。
NODE_DISTRIBUTION
確率およびその他の情報を含むテーブル。詳細については、「NODE_DISTRIBUTION テーブル」を参照してください。NODE_SUPPORT
このノードをサポートする遷移の数。つまり、トレーニング データに "製品 A の後に製品 B が続く" シーケンスの例が 30 個ある場合、サポートの合計は 30 です。モデル ルート モデル内の遷移の総数。
クラスタ ノード クラスタの未加工のサポート。つまり、このクラスタに含まれるトレーニング ケースの数です。
シーケンス ノード 常に 0 です。
遷移ノード クラスタ内の特定の遷移を表すケースの比率。0 または正の値になります。クラスタ ノードの未加工のサポートにクラスタの確率を掛けて計算されます。
この値から、遷移に含まれるトレーニング ケースの数がわかります。
MSOLAP_MODEL_COLUMN
該当しません。MSOLAP_NODE_SCORE
該当しません。MSOLAP_NODE_SHORT_CAPTION
NODE_DESCRIPTION と同じ。
シーケンス、状態、および遷移について
シーケンス クラスタ モデルは、情報の種類が大きく異なる 2 種類のオブジェクトの組み合わせで構成される独特な構造をしています。1 つはクラスタで、もう 1 つは状態遷移です。
シーケンス クラスタで作成されるクラスタは、Microsoft クラスタリング アルゴリズムで作成されるクラスタに似ており、クラスタごとにプロファイルと特性があります。ただし、シーケンス クラスタの場合はさらに、各クラスタにそのクラスタ内のシーケンスを一覧表示する 1 つの子ノードが含まれます。各シーケンス ノードには、状態遷移の詳細と確率を示す複数の子ノードがあります。
シーケンスは連結できるため、ほとんどの場合、モデル内には任意の 1 つのケースで見つかるシーケンスよりも多くのシーケンスが含まれます。Microsoft Analysis Services では、ある状態から別の状態へのポインタが格納されるため、それぞれの遷移が発生した回数をカウントできます。また、シーケンスが発生した回数に関する情報を見つけ、検出された状態のセット全体と比較して発生する確率を測定することもできます。
次の表は、モデルで情報がどのように格納され、ノードがどのように関連しているかをまとめたものです。
ノード |
含まれる子ノード |
NODE_DISTRIBUTION テーブル |
---|---|---|
モデル ルート |
複数のクラスタ ノード モデル全体のシーケンスを含むノード |
モデル内のすべての製品が、サポートと確率と共に一覧表示されます。 このクラスタリング手法では複数のクラスタでの部分的なメンバシップが許可されるため、サポートと確率が小数値になる場合があります。つまり、1 つのケースが一度だけカウントされるのではなく、各ケースが複数のクラスタに属する可能性があります。このため、最後のクラスタ メンバシップが決まると、そのクラスタの確率によって値が調整されます。 |
モデルのシーケンス ノード |
複数の遷移ノード |
モデル内のすべての製品が、サポートと確率と共に一覧表示されます。 このレベルでは、モデルのシーケンス数がわかるので、サポートと確率の計算は簡単です。
|
個々のクラスタ ノード |
そのクラスタだけのシーケンスを含むノード |
クラスタ内のすべての製品が一覧表示されますが、サポートと確率については、クラスタの特性を示す製品に対する値のみ提供されます。 サポートは、このクラスタ内の各ケースの調整済みのサポート値を表します。確率値は調整済みの確率です。 |
個々のクラスタのシーケンス ノード |
そのクラスタだけのシーケンスの遷移を含む複数のノード |
個々のクラスタ ノードとまったく同じ情報です。 |
遷移 |
子はありません |
関連する最初の状態の遷移が一覧表示されます。 サポートは調整済みのサポート値で、各遷移に関係するケースを示します。確率は調整済みの確率で、パーセンテージで表されます。 |
NODE_DISTRIBUTION テーブル
NODE_DISTRIBUTION テーブルには、特定のクラスタの遷移およびシーケンスについての確率とサポートの詳細な情報が示されます。
遷移のテーブルには、有効な Missing 値を表すための行が常に 1 行追加されます。Missing 値の意味、および計算に与える影響の詳細については、「不足値 (Analysis Services - データ マイニング)」を参照してください。
サポートと確率の計算は、トレーニング ケースと完成したモデルのどちらに適用するかによって異なります。これは、既定のクラスタリング手法である Expectation Maximization (EM) で、どのケースも複数のクラスタに所属できることが前提になっているためです。モデル内のケースのサポートを計算する場合、未加工のカウント数および未加工の確率を使用できます。ただし、クラスタ内の特定のシーケンスの確率は、シーケンスとクラスタのあらゆる組み合わせの合計によって重み付けされる必要があります。
基数
クラスタ モデルの親ノードの基数は、通常、モデル内のクラスタの数を表します。ただし、シーケンス クラスタ モデルには、クラスタ レベルに 2 種類のノードがあります。クラスタを格納するノードと、モデル全体のシーケンスの一覧を格納するノードです。
したがって、モデル内のクラスタ数を調べるには、[(すべて)] ノードの NODE_CARDINALITY の値から 1 を減算します。たとえば、モデルで 9 個のクラスタが作成された場合、モデル ルートの基数は 10 です。これは、それぞれ固有のシーケンス ノードを含む 9 個のクラスタ ノードの他に、モデルのシーケンスを表すクラスタ 10 というラベルの 1 つのシーケンス ノードが含まれるためです。
構造のチュートリアル
次の例は、情報がどのように格納され、どのように解釈できるかを明確にするのに役立ちます。たとえば、次のクエリを使用して、最大の注文、つまり基になる AdventureWorksDW データで検出された最も長いチェーンを特定することができます。
USE AdventureWorksDW
SELECT DISTINCT OrderNumber, Count(*)
FROM vAssocSeqLineItems
GROUP BY OrderNumber
ORDER BY Count(*) DESC
これらの結果から、注文番号 "SO72656"、"SO58845"、および "SO70714" に最大のシーケンスが含まれており、それぞれに 8 つの品目があることがわかります。注文 ID を使用して特定の注文の詳細を表示し、どの注文でどの品目が購入されたかを確認することができます。
OrderNumber |
LineNumber |
Model |
---|---|---|
SO58845 |
1 |
Mountain-500 |
SO58845 |
2 |
LL Mountain Tire |
SO58845 |
3 |
Mountain Tire Tube |
SO58845 |
4 |
Fender Set - Mountain |
SO58845 |
5 |
Mountain Bottle Cage |
SO58845 |
6 |
Water Bottle |
SO58845 |
7 |
Sport-100 |
SO58845 |
8 |
Long-Sleeve Logo Jersey |
一方、Mountain-500 を購入した顧客が、他にもさまざまな製品を購入している可能性があります。モデル内のシーケンスの一覧を表示することで、Mountain-500 に続くすべての製品を確認することができます。以下の手順では、Analysis Services の 2 つのビューアを使用してこれらのシーケンスを表示する方法を示します。
シーケンス クラスタ ビューアを使用して関連するシーケンスを表示するには
オブジェクト エクスプローラで、[シーケンス クラスタ] モデルを右クリックし、[参照] を選択します。
シーケンス クラスタ ビューアで、[状態遷移] タブをクリックします。
[クラスタ] ボックスの一覧で、[母集団 (すべて)] が選択されていることを確認します。
ペインの左側にあるスライダ バーを一番上まで動かして、すべてのリンクを表示します。
ダイアグラムで [Mountain-500] を探し、ダイアグラム内のノードをクリックします。
強調表示された線は次の状態 (Mountain-500 の後に購入された製品) を示し、数字は確率を示します。これらを汎用モデル コンテンツ ビューアの結果と比較します。
汎用モデル コンテンツ ビューアを使用して関連するシーケンスを表示するには
オブジェクト エクスプローラで、[シーケンス クラスタ] モデルを右クリックし、[参照] を選択します。
[ビューア] ボックスの一覧で、[Microsoft 汎用コンテンツ ツリー ビューア] を選択します。
[ノードのキャプション] ペインで、[クラスタ 16 のシーケンス レベル] という名前のノードをクリックします。
[ノードの詳細] ペインで、NODE_DISTRIBUTION 行を見つけ、入れ子になったテーブルの任意の場所をクリックします。
一番上の行は、常に Missing 値用に使用されます。この行のシーケンスの状態は 0 です。
下方向キーを押すかスクロール バーを使用して入れ子になったテーブルを下にスクロールし、Mountain-500 の行を表示します。
この行のシーケンスの状態は 20 です。
注意 特定のシーケンスの状態の行番号をプログラムで取得することもできますが、参照するだけの場合は、入れ子になったテーブルを Excel ブックに単にコピーする方が簡単です。
[ノードのキャプション] ペインに戻り、[クラスタ 16 のシーケンス レベル] ノードが展開されていない場合は展開します。
子ノードの中から [シーケンス状態 20 用の遷移行] を探します。遷移ノードをクリックします。
入れ子になった NODE_DISTRIBUTION テーブルに、次に続く製品と確率が表示されます。これらをシーケンス クラスタ ビューアの [状態遷移] タブの結果と比較します。
次の表に、NODE_DISTRIBUTION テーブルの結果と、グラフィカル ビューアに表示される丸められた確率値を示します。
製品 |
サポート (NODE_DISTRIBUTION テーブル) |
確率 (NODE_DISTRIBUTION テーブル) |
確率 (グラフから) |
---|---|---|---|
Missing |
48.447887 |
0.138028169 |
(表示されません) |
Cycling Cap |
10.876056 |
0.030985915 |
0.03 |
Fender Set - Mountain |
80.087324 |
0.228169014 |
0.23 |
Half-Finger Gloves |
0.9887324 |
0.002816901 |
0.00 |
Hydration Pack |
0.9887324 |
0.002816901 |
0.00 |
LL Mountain Tire |
51.414085 |
0.146478873 |
0.15 |
Long-Sleeve Logo Jersey |
2.9661972 |
0.008450704 |
0.01 |
Mountain Bottle Cage |
87.997183 |
0.250704225 |
0.25 |
Mountain Tire Tube |
16.808451 |
0.047887324 |
0.05 |
Short-Sleeve Classic Jersey |
10.876056 |
0.030985915 |
0.03 |
Sport-100 |
20.76338 |
0.05915493 |
0.06 |
Water Bottle |
18.785915 |
0.053521127 |
0.25 |
トレーニング データから最初に選択したケースでは、製品 "Mountain-500" の後に "LL Mountain Tire" が含まれていましたが、それ以外にもさまざまな有効なシーケンスがあることがわかります。特定のクラスタの詳細情報を確認するには、クラスタ内のシーケンスの一覧から各状態 (つまり製品) の実際の遷移までドリル ダウンする手順を繰り返す必要があります。
1 つの特定のクラスタの一覧表示されたシーケンスから、遷移行に移動できます。その遷移行から、次の製品を確認し、シーケンスの一覧のその製品に戻ることができます。最初の状態と次の状態の間でそれぞれこの手順を繰り返すことにより、状態の長いチェーンをたどることができます。
シーケンス情報の使用
シーケンス クラスタの一般的なシナリオとして、Web サイトのユーザーのクリックの追跡があります。たとえば、Adventure Works の電子商取引 Web サイトでの顧客の購入のレコードからデータを取得した場合、結果として得られるシーケンス クラスタ モデルを使用して、ユーザーの行動を推測したり、ナビゲーションの問題を解決するために電子商取引サイトを再設計したり、販売を促進したりすることができます。
たとえば、分析により、人口統計に関係なく、ユーザーは常に製品の特定のチェーンをたどっていることがわかる場合があります。また、特定の製品をクリックした後にサイトを離れるユーザーが多いことを特定できる場合もあります。そのような情報を得ることにより、どのようなパスを追加で用意するとユーザーが Web サイトにとどまってくれるかを判断することができます。
ユーザーの分類に使用する情報が他にない場合は、シーケンス情報を使用するだけでも、ナビゲーションに関するデータを収集して全体的な行動の理解に役立てることができます。一方、顧客に関する情報を収集し、その情報を顧客データベースと照合できる場合は、クラスタリングの機能をシーケンスでの予測と組み合わせて、ユーザーに合った推奨設定を提供することができます。推奨設定は、現在のページまでのナビゲーションのパスなどに基づいて調整します。
シーケンス クラスタ モデルによってまとめられる状態および遷移に関する詳細情報のもう 1 つの用途は、使用されていない有効なパスを特定することです。たとえば、1 ~ 4 ページは多数の閲覧者が参照しているにもかかわらず、5 ページに進む閲覧者がいない場合、5 ページへのナビゲーションを妨げている問題がないかどうかを調査できます。これを行うには、モデル コンテンツのクエリを実行し、有効なパスの一覧と比較します。Web サイトのすべてのナビゲーション パスを表すグラフは、プログラムで作成するか、各種のサイト分析ツールを使用して作成できます。
モデル コンテンツのクエリを実行して検出されたパスの一覧を取得する方法、およびシーケンス クラスタ モデルのクエリのその他の例については、「シーケンス クラスタ モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。