(57)【要約】【課題】  データ集合間の相違を簡易に算出する。【解決手段】  説明変数の値から被説明変数の値を推測する決定木を複数入力し、各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出し、または、各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出し、算出された前記出力差異条件あるいは前記出力同一条件を出力する。【選択図】  図１
2006011708.tif 000002
【特許請求の範囲】
【請求項１】
説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力部と：
各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出部と：
算出された前記出力差異条件又は前記出力同一条件を出力する出力部と：
を備えたデータ分析装置。
【請求項２】
前記条件算出部は、各前記決定木にそれぞれ説明変数の値を入力して各前記決定木からそれぞれ被説明変数の値を取得し、各前記決定木から取得した被説明変数の値を比較し、比較結果に基づいて前記出力差異条件又は前記出力同一条件を算出することを特徴とする請求項１に記載のデータ分析装置。
【請求項３】
前記条件算出部は、
前記末端ノードの値が互いに異なるルートノードから末端ノードへ至るパスを各前記決定木からそれぞれ選択し、
選択された前記パス間で、前記パスに含まれる説明変数の条件が互いに重複する範囲を前記出力差異条件として算出する、
ことを特徴とする請求項１に記載のデータ分析装置。
【請求項４】
前記条件算出部は、
前記末端ノードの値が互いに同一であるルートノードから末端ノードへ至るパスを各前記決定木からそれぞれ選択し、
選択された前記パス間で、前記パスに含まれる説明変数の条件が互いに重複する範囲を前記出力同一条件として算出する、
ことを特徴とする請求項１に記載のデータ分析装置。
【請求項５】
前記条件算出部は、前記決定木においてルートノードから指定された範囲までに含まれる説明変数からなる部分決定木を前記決定木に基づき生成し、生成した前記部分決定木を対象の決定木として用いる、
ことを特徴とする請求項１乃至４のいずれかに記載のデータ分析装置。
【請求項６】
前記決定木は、複数の事例データに基づいて生成されたもので、前記決定木を構成する、ルートノードから末端ノードへ至る各パスに対応する前記事例データの数を保持しており、
前記条件算出部は、前記決定木において、前記事例データの数が所定の基準に達するパスを特定し、前記特定されたパスからなる部分決定木を生成し、前記生成された部分決定木を対象の決定木として用いる、
ことを特徴とする請求項１乃至４のいずれかに記載のデータ分析装置。
【請求項７】
説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力ステップと：
各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出ステップと：
算出された前記出力差異条件又は前記出力同一条件を出力する出力ステップと：
を備えたデータ分析方法。
【請求項８】
前記条件算出ステップは、各前記決定木にそれぞれ説明変数の値を入力して各前記決定木からそれぞれ被説明変数の値を取得し、各前記決定木から取得した被説明変数の値を比較し、比較結果に基づいて前記出力差異条件又は前記出力同一条件を算出することを特徴とする請求項７に記載のデータ分析方法。
【請求項９】
前記条件算出ステップは、
前記末端ノードの値が互いに異なるルートノードから末端ノードへ至るパスを各前記決定木からそれぞれ選択し、
選択された前記パス間で、前記パスに含まれる説明変数の条件が互いに重複する範囲を前記出力差異条件として算出する、
ことを特徴とする請求項７に記載のデータ分析方法。
【請求項１０】
前記条件算出ステップは、
前記末端ノードの値が互いに同一であるルートノードから末端ノードへ至るパスを各前記決定木からそれぞれ選択し、
選択された前記パス間で、前記パスに含まれる説明変数の条件が互いに重複する範囲を前記出力同一条件として算出する、
ことを特徴とする請求項７に記載のデータ分析方法。
【請求項１１】
説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力ステップと：
各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出ステップと：
算出された前記出力差異条件又は前記出力同一条件を出力する出力ステップと：
をコンピュータに実行させるデータ分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、決定木を利用したデータ分析方法、データ分析プログラム及びデータ分析装置に関する。
【背景技術】
【０００２】
説明変数の値と被説明変数の値とからなるデータを分析して、モデルを構築したり知識を発見したりすることは、予測や意思決定支援などさまざまな分野において重要である。そのようなモデル構築、知識発見の手法はこれまでにも多く提案されており、決定木の構築は最もよく知られているデータ分析手法の一つである（非特許文献１、非特許文献２参照）。決定木は数式等に比べ可読性が高く、広く使われている。
【０００３】
ところで、最近における分析対象データの特徴としては、蓄積されるデータの量が膨大である、時系列的に発生し続ける、空間的に分散して得られる、などがある。
【非特許文献１】文献１：「AIによるデータ解析」J.R.Quinlan著、古川康一監訳、株式会社トッパン 1995年発行
【非特許文献２】文献２：「応用２進木解析法」大滝厚、堀江宥治、D.Steinberg著、日科技連 1998年発行
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような状況で、異なるデータ集合を比較し、データ集合ごとの特徴の違いすなわち各データ集合で何が異なるのかあるいは何が同じなのかを知りたいという要求がある。決定木の構築をはじめとするデータ分析手法は、一つのデータ集合に対して実行されるものなので、異なるデータ集合を一時的に一つに統合して改めて分析をすることでこのような要求に答えることができる。しかし、本来異なるデータ集合を統合することは時間や労力を伴う作業であるし、統合後のデータの量によっては大きすぎて分析が困難になる恐れも高い。
【０００５】
例えば空間的に分散しているデータ（例えばそれぞれの地域で収集したようなデータ）を分析対象とする場合に、地域ごとの特徴を知りたい要求がある。地域ごとのデータは既に決定木の構築等によって分析が行われ、利用されている場合が多い。しかし、地域ごとの特徴を知るには、全ての元データを一時的に１つに統合して分析を行うしかなかった。１つに統合するのは時間と労力を要する上、データ量が大きくなればモデル構築の時間も増えるという問題がある。さらに、地域ごとに分析を済ませてあるにも関わらず、それを利用できないのは不便である。
【０００６】
また、時系列的に発生し続けるデータを分析対象とする場合、分析対象データを時間的にある区間に区切って決定木の構築等による分析が行われる。時間が経過するにつれてデータが変化していき、過去に構築したモデルが現在のデータに合わなくなった場合には、最新のデータで分析をし直すという対策がとられる。この場合に、過去のモデルと現在のモデルで何が変わったのか、あるいは何が変わっていないのかを知りたいという要求がある。過去と比較して変わった点、変わらない点を知ることができれば、経年変化する変数や普遍的に重要な変数を把握でき、傾向分析等に極めて有効である。しかしそのような方法はなかった。
【０００７】
一方、データ分析において、データの量が多過ぎて分析が困難である場合には、データをサンプリングして分析を実施することがある。データの一部のみを抽出して分析を実行することでデータ分析を簡略化する方法である。しかし、サンプリングしたデータが元のデータと同じ特徴を残しているかどうかは一般に確認できないため、サンプリングされたデータによって構築されたモデルは偏った特徴を持つ恐れがある。偏っているかどうかを厳密に確認するためには結局元の膨大なデータを全て利用することになり、時間と労力が必要であった。このように元のデータの特徴を適正に反映した決定木をサンプリングによって取得することは手間が大きかった。
【０００８】
また、代表的なデータマイニング手法の一つである上述の決定木はモデル構築時にパラメータを指定でき、パラメータを変えることで異なる決定木が得られる。同じデータから構築した決定木はパラメータの変更によって明らかに矛盾する決定木になるとは考えにくいが、データに対する合致度、精度（正解率）、データをどの程度詳細に表現するか、どこまでをノイズとして切り捨てるかなどによって構成に違いが表れる。例えばパラメータを変更しただけで、与えられた説明変数の値に対して決定木が推測する被説明変数の値が各決定木で一致しないことは大いにあり得る。適切なパラメータを決定することは一般に容易ではないため、分析者の経験により決定したパラメータや標準的なパラメータが利用されることが多く、必ずしも適切なパラメータを使用しているとは言えなかった。このため適度にコンパクトでノイズに強い決定木を得ることは困難であった。
【０００９】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、データ集合間の特徴の違いを簡易に算出できるデータ分析装置、データ分析方法及びデータ分析プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明のデータ分析装置は、説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力部と、各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出部と、算出された前記出力差異条件又は前記出力同一条件を出力する出力部と、を備える。
【００１１】
本発明のデータ分析方法は、説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力ステップと、各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出ステップと、算出された前記出力差異条件又は前記出力同一条件を出力する出力ステップと、を備える。
【００１２】
本発明のデータ分析プログラムは、説明変数の値から被説明変数の値を推測する決定木を複数入力する決定木入力ステップと、各前記決定木がそれぞれ異なる被説明変数の値を出力する説明変数の条件を出力差異条件として算出するか、または各前記決定木がそれぞれ同じ被説明変数の値を出力する説明変数の条件を出力同一条件として算出する条件算出ステップと、算出された前記出力差異条件又は前記出力同一条件を出力する出力ステップと、をコンピュータに実行させる。
【発明の効果】
【００１３】
本発明により、データ集合間の特徴の違いを簡易に算出できる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施の形態を図面を参照して説明する。
【００１５】
図１は、本発明の一実施の形態としての決定木比較方法（データ分析方法）を実施するデータ分析装置の構成図である。このデータ分析装置は、決定木入力部１、決定木比較部１及び比較結果出力部３を備える。
【００１６】
決定木入力部１は、与えられた説明変数の値に基づいて被説明変数の値を推測する決定木を入力する部分である。なお、以下では説明を簡単にするために決定木入力部１に２つの決定木が入力されるとするが、３つ以上の決定木が入力されてもよい。
【００１７】
決定木比較部２は、決定木入力部１に入力された決定木を比較して、各決定木間の差異あるいは共通部分を求める。ここで、差異とは、各決定木で異なる出力（被説明変数の値）を与える説明変数の条件及びそのときの各決定木の被説明変数の値である。一方、共通部分は、各決定木で同じ出力を与える説明変数の条件及びそのときの被説明変数の値である。
【００１８】
例えば、ある説明変数の条件（x=1,y=2,z<=3）において２つの第１及び第２の決定木がそれぞれ異なる被説明変数の値A、Bを出力する場合、この説明変数の条件（x=1,y=2,z<=3）、第１の決定木の出力A及び第２の決定木の出力Bが、各決定木間の差異である。一方、第１及び第２の決定木がそれぞれ同じ被説明変数の値Aを出力する場合は、説明変数の条件（x=1,y=2,z<=3）、第１の決定木の出力A及び第２の決定木の出力Aが、第１及び第２の決定木間の共通部分である。
【００１９】
比較結果出力部３は、決定木比較部２において求められた比較結果を必要に応じて出力する。
【００２０】
以下、具体例を用いて図１の装置についてさらに詳しく述べる。
【００２１】
図２は、決定木入力部１に対して入力された２つの決定木の例を示す。
【００２２】
図２において、x、y、zは説明変数であり、xとyは0または1の値を取る。zは連続的な数値を取る。末端ノードに記載されたAとBは被説明変数の値を表す。各末端ノードの下にあるカッコ付き数字は、以下の説明の便宜上付けた番号であり、図１の装置の処理には関係ない。また、図２に示す２つの決定木をここでは便宜上「決定木１」「決定木２」と呼ぶことにする。
【００２３】
これら決定木１および決定木２の見方について簡単に説明すると以下の通りである。
【００２４】
被説明変数（末端ノード）の値であるAまたはBによって事例を分類するために、決定木１ではまずxが1であるか0であるかを判断する。xが1の場合には被説明変数の値はAである可能性が高い。xが0の場合には、次にyが1であるか0であるかを判断し、yが1の場合には被説明変数の値はB、yが0の場合には被説明変数の値はAである可能性が高い。
【００２５】
同様に決定木２ではまずzが4以下であるか4より大きいかを判断し、4以下であるならば次にxが1であるか0であるかを判断する。xが1ならば被説明変数の値はAである可能性が高く、xが0ならば被説明変数の値はBである可能性が高い。また、zが4より大きい場合についてはyが1であるか0であるかを判断し、yが1ならば被説明変数の値はB、yが0ならば被説明変数の値はAである可能性が高い。
【００２６】
なお、一般に、決定木による分類は100%正しいわけではない。それは、決定木の構築に使用するデータの中に矛盾がある場合もあるし、また、ごく少数しか存在しない事例に関しては誤差やノイズと見なされて決定木の構築には影響を与えない場合もあるからである。現時点で得られているデータを100%正しく分類する詳細な決定木を作ることは可能だが、そのような決定木は実際にはあまり有効ではない。なぜならノイズや誤差までも忠実に表現していると考えられるからである。加えて、そのような決定木は現在のデータを厳密に再表現したに過ぎず、決定木の形に表現し直す必然性に弱いからである。また、詳細過ぎる決定木は利用者にとっても理解しにくいものとなるからである。従って、適度にノイズに対する処理を行い、適度にコンパクトな決定木を生成することが望ましい。
【００２７】
決定木入力部１に入力された２つの決定木１、２は適当な形式で記憶されるが、その方式は本発明では問わない。
【００２８】
決定木比較部２は、決定木入力部１に入力された複数の決定木を比較して、各決定木の差異または共通部分を算出する。本実施の形態では、比較方法の具体例を２種類提示する。その２種類とは、
比較方法１：総当たり方法
比較方法２：枝ごとに組み合わせる方法
である。
【００２９】
これら２種類の組み合わせを用いることも可能である。
【００３０】
以下、各方法について順番に説明する。
【００３１】
（比較方法１：総当たり方法）
図３は、比較方法１に従った処理手順を示すフローチャートである。
【００３２】
この比較方法１では、まず適当な説明変数の値の系列を作る（ステップＳ１）。説明変数の値の系列とは、今の例ではx、y、zの値を定めた系列のことである。説明変数の値の系列の作成方法は本発明では問わないが、偏らないために網羅的に作成することが好ましい。
【００３３】
例えば、説明変数ごとにそれぞれ取り得る値を全て特定し、説明変数間で全ての可能な組み合わせをとることが考えられる。この場合、特に、zのように連続的な数値をとる説明変数が複数の決定木に存在する場合は、その説明変数で分岐する枝の各決定木間での全ての組み合わせを通過する分だけの値を作成することが好ましい（但し、矛盾する枝の組み合わせを除く）。同一決定木中にこのような連続的な数値をとる説明変数が複数含まれる場合も同様である。例えばある決定木においてzが３以下か３より大きいかで分岐し、一方別の決定木においてzが４以下か４より大きいかで分岐している場合、zの値として、３以下の数、３より大きく４以下の数、４より大きい数をそれぞれ最低１つ作成することが好ましい。本実施の形態では、決定木２においてzが4以下か4より大きいかで分岐しているので、zの値として、4以下の値と、4より大きい値とをそれぞれ１つずつ作成することとする。ここでは、４以下の値の代表として3.6を、４より大きい値の代表として4.8を作成する。以上に基づき作成した説明変数の値の系列の一部を図４の表に示す。
【００３４】
次に、この説明変数の値の系列を決定木１に与えて被説明変数の値を求める（ステップＳ２）。ここでは、図４の表の１行目に示す説明変数の値の系列（x=1,y=0,z=4.8）を決定木１に与えるとする。この場合、決定木１ではまずxが0か1かが判断され、xの値は1なので左の枝に進み、この結果、被説明変数の値はAであるとされる。
【００３５】
同様に、この説明変数の値の系列（x=1,y=0,z=4.8）を決定木２に与えて被説明変数の値を求める（ステップＳ３）。決定木２ではまずzが4以下か4より大きいかが判断され、zは4より大きいので右の枝に進む。次にyの値が0であるか1であるかが判断され、yの値は0なので右の枝に進み、この結果、被説明変数の値はAであるとされる。
【００３６】
なお、このフローチャートではまず決定木１について被説明変数の値を求め、その後で決定木２についての被説明変数の値を求めているが、求める順番は逆でもよいし、また、並列に処理することも可能である。
【００３７】
次に、求められた２つの被説明変数の値を比較し、これらの値が異なる場合は、これら２つの被説明変数の値及び説明変数の値の系列を、２つの決定木１、２の差異として出力する（ステップＳ４）。今の例では、決定木１及び決定木２のどちらも被説明変数の値はAであり一致しているため出力しない。
【００３８】
次に、図４の表において未処理の説明変数の値の系列が存在するか否かを判断し（ステップＳ５）、ここでは、未処理の説明変数の値の系列が存在するため（ステップＳ５のある）、ステップＳ２に戻る。
【００３９】
次に、上述と同様にして、図４の表の２行目に示す説明変数の値の系列（x=1,y=1,z=4.8）に対して決定木１と決定木２とからそれぞれ被説明変数の値を求める（ステップＳ２、Ｓ３）。すると、決定木１から求められる被説明変数の値はA、決定木２から求められる被説明変数の値はBとなる。被説明変数の値が一致しないので、これら被説明変数の値及び説明変数の値の系列を決定木１、２の差異として出力する（ステップＳ４）。
【００４０】
さらに、図４の表の３行目に示す説明変数の値の系列（x=0,y=0,z=3.6）に対しても決定木１及び決定木２からそれぞれ被説明変数の値を求める（ステップＳ５のある、ステップＳ２、Ｓ３）。すると、決定木１から求められる被説明変数の値はＡ、決定木２から求められる被説明変数の値はＢとなる。被説明変数の値が一致しないので、これら被説明変数の値及び説明変数の値の系列を出力する（ステップＳ４）。
【００４１】
以上を繰り返し、未処理の説明変数の値の系列がなくなったら（ステップＳ５のない）処理を終了する。図５に、出力例を示す。被説明変数の値が一致しない場合の説明変数の値の系列及びそのときの各決定木の被説明変数の値が一覧表にて示される。この一覧表において、z=4.8はz>4の代表値であることからz=4.8をz>4に置換したものを、またz=3.6はz<=4の代表値であることからz=3.6をz<=4に置換したものを、出力としてもよい。なお、出力の形式はこのような表に限るものではない。
【００４２】
以上では、決定木１及び決定木２間の差異を算出したが、共通部分を求めることも同様にしてできる。この場合は、上述のステップＳ４において、被説明変数の値が一致するか否かを判断し、一致する場合に、被説明変数の値及び説明変数の値の系列を出力すればよい。
【００４３】
（比較方法２：枝ごとに組み合わせる方法）
図６は、比較方法２に従った処理手順を示すフローチャートである。
【００４４】
まず、決定木１、２からそれぞれ末端ノード（被説明変数）の値が異なるパスの組を選択する。ここでは、決定木１からは末端ノードの値がＡであるパス（１）を選び、決定木２からは末端ノードの値がＢであるバス（５）を選んだとする。つまり、ここでは（１）と（５）のパスの組を選択したとする（ステップＳ１１）。
【００４５】
次に、選択された各パスからそれぞれ、ルートノードから末端ノードに至るまでの説明変数の名前及びその値、つまり説明変数の条件を全て抽出する（ステップS１２）。ここでは、パス（１）からは、「xが1」（説明変数の条件）が抽出され、パス（５）からは、「zが4以下」及び「xが0」が抽出される。各パスから抽出された説明変数の条件の集合を条件集合と称する。従って、ここでは、「xが1」からなる条件集合と、「zが4以下」及び「xが0」からなる条件集合とが生成される。
【００４６】
次に、各パスから生成された条件集合同士の間に、意味的な重複があるか否かを調べる（ステップＳ１３）。意味的な重複とは、各条件集合に含まれる事例の範囲が互いに重なることを表す。例えば「xが0」からなる条件集合と、「xが1」からなる条件集合とは、互いに排他的であり重複しない。一方、「xが0」からなる条件集合と、「yが1」からなる条件集合とは、「xが0」かつ「yが1」という範囲において重複している。ここで言う重複とは、より厳密には論理的な積を求めた場合にその結果が偽（False）でないということを意味する。この例では、
「xが0」∧「yが１」≠False
であるため、これらは互いに重複する。
【００４７】
ここで、上述のパス（１）及びパス（５）からそれぞれ生成された条件集合同士の間に重複が存在するか否かを調べると、
「xが1」∧「xが0」「zが4以下」＝False
となるため、これらの条件集合同士の間に重複はない。
【００４８】
この論理積の考え方は、図７のフローチャートに示す考え方で代用することも可能である。すなわち、２つのパスからそれぞれ生成された条件集合に関し、各条件集合で同じ説明変数が使われ（ステップＳ２１のいる）且つ説明変数の値に一致する部分がない場合（ステップＳ２２のない）は重複がなく（ステップＳ２３）、それ以外の場合には（ステップＳ２１のいない、ステップＳ２２のある）、全て重複がある（ステップＳ２４、Ｓ２５）。
【００４９】
言い換えると、重複がある場合というのは、条件集合同士の間で、同じ説明変数が使われていない場合か、同じ説明変数が使われていてもその値の少なくとも一部が一致している場合である。
【００５０】
例えば、２つの決定木から生成された条件集合がそれぞれ、
「xが0」「yが0」と「xが0」「zが4以下」
であった場合は、同じ説明変数xが使われていて、それぞれの値が「0」と一致しているので、重複がある。その重複している範囲は「xが0」「yが0」「zが4以下」である。
【００５１】
以上のようにして重複を調べた結果、重複がない場合は、決定木間に差異がないということであり何もしない（図６のステップＳ１４）。一方、重複がある場合は、決定木間に差異があることを意味し、従って、重複する範囲（重複する説明変数の条件）及び各決定木の被説明変数の値を出力する（ステップＳ１５）。
【００５２】
以上を繰り返して、全てのパスの組み合わせを調べ（ステップＳ１６のある）、全てのパスの組み合わせについて調べたら処理を終了する（ステップＳ１６のない）。
【００５３】
この、比較方法２は、比較方法１（総当たり法）に比べて計算量を少なく抑えることができる。
【００５４】
以上では、２つの決定木の差異を求めたが共通部分を求めることもできる。
【００５５】
共通部分の算出は、上述した差異を求める方法を応用することで可能である。すなわち、上述の方法では被説明変数の値がそれぞれ異なるパスを各決定木から抽出し、各パスから求めた条件集合同士が重複する範囲を求めたが、共通部分を算出する場合は、被説明変数の値がそれぞれ一致するパスを各決定木から抽出し、各パスから求めた条件集合同士が重複する範囲を求めればよい。あるいは、上述の方法で得られた差異の論理的な否定を取ることによっても、共通部分を求めることができる。
【００５６】
ところで、決定木は階層的に事例を分類していくものであり、一般にはルートノードに近いほど重要な（被説明変数の値の決定に影響を与える）説明変数を含むように作られている。そのため、ルートノードに近い途中のノードの位置を末端ノードと見なして処理をすることで、つまり、ルートノードから所定の階層に属する説明変数のみを含む部分決定木を生成し、この部分決定木を対象の決定木として用いることで、近似的な結果を効率的につまり少ない計算量で得ることができる。
【００５７】
図８は、ある決定木から部分決定木を生成する例を示す。
【００５８】
この例では、ルートノードを含めルートノードから２段目までの説明変数を含む部分決定木を生成している。部分決定木における末端ノードの値は種々の方法で決定できる。例えば部分決定木のノードyに続く値は「y=1」のときは「A」、「y=0」のときは「B」とされているがこれは次のようにして決定した。即ち、元の決定木においてこのノードyから分類される可能性の最も高い値を「y=1」「y=0」についてそれぞれ求め、その値を採用した。決定木における各ノードはそのノードの下位の各末端ノードにそれぞれ分類される事例（決定木の構築に用いた事例）の数を保持しているので、その数が最も多い値を、分類される最も可能性の高い値とすることができる。
【００５９】
このように本手法を用いて、ルートノードから何段目まで、あるいは何個までと説明変数の範囲を制約することによって、即ち、元の決定木よりもコンパクトな部分決定木を用いることで、計算量を減らし、計算時間を抑えることができる。
【００６０】
以上では、説明変数の範囲を制限して部分決定木を生成したが、分類される事例数が所定の基準に達しないパスを削除することにより部分決定木を生成してもよい。
【００６１】
図９は、ある決定木のパスを削除して部分決定木を生成する例を示す。
【００６２】
決定木において末端ノードに分類される事例数が所定の基準値（ここでは５０とする）に達しないパスを削除することにより部分決定木を生成している。この部分決定木を用いることで、計算量を抑えつつ近似的な結果を得ることができる。結果に取りこぼしが出る恐れはあるが、分類される事例数が多い末端ノードを対象とする部分決定木は、決定木を生成する際の元となった事例データの代表的な特徴を含む。
【００６３】
本実施の形態によって算出された出力結果（決定木の差異あるいは共通部分）をさらに分析し、まとめることでより深い知識を利用者に提示することが考えられる。
【００６４】
例えば、決定木の差異を表すデータ内に、説明変数xが多く用いられていれば、説明変数xが、２つの決定木間の特徴的な違いを表していると考えられる。例えば、各決定木が地域ごとに集められたデータから構築されたものであれば、xこそが他の地域との違いを特徴付けるものであるとわかるし、時間的に異なるデータから構築されたのであれば時間が経つことによりxの値が大きく変化したことがわかる。また、説明変数xは変わらないが説明変数yという新たな説明変数が加わることで２つの決定木の差異が生じているということがわかれば、例えば以前は（あるいは、ある地域では）被説明変数の決定に無関係だったyが時間の経過により（あるいは、別の地域では）被説明変数の決定に影響を及ぼすようになったと、即ちyは経年変化する変数であると、利用者に知識を与えることができる。
【００６５】
これに対し、決定木の共通部分を表すデータ内に説明変数xが多く用いられていれば、説明変数xが、２つの決定木間に共通の特徴を表していると考えられる。例えば、各決定木が地域ごとに集められたデータから構築されたものであれば、xこそが地域に依存しない特徴であるとわかる。また、時間的に異なるデータから構築されたのであれば、xは経年に依存しない普遍的な変数であるとわかる。
【００６６】
一方、サンプリングにより決定木を生成する場合は、サンプリングと決定木構築を複数回行い、上述した実施の形態を用いて、得られた各決定木を比較することで得られた決定木の精度を評価できる。サンプリングデータは元の膨大なデータの代用であるから、異なるサンプリングデータによって構築された決定木であっても各決定木は意味的に同じであることが望ましい。本実施の形態では複数の決定木の意味を比較できるので、サンプリングにより得られた各決定木の差異及び共通部分を評価することで、サンプリングにより得られた決定木を評価できる。
【００６７】
また、決定木の構築の際におけるパラメータの設定に関し、種々のパラメータの設定によって生成された決定木を比較することで、パラメータの設定によって決定木がどのように変化するかを知ることができ、これにより適切なパラメータを設定できる。
【００６８】
以上に説明した本発明の実施の形態では説明を分かり易くするために２つの決定木を用いたが、本発明で対象とする決定木は２つに限るものではなく、３つ以上の場合にも本発明は適用可能である。また、本実施の形態で示した出力の形式（表形式）は一例であり、本発明はこれに限るものではない。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施の形態としての決定木比較方法（データ分析方法）を実施するデータ分析装置の構成図である。
【図２】決定木入力部に対して入力された２つの決定木の例を示す。
【図３】比較方法１に従った処理手順を示すフローチャートである。
【図４】説明変数の値の系列の一部を表形式で示す。
【図５】比較結果出力部による出力例を示す。
【図６】比較方法２に従った処理手順を示すフローチャートである。
【図７】条件集合同士に重複があるか否かを判断するアルゴリズムの一例を示すフローチャートである。
【図８】ある決定木から部分決定木を生成する例を示す。
【図９】ある決定木から部分決定木を生成する別の例を示す。
【符号の説明】
【００７０】
１  決定木入力部
２  決定木比較部
３  比較結果出力部
【図１】
2006011708.tif 000003
【図２】
2006011708.tif 000004
【図３】
2006011708.tif 000005
【図４】
2006011708.tif 000006
【図５】
2006011708.tif 000007
【図６】
2006011708.tif 000008
【図７】
2006011708.tif 000009
【図８】
2006011708.tif 000010
【図９】
2006011708.tif 000011