次の方法で共有


Microsoft シーケンス クラスタリング アルゴリズムテクニカル リファレンス

Microsoft シーケンス クラスタリング アルゴリズムは、Markov チェーン分析を使用して順序付けされたシーケンスを識別するハイブリッド アルゴリズムであり、この分析の結果とクラスタリング手法を組み合わせて、モデル内のシーケンスやその他の属性に基づいてクラスターを生成します。 このトピックでは、アルゴリズムの実装、アルゴリズムのカスタマイズ方法、シーケンス クラスタリング モデルの特別な要件について説明します。

シーケンス クラスタリング モデルの参照方法やクエリ方法など、アルゴリズムの一般的な情報については、「 Microsoft シーケンス クラスタリング アルゴリズム」を参照してください。

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

Microsoft シーケンス クラスタリング モデルでは、Markov モデルを使用してシーケンスを識別し、シーケンスの確率を決定します。 Markov モデルは、さまざまな状態間の遷移を格納する有向グラフです。 Microsoft シーケンス クラスタリング アルゴリズムでは、非表示の Markov モデルではなく、n オーダーの Markov チェーンが使用されます。

Markov チェーン内の注文数は、現在の状態の確率を決定するために使用される状態の数を示します。 最初の Markov モデルでは、現在の状態の確率は前の状態にのみ依存します。 2 番目の Markov チェーンでは、状態の確率は、前の 2 つの状態によって異なります。 Markov チェーンごとに、遷移行列は状態の組み合わせごとに遷移を格納します。 Markov 鎖の長さが長くなるにつれて、行列のサイズも指数関数的に大きくなり、行列は非常に疎になります。 処理時間も比例して増加します。

サイト上の Web ページへのアクセスを分析するクリックストリーム分析の例を使用して、チェーンを視覚化すると便利な場合があります。 各ユーザーは、セッションごとに長いクリック シーケンスを作成します。 Web サイトでユーザーの動作を分析するモデルを作成する場合、トレーニングに使用されるデータ セットは一連の URL であり、同じクリック パスのすべてのインスタンスの数を含むグラフに変換されます。 たとえば、グラフには、ユーザーがページ 1 からページ 2 (10%)、ユーザーがページ 1 からページ 3 (20%) に移動する確率などが含まれます。 考えられるすべての可能なパスを組み合わせると、観測された単一のパスよりもはるかに長く、複雑なグラフが得られます。

既定では、Microsoft シーケンス クラスタリング アルゴリズムでは、クラスタリングの予測最大化 (EM) メソッドが使用されます。 詳細については、「 Microsoft クラスタリング アルゴリズムテクニカル リファレンス」を参照してください

クラスタリングのターゲットは、シーケンシャル属性と非シーケンス属性の両方です。 各クラスターは、確率分布を使用してランダムに選択されます。 各クラスターには、パスの完全なセットを表す Markov チェーンと、シーケンス状態遷移と確率を含むマトリックスがあります。 ベイズ ルールは、初期分布に基づいて、特定のクラスター内の任意の属性 (シーケンスを含む) の確率を計算するために使用されます。

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

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

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

シーケンスを構築するときに機能の選択は呼び出されません。ただし、機能の選択はクラスタリングの段階で適用されます。

モデルの種類 特徴選択方法 コメント
シーケンス クラスタリング 未使用 機能の選択は呼び出されません。ただし、MINIMUM_SUPPORTおよびMINIMUM_PROBABILIITYパラメーターの値を設定することで、アルゴリズムの動作を制御できます。
クラスタリング 興味深さのスコア クラスタリング アルゴリズムでは離散アルゴリズムまたは分離アルゴリズムを使用できますが、各属性のスコアは距離として計算され、連続しています。したがって、興味深さのスコアが使用されます。

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

パフォーマンスの最適化

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

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

  • MINIMUM_SUPPORT パラメーターの値を大きくすることで、属性として含まれるシーケンスの数を減らします。 その結果、まれなシーケンスは排除されます。

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

一般に、n オーダー Markov チェーン モードのパフォーマンスは、いくつかの方法で最適化できます。

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

  • プログラムによって n の値を減らします。

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

これらのメソッドの完全な説明は、このトピックの範囲外です。

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

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

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

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

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

既定値は 10 です。

0 以外の数値を指定すると、アルゴリズムのヒントとして機能します。これは、指定した数値を見つけることを目標に進みますが、最終的に多かれ少なかれ見つける可能性があります。

最小限のサポート
クラスターの作成に属性をサポートするために必要なケースの最小数を指定します。

既定値は 10 です。

最大シーケンス状態
シーケンスに含めることができる状態の最大数を指定します。

この値を 100 より大きい値に設定すると、アルゴリズムによって、意味のある情報を提供しないモデルが作成される可能性があります。

既定値は 64 です。

最大状態数
アルゴリズムがサポートする非シーケンス属性の状態の最大数を指定します。 非シーケンス属性の状態の数が状態の最大数を超える場合、アルゴリズムは属性の最も一般的な状態を使用し、残りの状態を Missingとして扱います。

既定値は、100 です。

モデルフラグ

次のモデリング フラグは、Microsoft シーケンス クラスタリング アルゴリズムで使用するためにサポートされています。

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

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

モデル存在のみ
つまり、列は、 MissingExistingの 2 つの状態を持つものとして扱われます。 null は Missing 値として扱われます。

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

マイニング モデルでの欠損値の使用と、欠損値が確率スコアに与える影響の詳細については、「 欠損値 (Analysis Services - データ マイニング)」を参照してください。

要求事項

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

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

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

入力列と予測可能列

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

コラム コンテンツの種類
入力属性 連続、循環、不連続、離散化、キー、キー シーケンス、テーブル、順序付け
予測可能な属性 連続、循環、不連続、分離、テーブル、および順序付け

注釈

  • シーケンスの 予測には PredictSequence (DMX) 関数を使用します。 シーケンス予測をサポートする SQL Server のエディションの詳細については、「 SQL Server 2012 の各エディションでサポートされる機能 (https://go.microsoft.com/fwlink/?linkid=232473)」を参照してください。

  • Microsoft シーケンス クラスタリング アルゴリズムでは、予測モデル マークアップ言語 (PMML) を使用してマイニング モデルを作成することはできません。

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

こちらもご覧ください

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