ホーム > ソリューション > エンタープライズ・データウェアハウス > データマイニング > Teradata Warehouse Miner を利用したデータマイニング

Teradata Warehouse Miner を利用したデータマイニング

山本 泰史
日本テラデータ株式会社 マーケティング統括部
マーケティング部 スペシャリスト

大量明細データから知識を導き出す「次の一手」

Teradata の内部(In-Database)で動作し、Teradata のパフォーマンスを最大限に活用するデータマイニング・ツール「Teradata Warehouse Miner」をご存じですか? この製品は予測、分類といったデータマイニング業務に活用できるだけでなく、マスターデータ管理を実施時に必要となる、データプロファイリングにも利用可能なツールです。データの全体像をつかみ、データ品質が劣化しているポイントを発見し、改善することは、データウェアハウス上でさまざまにデータを活用する上でも不可欠です。ここではその機能と代表的な特徴をご紹介します。

分析手法としてのデータマイニング

最初に、データマイニングの分析手法をご存じない方のために、その考え方をご紹介します。データマイニングは、膨大なデータに潜んでいる知識を、モデル/スコアとして導き出す手法です。モデル/スコアを一般的な表現に置き換えると、パターンや傾向を意味します。ここでは例として、あるキャンペーンに対する顧客の反応確率を算出するプロセスを考えてみます。過去に同様のキャンペーンを実施しており、案内に対して反応頂けた顧客と、反応がなかった顧客がいるとします。この 2種類の顧客にはどのような違いがあるでしょうか。図1 はこの 2種類の顧客に関する表です。

図1. ロジスティック回帰分析の変数表
<キャンペーン反応を説明するデータは何か?>
顧客番号 反応/無反応 性別 年齢 商品A購入 商品B購入
1 反応 男性 55 購入 購入  
2 反応 女性 50 購入 購入  
3 反応 男性 45 購入 未購入  
4 反応 女性 40 購入 未購入  
5 無反応 女性 35 未購入 購入  
6 無反応 男性 30 未購入 購入  
7 無反応 女性 25 購入 未購入  
8 無反応 男性 20 未購入 未購入  
           

一見頂くと、キャンペーンに反応しそうな顧客は年齢が高く、商品A の購入顧客であることが想定できます。一方、性別や商品B の購入は関係がなさそうです。しかしながらこの表の行と列が膨大になったら、その想定は大変です。端的には、これをコンピューターに任せるのがデータマイニングです。

このような命題に対しては通常、ロジスティック回帰分析という分析手法を用い、データを分析します。ロジスティック回帰分析におけるモデルは数式であり、その答えは確率 = スコアとして算出されます。ロジスティック回帰分析は図1 の表を分析し、各データ(性別、年齢、各購入商品等) を数式に代入すると、確率値( 0 から 1 の範囲で表現される発生確率) が算出される数式を構築します。

図1 に表示されている部分のデータ傾向がそのまま反映されるなら、年齢の高さと商品A の購入は確率を大きく押し上げます。そして、ここで得られた数式をほかの顧客データ(例:顧客番号 300番の顧客) に適用します。300番の顧客の性別、年齢、各購入商品等を数式に代入することによって、300番の顧客の反応確率が算出されます。反応確率が 0.7 であるとすれば、70%の確率でキャンペーンに反応することを意味します。また言い換えれば、300番の顧客と同じデータ傾向を有している顧客の 70%が、過去のキャンペーンに反応したことを示しています。このような確率スコアを対象顧客の全てに対して計算することによって、キャンペーン反応確率の高い顧客を定量的に理解することが可能となるのです。データマイニングが予測手法として捉えられている所以は、このような確率スコアを算出してくれるが故です。

Teradata Warehouse Miner には、ロジスティック回帰分析を含め、以下 6つの分析手法が用意されています。

  • 線形回帰分析
  • ロジスティック回帰分析
  • 因子分析/主成分分析
  • クラスター分析
  • デシジョンツリー
  • アソシエーション分析

各手法についての説明は割愛しますが、いずれも確率スコアもしくは分類スコア(データA とデータB はグループ#1、データC はグループ#2...)を析出する手法です。またモデルとしては前述した数式モデルの他に、IF THEN ルール(もし A が発生したら、B が発生する)の形式もあります。分析したい命題に対して適切な手法を選択します。

分析データセット(変数表)の作成

前述のロジスティック回帰分析に利用したような表(図1)を、分析データセット(ADS: Analytical Data Set)、もしくは変数表と呼びます。データマイニングでは、このような単一の表を分析対象として用意する必要があります。Teradata Warehouse Miner の特徴は、ADS の構築から、構築された ADS に対する分析(モデル構築とスコア算出)に至るプロセスを全て Teradataデータベース内部で実行できる点にあります(図2)。これによって Teradata のパフォーマンスを最大限活用すること、またデータを外部に移動させる手間を省くことが可能となります。このような利点は効率性だけではありません。例えば顧客データをデータウェアハウスの外に出す必要がなくなるため、顧客情報を無用な流出の危険にさらすこともなくなるのです。

図2. データベース内部で処理の全てを遂行

一般にデータマイニングを進める場合、ADS投入データの取捨選択は試行錯誤的に進められ、結果、多くの時間を浪費します。モデルを構築するのはデータであり、精度の高いモデルを構築するためにはデータを変更するしかありません。しかしながらこの作業のたびにデータウェアハウスからデータをダウンロードしていたら、そして ADS に含めるデータが行、列共に膨大となったら、その手間は甚大になります。これをデータベース内部に構築し、汎用的な大規模ADS として用意すれば、各分析で必要なデータを選択/利用可能です。実際、Teradata をご利用の企業には、数百万(行) の顧客に関する、数千(列) に及ぶ ADS を構築している例もあります。

また、他のデータマイニング・ツールをお使いの際にも、この ADS を利用可能です。データのダウンロードはしなければなりませんが、各データマイニング・ツール環境にデータを移動させ、そこでモデル構築を行えます。スコア算出作業を Teradata Warehouse Miner に任せたい場合には、PMML: Predictive Model Markup Language もしくは SQL形式でモデルをアップロードさせることも可能です。アップロードさせたモデルを Teradata内部で実行すれば、スコアが算出され、Teradata内のテーブルにスコアが書き込まれます。前述のキャンペーン反応確率算出の場合であれば、Teradata内部で反応確率スコアが算出され、それをそのまま、キャンペーン管理ツールや分析アプリケーションで利用可能です。

データプロファイリング/品質評価

データマイニングでどのデータを選択するか決定する際には、データ概要の把握が必要です。この作業をデータプロファイリングと呼びますが、これによりデータ品質が好ましくない状況にあることを発見する場合があります。このようなデータ品質の劣化は、データマイニングを実施する場合だけでなく、昨今重要視されてきているマスターデータ管理においても重要なテーマと言えます。

マスターデータ管理とは、顧客マスターや商品マスター、勘定項目といった各種マスターデータを適切に管理していくための手法であり、ソフトウェアツールです。機能として、マスターデータの構造をデザインする機能、複数システム間でどのデータとどのデータが等しいかを関連付ける機能、そして複数システム間でマスターデータを同期させる機能を有します。またマスターデータ管理ツールには、データ品質をチェック、維持するためのルール実装機能も用意されています。しかしながら肝心のルールは、各企業がデータ環境に応じて設定するしかありません。「どんなルールを実装すべきか?」 - この問いには答えてくれないのです。Teradata Warehouse Miner はこのようなルールの発見を行うためにも適切なツールです。

ここではデータ品質劣化の典型例として顧客属性マスターの重複(名寄せ候補対象行検出)を挙げ、Teradata Warehouse Miner の「頻度分析」を適用することにします。この例では「氏名カナ」、「郵便番号」、「電話番号」が等しい行を単一の行として返します。名寄せ候補対象を知りたいため、件数>=2 となる行のみを表示させると、その結果は図3 のような形式で表示されます。このデータは、複数の異なるチャネル等からデータ統合された際に重複が検出されず、異なる顧客として認識されていたと想定されます。例えばアベタカシさんには 3つの顧客番号が振られています。この場合、前述のデータマイニング分析で正しい反応確率を算出することはできませんし、もっと基礎的な、例えばアベタカシさんの総売上金額を理解する際にも支障をきたしてしまいます。顧客重要度を正確に理解できないのです。

図3. 頻度分析の実施結果
<氏名カナ、郵便番号、電話番号が重複している顧客は?>
氏名カナ 郵便番号 電話番号 件数
アベタカシ 103-45XX 345-64XX 3
イデタケシ 104-32XX 346-46XX 2
ウラタカオ 105-67XX 364-57XX 2
     

Teradata Warehouse Miner ではこのような実行結果を表示させるだけではなく、検出するために実施されたクエリー(SQL文) を表示することができます。これをコピーし、マスターデータ管理ツール上のルールとして実装すれば、継続的に顧客属性マスター上の重複を検出することが可能です。

このようにして改善されたデータ品質は、データマイニングやマスターデータ管理のみならず、キャンペーン管理や他の分析アプリケーション活用時にも威力を発揮します。またマスターデータ管理ツールを通じて、他のチャネルシステムにこのデータが行き渡れば、各コンタクトポイントにおける接客活動にも功を奏します。品質の高いデータを基盤にすることによって、“意思決定の精度”と“日常業務の質”の両方が改善されるのです。

ページの先頭に戻る