ホーム > 情報ライブラリー > マーケティング・アナリティクス > データマイニング・ヒッチハイクガイド > 第14回:決定木(1)このページを印刷する

マーケターのための
データマイニング・ヒッチハイクガイド

第14回:決定木(1)

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

この手法は意思決定ツリー、またはデシジョンツリーとも呼ばれる手法で、樹形図、またはツリー構造と呼ばれる図を作り出し、アウトプットには分類を行なうためのルールを作成します。決定木を実施した場合、アウトプットとして以下図33 のようなツリー構造が示されます。ここで、このツリー構造は、ノード(節)と、そこから分岐したリーフ(葉)で示されます。ノードはそこからの分岐条件を示し、データサンプル(ここでは顧客)は次のノード、もしくはリーフへと引き渡されます。リーフはこれ以上分岐する必要がない状態を意味し、最終的な分類を意味します。これを別な形で表現すると、以下図34 のような IF THEN形式のルールになります。

図33. ツリー構造
図34. IF THEN形式で記述されたルール

決定木は、上述した例のように予測(購入するグループと、しないグループ)に活用することも可能ですし、この構造を利用して分類に活用することも可能です。クラスター分析は分類の分岐条件を提示しないため、人間がそれを解釈しなければならないのに対して、決定木はこのような IF THEN形式によって分類の分岐条件を説明してくれます。そのため、分類に対する理解を得やすいという性質があります。しかしながらクラスター分析で紹介したような傾きのある直線で分岐を行なう形式ではないため、分岐そのものの鋭さという意味ではクラスター分析が勝っていると言えます。

 

利用するデータセット

図35 をご覧頂きたいのですが、縦軸に顧客をリストアップし、説明変数として年齢、住居区分、そして住宅ローン購入(申し込み)有無に関するデータをデータセットとして用意しています。ここでの命題は、年齢、住居区分を用いて住宅ローン購入の有無を説明することです。本来はもっと多くの変数を用いることになるはずですが、ここでは手法について紹介することが目的であるため、若干乱暴であることは承知の上でこの 2変数のみを利用します。尚、各データ値にはアルファベット(M)とその意味合い(男性)が表示されていますが、実際にデータ値として利用されるのは数値(0 or 1)データです。補足と以降の説明のため、以下のように記載しています。以降各データ値は、例えば男性であれば M で説明をしていきます。また住居区分は、住宅ローンを組む前のステータスデータです。従って、比較的若い方で親元に暮らしている方の場合、その家が持家であれば、「持家」と区分されます。同様にその住居が賃貸であれば「借家」となります。もちろんその本人が世帯主となっている住居について分類されている場合もあります。

住宅ローンの購入データは、被説明変数として利用されるデータであり、言わば結果のデータです。この結果つきのデータを用いてルールを構築します。スコアリングにおいてはこのルールを用いますが、当然ながら購入データは存在せず、これが予測の対象となります。与えられた変数のみで住宅ローンの購入有無を説明、予測できれば、住宅ローンを販売するべき顧客群を特定することが可能となります。「住宅購入顧客を決定付ける条件(変数とその分岐)は何か?」ということがここでの答えになるのです。

図35. データセット

決定木を作り出す上で実施される分類手法、分類の基準には、主にジニ係数(CART)、もしくはエントロピー(C4.5)のいずれかが用いられます。ここではそのそれぞれについて、簡単に紹介することにします。

 

ジニ係数(CART)

データマイニングの世界では CART として、計量経済学(マクロ経済の計量的把握を目的とした経済学)の分野ではジニ係数として知られるアルゴリズムをここでは利用します。ジニ係数は本来、社会における所得分配の均衡、不均衡を表すために用いられている尺度であり、0 から 1 の値をとり、0 に近いほど平等な社会であるとされ、逆に 1 に近いほど格差が大きく、不平等(高所得者への所得集中)な社会であるとされています(例えばブラジルのジニ係数は 0.6 を越えます。一方で日本のジニ係数は大体 0.3 から 0.4 の間にありましたが、90年代以降上昇傾向にあり、0.5 に近い数値に推移しています)。データマイニングにおいて、ジニ係数の 0 は値の純粋さ(Pureness)を意味し、これ以上分割できない状態を意味します。一方で分類前のデータは比較的 1 に近い状態にあり、ジニ係数を 1 から 0 へと近づけていくように分類していくことが、決定木における分類の考え方です。

決定木においては、既に求めたい結果が分かっているデータを利用して分類モデルを作成していきます。例えば、「ある商品を購入するか否か」を最もよく説明してくれる分類を作成したとき、既に当該商品を購入した顧客のデータ、そして購入しなかった顧客のデータが用いられます。つまり利用すべき変数の 1つに [商品購入 : Yes / No] のデータが存在しており、この Yes と No をきれいに選り分けてくれる説明変数と、それに適用する分岐条件を探し出すことが目的となります。ちなみに上述した値の純粋さとは、究極的に分類されたデータが全て Yes の値をとる、もしくは全て No の値をとることです。従って最初のノードにある全てのデータの不純さ(Impureness)を、分割することによって純化していく作業であるとも言えます。(デリカシーがない表現なのは承知の上で)ブラジルのジニ係数に喩えるのであれば、所得の高い人と、所得の低い人に人口を分割して 2つの国を作ることによって、それぞれの国のジニ係数を低下させると考えていただくと理解しやすいのではないかと思います。

さて、ここで購入を説明するデータセットとして図35 を考え、これに基づいた処理の流れを以下の図36 で例示することにします。このケースにおいて利用できる変数は 2つのみであり、とりうるパターンはどちらの分岐を上のノードに持ってくるかだけです。従って、アルゴリズムがそうするように、この 2つのパターンをそれぞれに計算して、吟味することにします。当然ながらコンピューター上で実施されるアルゴリズムはこのような計算を、多くの変数を用いて実施することになりますし、またそれぞれの変数における分岐もこのケースに見られるようなオン/オフの分岐だけではありません。ただし、このアルゴリズムを用いる場合の分岐数は必ず 2つになります。

図36. ジニ係数による計算過程

データマイニングにおいてジニ係数は、確率的な考え方をベースに構築されます。図36 のノード #0 では、最初のノードのジニ係数を計算していますが、これは Yes を発生確率、No を発生しない確率と見立てた場合の、それぞれの 2乗を 1 から引いて得られたものです。あるノード(どこでも良いのですがノード #0 とします)に含まれるレコード群を考えます。ここではそれぞれが Y もしくは N の値を必ず持っており、このノードから 1つのデータサンプルをピックアップしたときの Y が出る確率と、N が出る確率はそれぞれ 5/11 と 6/11 となることを意味しています。また、ここでこのピックアップを 2回実施したとき、その組み合わせは、{YY, YN, NY, NN} となります。例えば YY の同時発生確率は、(5/11)*(5/11)=(5/11)2 で表されます。そしてこのいずれかが発生するため、確率の総和 =YY+YN+NY+NN=1 が成り立ちます。ジニ係数とは不純さを示す尺度として用いられるため、ここでジニ係数は YN+NY で求められ、左辺に YN+NY、右辺に 1-(YY+NN) を置いて、YN+ NY=1-(YY+NN) となります。言い換えると、右辺は不純である確率の合計であり、左辺は 1 から純粋である確率を差し引いた値であり、両辺は等しい関係にあります。そしてここで右辺は 1-((5/11)2+(6/11)2) となり、これがジニ係数です(図36 内 0.496)。

ここでノード #0 では、Yes が 5、No が 6 となっているため、確率的には不純であり、よってジニ係数も 0.496 という数値になっています。まずこれを性別に基づいて分類することにします(案1)。女性に分岐した方は、購入=3、未購入=3 となっており、不純なままです。単独のジニ係数を見ると係数が逆に上昇していることが分かります。男性に分岐した方は、購入者数 =2、未購入者数 =3 となり、あまり不純さは変わりそうにありません。単独のジニ係数では 0.480 となっています。ここではこのノードレベルでのジニ係数を理解したいため、加重平均を取ると、案1 におけるジニ係数の加重平均は、0.491 となり、さほどジニ係数を低下させていないようです。

これに対して案2 を見た場合、住居区分は購入/未購入の別を説明するのにより良い変数であることが想定されます。同様の計算を施すと、それぞれのジニ係数が、0.444、0.320 となり、加重平均は 0.388 となります。よって最初に分類として利用するべきは、住居区分であることが分かり、案2 が採用されます。

さらにこの下のノードレベル(ノード#2)で、性別に基づいて分岐を重ねていくことにします。ここで注目していただきたいのは、持家女性(O-F)の分岐と、借家男性(R-M)の分岐です。ジニ係数が 0 となっており、これ以上ない均質さ(Yes もしくは No のどちらかで独占されている状態)を有していることが分かります。ここまで進むと分岐は終了します。ただし、借家男性(R-M)の分岐に属するデータが 1件しかないというのはちょっと心もとないものです。元々のデータサンプルが 11件しかないため無理もないのですが、実際には膨大な件数のデータを用いる際にもこのようなことは発生します。当然ながらジニ係数 =0 に向かって分岐を繰り返していくため、最終的に枝葉のレベルではこのような小さなサンプルに基づいたルールが発生することになるのです。そのため、実際にはこのモデル作成に利用したデータとは別のデータにこのモデルを適用させることによって、エラーの発生率を把握し、実際に有意なノードを残して、有意でないノードを刈り取ることになります。「有意でないノードを刈り取る」とはつまり、与えられたデータに特有の傾向、しかも枝葉末節に至る傾向をモデルとして取り込んでしまっていて、一般的なデータに対して適用できない部分を削除することです。これによってモデルの適用性を高めることが可能となります(このプロセスは枝刈り、またはプルーニングと呼ばれます)。(次ページへ続く)

1|2

・Teradata はTeradata Corporationの登録商標です。本文中の社名、製品名は各社の商標または登録商標です。
・本文中に記載されている製品情報は、予告なく変更する場合がありますのでご了承ください。