1 データ・マイニングとは
データ・マイニング・テクノロジへのオリエンテーションです。
ノート:
データ・マイニングに関する情報は、幅広く提供されています。現在の知識に関係なく、データ・マイニングに関して役立つドキュメントや記事を見つけることができます。
1.1 データ・マイニングとは
データ・マイニングについて学習します。
データ・マイニングとは、以前には不明だったデータ間の関係を検出する技術です。データ・マイニングとは、大量に保管されているデータを自動的に検索して、単純な分析では得られないパターンや傾向を見つける手続きです。データ・マイニングでは高度な数学的アルゴリズムを使用して、データを分割し、過去のイベントに基づいて将来のイベントの発生可能性を予測します。データ・マイニングは、データからの知識発見(KDD)としても知られています。
データ・マイニングの主要な特性を次に示します。
-
パターンの自動検出
-
発生確率の高い結果の予測
-
実用的な情報の作成
-
大規模なデータセットおよびデータベースへの特化
データ・マイニングを行うと、単純な問合せや報告技術では解決できない問題を解決できます。
1.1.1 自動検出
データ・マイニングは、アルゴリズムを使用してデータセットに作用するモデルによって実行されます。データ・マイニング・モデルは、そのモデル作成の基になったデータのマイニングに使用できますが、ほとんどのタイプのモデルは新しいデータに一般化することが可能です。新しいデータに対してモデルを適用するプロセスはスコアリングとも呼ばれます。
1.1.2 予測
データ・マイニングの多くの形式には予測の側面があります。たとえば、あるモデルは、教育レベルなどの人口統計要素に基づいて収入を予測します。予測には、確率(この予測が正しいことの確からしさ)が関連しています。予測確率は信頼度(この予測を信頼できる程度)とも呼ばれます。
一部の予測データ・マイニングでは、特定の結果を示す条件である、ルールが生成されます。たとえば、あるルールは、学士号を持っていて特定の地域に住んでいる人は、収入が地域の平均収入よりも高いことが多い、ということを表します。ルールには、支持度(母集団のうちこのルールに適合する個体の割合)が関連しています。
1.1.3 グループ化
データ・マイニングの他の形式として、データ内の自然なグループを識別するというものがあります。たとえば、モデルによって、母集団のうち、収入が特定の範囲内にある集団、良好な運転歴を持つ集団、年単位で新車をリースする集団を識別するような場合です。
1.1.4 実用的な情報
データ・マイニングでは、大量のデータから実用的な情報を導き出すことができます。たとえば、都市設計家の場合、低所得者向け住宅を開発する際に、人口統計に基づいて収入を予測するモデルを使用することが可能です。自動車のリース会社では、付加価値の高い顧客を対象とする販促を計画するために、顧客の各セグメントを識別するモデルを使用できます。
1.1.5 データ・マイニングと統計
データ・マイニングと統計はかなりの部分で重複しています。実際、データ・マイニングで使用される技術のほとんどは統計の範疇に収まります。しかし、データ・マイニング技術は従来の統計手法と同一ではありません。
統計モデルでは、通常、データについて強い仮定をし、その仮定に基づいて、結果について強い表明を行います。ただし、仮定に欠陥があると、モデルの妥当性は疑わしくなります。これに対し、データ・マイニングで使用される機械学習手法では、通常、データについて弱い仮定を行います。その結果、データ・マイニングでは、一般的に結果についてこのような強い表明を行うことはできません。ただし、データ・マイニングでは、データにかかわらず非常に良好な結果を得ることができます。
従来の統計手法では一般的に、モデルの精度を検証するためにユーザーとの対話が相当量必要になります。そのため、統計手法の自動化は難しい場合があります。統計手法は、大規模な母集団内の小規模な代表サンプルに基づいた仮説の検定または相関の検出に依存しているためです。
データ・マイニングでは、ユーザーとの対話やデータの知識は少なくて済みます。ユーザーは、ある手法が特定のデータセットに対して有効となることを保証するために、データを操作する必要はありません。データ・マイニング技術は、従来の統計手法よりも簡単に自動化できます。
1.1.6 データ・マイニングとOLAP
On-Line Analytical Processing (OLAP)は、多次元データの高速な分析であると定義できます。OLAPとデータ・マイニングは異なりますが、相互に補完的なアクティビティです。
OLAPでは、データ集約、コスト割当て、時系列分析およびwhat-if分析などのアクティビティがサポートされています。ただし、ほとんどのOLAPシステムには、時系列予測のサポートを超える帰納的推論の機能はありません。特定のサンプルから一般的な結論を導き出すプロセスである帰納的推論は、データ・マイニングの特性です。帰納的推論は、計算論的学習とも呼ばれます。
OLAPシステムではデータの多次元的ビューが提供され、階層が完全にサポートされます。このデータ・ビューは、企業や組織の分析に一般的に使用される様式です。
データ・マイニングとOLAPは、様々な方法で統合できます。OLAPを使用すると、データ・マイニングの結果を様々な粒度レベルで分析できます。データ・マイニングを使用すると、より興味深い有益なキューブを作成できます。たとえば、予測データ・マイニングの結果をカスタム・メジャーとしてキューブに追加できます。このようなメジャーにより、各顧客について「債務を履行しない可能性が高い」または「購入する可能性が高い」などの情報を提供できます。OLAP処理を使用すれば、さらに確率を集計したり要約したりできます。
1.2 データ・マイニングで可能なこと、不可能なこと
データ・マイニングは、データ内のパターンや関係性の検出に役立つ強力なツールです。ただし、データ・マイニングは単独では機能しません。データ・マイニングを実施しても、ユーザーによるビジネス、データおよび分析手法への理解が必要であることに変わりはありません。データ・マイニングによってデータに隠された情報が発見されても、その情報がユーザーの組織にとってどのような価値を持つかは提示できません。
ユーザーは、長期にわたってデータを処理してきた結果、重要なパターンについてはすでに認識している可能性があります。データ・マイニングでは、そうした経験的観測の追認や適切性の確認ができ、その上で、簡単な観測ではすぐには認識できない可能性のある新たなパターンを発見できます。
データ・マイニングで発見された予測的な関係性は、必ずしも行動や態度の原因にはならないことに留意することが重要です。たとえば、データ・マイニングによって、「収入が$50,000から$65,000で、特定の雑誌を購読する男性は、特定の製品を購入する傾向にある」と判断されたとします。ユーザーは、この情報をマーケティング戦略の開発に利用できますが、ただし、データ・マイニングによって識別された集団に属しているという理由から、その集団の構成員がその製品を購入することを前提とすべきではありません。
データ・マイニングによって得られるのは、確率であり、正確な答えではありません。頻度の低いイベントが、頻繁ではなくとも、起こる可能性があることに注意してください。
1.2.1 適切な問題の設定
データ・マイニングでは、ガイダンスがなければ自動的に情報は発見されません。データ・マイニングを通じて発見されるパターンは、ユーザーが問題をどのように設定するかによって大きく異なります。
意味のある結果を得るには、適切な設問のしかたを学習する必要があります。たとえば、ダイレクト・メールによるセールスへの反応を向上させる方法を知ろうとするよりは、過去にセールスに対して反応した顧客の特性を検出しようとする方が有用な場合があります。
1.2.2 データの理解
意味のあるデータ・マイニング結果を確実に得るには、現在保持しているデータを理解する必要があります。データ・マイニングのアルゴリズムは多くの場合、外れ値(データベース内の典型的な値と大幅に異なるデータ値)、無関係な列、一緒に変化する列(年齢と誕生日など)、データ・コーディング、ユーザーによるデータ選別(追加または除外)など、データの特定の特性に影響を受けます。アルゴリズムで必要とされるデータ準備の多くは、Oracle Data Miningによって自動的に実行可能です。ただし、データ準備の中には、一般的にドメインやデータ・マイニング問題に固有のものもあります。いずれにしても、モデルの適用時に結果を正しく解釈できるように、モデルの作成に使用するデータについて理解しておく必要があります。
1.3 データ・マイニングのプロセス
次の図に、データ・マイニング・プロジェクトの各フェーズおよび反復的な性質を示します。このプロセス・フローでは、特定の解決が得られた後もデータ・マイニング・プロジェクトは停止しないことを示しています。データ・マイニングの結果からビジネス上の新たな問題が提起され、この問題を利用してさらに的確なモデルを開発できます。
1.3.1 問題の定義
データ・マイニング・プロジェクトの最初のフェーズでは、プロジェクトの目的および要件の把握に取り組みます。ビジネスの観点から問題を特定した時点で、それをデータ・マイニング問題として編成し、暫定的な実装計画として開発できるようになります。
たとえば、ユーザーの抱えるビジネス上の課題が、「顧客に対する製品の販売数を増やすにはどうしたらよいか」であるとします。この問題は、「どのような顧客が最もその製品を購入する傾向にあるか」というデータ・マイニング問題として解釈できます。どの顧客が最もその製品を購入する傾向にあるかを予測するモデルは、過去にその製品を購入した顧客を説明しているデータに基づいて作成する必要があります。モデルを作成する前に、対象製品を購入したことがある顧客と購入したことがない顧客との間の関係が含まれている可能性のあるデータを集めることが必要です。顧客の属性となるものには、年齢、子供の数、居住年数、持ち家/賃貸などが考えられます。
1.3.2 データ収集、準備および特徴エンジニアリング
ビジネス上の課題を解決するためのデータの収集、データの準備および特徴のエンジニアリング方法を理解します。
データの把握フェーズでは、データの収集や調査を行います。データを詳細に調べるほど、そのデータによって当該のビジネス問題をどの程度解決できるかを判断できるようになります。一部のデータの削除や、他のデータの追加を行います。また、このフェーズでは、データの質に関する問題の識別やデータ内のパターンのスキャンも行います。
データの準備フェーズでは、モデルの作成に使用する表またはビューの作成に必要なタスクをすべて実施します。データ準備のタスクは複数回にわたって実行される可能性が高く、所定の順序には従いません。タスクには、列の選択およびビューの作成に加え、データの整備や変換も含まれることがあります。たとえば、DATE_OF_BIRTH
列のAGE
への変換や、INCOME
列がNULLのケースへの平均収入の挿入といったタスクが考えられます。
さらに、データの表層に近い情報を得るために、新しく計算した属性を追加する場合もあります(通常、特徴エンジニアリングと呼ばれます)。たとえば、購入金額を使用するかわりに、「12か月のうちで購入金額が500ドルを超えた回数」といった新しい属性を作成できます。大きい買い物を頻繁に行う顧客も、値引きに反応する顧客または反応しない顧客と関連がある場合があります。
十分に考慮してデータを準備し、ドメイン・ナレッジを取得する新しい「エンジニアリングされた機能」を作成すると、データ・マイニングで発見される情報の価値を大幅に高めることができます。Oracle Database内で、データ・アナリストがこれらのデータ・アセンブリ、データ準備、データ変換および機能エンジニアリングを実行できるようにすることがOracleの重要な違いです。
関連項目
1.3.3 モデルの作成と評価
このフェーズでは、様々なモデリング手法を選択して適用し、パラメータを最適な値に調整します。アルゴリズムでデータの変換が必要な場合、前のフェーズに戻って、その変換を行う必要があります。
最終的なデータセットには何千、何万という数の行が存在する可能性があるため、暫定的なモデルを作成するときは、多くの場合データセットの数を少なくして作業する方が合理的です。
プロジェクトのこの段階では、(フェーズ1で)最初に掲げたビジネス上の目標をモデルがどの程度満たしているかを評価します。製品を購入する可能性のある顧客をモデルで予測するはずだった場合、そのモデルは2つのクラス間を十分に区別していますか。リフトは十分に存在しますか。混同マトリックスに示されているトレードオフは許容できますか。テキスト・データを追加することによって、そのモデルの精度は向上できますか。購入品など、トランザクショナル・データ(マーケット・バスケット・データ)は含める必要がありますか。不適切なポジティブまたは不適切なネガティブに関連付けられるコストをモデルに組み込む必要がありますか。
1.3.4 知識の配置
知識の配置とは、ターゲット環境内でデータ・マイニングを利用することです。配置フェーズでは、本質的かつ実用的な情報をデータから導き出すことができます。
配置では、スコアリングの実行(新しいデータへのモデルの適用)、モデルの詳細(デシジョン・ツリーのルールなど)の抽出の他、アプリケーション、データ・ウェアハウス・インフラストラクチャ、問合せツールやレポート・ツールなどへのデータ・マイニング・モデルの統合などを行います。
Oracle Data Miningによるモデルの作成および適用はOracle Database内で実行されるため、その結果はすぐに利用できます。データ・マイニングの結果は、BIレポート・ツールまたはダッシュボードで簡単に表示できます。さらに、Oracle Data Miningではリアルタイムのスコアリングもサポートしているので、データのマイニング結果が1回のデータベース・トランザクション内で戻されます。たとえば、販売担当者は、不正の可能性を予測するモデルをオンライン販売のトランザクションのコンテキスト内で実行できます。