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

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

重要

データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「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 含まれる子ノード NODE_DISTRIBUTION テーブル
モデル ルート 複数のクラスター ノード

モデル全体のシーケンスを含むノード
モデル内のすべての製品が、サポートと確率と共に一覧表示されます。

このクラスタリング手法では複数のクラスターでの部分的なメンバーシップが許可されるため、サポートと確率が小数値になる場合があります。 つまり、1 つのケースが一度だけカウントされるのではなく、各ケースが複数のクラスターに属する可能性があります。 このため、最後のクラスター メンバーシップが決まると、そのクラスターの確率によって値が調整されます。
モデルのシーケンス ノード 複数の遷移ノード モデル内のすべての製品が、サポートと確率と共に一覧表示されます。

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



サポート = ケース数。

確率 = モデル内の各シーケンスの未加工の確率。 すべての確率を合計すると 1 になります。
個々のクラスター ノード そのクラスターだけのシーケンスを含むノード クラスター内のすべての製品が一覧表示されますが、サポートと確率については、クラスターの特性を示す製品に対する値のみ提供されます。

サポートは、このクラスター内の各ケースの調整済みのサポート値を表します。 確率値は調整済みの確率です。
個々のクラスターのシーケンス ノード そのクラスターだけのシーケンスの遷移を含む複数のノード 個々のクラスター ノードとまったく同じ情報です。
Transitions 子はありません 関連する最初の状態の遷移が一覧表示されます。

サポートは調整済みのサポート値で、各遷移に関係するケースを示します。 確率は調整済みの確率で、パーセンテージで表されます。

NODE_DISTRIBUTION テーブル

NODE_DISTRIBUTION テーブルには、特定のクラスターの遷移およびシーケンスについての確率とサポートの詳細な情報が示されます。

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

サポートと確率の計算は、トレーニング ケースと完成したモデルのどちらに適用するかによって異なります。 これは、既定のクラスタリング手法である Expectation Maximization (EM) で、どのケースも複数のクラスターに所属できることが前提になっているためです。 モデル内のケースのサポートを計算する場合、未加工のカウント数および未加工の確率を使用できます。 ただし、クラスター内の特定のシーケンスの確率は、シーケンスとクラスターのあらゆる組み合わせの合計によって重み付けされる必要があります。

カーディナリティ

クラスター モデルの親ノードのカーディナリティは、通常、モデル内のクラスターの数を表します。 ただし、シーケンス クラスター モデルには、クラスター レベルに 2 種類のノードがあります。クラスターを格納するノードと、モデル全体のシーケンスの一覧を格納するノードです。

したがって、モデル内のクラスター数を調べるには、[(すべて)] ノードの 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 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 に続くすべての製品を確認することができます。 次の手順では、SQL Server Analysis Servicesで提供されている 2 つのビューアーを使用して、これらのシーケンスを表示する手順について説明します。

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

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

  3. [クラスター] ボックスの一覧で、 [母集団 (すべて)] が選択されていることを確認します。

  4. ペインの左側にあるスライダー バーを一番上まで動かして、すべてのリンクを表示します。

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

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

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

  2. [ビューアー] ボックスの一覧で、 [Microsoft 汎用コンテンツ ツリー ビューアー]を選択します。

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

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

    一番上の行は、常に Missing 値用に使用されます。 この行のシーケンスの状態は 0 です。

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

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

    注意

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

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

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

  8. 入れ子になった 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 サイトのすべてのナビゲーション パスを表すグラフは、プログラムで作成するか、各種のサイト分析ツールを使用して作成できます。

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

参照

Mining Model Content (Analysis Services - Data Mining)
Microsoft シーケンス クラスタリング アルゴリズム
Sequence Clustering Model Query Examples