シーケンス クラスタリング モデルのためのマイニング モデル コンテンツ

適用対象: SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium

Important

データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、現在は SQL Server 2022 Analysis Services で廃止されました。 非推奨および廃止された機能については、ドキュメントは更新されません。 詳細については、「 Analysis Services の下位互換性」を参照してください。

このトピックでは、Microsoft シーケンス クラスタリング アルゴリズムを使用するモデルに固有のマイニング モデル コンテンツについて説明します。 すべてのモデルの種類に適用されるマイニング モデル コンテンツに関連する一般的な用語と統計用語の説明については、「 マイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。

シーケンス クラスタリング モデルの構造について

シーケンス クラスタリング モデルには、モデルとそのメタデータを表す単一の親ノード (NODE_TYPE = 1) があります。 親ノード (すべて) には、トレーニング データで検出されたすべての遷移を一覧表示する関連シーケンス ノード (NODE_TYPE = 13) があります。

シーケンス クラスタリング モデルの

また、このアルゴリズムでは、データに見つかった遷移と、モデルの作成時に含まれるその他の入力属性 (顧客の人口統計など) に基づいて、多数のクラスターも作成されます。 各クラスター (NODE_TYPE = 5) には、その特定のクラスターの生成に使用された遷移のみを一覧表示する独自のシーケンス ノード (NODE_TYPE = 13) が含まれています。 シーケンス ノードからドリルダウンして、個々の状態遷移の詳細を表示できます (NODE_TYPE = 14)。

シーケンスと状態の遷移の説明と例については、「 Microsoft シーケンス クラスタリング アルゴリズム」を参照してください。

シーケンス クラスタリング モデルのモデル コンテンツ

このセクションでは、シーケンス クラスタリングに特定の関連性を持つマイニング モデル コンテンツ内の列に関する追加情報を提供します。

モデルカタログ
モデルが格納されているデータベースの名前。

MODEL_NAME
モデルの名前。

ATTRIBUTE_NAME
常に空白。

NODE_NAME
ノード名。 現在、NODE_UNIQUE_NAMEと同じ値です。

NODE_UNIQUE_NAME (ノードのユニークな名前)
ノードの一意の名前。

NODE_TYPE
シーケンス クラスタリング モデルでは、次のノードの種類が出力されます。

ノードの種類 ID Description
1 (モデル) モデルのルート ノード
5 (クラスター) クラスター内の遷移の数、属性の一覧、およびクラスター内の値を記述する統計が含まれます。
13 (シーケンス) クラスターに含まれる遷移の一覧が含まれています。
14 (移行) 最初の行に開始状態が含まれ、他のすべての行に連続する状態が含まれ、サポート統計と確率統計が含まれる一連のイベントを表として記述します。

NODE_GUID
空白。

ノードのキャプション
表示目的でノードに関連付けられているラベルまたはキャプション。

モデルの使用中にクラスターキャプションの名前を変更できます。ただし、モデルを閉じると、新しい名前は保持されません。

CHILDREN_CARDINALITY
ノードに含まれる子の数の見積もり。

モデル ルート カーディナリティ値は、クラスターの数に 1 を加えた値です。 詳細については、「 カーディナリティ」を参照してください。

クラスター ノード 各クラスターには 1 つの子ノードがあり、クラスター内のシーケンスの一覧が含まれているため、カーディナリティは常に 1 です。

シーケンス ノード カーディナリティは、そのクラスターに含まれる遷移の数を示します。 たとえば、モデル ルートのシーケンス ノードのカーディナリティは、モデル全体で見つかった遷移の数を示します。

親_ユニーク名
ノードの親の一意の名前。

ルート レベルのすべてのノードに対して NULL が返されます。

ノードの説明
ノード キャプションと同じです。

NODE_RULE
常に空白。

MARGINAL_RULE
常に空白。

NODE_PROBABILITY
モデル ルート 常に 0。

クラスター ノード モデル内のクラスターの調整された確率。 調整された確率は 1 には合計されません。シーケンス クラスタリングで使用されるクラスタリング方法では、複数のクラスターで部分的なメンバーシップが許可されるためです。

シーケンス ノード 常に 0。

遷移ノード 常に 0。

限界確率
モデル ルート 常に 0。

クラスター ノード NODE_PROBABILITYと同じ値。

シーケンス ノード 常に 0。

遷移ノード 常に 0。

NODE_DISTRIBUTION
確率とその他の情報を含むテーブル。 詳細については、「 NODE_DISTRIBUTIONテーブル」を参照してください。

NODE_SUPPORT
このノードをサポートする遷移の数。 そのため、トレーニング データにシーケンス "Product A とそれに続く Product B" の例が 30 個ある場合、サポートの合計は 30 です。

モデル ルート モデル内の遷移の合計数。

クラスター ノード クラスターへの生のサポート、つまり、このクラスターに貢献するトレーニング ケースの数を示しています。

シーケンス ノード 常に 0。

遷移ノード 特定の遷移を表すクラスター内のケースの割合。 0 にすることも、正の値を指定することもできます。 クラスター ノードの生のサポートを受け取り、クラスターの確率を乗算して計算されます。

この値から、移行に寄与したトレーニング ケースの数を確認できます。

MSOLAP_MODEL_COLUMN
適用されません。

MSOLAP_NODE_SCORE
適用されません。

MSOLAP_NODE_SHORT_CAPTION
NODE_DESCRIPTIONと同じです。

シーケンス、状態、遷移について

シーケンス クラスタリング モデルには、2 種類のオブジェクトと非常に異なる種類の情報を組み合わせた一意の構造があります。1 つ目はクラスター、2 つ目は状態遷移です。

シーケンス クラスタリングによって作成されるクラスターは、Microsoft クラスタリング アルゴリズムによって作成されたクラスターと似ています。 各クラスターにはプロファイルと特性があります。 ただし、シーケンス クラスタリングでは、各クラスターには、そのクラスター内のシーケンスを一覧表示する 1 つの子ノードも含まれます。 各シーケンス ノードには、確率を使用して状態遷移を詳細に記述する複数の子ノードが含まれています。

シーケンスは連結できるため、ほとんどの場合、モデル内のシーケンスの数は 1 つのケースよりも多くなります。 Microsoft Analysis Services では、一方の状態から他方の状態へのポインターが格納されるため、各遷移が行われる回数をカウントできます。 シーケンスが発生した回数に関する情報を見つけ、観察された状態のセット全体と比較して発生する確率を測定することもできます。

次の表は、モデルに情報を格納する方法と、ノードがどのように関連しているかをまとめたものです。

Node 子ノードがある NODE_DISTRIBUTIONテーブル
モデル ルート 複数のクラスター ノード

モデル全体のシーケンスを持つノード
サポートと確率を使用して、モデル内のすべての製品を一覧表示します。

クラスタリング方法では複数のクラスターで部分的なメンバーシップが許可されるため、サポートと確率には小数部の値を指定できます。 つまり、1 つのケースを 1 回カウントするのではなく、各ケースが複数のクラスターに属している可能性があります。 そのため、最終的なクラスター メンバーシップが決定されると、そのクラスターの確率によって値が調整されます。
モデルのシーケンス ノード 複数の遷移ノード サポートと確率を使用して、モデル内のすべての製品を一覧表示します。

モデルではシーケンスの数がわかっているため、このレベルでは、サポートと確率の計算は簡単です。



サポート = ケースの数

確率 = モデル内の各シーケンスの生の確率。 すべての確率は 1 に合計する必要があります。
個々のクラスター ノード そのクラスターのみのシーケンスを持つノード クラスター内のすべての製品を一覧表示しますが、サポート値と確率値はクラスターの特性である製品にのみ提供します。

サポートは、このクラスター内の各ケースの調整されたサポート値を表します。 確率値は調整された確率です。
個々のクラスターのシーケンス ノード そのクラスター内のシーケンスに対してのみ遷移を持つ複数のノード 個々のクラスター ノードとまったく同じ情報。
Transitions 子なし 関連する最初の状態の遷移を一覧表示します。

サポートは調整されたサポート値であり、各移行に参加するケースを示します。 確率は調整された確率で、パーセンテージで表されます。

NODE_DISTRIBUTION テーブル

NODE_DISTRIBUTIONテーブルは、特定のクラスターの遷移とシーケンスの詳細な確率とサポート情報を提供します。

可能な欠損値を表すために、遷移テーブルには常に行が追加されます。 欠損値の意味と計算への影響については、「欠損値 (Analysis Services - データ マイニング)」を参照してください。

サポートと確率の計算は、計算がトレーニング ケースに適用されるか、完成したモデルに適用されるかによって異なります。 これは、既定のクラスタリング方法である期待の最大化 (EM) では、いずれのケースも複数のクラスターに属できることを前提としているためです。 モデル内のケースのサポートを計算する場合は、生のカウントと生の確率を使用できます。 ただし、クラスター内の特定のシーケンスの確率は、可能なすべてのシーケンスとクラスターの組み合わせの合計によって重み付けする必要があります。

濃度

クラスタリング モデルでは、通常、親ノードのカーディナリティによって、モデル内のクラスターの数が示されます。 ただし、シーケンス クラスタリング モデルには、クラスター レベルで 2 種類のノードがあります。1 種類のノードにはクラスターが含まれており、もう 1 つの種類のノードにはモデル全体のシーケンスの一覧が含まれています。

そのため、モデル内のクラスターの数を学習するには、(All) ノードのNODE_CARDINALITYの値を取得し、1 つ減算します。 たとえば、モデルが 9 つのクラスターを作成した場合、モデル ルートのカーディナリティは 10 です。 これは、モデルに 9 つのクラスター ノードが含まれ、それぞれに独自のシーケンス ノードと、モデルのシーケンスを表すクラスター 10 というラベルが付いた追加のシーケンス ノードが 1 つ含まれているためです。

構造のウォークスルー

たとえば、情報の格納方法と解釈方法を明確にするのに役立つ場合があります。 たとえば、次のクエリを使用すると、最大の順序 (基になる AdventureWorksDW2012 データで観測されたチェーンが最も長い) を検索できます。

USE AdventureWorksDW2012  
SELECT DISTINCT OrderNumber, Count(*)  
FROM vAssocSeqLineItems  
GROUP BY OrderNumber  
ORDER BY Count(*) DESC  

これらの結果から、注文番号 'SO72656'、'SO58845'、および 'SO70714' には、それぞれ 8 つの項目を含む最大のシーケンスが含まれていることがわかります。 注文 ID を使用すると、特定の注文の詳細を表示して、購入された品目と注文を確認できます。

OrderNumber LineNumber モデル
SO58845 1 Mountain-500
SO58845 2 LL マウンテン タイヤ
SO58845 3 マウンテンタイヤチューブ
SO58845 4 フェンダーセット - マウンテン
SO58845 5 マウンテン ボトル ケージ
SO58845 6 水ボトル
SO58845 7 Sport-100
SO58845 長袖ロゴジャージ

ただし、Mountain-500 を購入する一部のお客様は、異なる製品を購入する場合があります。 モデル内のシーケンスの一覧を表示することで、Mountain-500 に続くすべての製品を表示できます。 次の手順では、SQL Server Analysis Services で提供されている 2 つのビューアーを使用して、これらのシーケンスを表示する手順について説明します。

  1. オブジェクト エクスプローラーで、[シーケンス クラスタリング] モデルを右クリックし、[参照] を選択します。

  2. シーケンス クラスタリング ビューアーで、[ 状態遷移 ] タブをクリックします。

  3. [ クラスター ] ドロップダウンリストで、[ 人口(すべて) ] が選択されていることを確認します。

  4. ウィンドウの左側にあるスライダー バーを一番上まで移動すると、すべてのリンクが表示されます。

  5. ダイアグラムで Mountain-500 を探し、ダイアグラム内のノードをクリックします。

  6. 強調表示された線は次の州 (Mountain-500 の後に購入された製品) を指し、数値は確率を示します。 これらを汎用モデル コンテンツ ビューアーの結果と比較します。

  1. オブジェクト エクスプローラーで、[シーケンス クラスタリング] モデルを右クリックし、[参照] を選択します。

  2. ビューアーのドロップダウン リストで、 Microsoft 汎用コンテンツ ツリー ビューアーを選択します。

  3. [ ノード キャプション ] ウィンドウで、 クラスター 16 のシーケンス レベルという名前のノードをクリックします。

  4. [ノードの詳細] ウィンドウで、NODE_DISTRIBUTION行を見つけて、入れ子になったテーブル内の任意の場所をクリックします。

    一番上の行は常に欠損値用です。 この行はシーケンス状態 0 です。

  5. 下方向キーを押すか、スクロール バーを使用して、行 Mountain-500 が表示されるまで入れ子になったテーブルを下に移動します。

    この行はシーケンス状態 20 です。

    特定のシーケンス状態の行番号はプログラムで取得できますが、参照しているだけの場合は、入れ子になったテーブルを Excel ブックにコピーする方が簡単な場合があります。

  6. [ノード キャプション] ウィンドウに戻り、ノードを展開します。まだ展開されていない場合は、 クラスター 16 のシーケンス レベルを展開します。

  7. 子ノードの中からシーケンス状態20の遷移行を探します。 切り替えノードをクリックします。

  8. 入れ子になったNODE_DISTRIBUTION テーブルには、次の製品と確率が含まれています。 これらをシーケンス クラスタリング ビューアーの [状態遷移 ] タブの結果と比較します。

次の表は、NODE_DISTRIBUTION テーブルの結果と、グラフィカル ビューアーに表示される丸められた確率値を示しています。

プロダクト サポート (NODE_DISTRIBUTION 表) 確率 (NODE_DISTRIBUTION) テーブル) 確率 (グラフから)
行方 不明 48.447887 0.138028169 (表示されません)
サイクリングキャップ 10.876056 0.030985915 0.03
フェンダーセット - マウンテン 80.087324 0.228169014 0.23
ハーフフィンガー手袋 0.9887324 0.002816901 0.00
ハイドレーションパック 0.9887324 0.002816901 0.00
LL マウンテン タイヤ 51.414085 0.146478873 0.15
長袖 ロゴ ジャージ 2.9661972 0.008450704 0.01
マウンテン ボトル ケージ 87.997183 0.250704225 0.25
マウンテンタイヤチューブ 16.808451 0.047887324 0.05
半袖クラシックジャージー 10.876056 0.030985915 0.03
Sport-100 20.76338 0.05915493 0.06
水ボトル 18.785915 0.053521127 0.25

トレーニング データから最初に選択したケースには、製品 'Mountain-500' の後に 'LL Mountain Tire' が含まれていましたが、他にも多くのシーケンスが考えられることがわかります。 特定のクラスターの詳細情報を見つけるには、クラスター内のシーケンスの一覧から各状態または製品の実際の遷移にドリルダウンするプロセスを繰り返す必要があります。

特定のクラスターに一覧表示されているシーケンスから遷移行にジャンプできます。 その遷移行から、次にどの製品を決定し、シーケンスの一覧でその製品に戻ることができます。 最初の状態と 2 番目の状態ごとにこのプロセスを繰り返すことで、長い状態のチェーンを処理できます。

シーケンス情報の使用

シーケンス クラスタリングの一般的なシナリオは、Web サイトでのユーザーのクリックを追跡することです。 たとえば、Adventure Works e コマース Web サイトでの顧客購入のレコードからのデータの場合、結果として得られるシーケンス クラスタリング モデルを使用して、ユーザーの行動を推測したり、ナビゲーションの問題を解決したり、販売を促進するために e コマース サイトを再設計したりできます。

たとえば、人口統計に関係なく、ユーザーが常に特定の製品チェーンに従っていることを分析で示す場合があります。 また、特定の製品をクリックすると、ユーザーがサイトを頻繁に終了する場合があります。 その結果、ユーザーが Web サイトに留まるよう誘導する、ユーザーに提供できる追加のパスを確認できます。

ユーザーの分類に使用する追加情報がない場合は、シーケンス情報を使用してナビゲーションに関するデータを収集するだけで、全体的な動作をよりよく理解できます。 ただし、顧客に関する情報を収集し、その情報を顧客データベースと照合できる場合は、クラスタリングの機能とシーケンスの予測を組み合わせて、ユーザーに合わせた推奨事項を提供したり、現在のページへのナビゲーションパスに基づいて提案したりできます。

シーケンス クラスタリング モデルによってコンパイルされる広範な状態と遷移情報のもう 1 つの用途は、使用されない可能性のあるパスを決定することです。 たとえば、ページ 1 から 4 にアクセスする訪問者が多くても、訪問者が 5 ページに進むことはない場合は、ページ 5 へのナビゲーションを妨げる問題があるかどうかを調査できます。 これを行うには、モデルのコンテンツに対してクエリを実行し、考えられるパスの一覧と比較します。 Web サイト内のすべてのナビゲーション パスを示すグラフは、プログラムで作成することも、さまざまなサイト分析ツールを使用して作成することもできます。

モデル コンテンツに対してクエリを実行して観察されたパスの一覧を取得する方法、およびシーケンス クラスタリング モデルに対するクエリの他の例については、「 シーケンス クラスタリング モデルクエリの例」を参照してください。

こちらもご覧ください

マイニング モデル コンテンツ (解析サービス - データ マイニング)
Microsoft シーケンス クラスタリング アルゴリズム
シーケンス クラスタリング モデルクエリの例