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

適用対象: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 Association アルゴリズムは、推奨事項エンジンでよく使用されるアルゴリズムです。 推奨エンジンでは、顧客が既に購入した製品または興味を示した製品に基づいて、顧客に製品が推奨されます。 Microsoft Association アルゴリズムは、マーケット バスケット分析にも役立ちます。

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

関連付けモデルの規則のセット 関連付けモデル

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

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

アルゴリズムの動作

Microsoft Association アルゴリズムは、データセットを走査して、ケースに一緒に表示されるアイテムを検索します。 このアルゴリズムは、少なくとも 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 つ含まれている必要があります。 複合キーは使用できません。

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

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

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

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

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

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

予測の作成

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

データ マイニング モデルに対するクエリの作成方法については、「 データ マイニング クエリ」を参照してください。

パフォーマンス

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

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

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

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

注釈

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

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

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

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

参照

データ マイニング アルゴリズム (Analysis Services - データ マイニング)
Microsoft アソシエーション ルール ビューアーを使用したモデルの参照
アソシエーション モデルのマイニング モデル コンテンツ (Analysis Services - データ マイニング)
Microsoft アソシエーション アルゴリズム テクニカル リファレンス
結合モデルのクエリ例