Microsoft アソシエーション アルゴリズム

Microsoft アソシエーション アルゴリズムは、Analysis Services で提供されているアソシエーション アルゴリズムであり、推奨エンジンで使用できます。推奨エンジンでは、顧客が既に購入した製品または興味を示した製品に基づいて、顧客に製品が推奨されます。また、Microsoft アソシエーション アルゴリズムは、マーケット バスケット分析にも使用できます。マーケット バスケット分析の例については、データ マイニング チュートリアルの「レッスン 3: マーケット バスケット シナリオの作成 (中級者向けデータ マイニング チュートリアル)」を参照してください。

アソシエーション モデルは、個々のケースの識別子とケース内のアイテムの識別子を含んでいるデータセットに基づいて作成されています。ケース内のアイテムのグループは、アイテムセットと呼ばれます。アソシエーション モデルは、一連のアイテムセットと、ケース内でアイテムをグループ化する方法を示すルールで構成されています。アルゴリズムによって識別されるルールは、顧客の買い物かごに既に存在する製品に基づいて、顧客の将来の購入を予測するために使用できます。次の図は、アイテムセットの一連のルールを示しています。

関連モデルのルール セット

図のように、Microsoft アソシエーション アルゴリズムによって、データセット内で多数のルールが検出される可能性があります。このアルゴリズムでは、アルゴリズムで生成されるアイテムセットおよびルールを示すためにサポートと確率という 2 つのパラメータが使用されます。たとえば、X と Y が、買い物かごにある 2 つの製品を表す場合、サポート パラメータは X と Y というアイテムの組み合わせを含んでいるデータセット内のケースの数になります。サポート パラメータをユーザー定義パラメータの MINIMUM_SUPPORT および MAXIMUM_SUPPORT と組み合わせて使用することによって、アルゴリズムは生成されるアイテムセットの数を制御します。確率パラメータは、信頼とも呼ばれ、X と Y を含んでいるデータセット内のケースを表します。確率パラメータを MINIMUM_PROBABILITY パラメータと組み合わせて使用することによって、アルゴリズムは生成されるルールの数を制御します。

Adventure Works Cycle 社では、Web サイトの機能を再設計しています。再設計の目的は、製品の販売を増やすことです。この会社ではトランザクション データベースで各売上を記録しているので、Microsoft アソシエーション アルゴリズムを使用して、一緒に購入される傾向がある製品のセットを特定できます。その後、顧客の買い物かごに既にある製品に基づいて、顧客が興味を持ちそうな他の製品を予測できます。

アルゴリズムの動作

Microsoft アソシエーション アルゴリズムでは、データセットをスキャンして、ケース内で一緒に表示するアイテムが検索されます。このアルゴリズムは、少なくとも MINIMUM_SUPPORT パラメータで指定された数のケースに表示される関連アイテムをアイテムセットにグループ化します。たとえば、アイテムセットが "Mountain 200=Existing, Sport 100=Existing" であり、サポートが 710 であるとします。その場合、アルゴリズムはアイテムセットからルールを生成します。これらのルールは、アルゴリズムが重要と識別する他の特定のアイテムの存在に基づいて、データベース内のアイテムの存在を予測するために使用されます。たとえば、ルールが "if Touring 1000=existing and Road bottle cage=existing, then Water bottle=existing" であり、確率が 0.812 であるとします。この例では、アルゴリズムは買い物かごに、Touring 1000 と water bottle cage が入っていることを識別し、買い物かごに water bottle も入っている可能性があることを予測します。

アルゴリズムの詳細と、アルゴリズムの動作のカスタマイズやマイニング モデルの結果の制御のためのパラメータの一覧については、「Microsoft アソシエーション アルゴリズム テクニカル リファレンス」を参照してください。

アソシエーション モデルに必要なデータ

アソシエーション ルール モデルで使用するデータを用意する際には、必要なデータ量やデータの使用方法など、このアルゴリズムにおける要件を把握しておいてください。

アソシエーション ルール モデルの要件は次のとおりです。

  • 1 つの key : それぞれのモデルには、各レコードを一意に識別する数値列またはテキスト列が 1 つ含まれている必要があります。複合キーは使用できません。

  • 1 つの予測可能列 : アソシエーション モデルで使用できる予測可能列は 1 つだけで、通常は、入れ子になったテーブルのキー列 (購入された製品の一覧を含むフィールドなど) になります。値は不連続値または分離された値である必要があります。

  • 入力列 : 入力列は不連続である必要があります。アソシエーション モデルの入力データは、通常 2 つのテーブルに格納されています。たとえば、1 つのテーブルに顧客情報が格納されており、もう 1 つのテーブルに顧客が購入した製品が格納されている場合があります。入れ子になったテーブルを使用して、このデータをモデルに入力できます。入れ子になったテーブルの詳細については、「入れ子になったテーブル (Analysis Services - データ マイニング)」を参照してください。

アソシエーション モデルでサポートされるコンテンツの種類とデータ型の詳細については、「Microsoft アソシエーション アルゴリズム テクニカル リファレンス」の「必要条件」を参照してください。

アソシエーション モデルの表示

モデルを参照するには、Microsoft アソシエーション ビューアを使用します。アソシエーション モデルを表示すると、さまざまな角度から相関関係が示されるため、データ内で見つかった関係とルールをより深く理解することができます。ビューアの [アイテムセット] ペインには、最も一般的な組み合わせ (アイテムセット) の詳細な内訳が表示されます。[ルール] ペインには、データから導き出されたルールの一覧が表示され、確率の計算が追加されます。また、ルールが相対的な重要度で順位付けされます。依存関係ネットワーク ビューアを使用すると、個々のアイテムがどのように関連付けられているのかを視覚的に調べることができます。詳細については、「Microsoft クラスタ ビューアを使用したマイニング モデルの表示」を参照してください。

特定のアイテムセットやルールの詳細を調べるには、Microsoft 汎用コンテンツ ツリー ビューアでモデルを参照してください。モデルに保存される内容には、各アイテムセットのサポートや、各ルールのスコアなどの統計情報などが含まれます。詳細については、「アソシエーション モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)」を参照してください。

予測の作成

モデルの処理が完了したら、ルールとアイテムセットを使用して予測を実行できます。アソシエーション モデルでは、指定したアイテムが存在する場合に発生する可能性があるアイテムを予測できます。この予測には、確率、サポート、重要度などの情報を含めることができます。アソシエーション モデルに対するクエリの作成方法の例については、「アソシエーション モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。

データ マイニング モデルに対するクエリの作成方法に関する一般情報については、「データ マイニング モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。

パフォーマンス

アイテムセットを作成して相関関係をカウントするというプロセスには時間がかかる場合があります。Microsoft アソシエーション ルール アルゴリズムでは、領域の節約と処理の高速化のための最適化の手法が使用されていますが、次のような状況ではパフォーマンスの問題が発生する可能性があります。

  • 多数のアイテムを含む大きなデータセットを使用する場合。

  • アイテムセットの最小サイズの設定が低すぎる場合。

処理時間を最小限に抑え、アイテムセットの複雑さを軽減するには、データを分析する前に、関連するアイテムをカテゴリ別にグループ化してみてください。

解説

  • Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成はサポートされていません。

  • ドリルスルーがサポートされています。

  • OLAP マイニング モデルの使用がサポートされています。

  • データ マイニング ディメンションの作成がサポートされています。