データ マイニングの概念 (Analysis Services - データ マイニング)

データ マイニングとは、大規模なデータ セットから実用的な情報を検出するプロセスです。データ マイニングでは、数学的分析を使用して、データに内在するパターンおよび傾向を抽出します。通常、これらのパターンは、従来のデータ探索では検出できません。これは、リレーションシップが非常に複雑であるか、またはデータ量が多すぎるためです。

これらのパターンと傾向を合わせて収集し、データ マイニング モデルとして定義できます。マイニング モデルは、次のような特定のビジネス シナリオに適用できます。

  • 売上を予測する。

  • 特定の顧客に対して電子メールを配信する。

  • 一緒に販売できる可能性のある製品を決定する。

  • 顧客が製品を買い物かごに追加する順序のシーケンスを見つける。

マイニング モデルの作成は、データに関する質問の提示およびそれらの質問に回答するモデルの作成から、作業環境へのモデルの配置までのすべてを含む大きなプロセスの一部です。このプロセスは、次の 6 つの基本的な手順に従って定義できます。

  1. 問題の定義

  2. データの準備

  3. データの調査

  4. モデルの作成

  5. モデルの調査と検証

  6. モデルの配置と更新

次の図では、プロセスの各手順の関係と、各手順の実行に使用できる Microsoft SQL Server のテクノロジについて説明します。

データ マイニング処理の主な手順

図ではプロセスが円で示されていますが、各手順は必ずしも次の手順と直接つながっているとは限りません。データ マイニング モデルの作成は、動的かつ反復的なプロセスです。データを探索した後、適切なマイニング モデルを作成するためにデータが不十分であることがわかれば、さらに多くのデータを探索する必要があります。また、いくつかのモデルを作成した後で、定義した問題がそれらのモデルで適切に解決されないことがわかれば、問題を再定義する必要があります。モデルを配置した後、より多くのデータが使用可能になったために、モデルを更新することが必要になる場合があります。適切なモデルを作成するためには、プロセスの各手順を何度も繰り返すことが必要になる場合もあります。

SQL Server 2008 では、データ マイニング モデルを作成および操作するための Business Intelligence Development Studio という統合環境が提供されています。この環境には、さまざまなプロジェクト用の広範なソリューションを簡単に作成できるデータ マイニング アルゴリズムとツールが含まれています。BI Development Studio の使用方法の詳細については、「Business Intelligence Development Studio を使用した開発と実装」を参照してください。

データ マイニング ソリューションを作成したら、SQL Server Management Studio を使用してそのソリューションを管理および参照できます。詳細については、「データ マイニング構造とデータ マイニング モデルの管理」を参照してください。

SQL Server ツールをビジネス シナリオに適用する方法の例については、「基本的なデータ マイニング チュートリアル」を参照してください。

問題の定義

次の図で強調されているように、データ マイニング プロセスの最初の手順では、ビジネス問題を明確に定義し、その問題の解決方法について検討します。

データ マイニング手順 1 : 問題の定義

この手順には、ビジネス要件の分析、問題の範囲の定義、モデルを評価する基準の定義、およびデータ マイニング プロジェクトの特定の目的の定義が含まれます。これらの作業は、次のような質問に言い換えることができます。

  • どのような情報を捜すか。どんな種類のリレーションシップを特定しようとしているのか。

  • 解決しようとしている問題は、ビジネス ポリシーまたはビジネス プロセスを反映しているのか。

  • データ マイニング モデルから予測するのか、興味深いパターンおよび関連付けを特定したいだけか。

  • データセットのどの属性を予測したいのか。

  • 各列はどのように関連しているのか。複数のテーブルがある場合、各テーブルはどのように関連しているのか。

  • データはどのように分布しているか。データは季節的なものか。データはビジネス プロセスを正確に表しているか。

これらの質問に答えるには、データの可用性を調べ、使用可能なデータについてビジネス ユーザーのニーズを調査することが必要な場合があります。そのデータでユーザーのニーズがサポートされない場合は、プロジェクトの再定義が必要な場合があります。

また、ビジネスの進捗状況の測定に使用される主要業績評価指標 (KPI) にモデルの結果を組み込む方法についても検討する必要があります。

データの準備

次の図で強調表示されている、データ マイニング プロセスの 2 番目の手順では、「問題の定義」の手順で示したデータの統合および削除を行います。

データ マイニング手順 2 : データの準備

データは会社全体に分散して異なる形式で保存されたり、間違ったエントリや欠落しているエントリなどの矛盾を含んだりしている場合があります。たとえば、製品が市場で提供される前に製品を購入していたり、自宅から 2,000 マイル離れたところにある店で定期的に買い物をしていたりという矛盾を示す場合があります。

データのクリーニングでは、不良データの削除だけでなく、データ内の隠れた相関関係の検出、最も正確なデータ ソースの特定、および分析に最適な列の決定も行います。たとえば、出荷日と受注日のどちらを使用するか、販売に最も大きく影響するのは、数量か、合計金額か、割引価格か、などを考慮します。不完全なデータ、間違ったデータ、および一見無関係に見えるものの、実際には強い相関関係にある入力は、予期しない形でモデルの結果に影響を及ぼす可能性があります。したがって、マイニング モデルの作成を開始する前に、これらの問題を特定し、その解決方法を決定する必要があります。

通常、操作するデータセットが非常に大きいため、すべてのトランザクションを調べることはできません。したがって、Integration Services など、何らかの形式のオートメーションを使用してデータを探索し、矛盾を見つける必要があります。Microsoft Integration Services には、データのクリーニングおよび統合を自動化するための変換など、この手順を完了するために必要なすべてのツールが含まれています。詳細については、「Business Intelligence Development Studio の Integration Services」を参照してください。

データ マイニングに使用するデータは、オンライン分析処理 (OLAP) キューブまたはリレーショナル データベースに格納されている必要はないという点に注意する必要があります。ただし、これらは両方ともデータ ソースとして使用できます。データ マイニングは、Analysis Services データ ソースとして定義されている任意のデータ ソースを使用して行うことができます。これには、テキスト ファイル、Excel ブック、他の外部プロバイダーからのデータなどが含まれます。詳細については、「データ ソースの定義 (Analysis Services)」を参照してください。

データの探索

次の図で強調されているように、データ マイニング プロセスの 3 番目の手順では、準備されたデータを探索します。

データ マイニング手順 3 : データの検索

マイニング モデルの作成時に適切な決定を行うために、データを理解する必要があります。調査方法には、最小値および最大値の計算、平均偏差および標準偏差の計算、およびデータの分布の確認が含まれます。たとえば、最大値、最小値、および平均値を調べることで、データが顧客またはビジネス プロセスを表していないことが判明し、その結果、よりバランスの取れたデータを取得するか、予測の基礎となっている前提条件を見直す必要があることが明らかになる場合があります。標準偏差などの分布値には、結果の安定性および正確性に関する有用な情報が含まれていることがあります。標準偏差が大きい場合、データを追加することでモデルを改善できる可能性があります。標準分布から大きく逸脱したデータは、実際の問題を反映していない可能性があります。また、実際の問題を正確に表している可能性もありますが、このようなデータにモデルを適合させるのは困難です。

ビジネス上の問題に関する自分自身の理解に照らしてデータを探索することで、欠陥のあるデータがデータセットに含まれているかどうかを判断し、問題を解決するための戦略を構築したり、ビジネスの典型的な動きについての理解を深めたりできます。

BI Development Studio のデータ ソース ビュー デザイナーには、データの探索に使用できるいくつかのツールが含まれています。詳細については、「データ ソース ビューの設計 (Analysis Services)」または「データ ソース ビューでのデータの探索 (Analysis Services)」を参照してください。

また、モデルを作成すると、モデルに含まれるデータの統計サマリが Analysis Services によって自動的に作成されます。この統計サマリに対してクエリを実行することで、レポートや詳細な分析で使用するデータを取得できます。詳細については、「データ マイニング モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。

モデルの作成

次の図で強調されているように、データ マイニング プロセスの 4 番目の手順では、マイニング モデルまたはモデルを作成します。「データの探索」の手順から得た知識を使用すると、モデルの定義および作成に役立ちます。

データ マイニング手順 4 : マイニング モデルの構築

マイニング構造を作成して、使用するデータを定義します。マイニング構造では、データ ソースが定義されますが、処理が完了するまでデータは格納されません。マイニング構造を処理すると、分析に使用できる集計およびその他の統計情報が Analysis Services によって生成されます。この情報は、マイニング構造に基づくすべてのマイニング モデルで使用できます。マイニング構造とマイニング モデルの関係については、「論理アーキテクチャ (Analysis Services - データ マイニング)」を参照してください。

処理前のデータ マイニング モデルは、入力用の列、予測対象の属性、およびデータの処理アルゴリズムを示すパラメーターを指定するコンテナーにすぎません。モデルの処理は、トレーニングとも呼ばれます。トレーニングとは、パターンを抽出するために、マイニング構造のデータに特定の数学的アルゴリズムを適用するプロセスのことです。トレーニング処理で検出されるパターンは、トレーニング データの選択、使用するアルゴリズム、およびアルゴリズムの構成方法に応じて異なります。SQL Server 2008 には、各種の作業に適したさまざまなアルゴリズムが用意されています。各アルゴリズムは、異なる種類のモデルを生成します。SQL Server 2008 に用意されているアルゴリズムの一覧については、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。

また、パラメーターを使用して各アルゴリズムを調整したり、トレーニング データにフィルターを適用してデータのサブセットを使用したりすることで、さまざまな結果を生成できます。モデルにデータを渡すと、クエリを実行したり予測に使用したりできるサマリおよびパターンがマイニング モデル オブジェクトに格納されます。

BI Development Studio のデータ マイニング ウィザードまたはデータ マイニング拡張機能 (DMX) 言語を使用すると、新しいモデルを定義できます。データ マイニング ウィザードの使用方法については、「データ マイニング ウィザード (Analysis Services - データ マイニング)」を参照してください。DMX の使用方法の詳細については、「データ マイニング拡張機能 (DMX) リファレンス」を参照してください。

データが変更されるたびに、マイニング構造とマイニング モデルの両方を更新する必要があることに注意してください。再処理を行ってマイニング構造を更新すると、Analysis Services によってソースからデータが取得され (ソースが動的に更新される場合は、新しいデータも取得されます)、マイニング構造が再作成されます。マイニング構造に基づくモデルが存在する場合は、そのモデルを更新するか (新しいデータに基づいて再トレーニングされます)、または更新せずにそのままにしておくかを選択できます。詳細については、「データ マイニング オブジェクトの処理」を参照してください。

モデルの調査と検証

次の図で強調されているように、データ マイニング プロセスの 5 番目の手順では、作成したマイニング モデルを調査して、その効果をテストします。

データ マイニング手順 5 : マイニング モデルの検証

モデルを運用環境に配置する前に、モデルのパフォーマンスをテストする必要があります。また、モデルを作成する場合、通常は構成が異なる複数のモデルを作成し、どのモデルが問題およびデータに最も適した結果をもたらすかを調べるためにすべてのモデルをテストします。

データをトレーニング データセットとテスト データセットに分割すると、同じデータに基づいてすべてのモデルのパフォーマンスを正確に評価することができます。トレーニング データセットを使用してモデルを作成し、テスト データセットを使用して予測クエリを作成することによってモデルの精度をテストします。SQL Server 2008 Analysis Services では、このパーティション分割は、マイニング モデルの作成中に自動的に実行されます。詳細については、「データ マイニング モデルの検証 (Analysis Services - データ マイニング)」を参照してください。

BI Development Studio のデータ マイニング デザイナーのビューアーを使用して、アルゴリズムで検出された傾向およびパターンを調べることができます。詳細については、「データ マイニング モデルの表示」を参照してください。また、リフト チャートや分類マトリックスなどのデザイナーのツールを使用して、モデルがどの程度予測を作成できるかをテストすることもできます。モデルがデータに固有のものであるか、一般的な母集団の推定に使用できるものであるかを確認するには、クロス検証と呼ばれる統計手法を使用します。この手法を使用すると、データのサブセットが自動的に作成され、各サブセットに対してモデルがテストされます。詳細については、「データ マイニング モデルの検証 (Analysis Services - データ マイニング)」を参照してください。

「モデルの作成」の手順で作成したモデルのパフォーマンスがいずれもよくない場合は、プロセスの前の手順に戻り、問題を再定義するか、元のデータセットのデータを再調査する必要が生じることもあります。

モデルの配置と更新

次の図で強調されているように、データ マイニング プロセスの最後の手順では、最適なパフォーマンスを示したモデルを運用環境に配置します。

データ マイニング手順 6 : マイニング モデルの配置

マイニング モデルを運用環境に配置すると、必要に応じて多くのタスクを実行できます。次のようなタスクを実行できます。

  • モデルを使用して予測を作成します。これは、業務上の意思決定に使用できます。SQL Server では、予測クエリを作成するための DMX 言語と、クエリを作成するための予測クエリ ビルダーが提供されています。詳細については、「データ マイニング拡張機能 (DMX) リファレンス」を参照してください。

  • モデルから統計情報、ルール、または数式を取得するコンテンツ クエリを作成します。詳細については、「データ マイニング モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。

  • データ マイニング機能をアプリケーションに直接埋め込みます。マイニング構造とマイニング モデルを作成、変更、処理、および削除するためにアプリケーションで使用できる一連のオブジェクトを含んでいる分析管理オブジェクト (AMO) を含めることができます。XML for Analysis (XMLA) メッセージを Analysis Services のインスタンスに直接送信することもできます。 詳細については、「開発 (Analysis Services - データ マイニング)」を参照してください。

  • Integration Services を使用してパッケージを作成します。ここで、マイニング モデルは、入力されたデータを複数のテーブルに適切に分割するために使用されます。たとえば、潜在的な顧客に関してデータベースが継続的に更新される場合は、Integration Services と共にマイニング モデルを使用して、製品を購入する可能性のある顧客と製品を購入する可能性のない顧客に入力データを分割できます。詳細については、「Integration Services の典型的な使用方法」を参照してください。

  • ユーザーが既存のマイニング モデルに対して直接クエリを実行できるレポートを作成します。詳細については、「Business Intelligence Development Studio の Reporting Services (SSRS)」を参照してください。

  • レビューおよび分析を行った後、モデルを更新します。モデルを更新する場合、モデルの再処理が必要になります。詳細については、「構造とモデルの処理 (Analysis Services - データ マイニング)」を参照してください。

  • 組織が新しいデータを入手したときに、モデルを動的に更新します。ソリューションの有効性を向上させるための継続的な変更は、配置戦略の一環として実行する必要があります。詳細については、「データ マイニング構造とデータ マイニング モデルの管理」を参照してください。