データ マイニング モデルの検証 (Analysis Services - データ マイニング)
検証とは、実際のデータに対するマイニング モデルの性能を評価するプロセスです。運用環境に配置する前に品質や特性を理解してマイニング モデルを検証しておくことが重要です。
データ マイニング モデルの品質や特性を評価する方法はいくつかあります。1 つ目は、統計的妥当性の各種メジャーを使用して、データまたはモデルに問題があるかどうかを判定する方法です。2 つ目は、データをトレーニング セットとテスト セットに分割して、予測の精度をテストする方法です。3 つ目は、発見されたパターンが目標とするビジネス シナリオにおいて有意であるかどうか、ビジネスの専門家にデータ マイニング モデルの結果を評価してもらう方法です。これらの方法はすべてデータ マイニング手法として有用であり、特定の問題に対応するためにモデルの作成、テスト、および調整を行うときに繰り返し使用されます。
このセクションでは、モデルの品質に関するいくつかの基本的な概念について説明し、MicrosoftSQL Server 2008Analysis Services に用意されているモデル検証のための戦略について説明します。大規模なデータ マイニング プロセス内でモデルの検証がどのように位置付けられているかの概要については、「データ マイニング プロジェクト (Analysis Services - データ マイニング)」を参照してください。
データ マイニング モデルの評価基準
ほとんどの場合、データ マイニング モデルを検証する方法によって、業務上の疑問点に対する回答が直接示されるのではなく、ビジネスまたは開発上の決定を支援する基準が提供されます。モデルが十分であること、または十分なデータがあることを示す包括的な規則というものは存在しません。
通常、データ マイニングの評価基準は、精度、信頼性、および実用性に分類されます。
精度、信頼性、および実用性
精度は、モデルの結果が提供されたデータ内の属性と密接な関係があるかどうかを示すメジャーです。精度のメジャーは各種ありますが、精度のメジャーはすべて、使用されるデータに依存します。実際には、値が不足していたり概算値であったり、複数のプロセスによってデータが変更されている場合があります。特に調査と開発のフェーズでは、データの特性がきわめて均一である場合は特に、データ内に一定量のエラーを認める必要があります。たとえば、過去の売上に基づいて特定の店舗の売上を予測するモデルは、その店舗で継続的に誤った会計手続きが行われていたとしても、密接な相関関係を持ち非常に正確なモデルになります。したがって、精度の測定は、信頼性の評価とのバランスを取る必要があります。
信頼性は、異なるデータセットに対するデータ マイニング モデルの性能を示します。提供されるテスト データに関係なく同じ種類の予測が生成される場合や同種の一般的パターンが発見される場合、データ マイニング モデルは信頼性が高いと見なされます。たとえば、誤った会計手続きが行われていた店舗に対して生成されたモデルは、他の店舗用にはうまく一般化できず、信頼性がないことになります。
実用性には、モデルによって有用な情報が提供されるかどうかを示す各種のメトリックが含まれます。たとえば、店舗の場所と売上の相関関係を求めるデータ マイニング モデルの場合、高い精度と信頼性を持つと評価される一方で、同じ場所にさらに店舗を追加してその結果を一般化することができないという理由で実用的でない可能性があります。さらに、このデータ マイニング モデルでは、特定の場所でなぜ売上が多いのかという基本的な業務上の疑問点に対する回答が示されません。また、問題がないように見えたモデルがデータ内の相互相関に基づいているので実際は無意味である場合もあります。
Microsoft データ マイニング フレームワーク
CRISP-DM は、データ マイニング プロジェクトの定義、開発、および実装の手順を説明する広く知られている手法です。ただし、CRISP-DM は、概念的フレームワークであり、プロジェクトのスコープやスケジュールをどのように設定するかについての特定の指針は示されていません。データ マイニングに興味はあるけれどもプラン作成の方法がわからないビジネス ユーザーや、.NET アプリケーション開発については詳しいけれどもデータ マイニングについては経験がない開発者の特定のニーズに対応するために、Microsoft では、包括的な評価システムを含むデータ マイニング プロジェクトを実装するための手法を開発しました。
詳細については、Microsoft データ マイニング リソースのページを参照してください。
SQL Server Analysis Services でのマイニング モデルの検証方法
SQL Server 2008 では、データ マイニング ソリューションを検証するための複数の方法をサポートして、データ マイニング開発手法のすべてのフェーズをサポートしています。
トレーニング セットとテスト セットへのデータのパーティション分割
トレーニング セットとテスト セットにデータをパーティション分割することは、評価用データを準備するための確立された方法です。トレーニング データセットのデータの一部をテスト用に予約し、残りのデータをトレーニング用に使用します。完成したモデルを使用して、テスト セットに対して予測を作成します。トレーニング セットのデータはトレーニング用に使用される同じデータから無作為に選択されるので、テストから求められた精度の基準は、データの差異による影響を受ける可能性が小さく、モデルの特性が適切に反映されます。
詳細については、「トレーニング セットとテスト セットへのデータのパーティション分割 (Analysis Services - データ マイニング)」を参照してください。
マイニング モデルの相互検証
相互検証では、データセットを多くの小さなセクションにパーティション分割し、セクションに対して複数のモデルを作成して、完全なデータセットの妥当性をテストします。その後 Analysis Services により、パーティションごとの詳細な精度の基準が生成されます。この情報を使用して、個々のモデルの品質を高めたり、特定のデータのセットに対して最適なモデルを識別したりできます。
詳細については、「相互検証 (Analysis Services - データ マイニング)」を参照してください。
マイニング モデルの精度のグラフ化
MicrosoftSQL ServerAnalysis Services には、予測精度をグラフ化したり、新しいデータや既存のデータに対してモデルをテストしたりするためのツールが用意されています。また、グラフやレポートの中で複数のモデルを比較するためのツールもあります。
リフト チャートは、ランダムな推測と比較したときにデータ マイニング モデルを使用したことによる改善を視覚化するための方法です。また、財務的利益またはコストをマイニング モデルの使用に関連付ける利益チャートや、回帰モデル用に散布図を作成することもできます。分類マトリックスは、良い推量と悪い推量をテーブルに並べ替えて、モデルによるターゲット値の予測精度を簡単に評価できるようにするための方法です。
詳細については、「モデルの精度をグラフ化するためのツール (Analysis Services - データ マイニング)」を参照してください。
さらに、モデルにさまざまなフィルタを適用して、同じソース データの異なる組み合わせでトレーニングおよびテストを行うことができます。詳細については、「マイニング モデルの精度の測定 (Analysis Services - データ マイニング)」を参照してください。
モデル コンテンツおよびケースの参照およびクエリ
Analysis Services には、モデルを参照および調査するためのデータ マイニング ビューアのセットが用意されています。さらに、モデルを理解し、方法またはデータにおける予期しない問題を発見するのに役立つコンテンツ クエリを作成できます。データ マイニング拡張機能 (DMX) を使用してコンテンツ クエリを作成すると、マイニング モデルによって発見されたパターンに関する統計情報や、モデルによって発見された特定のパターンをサポートするケースを取得できます。さらに、基となるマイニング構造の詳細に対してドリルスルーを行って、モデルに含まれていない詳細情報を発見または提供したり、データ内で発見されたパターンに対して処理を実行したりできます。
モデル コンテンツに対してクエリを実行する方法の詳細については、「データ マイニング モデルのクエリ (Analysis Services - データ マイニング)」を参照してください。
モデル コンテンツを参照する方法の詳細については、「データ マイニング モデルの表示」を参照してください。
特定のアルゴリズム用にモデル コンテンツを解釈する方法の詳細については、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。