Microsoft シーケンス クラスタ アルゴリズム テクニカル リファレンス (Analysis Services - データ マイニング)

Microsoft シーケンス クラスタ アルゴリズムは、複合的なアルゴリズムです。このアルゴリズムでは、Markov 連鎖分析を使用して順序付けられたシーケンスを特定し、この分析結果とクラスタリング技法を組み合わせて、シーケンスおよびモデル内のその他の属性に基づいてクラスタを生成します。このトピックでは、アルゴリズムの実装、アルゴリズムをカスタマイズする方法、およびシーケンス クラスタ モデルの特別な要件について説明します。

シーケンス クラスタ モデルの参照および照会を行う方法を含む、アルゴリズムに関する一般的な情報については、「Microsoft シーケンス クラスター アルゴリズム」を参照してください。

Microsoft シーケンス クラスタ アルゴリズムの実装

Microsoft シーケンス クラスタ モデルでは、Markov モデルを使用して、シーケンスの特定やシーケンスの確率の決定を行います。Markov モデルは、さまざまな状態の間の遷移を格納する有向グラフです。Microsoft シーケンス クラスタ アルゴリズムでは n 次 Markov 連鎖を使用します。隠れ Markov モデルは使用しません。

Markov 連鎖の次数は、現在の状態の確率を決定するために使用される状態の数を示しています。1 次 Markov モデルでは、現在の状態の確率は直前の状態のみに依存します。2 次 Markov 連鎖では、状態の確率は前の 2 つの状態に依存し、以下同様に増えていきます。Markov 連鎖ごとに、状態の各組み合わせの遷移が遷移マトリックスに格納されます。Markov 連鎖が長くなるにつれ、マトリックスのサイズも指数関数的に大きくなり、マトリックスが非常に疎になります。処理時間も比例して長くなります。

特定のサイトの Web ページへのアクセスを分析するクリックストリーム分析の例を使用して、連鎖がどうなるかを思い浮かべてみるとわかりやすくなります。各ユーザーによって、セッションごとにクリックの長いシーケンスが作成されます。Web サイトでのユーザーの行動を分析するモデルを作成する場合、トレーニングに使用するデータセットは、同じクリック パスのインスタンスの総数を含むグラフに変換される URL のシーケンスです。たとえば、このグラフには、ユーザーがページ 1 からページ 2 に移動する確率 (10%)、ユーザーがページ 1 からページ 3 に移動する確率 (20%) などが含まれます。すべての有効なパスおよび部分的なパスを合わせると、いずれか 1 つのパスを監視する場合よりもずっと長く複雑なグラフになります。

既定では、Microsoft シーケンス クラスタ アルゴリズムではクラスタリングの Expectation Maximization (EM) 手法を使用します。詳細については、「Microsoft クラスタリング アルゴリズム テクニカル リファレンス」を参照してください。

クラスタリングの対象の属性は、シーケンシャルかどうかに依存しません。各クラスタは、確率分布を使用してランダムに選択されます。各クラスタには、パスの完全なセットを表す Markov 連鎖、およびシーケンスの状態遷移と確率を含むマトリックスがあります。初期分布に基づいて、特定のクラスタで、シーケンスなど任意の属性の確率が Bayes ルールを使用して計算されます。

Microsoft シーケンス クラスタ アルゴリズムでは、モデルへの非シーケンシャル属性の追加がサポートされています。つまり、一般的なクラスタ モデルの場合と同様に、追加属性をシーケンス属性と組み合わせて、類似する属性を含むケースのクラスタを作成できます。

傾向として、シーケンス クラスタ モデルでは、一般的なクラスタ モデルより多くのクラスタを作成します。そのため、Microsoft シーケンス クラスタ アルゴリズムでは、クラスタ分解を実行して、シーケンスやその他の属性に基づいてクラスタを分割します。

シーケンス クラスタ モデルでの機能の選択

シーケンスの作成時には機能の選択は実行されません。ただし、クラスタリングの段階で機能の選択が適用されます。

モデルの種類

機能の選択の方法

備考

シーケンス クラスタ

使用しない

機能の選択は実行されません。ただし、パラメータ MINIMUM_SUPPORT および MINIMUM_PROBABILIITY の値を設定することによってアルゴリズムの動作を制御できます。

クラスタリング

興味深さのスコア

クラスタリング アルゴリズムでは不連続のアルゴリズムや分離されたアルゴリズムを使用できますが、各属性のスコアは距離として計算されるため連続値です。したがって、興味深さのスコアが使用されます。

詳細については、「機能の選択」を参照してください。

パフォーマンスの最適化

Microsoft シーケンス クラスタ アルゴリズムでは、処理を最適化するさまざまな方法がサポートされています。

  • CLUSTER_COUNT パラメータの値を設定すると、生成されるクラスタの数を制御できます。

  • MINIMUM_SUPPORT パラメータの値を増やすと、属性として含まれるシーケンスの数を減らすことができます。その結果、頻度の低いシーケンスが除外されます。

  • 関連属性をグループ化すると、モデルを処理する前に複雑さを軽減できます。

通常、いくつかの方法で、n 次 Markov 連鎖モードのパフォーマンスを最適化できます。

  • 可能なシーケンスの長さを制御します。

  • n の値をプログラムによって小さくします。

  • 指定したしきい値を超える確率のみを格納します。

これらの方法の詳細については、このトピックでは説明しません。

シーケンス クラスタ アルゴリズムのカスタマイズ

Microsoft シーケンス クラスタ アルゴリズムでは、結果として得られるマイニング モデルの動作、パフォーマンス、および精度に影響を与えるパラメータがサポートされています。また、アルゴリズムによるトレーニング データの処理方法を制御するモデリング フラグを設定して、完成したモデルの動作を変更することもできます。

アルゴリズム パラメータの設定

次の表は、Microsoft シーケンス クラスタ アルゴリズムで使用できるパラメータを示しています。

  • CLUSTER_COUNT
    アルゴリズムによって作成されるクラスタの概数を指定します。その数のクラスタをデータから作成できない場合、アルゴリズムでは可能な限り多数のクラスタが作成されます。CLUSTER_COUNT パラメータを 0 に設定すると、アルゴリズムではヒューリスティックを使用して、作成するクラスタの数が最適に決定されます。

    既定値は 10 です。

    注意

    0 以外の数値を指定すると、アルゴリズムへのヒントとして機能します。アルゴリズムでは指定の数を取得することを目標に処理が進められますが、指定の数以外になる場合もあります。

  • MINIMUM_SUPPORT
    クラスタの作成に必要とされる、属性をサポートするケースの最小数を指定します。

    既定値は 10 です。

  • MAXIMUM_SEQUENCE_STATES
    シーケンスが保持できる状態数の最大値を指定します。

    この値を 100 より大きい数値に設定すると、アルゴリズムは意味のある情報を提供するモデルを作成できなくなります。

    既定値は 64 です。

  • MAXIMUM_STATES
    アルゴリズムによってサポートされる非シーケンス属性用の状態の最大数を指定します。非シーケンス属性の状態の数が状態の最大数よりも大きい場合、アルゴリズムでは属性の最も一般的な状態が使用され、残りの状態は Missing として処理されます。

    既定値は 100 です。

モデリング フラグ

Microsoft シーケンス クラスタ アルゴリズムでは、次のモデリング フラグを使用できます。

  • NOT NULL
    列に NULL を含めることはできないことを示します。モデルのトレーニング中に NULL が検出された場合はエラーが発生します。

    マイニング構造列に適用されます。

  • MODEL_EXISTENCE_ONLY
    列が、Missing および Existing の 2 つの可能な状態を持つ列として扱われることを示します。NULL は Missing 値として扱われます。

    マイニング モデル列に適用されます。

マイニング モデルでの Missing 値の使用、および確率スコアへの Missing 値の影響の詳細については、「不足値 (Analysis Services - データ マイニング)」を参照してください。

要件

ケース テーブルにはケース ID 列が必要です。オプションで、ケースに関する属性を格納する他の列をケース テーブルに含めることができます。

Microsoft シーケンス クラスタ アルゴリズムには、入れ子になったテーブルとして格納されるシーケンス情報が必要です。入れ子になったテーブルには、1 つの Key Sequence 列が必要です。Key Sequence 列には、文字列データ型など、並べ替え可能な任意の型のデータを含めることができますが、ケースごとに一意の値を含める必要があります。さらに、モデルを処理する前に、ケース テーブルと入れ子になったテーブルの両方が、テーブルを関連付けるキーに基づいて昇順に並べ替えられていることを確認する必要があります。

注意

Microsoft シーケンス アルゴリズムを使用するがシーケンス列は使用しないモデルを作成する場合、結果として得られるモデルでは、シーケンスが含まれるのではなく、モデルに含まれている他の属性に基づいてケースがクラスタ化されるだけです。

入力列と予測可能列

Microsoft シーケンス クラスタ アルゴリズムでは、次の表に示す特定の入力列と予測可能列がサポートされています。マイニング モデルにおけるコンテンツの種類の意味については、「コンテンツの種類 (データ マイニング)」を参照してください。

コンテンツの種類

入力属性

Continuous、Cyclical、Discrete、Discretized、Key、Key Sequence、Table、Ordered

予測可能な属性

Continuous、Cyclical、Discrete、Discretized、Table、Ordered

説明

  • シーケンスの予測 (PredictSequence (DMX) 関数の使用) は、SQL Server Enterprise でのみ使用できます。

  • Microsoft シーケンス クラスタ アルゴリズムでは、Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成はサポートされていません。

  • Microsoft シーケンス クラスタ アルゴリズムでは、ドリルスルー、OLAP マイニング モデルの使用、およびデータ マイニング ディメンションの使用がサポートされています。