JP4038501B2 - 逆モデル計算装置及び逆モデル計算方法 - Google Patents

逆モデル計算装置及び逆モデル計算方法 Download PDF

Info

Publication number
JP4038501B2
JP4038501B2 JP2004233503A JP2004233503A JP4038501B2 JP 4038501 B2 JP4038501 B2 JP 4038501B2 JP 2004233503 A JP2004233503 A JP 2004233503A JP 2004233503 A JP2004233503 A JP 2004233503A JP 4038501 B2 JP4038501 B2 JP 4038501B2
Authority
JP
Japan
Prior art keywords
time
condition
decision tree
node
rule
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004233503A
Other languages
English (en)
Other versions
JP2005242979A (ja
Inventor
田 千 絵 森
寿 昭 波田野
瀬 明 彦 仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004233503A priority Critical patent/JP4038501B2/ja
Priority to US10/930,766 priority patent/US20050096880A1/en
Priority to CNB2004100951643A priority patent/CN1318962C/zh
Publication of JP2005242979A publication Critical patent/JP2005242979A/ja
Application granted granted Critical
Publication of JP4038501B2 publication Critical patent/JP4038501B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、逆モデル計算装置及び逆モデル計算方法に関する。
対象システムの出力を望ましいものとする入力を求めること(逆方向計算)は、制御などの分野で求められている課題の一つである。対象システムの物理的な特性が既に数式によって得られている場合には、この数式を解くことによって入力を求めることができる。
しかし、多くの場合、事前には数式が得られていないことが多い。このように事前に数式が得られていない場合、対象システムから観測されたデータを用いて、対象システムの特性を表す数理モデルを構築するのが一般的である。
ここで、通常、ある入力を与えた場合にどのような出力が得られるかを求める順方向のモデル(順モデル)は、容易に作ることができるが、ある出力を得るためにはどのような入力が必要かを求める逆方向のモデル(逆モデル)は作ることが難しい。その理由は、同じ出力を得るための入力が複数あることに起因している。
そこで、まず、順モデルを構築し、その順モデルを利用して、出力から入力を推定することがよく行われる。従来、このような場合に、線形モデルの一般化逆行列を用いる方法、ニューラルネットによる逆方向計算を行う方法、シミュレーションによる求解などが用いられていた。
しかし、線形モデルの一般化逆行列を用いる方法は、対象システムの非線形性が強い場合や多入力1出力のような場合に計算精度が悪くなる。
一方、ニューラルネットによる逆方向計算は、ニューラルネットの順方向モデルを構築する際に用いた入力変数すべてが算出対象になるため、不要な入力量まで同定することになり、最適な入力を求めるのが難しい。また、このニューラルネットによる逆方向計算では、与えられた出力が何時刻後に得られるかを計算することが困難である。
また、シミュレーションによる求解は、順モデルに様々な入力を与えて、目標となる出力が得られるかどうかを試行錯誤的に求める方法であるので、多くの計算量を要し、従って、計算時間がかかる。
J.Ross Quinlan,C4.5:Programs for Machine Learning,Morgan Kaufmann Publishers, Inc.,1993
本発明は、上記問題点に鑑みてなされたものであり、その目的は、所望の出力を得るための入力条件を効率的に算出できる逆モデル計算装置及び逆モデル計算方法を提供することにある。
本発明の一態様としての逆モデル計算装置は、
入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算装置であって:
前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録する時系列データ記録部と;
前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成する決定木生成部と;
ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則に含まれる説明変数の条件を、前記ある未来時刻における出力値を得るための条件として取得する条件取得部と;
前記取得された説明変数の条件が、過去の時刻における条件であるか、あるいは、未来の時刻における条件であるかを判定し、
(A)過去の時刻における条件の場合は、前記時系列データと前記取得された説明変数の条件とを用いて、前記取得された説明変数の条件の真偽を判定し、
真のときは、前記取得された説明変数の条件は、前記ある未来時刻における出力値を得るための必要条件を満たすことを決定し、
偽のときは、前記ある未来時刻において前記出力値を得ることは不可能であることを決定し、
(B)未来の時刻における条件の場合は、前記取得された説明変数の条件が、入力条件か、あるいは出力条件かを判定し、
入力条件の場合は、前記取得された説明変数の条件を、前記ある未来時刻における出力値を得るための必要条件として出力し、
出力条件の場合は、前記取得された説明変数の条件に示される前記未来の時刻における出力値を前記条件取得部に与える、
条件判定部と;
を備え
前記条件取得部は、前記条件判定部から与えられた前記未来の時刻を前記時刻tとして用いて、前記条件判定部から与えられた前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから当該検出された葉ノードに至るパスに対応づけられた規則に含まれる説明変数の条件を取得する、
ことを特徴とする。
本発明の一態様としての逆モデル計算装置は、
入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算装置であって:
前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録する時系列データ記録部と;
前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成する決定木生成部と;
ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則を前記決定木から検出する第1の規則検出部と;
前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合は、前記検出された規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する第1の条件算出部と;
規則が入力され、前記入力された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木から検出する第2の規則検出部と;
前記第1の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチしない場合は、前記第1の規則検出部によって検出された規則を前記第2の規則検出部に入力する第1の入力部と;
前記第2の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データにマッチしない場合は、前記第2の規則検出部によって検出された規則を前記第2の規則検出部に入力する第2の入力部と;
前記第2の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合、前記第1及び第2の規則検出部によって検出された全ての規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する第2の条件算出部と;
を備えたことを特徴とする。
本発明の一態様としての逆モデル計算方法は、
入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算を逆モデル計算装置において行う逆モデル計算方法であって:
時系列データ記録部により、前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録し;
決定木生成部により、前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成し;
条件取得部により、ある未来時刻における出力値を入力として受け取り、前記ある時刻を時刻tとして用いて前記出力値を被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則に含まれる説明変数の条件を、前記ある未来時刻における出力値を得るための条件として取得し
条件判定部により、前記取得された説明変数の条件が、過去の時刻における条件であるか、あるいは、未来の時刻における条件であるかを判定し;
(A)過去の時刻における条件の場合は、前記時系列データと前記取得された説明変数の条件とを用いて、前記取得された説明変数の条件の真偽を判定し、
真のときは、前記取得された説明変数の条件は、前記ある未来時刻における出力値を得るための必要条件を満たすことを決定し、
偽のときは、前記ある未来時刻において前記出力値を得ることは不可能であることを決定し、
(B)未来の時刻における条件の場合は、前記取得された説明変数の条件が、入力条件か、あるいは出力条件かを判定し;
入力条件の場合は、前記取得された説明変数の条件を、前記ある未来時刻における出力値を得るための必要条件として出力し
出力条件である場合は、前記取得された説明変数の条件に示される前記未来の時刻における出力値を前記条件取得部に与え;
前記条件取得部により、前記条件判定部から与えられた前記未来の時刻を前記時刻tとして用い、前記条件判定部から与えられた前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから当該検出された葉ノードに至るパスに対応づけられた規則に含まれる説明変数の条件を取得する
逆モデル計算方法。
本発明の一態様としての逆モデル計算方法は、
入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算を逆モデル計算装置において行う逆モデル計算方法であって:
時系列データ記録部により、前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録し;
決定木生成部により、前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成し;
第1の規則検出部により、ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則を前記決定木から検出し;
前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合は、第1の条件算出部により、前記検出された規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出し;
マッチしない場合は、第2の規則検出部により、前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木から新たに検出し;
前記新たに検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データにマッチしない場合は、前記第2の規則検出部により、前記新たに検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木からさらに検出し;
前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする規則が検出されるまで、前記第2の規則検出部により、前記規則の検出を繰り返し行い;
前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする規則が検出された場合、第2の条件算出部により、検出された全ての規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する;
ことを特徴とする。
本発明により、所望の出力を得るための入力条件を効率的に算出できる
(第1の実施の形態)
図1は、本発明の第1の実施の形態に従った逆モデル計算装置8の構成を示すブロック図である。
時系列データ記録部1は、観測対象システムに入力された時系列の入力値である入力系列と、この観測対象システムから出力された時系列の出力値である出力系列とを、時系列データ(観測データ)として記録する。
図2は、観測対象システム4に変数Xの入力系列が入力され、変数Yの出力系列が出力される様子を示す図である。
図3は、観測対象システム4に入力された変数X1、X2の入力系列と、観測対象システム4から出力された変数Yの出力系列とからなる時系列データを表形式にて示した図である。図3に示すように、この観測対象システム4では、2次元の入力系列から、1次元の出力系列が出力される。
図1の決定木生成部2は、時系列データ記録部1に記憶された時系列データを用いて、入力系列から出力系列を推測する決定木を作成する。
図4は、図3の時系列データに基づき作成された決定木を示す図である。
この決定木では、時刻tまでの変数X1の入力系列から時刻tにおける出力Y(t)を予測できる。この決定木には、2つの変数X1,X2の入力系列のうち、変数X1の入力系列のみが現れ、変数X2の入力系列は現れない。つまり、この観測対象システム4では、変数X1の入力系列のみから、出力Yを予測できる。このように、決定木によりモデルを作成することで、予測に用いる入力変数を減らす効果がある。決定木は複数の規則を有する。各規則は、決定木の根ノードから葉ノードへのパスに対応する。つまり決定木は、葉ノードの数分だけの規則を含む。
ここで、決定木の具体的は作成方法としては、既知の方法を用いることができる。以下、決定木の作成方法について、簡単に説明する。
図5は、変数X1,X2の入力系列と、変数Yの出力系列とからなる時系列データを表形式にて示す図である。
まず、この時系列データに既知の方法を適用してこの時系列データを並び替える。
図6は、図5の変数Yを被説明変数、変数X1、X2を説明変数として図5の時系列データを並べ替えたデータを示す表である。
次に、図6のデータに対し、非特許文献1(J.Ross Quinlan,C4.5:Programs for Machine Learning,Morgan Kaufmann Publishers, Inc.,1993)に記載された方法を適用する。これにより、入力系列から出力を予測するための決定木を作成できる。
図1に戻り、条件検索部3は、決定木生成部2によって作成された決定木の葉ノードから根ノードへ向かって枝を辿ることで、与えられた未来時刻における出力値を得るために必要な条件を検索する。例えば、図4において、未来時刻の出力として出力Y(10)=3が与えられた場合、条件検索部3は、この出力3に対応する葉ノードを決定木において特定し、この葉ノードから根ノードまで辿ることで、X1(10)>=2、X1(8)<1を検出する。つまり、出力3を葉ノードに持つ規則を特定し、この規則に含まれる条件を、出力3を得るために必要な条件として取得する。
次に、図1の逆モデル計算装置8による処理ステップについて説明する。
図7は、逆モデル計算装置8による処理ステップを示すフローチャートである。
まず、決定木生成部2は、時系列データ記録部1によって記録された時系列データを用いて、決定木を作成する(ステップS1)。
次に、図示しないデータ入力手段等を用いて、条件検索部3に対して、未来時刻における出力値(Y(t)=V)(出力条件)を与える(ステップS2)。
条件検索部3は、この出力条件を目標条件として、サブルーチンAを実行する(ステップS3)。
図8は、サブルーチンAの処理ステップを示すフローチャートである。
まず、条件検索部3は、決定木において、目標値(=V)と一致する葉ノードを検索する(ステップS11)。
目標値に一致する葉ノードがない場合は(ステップS12のNO)、条件検索部3は、目標値を得るための条件を検索できない旨、つまり、目標値を得ることができない旨(FALSE)を出力する(ステップS13)。
一方、目標値に一致する葉ノードがある場合は(ステップS12のYES)、条件検索部3は、検索された葉ノードから根ノードに向かって辿って、目標値を得るために必要な条件を特定し出力する(ステップS14)。
ここで、具体例として、図4の決定木を用いて、時刻100において目標値3を得るために必要な条件を検索する。
図4の決定木において、目標値=3となる葉ノードを検索する。この結果、目標値=3に合致する葉ノードが検索される(Y(t)=3)(ステップS11、ステップS12のYES)。t=100として、この葉ノードを根ノード(X1(t))に向かって辿り、X1(98)<1且つX1(100)>=2の条件を得る(ステップS14)。
次に、図1の逆モデル計算装置8を適用した逆モデル計算機システムの一例について説明する。
図24は、逆モデル計算装置8を適用した逆モデル計算機システムの構成を示すブロックである。
入力系列生成部6は、観測対象システム4に与える変数Xの入力系列を所定のアルゴリズムで生成する。観測対象システム4は、変数Xの入力系列に基づき変数Yの出力系列を生成する。逆モデル計算装置8は、入力系列及び出力系列を観測対象システム4から取得する。逆モデル計算装置8は、前述の処理を実行して、与えられた未来時刻における出力値を得るための入力条件を算出し、算出した入力条件を、入力系列生成部6に出力する。入力系列生成部6は、入力された入力条件に従って、入力系列を生成する。
以上、図1の逆モデル計算装置8を組み込んだ逆モデル計算機システムについて説明したが、以降に説明する第2〜第5の実施の形態における逆モデル計算装置も、本実施の形態と同様にして図24の逆モデル計算機システムに組み込み可能である。
以上のように、本実施の形態によれば、モデルとして決定木を生成し、この決定木を用いて、与えられた未来時刻の出力値を得るために必要な入力条件を算出するため、計算量を少なくでき、また、出力に影響しない入力変数の値の算出を排除できる。
また、本実施の形態によれば、モデルとして決定木を生成するため、観測対象システムの非線形性が強い場合であっても、モデルの精度を高くできる。
(第2の実施の形態)
第1の実施の形態は決定木を用いた逆方向計算の典型的な例を示したもので、検索され条件が実際に成立可能であるか否かは不明であった。本実施の形態では、検索された条件の成立可能性の判断も含めた逆方向計算について説明する。
図9は、本発明の第2の実施の形態に従った逆モデル計算装置の構成を示すブロック図である。
時系列データ記録部1、決定木生成部2、条件取得部3については、第1の実施の形態と同様であるので、詳細な説明を省略する。
条件判定部5は、条件取得部3によって検索された条件内に、出力条件が含まれる場合に、この出力条件を目標条件として、再度条件取得部3による検索を行う。条件判定部5は、与えられた出力値を得るための条件を全て入力条件として取得するまで、この処理を繰り返す。
以下、図9の逆モデル計算装置による処理ステップについて詳細に説明する。
図10は、図9の逆モデル計算装置による処理ステップを示すフローチャートである。
まず、決定木生成部2は、時系列データ記録部1によって記録された時系列データを用いて、決定木を作成する(ステップS21)。
次に、図示しないデータ入力手段等を用いて、条件判定部5に対して未来時刻における出力値を与える(目標条件を与える)(ステップS22)。
次に、条件判定部5は、この目標条件を格納した目標リストを作成する(ステップS23)。目標リストは、例えば、「Y(100)=3、Y(101)=1、Y(102)=2、・・・」(時刻100で3を出力、時刻101で1を出力、時刻102で2を出力・・・)といった形式を有する。一方、条件判定部5は、検索された入力条件を格納する入力系列リストを別途用意し、この入力系列リストを空にしておく(ステップS23)。
この状態において、条件判定部5は、サブルーチンBを実行する(ステップS24)。
図11は、サブルーチンBの処理ステップを示すフローチャートである。
まず、条件判定部5は、目標リストが空であるかどうかを判断する(ステップS31)。
条件判定部5は、目標リストが空でない場合は(ステップS31のNO)、目標リストから項目を1つ取り出す(ステップS32)。例えば、上述の目標リスト「Y(100)=3、Y(101)=1、Y(102)=2、・・・」から目標条件「Y(100)=3」を取り出す。この場合、目標リストの項目は1つ減って、「Y(101)=1、Y(102)=2、・・・」となる。
条件判定部5は、取り出した項目が過去の条件であるか否かを判断する(ステップS33)。仮に現在時刻が10であれば、目標条件「Y(1)=2」は、過去の条件である。
条件判定部5は、取り出した項目が過去の条件である場合は(ステップS33のYES)、過去の時系列データを用いて、取り出した項目の真偽を判定する(ステップS34)。即ち、取り出した項目が過去の時系列データに合致するか否かを判断する。
条件判定部5は、偽、つまり、取り出した項目が過去の時系列データに合致しない場合は(ステップS34の偽)、与えられた出力値を得ることはできない旨(FALSE)を出力する。(ステップS35)。
一方、条件判定部5は、真、つまり、取り出した項目が過去の時系列データに合致する場合は(ステップS34の真)、ステップS31に戻る。
上述のステップS33において、取り出した項目が過去の条件でない、つまり未来の条件である場合は(ステップS33のNO)、条件判定部5は、その項目が入力条件及び出力条件のいずれであるかを判断する(ステップS36)。
条件判定部5は、取り出した項目が出力条件である場合は(ステップS36の出力条件)、その出力条件を目標条件として、図8に示すサブルーチンAを条件取得部3に実行させる(ステップS37)。即ち、条件判定部5は、その目標条件を達成するために必要な条件の検索を条件取得部3に依頼する。例えば、条件判定部5は、上述の目標リストから取り出した項目「Y(100)=3」が未来の条件である場合は、「Y(100)=3」を目標条件としてサブルーチンAを条件取得部3に実行させる。条件判定部5は、条件取得部3から検索結果を受け取る。
条件判定部5は、条件取得部3から受け取った検索結果がFALSEである場合は(ステップS38のYES)、つまり、目標条件における目標値を有する葉ノードが決定木に存在しない場合は、与えられた未来時刻の出力値を得ることはできない旨(FALSE)を出力する(ステップS35)。
一方、条件判定部5は、条件取得部3から受け取った検索結果がFALSEでない場合は(ステップS38のNO)、つまり、条件取得部3から検索結果として目標条件を達成するための条件(入力条件、あるいは、出力条件、あるいは、入力条件及び出力条件)を受け取った場合は、この条件を目標条件として目標リストに追加する(ステップS39)。
上述のステップS36において、取り出された項目が入力条件である場合は(ステップS36の入力条件)、条件判定部5は、この入力条件を、入力系列リストに加える(ステップS40)。入力系列リストは、例えば「X1(100)=2、X1(101)=3、X2(100)=1・・・」といった形式を有する。
この後、条件判定部5は、ステップS31に戻り、以上に説明した各処理を繰り返す。そして、条件判定部5は、目標リストが空になった場合は(ステップS31のYES)、入力系列リスト内に格納された入力条件を、与えられた未来時刻の出力値を得るための必要条件として出力する(TUREを出力する)(ステップS41)。
以上のように、本実施の形態によれば、検出された条件が過去の条件である場合には過去の時系列データにこの条件を照合して真偽を判定すると共に、検出された条件が未来の出力条件である場合は、再帰的に検索を行うようにしたので、与えられた未来時刻における出力値の成立可能性を判断できると共に、可能である場合はその出力値を得るための条件を入力条件として取得できる。
(第3の実施の形態)
本実施の形態では、与えられた未来時刻の出力値を、最短で現在時刻の何時刻後に取得できるかについて説明する。
本実施の形態における逆モデル計算装置の構成は、第2の実施の形態において示した図9と基本的に同じである。但し、本実施の形態では、条件判定部5による処理が第2の実施の形態と異なる。
以下、本実施の形態における逆モデル計算装置について説明する。
図12は、本発明の第3の実施の形態に従った逆モデル計算装置による処理ステップを示すフローチャートである。
まず、決定木生成部2は、時系列データ記録部1によって記録された時系列データを用いて、決定木を作成する(ステップS51)。
次に、図示しないデータ入力手段等を用いて、条件判定部5に対して未来時刻における出力値Vを与える(目標条件を与える)(ステップS52)。
次に、条件判定部5は、時刻tに初期値0を代入する(ステップS53)。初期値は、上記時系列データにおいて、出力値が存在する最後の時刻(例えば時系列データにおいて時刻1〜8までの入力値及び出力値、及び時刻9の入力値のみが存在する場合、最後の時刻は8となる)を代入する。ここでは、説明を簡単にするため、初期値として0を代入する。
次に、条件判定部5は、時刻tにt+1を代入する。即ち、時刻tを1増加する(ステップS54)。この「1」は、例えば、観測対象システムに入力される入力系列の入力間隔時間である。
次に、条件判定部5は、時刻tが既定値よりも大きいか否かを判断する(ステップS55)。
条件判定部5は、時刻tが既定値よりも大きい場合は(ステップS55のYES)、与えられた出力値Vを規定時間内に得ることはできない旨を出力する(ステップS56)。
一方、条件判定部5は、時刻tが既定値以下である場合は(ステップS55のNO)、目標リスト及び入力系列リストを空にし(ステップS57)、目標リストに目標条件“Y(t)=V”(時刻tにおいてVを出力)を加える。
条件判定部5は、目標リストに目標条件“Y(t)=V”を加えたら、前述したサブルーチンB(図11参照)を実行する(ステップS59)。
条件判定部5は、サブルーチンBの実行結果がFALSEであった場合(ステップS60のYES)、つまり、Y(t)=Vを達成する入力条件を算出できなかった場合は、時刻tをさらに1増加して(ステップS54)、上述の処理(ステップS55〜S59)を繰り返す。
一方、条件判定部5は、サブルーチンBの実行結果がFALSEでなかった場合(ステップS60のNO)、つまり、Y(t)=Vを達成する入力条件が算出された場合は、入力条件及び時刻tの値を出力する(ステップS61)。
以上に説明した逆モデル計算装置による処理ステップを、具体例を用いてさらに説明する。
図13は、図3の時系列データに後続する部分を示した表である。但し、変数X2については図示を省略してある。
時刻16までの変数X1の入力値と変数Yの出力値、及び時刻17における変数X1の入力値が得られている。
ここで、逆モデル計算装置が、次に出力値が3になるのは何時刻であるか(Y(t)=3)を算出する例を説明する。
まず、決定木生成部2は、図3及び図13の時系列データを用いて決定木を作成する(図4と同じものが作成される)(図12のステップS51)。次に、図示しない入力手段を介して、条件判定部5に目標条件(Y(t)=3)が入力される(ステップS52)。
条件判定部5は、時刻tに16を代入する(ステップS53)。つまり、出力値が存在する最後の時刻をtに代入する。
条件判定部5は、時刻tを1増加して17とする(ステップS54)。
条件判定部5は、時刻tが既定値より大きいか否かを判断する(ステップS55)。ここでは条件判定部5は、tは既定値以下と判断し(ステップS55のNO)、目標リスト及び入力系列リストを空にする(ステップS57)。
条件判定部5は、目標リストに目標条件“Y(17)=3”を加え(ステップS58)、図11のサブルーチンBを実行する(ステップS59)。実行結果はFALSEであると条件判定部5は判断する(ステップS60のYES)。
即ち、図4の決定木に示すように、Y(17)=3を達成するためには、X1(15)<1、X1(17)>=2を満たす必要がある(サブルーチンBのステップS31、S32、S33、S36、S37、S38のNO、S39)。しかし、図13に示すように、時刻15においてX1は2であるため、上述のX1(15)<1は満たさない(ステップS39に続く、ステップS31、S32、S33、S34の偽)。従って、条件判定部5は、時刻17において、出力値Y=3を得ることはできないと判断する(ステップS34に続くステップS35)。
この結果、条件判定部5は、図12に示すように、ステップS54に戻り、tを1増やして18とする。そして、ステップS57、S58を経て、再度、サブルーチンBを実行する(ステップS59)。ここでも、実行結果はFALSEであると条件判定部5は判断する(ステップS60のYES)。
即ち、t=18の場合、図4の決定木に示すように、Y(18)=3を達成するためには、X1(16)<1、X1(18)>=2を満たす必要がある(サブルーチンBのステップS31、S32、S33、S36、S37、S38のNO、S39)。しかし、図13に示すように、時刻16においてX1は3であるため、X1(16)<1は満たさない(ステップS39に続いて、ステップS31、S32、S33、S34の偽)。従って、条件判定部5は、時刻18において、出力値Y=3を得ることはできないと判断する(ステップS34に続くステップS35)。
この結果、条件判定部5は、図12に示すように、ステップS54に戻り、tを1増やして19とする。そして、ステップS57、S58を経て、再度、サブルーチンBを実行する(ステップS59)。ここでも、実行結果はFALSEであると条件判定部5は判断する(ステップS60のYES)。
即ち、t=19の場合、図4の決定木に示すように、Y(19)=3を達成するためには、X1(17)<1、X1(19)>=2を満たす必要がある(図11のステップS31、S32、S33、S36、S37、S38のNO、S39)。しかし、図13に示すように、時刻17においてX1は3であるため、X1(17)<1は満たさない(ステップS39に続いて、ステップS31、S32、S33、S34の偽)。従って、条件判定部5は、時刻19において、出力値Y=3を得ることはできないと判断する(ステップS34に続くステップS35)。
この結果、条件判定部5は、図12に示すように、ステップS54に戻り、tを1増やして20とする。そして、ステップS57、S58を経て、再度、サブルーチンBを実行する(ステップS59)。実行結果はFALSEでないと条件判定部5は判断する(ステップS60のNO)。
即ち、t=20の場合、図4の決定木に示すように、Y(20)=3を達成するためには、X1(18)<1、X1(20)>=2を満たす必要がある(図11のステップS31、S32、S33、S36、S37、S38のNO、S39)。これら2つの入力条件はいずれも未来の条件である(ステップS39に続くステップS31、S32、S33のNO)。従って、条件判定部5は、これら2つの入力条件を入力系列リストに加える(ステップS33に続くステップS36の入力条件、S40)。条件判定部5は、入力系列リスト内の入力条件及びこのときの時刻tの値20を出力する(ステップS40に続くステップS31の空、S41、図12のステップS60のNO、S61)。
以上のように、本実施の形態によれば、未来時刻tの値を順次増加させつつ、与えられた出力値を得るための入力条件を検索するため、現在時刻から最短で何時刻後に、与えられた出力値を取得できるかを算出できる。
(第4の実施の形態)
本実施の形態では、決定木に含まれる複数の規則(根ノードから葉ノードへのパス)と時系列データとを用いて論理推論を行うことにより、与えられた未来時刻の出力値を得るための入力条件を算出する。
本実施の形態における逆モデル計算装置の構成は、第2及び第3の実施の形態において図9に示したものと同じである。但し、本実施の形態では、条件取得部3及び条件判定部5による処理内容が、第2及び第3の実施の形態と異なる。
以下、本実施の形態について詳しく説明する。
図14は、分析対象となる時系列データを示す図である。
この時系列データを、時刻tにおけるYを被説明変数、時刻t−2〜tのXと時刻t−1、t−2のYとを説明変数として並び替える。
図15は、図14の時系列データを並び替えたデータを示す表である。
この表に既知の方法を適用して決定木を生成する。図16は、図15の表に基づき生成された決定木を示す。この決定木は、決定木生成部2で作成される。
条件取得部3は、この決定木の根ノードから葉ノードへの枝を辿り、以下の13個の規則(パス)を取得する。
(1) Y(T-1)≦4,Y(T-2)≦5,X(T)=0,X(T-1)=0→Y(T)=6
(2) Y(T-1)≦4,Y(T-2)≦5,X(T)=0,X(T-1)=1→Y(T)=5
(3) Y(T-1)≦4,Y(T-2)≦5,X(T)=1,X(T-1)=0→Y(T)=4
(4) Y(T-1)≦4,Y(T-2)≦5,X(T)=1,X(T-1)=1→Y(T)=6
(5) Y(T-1)≦4,Y(T-2)≧6,X(T)=0 →Y(T)=5
(6) Y(T-1)≦4,Y(T-2)≧6,X(T)=1,X(T-1)=0→Y(T)=5
(7) Y(T-1)≦4,Y(T-2)≧6,X(T)=1,X(T-1)=1→Y(T)=6
(8) Y(T-1)≧5,Y(T-2)≦5,X(T)=0,X(T-2)=0→Y(T)=4
(9) Y(T-1)≧5,Y(T-2)≦5,X(T)=0,X(T-2)=1→Y(T)=5
(10) Y(T-1)≧5,Y(T-2)≦5,X(T)=1 →Y(T)=4
(11) Y(T-1)≧5,Y(T-2)≧6,X(T)=0,X(T-1)=0→Y(T)=6
(12) Y(T-1)≧5,Y(T-2)≧6,X(T)=0,X(T-1)=1→Y(T)=4
(13) Y(T-1)≧5,Y(T-2)≧6,X(T)=1 →Y(T)=5
これらの規則において、「A、B、C→D」は、AとBとCとが成り立てばDが成り立つことを意味する。
例えば(1)の規則は、1時刻前の出力が4以下で、2時刻前の出力が5以下で、現在の入力が0で、1時刻前の入力が0ならば、現在の出力が6になることが期待されることを意味する。
ここで、図14の時系列データにおける時刻24より後の時刻で、Y=6を得るためにはどのような入力をいつ与えれば良いか(入力条件)を決定したいとする。
本実施の形態では、この入力条件を決定するため、図14の時系列データと、上述の規則(1)〜(13)とを用いて、論理推論を行う。この論理推論は、条件判定部5によって行われる。以下この論理推論について説明する。
図17は、規則(1)〜(13)を表形式で表した図である。
図18は、論理推論を説明する図である。
図18に示すように、論理推論は、時系列データの少なくとも下端(最後の時刻)と規則とを重ね合わせながら、時系列データが次時刻以降どのように変化するかを予測するものである。
図18の例では、図14の時系列データと規則(9)とを用いて論理推論を行っている。より詳しくは、まず、時系列データの時刻23におけるYの値が4であり、規則(9)における時刻T−2の出力が「5以下」であるのでこれらはマッチする。また、時系列データの時刻23におけるXの値が1であり、規則(9)における時刻T−2の入力が1であるのでこれらはマッチする。さらに、時系列データの時刻24におけるYの値が5であり、規則(9)における時刻T−1の出力が「5以上」であるのでこれらもマッチする。従って、時刻25(=T)でXとして0を与えると、Yが5になることが期待される。
この例の場合、マッチングされる時刻帯(単一化する時刻帯)は2時刻である。即ち、単一化する時刻帯は、時系列データにおける時刻24、25、規則におけるT−2、T−1の2時刻である。しかし、単一化する時刻帯は、規則に含まれる時刻帯の大きさにより当然ながら異なる。規則の時刻帯がT−10〜Tであれば、例えばT−10〜T−1までの10時刻帯等とする。
この論理推論を用いて、図14において、時刻24より後の時刻で、Y=6を得るための入力条件を決定する。
まず、図17の規則(1)〜(13)において、Y(T)が6である規則を選択すると、規則(1)(4)(7)(11)となる。
次に、これらの規則(1)(4)(7)(11)が図14に示す時系列データとマッチするか否かを試す。
規則(1)では、規則(1)の時刻T−2、T−1と、時系列データの時刻23、24とを対応付けると、時刻24におけるY=5が、時刻T−1におけるY<=4を満たさない。従って、規則(1)と時系列データとはマッチしない。
規則(4)では、規則(4)の時刻T−2、T−1と、時系列データの時刻23、24とを対応付けると、同じく、時刻24におけるY=5が、時刻T−1におけるY<=4を満たさない。従って、規則(4)と時系列データとはマッチしない。
規則(7)(11)についても同様にして試すと、これらの規則のいずれも時系列データとマッチしない。
そこで、次に、これらの規則を組み合わせて論理推論を行う。
この場合、基本的に総当たりで規則を組み合わせる。結果として、規則(10)と規則(4)とを組み合わせることでY=6となるときの入力条件が決定される。なお、規則を組み合わせる際の規則の選択方式が、情報処理学会誌Vol.25, No.12, 1984などに記載されている。
図19は、規則(10)と規則(4)とを組み合わせて論理推論する様子を具体的に示す図である。
図19に示すように、規則(4)の時刻T−2、T−1と、規則(10)の時刻T−1、Tとを対応付けるとこれらはマッチすることが分かる。また、規則(10)の時刻T−2、T−1と、時系列データの時刻23、24とを対応付けるとこれらもマッチすることが分かる。
これにより、時刻25において入力としてX=1を与えると規則(10)によりY=4が出力され、さらに時刻26において入力としてX=1を与えると規則(4)によりY=6が出力されることが期待される。
次に、本実施の形態に従った逆モデル計算装置による処理ステップについて説明する。
図20は、逆モデル計算装置による処理ステップを示すフローチャートである。
まず、決定木生成部2は、時系列データ記録部1に記録された時系列データを用いて決定木を作成する(ステップS71)。
次に、条件判定部5に対して未来時刻における出力値Vを与える(出力条件を与える)(ステップS72)。
条件判定部5は、目標リスト及び入力系列リストを空にし(ステップS73)、目標リストに出力条件“y(t)=V”を目標条件として加える(ステップS74)。
条件判定部5は、後述するサブルーチンCを実行する(ステップ75)。
条件判定部5は、サブルーチンCの実行結果がFALSEであった場合は(ステップS76のYES)、与えられた出力値Vを規定時間内に得ることができない旨を出力する(ステップS77)。
一方、条件判定部5は、サブルーチンCの実行結果がTRUEであった場合は(ステップS76のNO)、サブルーチンCにおいて取得された入力系列リストの内容(入力条件及び時刻tの値)を出力する(ステップS78)。
図21は、サブルーチンCの処理ステップを詳細に示すフローチャートである。
まず、条件判定部5は、繰り返し回数iを初期化(例えばi=0)し(ステップS81)、繰り返し回数iをインクリメントする(i=i+1)(ステップS82)。
次に、条件判定部5は、繰り返し回数iが既定値を超えたか否かを判断する(ステップS83)。
条件判定部5は、繰り返し回数iが既定値を超えた場合は(ステップS83のYES)、与えられた出力値Vを得ることはできない旨(FALSE)を出力する(ステップS84)。
一方、条件判定部5は、繰り返し回数iが既定値を超えていない場合は(ステップS83のNO)、時系列データとマッチする規則が目標リスト内に存在するか否かを判断する(ステップS85)。
現時点では、目標リスト内に規則が格納されていないので、ここではそのような規則は存在しないと条件判定部5は判断し(ステップS85のNO)、目標リストから項目を1つ取り出す(ステップS86)。
条件判定部5は、取り出した項目が、出力条件及び規則のいずれであるかを判断する(ステップS87)。
条件判定部5は、取り出した項目が出力条件であると判断した場合は(現時点ではこれに該当)(ステップS87の出力条件)、その項目を目標条件として条件取得部3にサブルーチンAを実行させ、条件取得部3から検索結果(目標条件の値を葉ノードに含む規則)を受け取る(ステップS88)。例えば、図16において、出力値Vを5とした場合、サブルーチンAによって5つの規則(2)(5)(6)(9)(13)が得られ、出力値Vを6とした場合は、4つの規則(1)(4)(7)(11)が得られる。
条件判定部5は、検索結果がFALSEであった場合は(ステップS89のYES)、与えられた出力値Vを得ることはできない旨(FALSE)を出力する(ステップS84)。
一方、条件判定部5は、検索結果がFALSEでなかった場合は(ステップS89のNO)、条件取得部3によって取得された規則を目標リストに加える(ステップS90)。
次に、条件判定部5は、繰り返し回数iをインクリメントし(ステップS82)、繰り返し回数iが既定値を超えていないと判断すれば(ステップS83のNO)、目標リスト内の規則に時系列データにマッチするものが存在するか否かを判断する(ステップS85)。図17において出力値Vを5とした場合、規則(2)(5)(6)(9)(13)のうち規則(9)(13)が、図14に示すように時系列データとマッチする。この場合、条件判定部5は、マッチする規則が存在すると判断する(ステップS85のYES)。条件判定部5は、マッチする規則と時系列データとに基づいて入力条件及び時刻tを特定し、入力系列リストに追加する(ステップS91)。ここではX(25)=0(規則(9))、X(25)=1(規則(13))及び時刻t=25を、入力系列リストに追加する(ステップS91)。
一方、ステップS85において、時系列データにマッチする規則が存在しない場合は(ステップS85のNO)目標リストから項目を1つ取り出す(ステップS86)。例えば、図17において出力値Vを6とした場合における規則(1)(4)(7)(11)は、時系列データにマッチしないので、これらの項目(規則)のうち1つを目標リスト内から取り出す。ここでは、例えば規則(4)を取り出す(ステップS87の規則)。
条件判定部5は、取り出した規則(対象規則)にマッチする規則が存在するか否かを、条件取得部3に判断させる(ステップS92)。
条件判定部5は、そのような規則が存在する場合は(ステップS92のYES)、その規則を上述の対象規則と共に、一時格納リストに追加する(ステップS93)。図17において出力値Vが6の場合、規則(4)にマッチする規則として、規則(10)、(13)が存在するため、一時格納リストには、対象規則としての規則(4)と、規則(4)にマッチするとして得られた規則(10)(13)とが格納される。
条件判定部5は、一時格納リスト内の得られた規則が時系列データとマッチするか否かを判断する(ステップS94)。上記例では、規則(10)あるいは規則(13)が時系列データにマッチするか否かを判断する。
条件判定部5は、マッチする規則が存在する場合は(ステップS94のYES)、そのマッチする規則及び対象規則に基づいて入力条件及び時刻tを特定し、入力系列リストに追加する(ステップS96)。例えば、上記例では、規則(10)に基づきX(25)=1を、規則(4)に基づきX(26)=1をそれぞれ入力条件として特定し、これら入力条件を時刻t=26と共に、入力系列リストに追加する。
条件判定部5は、目標リストが空であるかどうかを判断し(ステップS97)、空である場合は(ステップS97のYES)、サブルーチンCを終了し、空でない場合は(ステップS97のNO)、一時格納リストを空にして、ステップS82に戻る。
上述のステップS94において、一時格納リスト内の検索された規則が時系列データにマッチしない場合は(ステップS94のNO)、条件判定部5は、このマッチしない規則を対象規則として、再度ステップS92、S93を行う。この対象規則にマッチする規則が検索されれば(ステップS92のYES)、それを一時格納リストに追加する(ステップS93)。一方、規則が検索されなければ(ステップS92のNO)、一時格納リストを空にして(ステップS95)、ステップS82に戻る。
以上のように、本実施の形態によれば、決定木から得られた規則を時間的に遡るようにして組み合わることによって、与えられた出力値を得るための条件を算出するため、短時間での条件の算出が期待できる。
(第5の実施の形態)
上述した第4の実施の形態では、規則同士のマッチング及び規則と時系列データとのマッチングの時刻帯、つまり、単一化する時刻帯を、現在時刻Tを除く全時刻帯とした。第4の実施の形態では単一化する時刻帯は、T−2〜T−1までの2時刻である。しかし、規則に含まれる時刻帯が長い場合、現在時刻を除く全時刻帯で規則を単一化することは、高い推論精度が期待されるものの、多くの計算量が要求され、効率的でない場合もある。より短い時刻帯で単一化できれば効率的であるが、単一化する時刻帯を短くすると推論精度が低下する問題も生じ得る。そこで、本実施の形態では、単一化する時刻帯として有効な値を算出し、その値で単一化を行うことにより、少ない計算量で、精度の高い推論を実現する。
まず、単一化する時刻帯と推論精度との関係について簡単に説明する。
上述した規則(4)を例にとって説明する。この規則(4)における「Y(T−1)<=4、Y(T−2)<=5、X(T)=1、X(T−1)=1→Y(T)=6」は、上述したように、この論理式における左辺全ての条件(説明変数の条件)が成立する場合に右辺の結果(被説明変数の値)が得られることを意味する。この規則(4)からは、Y(T−2)<=5が成り立った後に、X(T−1)=1とした場合、Y(T−1)<=4となるか否かは不明である。言い換えると、規則において各時刻におけるYの値が、その時刻以前の条件が成り立った場合に成立するか否かは不明である。
本実施の形態では、規則に含まれる各時刻における出力条件が、その時刻以前の条件が成り立った場合に成立する確率(統計量)を求め、その確率が閾値以上の最小の時刻帯で単一化を行う。これにより最小限の計算量で、精度の高い論理推論を行うことが期待できる。以下、これについて、規則(4)を例にして、さらに詳しく説明する。
規則(4)内の各時刻における出力条件が、その時刻以前の条件が成立した場合に成立する確率を図14の時系列データを用いて調べると以下のようになる。
まず、Y(T−2)<=5については、この時刻以前の他の条件が存在しないので、省略する。
次に、Y(T−1)<=4については、Y(T−2)<=5が成立する場合に、X(T−1)=1として成立するか否かを調べると、時刻4、13、19、23では成立し、時刻10、14、18、20、22では成立しない。従って、Y(T−1)<=4が成立する確率は、44%(=4/9×100%)である。
以上から、仮に閾値を30%に設定すると、規則(4)に関してはT−2及びT−1の2時刻帯で単一化することは好ましいといえる。
次に、単一化する時刻帯を算出し、算出された時刻帯で単一化を行う処理ステップについて説明する。これは、図21のステップS89に代えて、図22に示すサブルーチンDを実行すればよい。
図22はサブルーチンDの処理ステップを示すフローチャートである。
条件判定部5は、条件取得部3による検索結果がFALSEでない場合は(ステップS101のNO)、条件取得部3から取得した各規則について、時系列データ記録部1内の時系列データに基づき、各時刻における出力条件がそれ以前の時刻における条件が成立した場合に成立する確率を計算する(ステップS102)。条件判定部5は、確率が閾値以上となる最小の時刻帯を単一化する時刻帯とする(ステップS102)。条件判定部5は、各規則を、各規則の単一化する時刻帯と共に目標リストに加え(ステップS90)、単一化を行うステップS85、S92、S94(図21参照)では、算出された時刻帯によって単一化を行う。ステップS92で新たに規則が取得された場合は同様にして時刻帯を求める。
一方、条件判定部3は、条件取得部3による検索結果がFLASEである場合(ステップS101のYES)は、ステップS84に進み、与えられた出力値Vを得ることができない旨(FALSE)を出力する。
上述のステップS102では、各規則のそれぞれについて、単一化する時刻帯を算出したが、全規則に共通の時刻帯を求めてもよい。具体的には、全規則を対象として各時刻における出力条件の成立確率の平均を算出し、その平均が閾値を上回る最小の時刻帯を、各規則に共通の時刻帯として用いる。
これを実現するには、例えば図21のステップS81とS82との間に、図23に示すサブルーチンEを追加すればよい。
即ち、条件判定部5は、条件取得部3に決定木に含まれる全規則を取得させる。条件判定部5は、取得した全規則を対象として各時刻における出力条件の成立確率を算出し、各時刻について成立確率の平均を求める。その値が閾値以上となる時刻を特定し、特定された時刻以前の時刻帯を各規則に共通の単一化する時刻帯とする(ステップS112)。従って条件判定部5は、図21のステップS85、S92、S94では、この共通の時刻帯を用いる。
以上のように、本実施の形態によれば、単一化する時刻帯として所定の精度を満たす最小限の時刻帯を採用するため、精度をさほど低下させることなく、少ない計算量で処理を実行できる。また、本実施の形態によれば、各規則に共通の単一化する時刻帯を算出するため処理効率をさらに高めることができる。
(第6の実施の形態)
制御などの分野においてはプロセス出力が複数ある場合が少なくなく、それら複数の出力に対する逆方向計算を行いたい場合がある。すなわち、複数の出力を同時にある望ましい値にするような入力を求めたい、例えばある装置の温度とそれにつながる別の装置の圧力が同時にある値になるような入力を求めたいという場合がある。
第1番目の方法として、複数の出力を1次元の評価値に変換して、その1次元の評価値に対するモデルを構築するという方法がある。1次元ならば、決定木を構築し、構築した決定木を用いて逆方向計算を実行できる。
しかし、この方法では、1次元の評価値への変換のための適正な評価関数を定義しなければならない。どのような評価関数が適切かは問題に応じて異なり、評価関数を適切に定義するのは困難である。また、仮に評価関数を適正に定義できたとしても、モデルの構築のために、評価値への変換処理が存在するため、計算時間がかかるという問題がある。
2番目の方法として、複数の出力の直積(集合)を1つの被説明変数の値と見なして、決定木等のモデルを構築する方法が考えられる。
しかし、この方法では、観測データ内において、被説明変数の値に欠損が存在する場合にはその部分のデータを決定木の構築に利用できない。即ち、全ての被説明変数の値が揃っているデータのみ決定木構築に利用可能である。従って、この方法では、利用できるデータが大幅に減る恐れがある。構築に利用するデータが少ない場合、生成された決定木の精度にも悪影響を与え、その決定木は役に立たない恐れもある。
第3番目の方法して、複数の出力の各出力に対して複数の決定木を生成し、複数の決定木を同時に用いて逆方向の計算を行う方法がある。
しかし、この方法は困難であるか、あるいは多くの計算時間を要する。なぜなら、ある1つの決定木によって、ある1つの被説明変数を望ましい値にする説明変数の値を求めたとしても、別の被説明変数に対してはその説明変数の値では条件が満たされるとは限らないからである。
以上の問題点に鑑み、本発明者らは、独自の研究を重ねた結果、各被説明変数について生成された決定木を合成して、これら被説明変数の集合を被説明変数として有する合成決定木を生成する手法を知得した。つまり、この合成決定木は、その葉ノードにおいて、各決定木における葉ノードの値を異なる決定木間で組み合わせた値を有する。この合成決定木を第1〜第5の実施の形態に適用することで、複数の出力を同時に望ましいものとする条件を算出できる。以下、決定木を合成する手法について詳しく説明する。
図25は、複数の決定木を合成する決定木合成装置の構成図である。
この決定木合成装置は、データ入力部11、決定木生成部12、決定木合成部13及び決定木出力部14を備える。
データ入力部11は、説明変数の値と、被説明変数の値とを含むデータを決定木生成部12に入力する。説明変数の値は、例えば機器の操作入力値などであり、被説明変数の値は、それに伴う機器の出力(例えば温度や圧力)である。本データ内には複数種類の被説明変数が含まれる。一般にこのデータは、観測、記録などによって収集される(図2参照)。
決定木生成部12は、データに含まれる説明変数の値と、データに含まれる1つの被説明変数の値とに基づき1つの決定木を生成する。決定木生成部12は、このことを各被説明変数について行う。つまり、決定木生成部12は、被説明変数の数分だけの決定木を生成する。各決定木は、葉ノード(末端ノード)に被説明変数の値を有し、葉ノード以外のノードは説明変数となる。ノード間をつなぐ枝は説明変数の値となる。
決定木合成部13は、決定木生成部12において生成された複数の決定木を合成して、説明変数の値から複数の被説明変数の値を同時に推測する1つの決定木(合成決定木)を生成する。この合成決定木は、各決定木における葉ノードの値(被説明変数の値)を異なる決定木間で組み合わせた被説明変数の値の集合を葉ノードにおいて有する。例えば第1の決定木が各葉ノードにおいてy1,y2,y3・・ynを有し、第2の決定木が各葉ノードにおいて値z1,z2,z3・・znを有する場合、合成された決定木の葉ノードはそれぞれ(y1,z1),(y1,z2)・・(y1,zn),(y2,z1),(y2,z2),・・・(yn,zn)となる。この合成決定木を上述の第1〜第5の実施の形態における対象の決定木として用いることで、複数の被説明変数の値を同時に満足するために必要な条件を求めることができる。例えば第1の実施の形態においてこの合成決定木を用い、未来時刻における出力値として(y2,z1)を得る場合は、値(y2,z1)を有する葉ノードを特定し、この葉ノードから根ノードに向かって辿ることで、この値(y2,z1)を得るために必要な条件を求めることができる。
決定木出力部14は、決定木合成部13によって生成された合成決定木を出力する。出力された合成決定木は、上述した第1〜第5の実施の形態において対象の決定木として使用できる。つまり図1及び図9の条件取得部3は、この合成決定木を対象の決定木として用いることができる。
以下、具体例を用いて、図25の装置についてさらに詳述する。
図27は、観測データの一例を示す表である。
変数X1が1でX2が2、X3が0、X4が0、X5が0、X6がAで、Y1が3、Y2がAという事例、変数X1が3、X2が0、X3が1、X4が0、X5が1、X6がBで、Y1が7、Y2がCという事例など、多数の事例が存在する。ここでX1〜X6は説明変数であり、Y1とY2が被説明変数である。制御の分野では、X1〜X6の値が入力(例えば材料の性質を表す項目や機器の操作など)、Y1とY2の値が出力(例えば材料の温度や圧力など)に対応する。
まず、データ入力部11から決定木生成部12に図27のデータが入力される。入力されたデータは適当な形式で記憶される。
次に、決定木生成部12において、被説明変数ごとに決定木が生成される。
データ入力部11から入力されたデータが図27に示すデータの場合、被説明変数が2つあるので、2つの決定木が生成される。1つの決定木(被説明変数Y1に対応する決定木)を生成するために利用するデータを図28に示す。
図28のデータは、図27に示すデータから、被説明変数Y2のデータを削除して、被説明変数Y1のデータのみとしたものである。
このように被説明変数が1つしかないデータから決定木を生成する方法は、「AIによるデータ解析」J.R.Quinlan著、古川康一監訳、株式会社トッパン 1995年発行、「応用2進木解析法」大滝厚、堀江宥治、D.Steinberg著、日科技連 1998年発行、などによって知られている。
同様にして、図27に示すデータから被説明変数Y1のデータを削除したデータを作成することで、被説明変数Y2に対応する決定木も作成できる。
以上のようにして各被説明変数Y1、Y2に対して求めた決定木を、ここでは便宜上「決定木1」、「決定木2」と呼ぶこととする。
ここでは、決定木生成部12が、被説明変数を1つのみにしたデータ(図28参照)を生成したが、決定木合成装置の別例を示す図26のように、決定木生成部12を、データ整形処理部12aと決定木生成処理部12bとに分け、データ整形処理部12aが被説明変数を1つのみにしたデータを生成し、決定木生成処理部12bが、このデータを用いて決定木を生成するようにしてもよい。また、各被説明変数に対応する決定木の生成は、順番に行ってもいいし、並列に行ってもよい。
なお、以上では、各被説明変数の決定木を生成するに当たり、被説明変数を1つのみにしたデータを生成したが(図28参照)、この処理は、説明を簡単化するために行ったもので、実際の処理では省略してもよい。
図29は、被説明変数Y1,Y2に対して生成された決定木1及び決定木2の例を示す図である。
これら決定木1及び決定木2の見方について簡単に説明すると以下の通りである。
決定木1は、被説明変数(葉ノード)であるY1の値によって事例を分類する。まずX1が4より大きいかどうかを判断する。X1が4以下の場合には次にX3が0か1かを判断し、X3が0ならばY1が2より小さく、X3が1ならばY1が5より大きいと判断する。X1が4より大きい場合にも同様にして行う。図中、葉ノードのおける「2〜5」は、「2以上5以下」を意味する。
同様に、決定木2は、被説明変数であるY2の値によって事例を分類する。まずX3が0か1かを判断し、X3が0の場合には次にX4が0か1かを判断する。X4が0ならばY2がA、X4が1ならばY2がCであると判断する。X3が1の場合も同様にして行う。
これらの決定木1及び決定木2は、既知のデータ(図27参照)に含まれる事例集合を分類するものだが、新たなデータに対しても被説明変数であるY1やY2の値を予測できる。
なお、一般に、決定木による分類は100%正しいわけではない。それは、決定木構築に用いるデータ内に矛盾がある場合もあるし、また、ごく少数しか存在しない事例に関しては誤差やノイズと見なされて決定木の構築に影響を与えない場合もあるからである。現時点で得られているデータを100%正しく分類する詳細な決定木を生成することは可能だが、そのような決定木は実際にはあまり有効ではない。なぜならそのような決定木はノイズや誤差までも忠実に表現していると考えられるからである。加えて、そのような決定木は現在のデータを厳密に再表現したに過ぎず、決定木の形に表現し直す必然性に弱いからである。また、詳細過ぎる決定木は利用者にとっても理解しにくいものとなるからである。従って、適度にノイズに対する処理を行ったコンパクトな決定木を生成することが望ましい。
決定木合成部13は、上述したように複数の決定木を合成して1つの決定木を生成する。以下では、決定木の合成方法の具体例を3種類(合成方法1〜3)提示するが、これらの組み合わせを用いることも可能である。
以下、合成方法1〜3について順番に説明する。
(合成方法1)
図30は、合成方法1を実行する処理手順を示すフローチャートである。
この合成方法1では、まず適当な説明変数の値(説明変数値)の系列を作る(ステップS1001)。説明変数値の系列とは、例えば、図27の説明変数X1、X2、X3、X4、X5、X6の値を定めた入力データのことである。まずは、どのような値でもよいので、系列を1つ作る。ここでは、図31に示す説明変数値の系列を作ったとする。
次に決定木1、2に対してこの説明変数値の系列を与えて、被説明変数の値を求める(ステップS1002、S1003)。即ち、決定木を根ノードから順に辿っていくと、ある1つの葉ノードに到達する。その葉ノードの値が被説明変数の値である。
具体的には、決定木1ではまずX1が1、つまり「≦4」であるので左側の枝に進み、次にX3は0なので左側の枝に進み、結果として「<2」という葉ノードに到達する。一方、決定木2ではX3が0なので左側の枝に進み、次にX4が0なので左側の枝に進み、結果として「A」という葉ノードに到達する。
このようにして各決定木1,2から得られた葉ノードの値を図31の表に追加して1つの事例を作る(ステップS1004)。図32は、生成された1つの事例データを示す。
次に、別の説明変数値の系列を作る。この場合も作り方に制約はないが以前に作った系列と同じではない方が望ましい。例えばランダムに、あるいは説明変数の値を順番に変化させるなどして、あらゆる説明変数値の組み合わせを網羅することが好ましい。そうして作った系列をまた決定木1,2に与えて被説明変数の値を取得し、事例データを作る。以上を繰り返すことにより事例データの集合を生成する。
生成された事例データの集合を用い、2つの被説明変数の集合を1つの被説明変数とみなして決定木を生成する(ステップS1005)。例えば「<2」かつ「A」を1つの被説明変数の値と見なして決定木を生成する。決定木の生成方法は前述した文献などに示されているので、ここでは詳細な説明を省略する。
(合成方法2)
図33は、合成方法2を実行する処理手順を示すフローチャートである。
まず、根ノードから葉ノードへ至るパス(規則)を決定木1,2からそれぞれ取得し、取得したパスの全ての組み合わせをとる。この結果、パスの組(パス集合)が複数生成される。そして、各パス集合におけるパスを連結等して、各パス集合から、新たな1つのパス(合成パス)を生成する。これにより、新たなパスの集合(合成パスの集合)を得る(ステップS1011)。
次に、ステップS1011で得られた合成パスの集合に含まれる複数の合成パスを合成して1つの決定木を得る(ステップS1012)。
以下、ステップS1011、S1012についてさらに詳しく説明する。
まず、ステップS1011について説明する。
図34は、ステップS1011の処理手順を詳細に示すフローチャートである。
まず、根ノードから葉ノードへ至るパスを決定木1,2からそれぞれ取得し、取得したパスを決定木1、2間で全通りで組み合わせ、複数のパスの組(複数のパス集合)を取得する(ステップS1021)。
図35は、パスの組の例を示す図である。図35の左側は、決定木1(図29参照)の最も左の葉ノードと根ノードとを結ぶパスであり、右側は決定木2の最も左の葉ノードと根ノードとを結ぶパスである。各パスに分岐は含まれない。
このようにして決定木1に含まれる各パスと、決定木2に含まれる各パスとを順次組み合わせていく。組み合わせの順番は問わないが、全ての組み合わせを網羅する。決定木1には葉ノードが5個、決定木2には葉ノードが6個あるため、パスの組は、5×6=30通り生成される。
このようにしてパスの組を取得したら、次に各パスの組における各パスを縦に連結して新たなパス(連結パス)を生成する(図34のステップS1022)。
図36は、図35に示すパスの組を連結した状態を示す図である。
連結前の各パスにおける葉ノード(被説明変数)は連結パスの末端に割り当てられる。その他のノード(説明変数)は縦方向に連結される。図36では、決定木1のパスの下に決定木2のパスを連結しているが、逆でもよい。
次に、この連結パスに矛盾があるかどうかをチェックする(図34のステップS1023)。
矛盾とは、重複する説明変数があり、かつその値が異なることをいう。例えば、連結パスに同じ説明変数(ノード)が2つ以上含まれ、一方は1、他方は0である場合は矛盾である。
矛盾がある場合は(ステップS1023のYES)、この連結パスを削除し(ステップS1024)、次のパスの組を選択する(ステップS1026のYES)。図36では、ノードX3が2つあるが、2つとも同じ値0であるため矛盾はない。
矛盾がない場合は(ステップS1023のNo)、連結パスに含まれる重複を省く処理を行う(ステップS1025)。重複とは、連結パスに同じ説明変数(ノード)が複数あり、かつ各説明変数の値が同じことをいう。上述のステップS1023で矛盾のチェックを行っているので、現時点で同じ説明変数が複数あれば、その値は同じはずであり、従って重複がある。重複がある場合は、連結パスから、重複する説明変数(ノード)及びその枝を削除する。この結果、連結パスは短くなる。図36では、連結パスにノードX3が2つ含まれ、且つ、値はどちらも0である。従ってこれは重複である。図36の連結パスから重複を省いたパス(合成パス)を図37に示す。
以上のようにして、各パスの組(本例では30組)に対して、連結処理(ステップS1022)、矛盾処理(ステップS1024)及び重複処理(ステップS1025)を施す。矛盾する連結パスは矛盾処理(ステップS1024)によって削除されるので、生成される合成パスは30個以下になる。本例では、6個の合成パスが生成される。図38は、生成された16個の合成パスを示す。
図38において、各合成パスの上に書かれた括弧付の数値は、決定木1及び決定木2の各パスをどのように組み合わせたかを記したものである。例えば(1-2)は、決定木1における一番左の葉ノードを含むパスと、決定木2における左から2番目の葉ノードを含むパスとを組み合わせたことを意味する。(1-3)、(1-4)などは、上述した矛盾処理(ステップS1024)によって削除されたため図38において存在しない。各合成パスにおけるノードの配置順序は、葉ノード(被説明変数)以外は入れ替えてもよい。図38では、見易さのために、X1、X2、…のように、番号の小さい順に配置している。
なお、上述の矛盾処理(ステップS1024)及び重複処理(ステップS1025)の実行順序は逆でもよく、また並行して実行してもよい。この場合も結果は同じものとなる。
次に、ステップS1012(図33参照)について詳細に説明する。
ステップS1012では、以上のようにして生成された合成パス(図38参照)を合成して1つの決定木を生成する。
図39は、ステップS1012の処理手順を詳細に示すフローチャートである。
まず全ての合成パスを対象とする(ステップS1031)。本例では図38に示す16個の合成パスを対象とする。
次に、対象となる合成パスが2つ以上あるかどうかを判断する(ステップS1032)。現時点では16個あるのでYESに進む。
次に、対象となる合成パスの集合の中で最も多く使われている説明変数(ノード)を求める(ステップS1033)。ここで、16個の合成パスを調べると、ノードX1、X3は全ての合成パスに使われており、最多(それぞれ16個)である。このように最多のノードが複数ある場合は、任意の1つを選択する。ここではノードX1を選ぶものとする。なお、図38に示す各合成パスは決定木1と決定木2とを基に作られているので、各合成パスは必ず決定木1,2の根ノード(本例ではノードX1、X3)を含む。
次に、求めたノードを新たな決定木のノードとして、新たな決定木において選んだ枝の下につなげる(ステップS1034)。但し、最初の処理(1度目のループ)ではそのノードを根ノードとする(ステップS1034)。従って、現時点では、ノードX1を根ノードとする。
次に、そのノードの取り得る値に応じてノードに枝を作る(ステップS1035)。取り得る値は合成パスの集合から調べる。ノードX1が取り得る値を、図38に示す合成パスの集合から調べると「≦4」と「4<」である。従って、ノードX1に対し「≦4」と「4<」の枝を作る。ここまでの処理で生成された生成途中の決定木を図40に示す。
次に、現時点の決定木において枝を1つ選択する(ステップS1036)。ここでは、図40において、左側の「≦4」の枝を選択したとする。右側の枝は後に処理をする。どちらの枝を先に選んでもかまわない。
次に、この決定木の根ノードからステップS1036で選択された枝までのパスを含む合成パスを図38の合成パスの集合から探し、対象の合成パスとする(ステップS1037)。本例では、「X1≦4」を含む合成パスを探し、この合成パスを対象の合成パスとする。図38に示す合成パスの集合の中で「X1≦4」を含む合成パスは、最上段の6個の合成パスである。従って、これら6個の合成パスを対象の合成パスとする。
次に、ステップS1032に戻って、対象の合成パスが2つ以上あるかどうかを調べる。対象となる合成パスは6個なのでYESに進む。
次に、対象となる合成パスの集合の中で最も多く使われているノードを求める(ステップS1033)。但し、ここでは、ステップS1037において対象となる合成パスを探す際に用いたノード(本例ではノードX1)、つまり、決定木の根ノードからステップS1036で選択した枝までの経路上にあるノードは除く。図38の最上段における6個の合成パスの中でノードX1を除いて最も多く使われているノードはX3なのでノードX3を選択する。
次に、そのノードを新たな決定木のノードとして、ステップS1036で選んだ枝の下につなげる(ステップS1034)。ステップS1036で選んだ枝は図40の左側の枝なので、その下にノードX3をつなげる。
次に、そのノードの取り得る値に応じてノードに枝を作る(ステップS1035)。図38の最上段に示すように、ノードX3が取り得る値は「0」と「1」なので、ノードX3の下に「0」「1」の枝を作る。ここまでで生成された決定木を図41に示す。
次に、決定木において枝を1つ選択する(ステップS1036)。ここでは、ノードX3から分岐した枝のうち左側の「0」の枝を選んだとする。
次に、この決定木において根ノードからステップS1036で選択された枝までのパスを含む合成パスを図38に示す合成パスの集合(最上段の6個)から探し、対象の合成パスとする(ステップS1037)。ステップS1036で選択された枝はノードX3から分岐した枝のうち左側の「0」の枝なので、根ノードからその枝へ至るパス(「X1≦4」「X3=0」)を含む合成パスを、最上段の6個の合成パスから探す。図38の最上段の左から1番目及び2番目の2個の合成パスがこれに合致する。
次に、ステップS1032に戻って、対象の合成パスが2つ以上あるかどうかを調べる。対象の合成パスは2個なのでYESに進む。
次に、対象の合成パスの集合の中で最も多く使われているノードを求める(ステップS1033)。但し、ノードX1、X3は除く。対象となる2個の合成パスに使われているノードは、ノードX1,X3を除くと、X4であるのでX4を選択する。
次に、そのノードを新たな決定木のノードとして、ステップS1036で選択された枝の下につなげる(ステップS1034)。ステップS1036で選択された枝は、図41の最も左側の枝(X3=0)なので、ノードX3から分岐した「0」の枝の下にノードX4をつなげる。
次に、そのノードの取り得る値に応じて、そのノードに枝を作る(ステップS1035)。ノードX4が取り得る値は、図38の最上段、左側から1番目、2番目の合成パスから、「0」と「1」である。従って、ノードX4の下に「0」「1」に対応する枝を作る(図42参照)。
次に、決定木において枝を1つ選択する(ステップS1036)。ここでは、ノードX4から分岐した左側の枝「0」を選択したとする。
次に、この決定木において根ノードからステップS1036で選択された枝までのパスを含む合成パスを図38に示す合成パスの集合から探し、対象の合成パスとする(ステップS1037)。対象となる合成パスは、図38の最上段中、1番左の合成パスのみである。
次に、ステップS1032に戻って、対象の合成パスは2つ以上あるかどうかを調べると1個しかないのでNOに進む。
次に、この合成パス中の葉ノードを、ステップS1036で選択された枝の下に繋げ、新たな決定木の葉ノードとする(ステップS1038)。本例では、「〜2、A」が新たな決定木の葉ノードとなる。ここまでで生成された決定木を図42に示す。
次に、決定木において葉ノードが付されていない枝があるかどうかを判断する(ステップS1039)。図42に示すように、葉ノードが付されていない枝が3つあるのでYESに進む。
次に、この決定木において葉ノードが付されていない枝を1つ選択する(ステップS1040)。ここでは、図42の決定木において、「X4=1」の枝を選択したとする。選択する枝は、葉ノードが付されていない枝ならどれでもかまわない。
次に、ステップS1037に進み、現時点の決定木において根ノードからステップS1040で選択された枝までのパスを含む合成パスを図38に示す合成パスの集合から探し、対象の合成パスとする。ここでは、図38の最上段、左から2番目の合成パスのみがこれに該当する。
ステップS1032に戻って、対象の合成パスが2つ以上あるかどうかを調べると1個しかないのでNOに進む。
次に、この合成パスにおける葉ノードを、ステップS1040で選択された枝の下に繋げ、新たな決定木の葉ノードとする。本例では、「〜2、C」が新たな決定木の葉ノードとなる。ここまでで生成された決定木を図43に示す。
以降、同様の処理を続けることで、最終的に、決定木1及び決定木2を合成した決定木が図44に示すように生成される。
なお、図39のステップS1033において、対象となる合成パスの集合の中で、最も多く使われているノードを求める際に、同数のノードがあった場合にはどれを選択しても良いと述べた。それによって、最終的に得られる決定木が異なるのではないかとの疑問があるかもしれないが、最終的に得られる決定木は意味的には等しくなる。なぜなら、そのようなノードは仮にある時点で選択されなくても、次以降の選択の機会に必ず選択されるからである。両方の決定木の葉ノードの組合せで新たな決定木の葉ノードが生成されるので、最終的に得られる決定木の内容は、ノードの選択される順番にはよらない。
(合成方法3)
図45は、合成方法3を実行する処理手順を示すフローチャートである。
まず、ステップS1041に示すように、決定木1及び決定木2のそれぞれの根ノードを対象とする。本例ではノードX1、X3が対象となる(図29参照)。
次に、対象のノードを異なる決定木間で組み合わせてノードの集合を生成し、ノードの集合を新たな決定木のノードとする(ステップS1042)。本例では、ノードX1、X3の集合を、新たな決定木のノード(集合ノード)とする。このノードを「X1,X3」と書くこととする。この集合ノードが葉ノードからなる場合以外は、各決定木からこの集合ノードに対応するノードを検出し、検出された各ノードの枝を組み合わせて新たな枝を生成し、生成された新たな枝を集合ノードに付加する。本例では、決定木1及び決定木2においてノード「X1,X3」に対応するノードはX1、X3である。従って、各ノードX1,X3の枝を組み合わせて新たな枝を生成する。
即ち、決定木1のノードX1は「≦4」「4<」の枝を有しており、決定木2のノードX3は「0」「1」の枝を有しているので、これらを組み合わせて「≦4, 0」、「≦4, 1」、「4<, 0」、「4<, 1」の4通りの新たな枝を作り、ノード「X1,X3」に付加する。ここまでで生成された生成途中の決定木を図46に示す。
次に、現時点の決定木において葉ノードが付されていない枝があるかどうかを調べる(ステップS1043)。図46に示すように、葉ノードが付されていない枝は4本あるので、ここではYESに進む。
次に、葉ノードが付されていない枝を1つ選ぶ(ステップS1044)。ここでは、例えば一番左端の枝を選んだとする。但し、選ぶ枝はどれでもよい。
次に、選択された枝に対応する、決定木1の枝と決定木2の枝とを検出し、この枝に続くノードを対象として選択する(ステップS1045)。選択された枝は、上述のように、図46中の一番左端の枝、つまり「X1≦4、X3=0」の枝である。従って、これに対応する決定木1の枝「X1≦4」を辿って次のノードX3を選択し、同様に、これに対応する決定木2の枝「X3=0」を辿って次のノードX4を選択し、これらのノードを対象とする。
ステップS1042に戻って、対象とされたノードを組み合わせて新たなノードを生成し、この新たなノードを新たな決定木に追加する。本例では、対象とされたノードはX3、X4であるので、図46において、一番左端の枝の下にノード「X3,X4」を追加する。そして、上述と同様にして、そのノードから枝を分岐させ、その結果、「0, 0」、「0, 1」、「1, 0」、「1, 1」の4種類の枝が追加される(ステップS1042)。ここまでで生成された決定木を図47に示す。なお紙面のスペースの都合から、ノード「X3,X4」から分岐された枝のうち、左端の枝にのみ、対応する値が付されている。
次に、現時点の決定木において葉ノードが付されていない枝があるかどうかを調べる(ステップS1043)。まだどの枝にも葉ノードが付されていないのでYESに進む。
次に、葉ノードが付されていない枝を1つ選ぶ(ステップS1044)。ここでは、1番左端の枝を選んだとする。
次に、選択された枝に対応する、決定木1の枝と決定木2の枝とを特定し、この枝に続くノードを対象として選択する(ステップS1045)。本例では、図47において、一番左端の枝を選んだので、これに対応する決定木1の枝「X3=0」に続くノード「<2」と、これに対応する決定木2の枝「X4=0」に続くノード「A」とを選択する。
ステップS1042に戻って、対象としたノードを組み合わせて新たなノードを生成し、この新たなノードを新たな決定木に追加する(ステップS1042)。本例では「<2, A」が新たなノードとして追加される。但し、各ノード「<2」、「A」は、各決定木1、2における葉ノードなので、新たに生成されたノード「<2,A」は新たな決定木の葉ノードとなる。従って、ノード「<2,A」から分岐枝は生成しない。もし、この時点で一方のノードは元の決定木における葉ノードだが、もう一方のノードが葉ノードではない場合には、葉ノードではない方の決定木の情報を用いて分岐枝をさらに作る。
以上を繰り返すことにより最終的に図48に示す決定木が生成される。
図48では、紙面によるスペースの都合上、木の一部を別枠に拡大して示した。図48において、「×」印を含むパスは矛盾があるため実際には存在しないが、それを明示するために記した。
以上、合成方法1、2、3について説明したが、合成方法2と合成方法3とは、意味的には等しい決定木である。合成方法1は、与えるデータによっては、合成方法2、3により得られる決定木と若干異なる可能性があるが、データの数が多ければ大きく異なることはない。
次に、以上のようにして生成された決定木の改良方法について説明する。
一般に、決定木には、単に枝やノードの情報のみならず、観測データから決定木を生成する算出された種々のデータが保持されている。具体的には、各説明変数(ノード)における事例数(例えばある説明変数がその値として「0」「1」を取り得る場合、「0」の場合の事例数と、「1」の場合の事例数)や、各説明変数における事例数を被説明変数の値で分布させたもの(例えばある説明変数の値が「0」になる事例が100存在する場合において、そのうち被説明変数の値がAになる事例が40、Bになる事例が60存在する等)などである。そこで、決定木が保持しているこれらの情報を利用して、合成方法1〜3によって生成された合成決定木を評価し、精度の低いパスは枝刈りなどして合成決定木を改良する。
図49は、合成決定木(図48参照)における最も左のパスの評価方法を説明する図である。この最も左のパスは、決定木1及び決定木2のそれぞれ左端のパスを組み合わせてできたパスである。
図中左側は決定木1の左端のパスを示す。「X1≦4」且つ「X3=0」となる事例は100存在する。被説明変数の値が「<2」になる事例は70、「2〜5」(2以上5以下)になる事例は20、「5<」になる事例は10、存在する。つまり決定木1のパスの精度は70%(=70/100)である。
図中右側は決定木2の左端のパスを示す。「X3=0」且つ「X4=0」となる事例は90存在し、被説明変数が「A」になる事例は80、「B」になる事例は20存在する。つまり決定木2のパスの精度は80%(=80/100)である。
従って、「X1≦4」且つ「X3=0」且つ「X4=0」の場合に、被説明変数の値が「<2,A」となる確率は70%×80%=56%と推測される。
なお、合成決定木の事例数は、元の決定木の事例数よりも大きくなることはあり得ない。従って、合成決定木の事例数は最大でもmin{決定木1の事例数、決定木2の事例数}となる。本例では、図49に示すように、90個以下となる。
以上に基づき、合成決定木において、「X1≦4」且つ「X3=0」且つ「X4=0」の場合に、被説明変数の値が「<2, A」となる事例数を推測すると、最大でも90個×56%=約50個程度と推測できる。この数あるいは確率が一定値以下である場合には、枝刈りをして合成決定木を改良する。
また、合成決定木の各パス(規則)を既知の観測データに適用して規則通りになる事例数(あるいは確率)を求め、その平均を求めることなどによって、合成決定木全体の評価を行うことも可能である。その他、確率的に最もありそうな事例数や分布を推定することなどもできる。
以上、本発明の一実施の形態を示したが、本発明の適用範囲は、複数の被説明変数あるいは複数の決定木に対して、説明変数が同一な場合に限られない。即ち、上記の説明では、簡単化のために、図27のように各被説明変数に対する説明変数が同一の場合を扱ったが、例えばY1に対する説明変数と、Y2に対する説明変数とが異なる場合にも本発明は適用可能である。
但し、それぞれの説明変数に全く重複がない場合には、本発明の適用は可能なものの、適用の必要性は少ないものと考えられる。即ち、本発明は、複数の被説明変数が望ましい値になるような説明変数の値を求める逆方向の計算の解決が目的の1つであるが、被説明変数に対する説明変数が完全に異なる場合には、決定木を合成せずに独立に逆方向計算を行っても、決定木を合成して逆方向計算を行っても処理内容に差がないからである。逆に、説明変数に一部重複がある場合には、本発明の効果が発揮される。
また、本実施の形態では簡単化のために2つの決定木を合成する例を説明したが、決定木が3つ以上の場合も本発明は適用可能である。
また、上述した決定木合成装置は、ハードウェアによって構成することの他、同等の機能を、プログラムによって実現することも当然可能である。
以上、決定木の合成方法及び決定木の改良方法について述べてきた。一般的に決定木の作成及び決定木によるデータ分析により以下の利点を得ることができる。
観測データから決定木を作成することでモデルや知識の一般化が容易になる。また、変数に連続的な値が用いられている場合には適度な離散化が行われる利点がある。さらに、決定木の作成の際に、被説明変数に影響を与える説明変数、すなわち重要な説明変数が自動的に抽出されるので、重要な説明変数が分かる。例えば、図27のデータには説明変数X6があるが、決定木1と決定木2には説明変数X6は存在しないことから、説明変数X6は重要でなかったといえる。決定木は利用者にデータに関する知見を与えるという意味でも有効なモデルである。また、決定木は、既知のデータに対する過度の適合を防ぎつつ未知のデータに対して好適に対応できる。
以上のように、本実施の形態によれば、決定木を複数合成して、説明変数の値から複数の被説明変数の値を同時に推測する決定木を生成するため、この決定木を第1〜第5の実施の形態における対象の決定木として用いることで、複数の被説明変数を同時に望ましい値とする条件を求める逆方向計算を簡易にできる。決定木の合成方法として合成方法1を用いる場合は、被説明変数ごとの決定木を生成した後に簡単な後処理(簡単なプログラム)を追加するだけでよいので処理が容易である。また、合成方法2では、簡潔な(見やすい)決定木を生成できる。合成方法3では、元の決定木との対応が明確な決定木を生成でき、また、アルゴリズムも簡易である。
また、本実施の形態によれば、観測データに欠損値(被説明変数の欠損値)が含まれていても高精度なモデルを生成できる。即ち、被説明変数の直積を1つの被説明変数として決定木を構築する方法(本実施の形態の冒頭で説明した2番目の方法)では、観測データ内に被説明変数の欠損値が存在した場合は、その部分のデータは決定木の構築に利用できず、構築されたモデルの精度が低下する問題があった。これに対し、本実施の形態では、まずは、被説明変数ごとの決定木を構築し、その後、各決定木を合成して合成決定木を生成する。従って、本実施の形態では、観測データ内に被説明変数の欠損値が存在しても、高精度なモデル(合成決定木)を生成できる。
本発明の第1の実施の形態に従った逆モデル計算装置の構成を示すブロック図。 観測対象システム4に入力系列が入力され、出力系列が出力される様子を示す図。 観測対象システム4に入力された変数X1、X2の入力系列と、観測対象システム4から出力された変数Yの出力系列とからなる時系列データを表形式にて示した図。 図3の時系列データに基づき作成された決定木を示す図。 変数X1,X2の入力系列と、変数Yの出力系列とからなる時系列データを表形式にて示す図。 図5の変数Yを被説明変数、変数X1、X2を説明変数として図5の時系列データを並べ替えたデータを示す表。 逆モデル計算装置による処理ステップを示すフローチャート。 サブルーチンAの処理ステップを示すフローチャート。 本発明の第2の実施の形態に従った逆モデル計算装置の構成を示すブロック図。 図9の逆モデル計算装置による処理ステップを示すフローチャート。 サブルーチンBの処理ステップを示すフローチャート。 本発明の第3の実施の形態に従った逆モデル計算装置による処理ステップを示すフローチャート。 図3に示した時系列データに後続する部分を示した表。 分析対象となる時系列データを示す図。 図14の時系列データを並び替えたデータを示す表。 図15の表に基づき構築された決定木を示す図。 規則(1)〜(13)を表形式で表した図。 論理推論を説明する図。 規則(10)と規則(4)とを組み合わせて論理推論する様子を示す図。 本発明の第4の実施の形態に従った逆モデル計算装置による処理ステップを示すフローチャート。 サブルーチンCの処理ステップを示すフローチャート。 サブルーチンDの処理ステップを示すフローチャート。 サブルーチンEの処理ステップを示すフローチャート。 図1の逆モデル計算装置を適用した逆モデル計算機システムの構成を示すブロック図。 本発明の実施の形態に従った決定木合成方法を実行する決定木合成装置の構成を示すブロック図。 決定木合成装置の別例を示すブロック図。 観測データの一例を示す表。 1つの決定木を生成するために利用するデータ。 生成された決定木1及び決定木2の例を示す図。 合成方法1を実行する処理手順を示すフローチャート。 説明変数値の系列の例を示す表。 1つの事例を示す表。 合成方法2を実行する処理手順を示すフローチャート。 ステップS1011の処理手順を詳細に示すフローチャート。 パスの組の例を示す図。 2つのパスを連結した状態を示す図。 連結パスから重複を省いたパス(合成パス)を示す図。 生成された16個の合成パスを示す図。 ステップS1012の処理手順を詳細に示すフローチャート。 生成途中の決定木を示す図。 生成途中の決定木を示す図。 生成途中の決定木を示す図。 生成途中の決定木を示す図。 決定木1及び決定木2を合成した決定木を示す図。 合成方法3を実行する処理手順の例を示すフローチャート。 生成途中の決定木を示す図。 生成途中の決定木を示す図。 決定木1及び決定木2を合成した決定木を示す図。 合成決定木における最も左のパスの精度を説明する図。
符号の説明
1 時系列データ記録部
2 決定木生成部
3 条件取得部
4 システム
5 条件判定部
6 入力系列生成部
7 制御対象物
8 逆モデル計算装置
11 データ入力部
12 決定木生成部
12a データ成形処理部
12b 決定木生成処理部
13 決定木合成部
14 決定木出力部

Claims (15)

  1. 入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算装置であって:
    前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録する時系列データ記録部と;
    前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成する決定木生成部と;
    ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則に含まれる説明変数の条件を、前記ある未来時刻における出力値を得るための条件として取得する条件取得部と;
    前記取得された説明変数の条件が、過去の時刻における条件であるか、あるいは、未来の時刻における条件であるかを判定し、
    (A)過去の時刻における条件の場合は、前記時系列データと前記取得された説明変数の条件とを用いて、前記取得された説明変数の条件の真偽を判定し、
    真のときは、前記取得された説明変数の条件は、前記ある未来時刻における出力値を得るための必要条件を満たすことを決定し、
    偽のときは、前記ある未来時刻において前記出力値を得ることは不可能であることを決定し、
    (B)未来の時刻における条件の場合は、前記取得された説明変数の条件が、入力条件か、あるいは出力条件かを判定し、
    入力条件の場合は、前記取得された説明変数の条件を、前記ある未来時刻における出力値を得るための必要条件として出力し、
    出力条件の場合は、前記取得された説明変数の条件に示される前記未来の時刻における出力値を前記条件取得部に与える、
    条件判定部と;
    を備え
    前記条件取得部は、前記条件判定部から与えられた前記未来の時刻を前記時刻tとして用いて、前記条件判定部から与えられた前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから当該検出された葉ノードに至るパスに対応づけられた規則に含まれる説明変数の条件を取得する、
    逆モデル計算装置。
  2. 前記条件判定部は、前記取得された説明変数の条件の真偽について偽の判定を下した場合は、前記ある未来時刻を増加し、増加された未来時刻における出力値を前記条件取得部に与えることを特徴とする請求項1に記載の逆モデル計算装置。
  3. 前記条件判定部から前記ある未来時刻における出力値を得るための必要条件として出力された前記取得された説明変数の条件に基づき、前記観測対象システムに入力する値を生成する入力系列生成部をさらに備えたことを特徴とする請求項1または2に記載の逆モデル計算装置。
  4. 前記観測対象システムは、前記入力される時系列の入力値に対して、複数項目の前記時系列の出力値を出力し、
    前記時系列データ記録部は、前記時系列の入力値と、前記複数項目の時系列の出力値を前記時系列データとして記録し、
    前記決定木生成部は、前記時系列データを用いて、前記出力値の項目ごとに前記決定木を生成し、
    前記項目ごとに生成された前記決定木を合成して、各前記決定木の被説明変数の集合を1つの被説明変数とする合成決定木を生成する決定木合成部をさらに備え、
    前記条件取得部は、前記ある未来時刻における複数項目の出力値を被説明変数として有する葉ノードを前記合成決定木から検出し、前記合成決定木の根ノードから前記検出された葉ノードへ至るパスに対応付けられた規則に含まれる説明変数の条件を、前記ある未来時刻において前記複数項目の出力値を得るための条件として取得する、
    ことを特徴とする請求項1ないし3のいずれか一項に記載の逆モデル計算装置。
  5. 前記決定木合成部は:
    各前記決定木に含まれる説明変数の値を定めたデータを複数生成し、生成した複数の前記データの各々毎に、各前記決定木から被説明変数を得る第1処理部と;
    各前記決定木から得られた被説明変数の集合を1つの項目の値とみなし、前記複数のデータと、各前記決定木から得られた複数の前記被説明変数の集合とを用いて、前記1つの項目を被説明変数とする決定木を生成する第2処理部と;
    を含むことを特徴とする請求項4に記載の逆モデル計算装置。
  6. 前記決定木合成部は:
    各前記決定木から根ノードから葉ノードへ至るパスを取得し、各前記決定木から取得されたパスを異なる決定木間で組み合わせたパス集合を複数生成し、前記パス集合の複数の中で最も多く含まれる、葉ノード以外のノードを、前記合成決定木の根ノードとして決定する根ノード決定部と;
    前記決定された根ノードを含む前記パス集合に基づき、この根ノードが取り得る値を特定し、特定された値を有する枝をこの根ノードに付加する根ノード値決定部と;
    前記根ノードに付加された枝を選択し、前記根ノード及び選択された枝を有する前記パス集合を、前記決定された根ノードを含むパス集合から検出するパス集合検出部と;
    検出された前記パス集合の中で、前記根ノード以外で最も多く含まれる葉ノード以外のノードを決定し、決定したノードを選択された枝に付加するノード決定部と;
    前記ノード決定部で決定されたノードを含む前記検出されたパス集合を用いて、このノードが取り得る値を特定し、特定された値を有する枝をこのノードに付加するノード値決定部と;を備え、
    前記パス集合検出部は、前記ノード値決定部によって付加された枝を選択し、前記根ノードから、選択された枝までのパスに含まれるノード及び枝を有する前記パス集合を検出し、
    検出された前記パス集合の数が2以上である場合は、前記ノード決定部は、前記根ノードから選択された枝までのパスに含まれるノード以外で最も多く含まれる葉ノード以外のノードを決定し、決定したノードを選択された枝に付加し、前記ノード値決定部は、決定されたノードを含む前記検出されたパス集合を用いてこのノードが取り得る値を特定し、特定された値を有する枝をこのノードに付加し、前記パス集合検出部は、付加された枝を選択し、前記根ノードから、選択された枝までのパスに含まれるノード及び枝を有する前記パス集合を検出し、
    検出された前記パス集合の数が2未満である場合は、前記ノード決定部は、検出された前記パス集合に含まれる葉ノードの値の集合を有するノードを、選択された枝に前記合成決定木の葉ノードとして付加し、前記パス集合検出部は、前記葉ノードが付されていない枝が存在する場合は、前記生成途中の決定木において葉ノードの付されていない枝を選択し、前記根ノードから、選択された枝までのパスに含まれるノード及び枝を有する前記パス集合を検出する、
    ことを特徴とする請求項5に記載の逆モデル計算装置。
  7. 前記決定木合成部は:
    各前記決定木における根ノードの集合としての合成ノードを、前記合成決定木の根ノードとして生成する根ノード生成部と;
    各前記決定木における根ノードが取り得る値を各々対応する前記決定木から求め、求めた値を異なる決定木間で組み合わせたノード値集合を生成し、前記ノード値集合を有する枝を前記生成された根ノードに付加する根ノード値生成部と;
    付加された枝を選択し、選択された枝に対応する各前記決定木の枝に続くノードに葉ノード以外のノードが含まれる場合は、選択された枝に対応する各前記決定木の枝に続く葉ノード以外のノードの集合を合成ノードとして生成し、この合成ノードを選択された枝に付加するノード生成部と;
    前記ノード生成部によって生成された合成ノードを構成する各ノードが取り得る値を各々対応する前記決定木から求め、求めた値を異なる決定木間で組み合わせたノード値集合を生成し、ノード値集合を有する枝を前記合成ノードに付加するノード値生成部と;
    付加された枝を選択し、選択された枝に対応する各前記決定木の枝に続くノードに葉ノード以外のノードが含まれない場合は、前記根ノード生成部によって生成された根ノードから、選択された枝までのパスに対応する各前記決定木におけるパスを特定し、各パスにおける葉ノードの値の集合を含むノードを、選択された枝に、前記合成決定木の葉ノードとして付加する葉ノード生成部と;
    を含むことを特徴とする請求項5に記載の逆モデル計算装置。
  8. 前記決定木合成部は、前記生成された合成決定木から根ノードから葉ノードへ至るパスを選択し、前記選択されたパスに対応する各前記決定木のパスを検出し、前記検出されたパスに対応付けられた規則が成立する確率を各々算出する算出部と;
    各前記規則の成立確率に基づいて、前記合成決定木において選択されたパスに対応付けられた規則が成立する確率を推定する推定部と;
    前記推定された確率が所定の基準を満たさない場合は、前記選択されたパスに対応付けられた規則を前記合成決定木から削除する削除部と;
    をさらに含むことを特徴とする請求項5に記載の逆モデル計算装置。
  9. 入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算装置であって:
    前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録する時系列データ記録部と;
    前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成する決定木生成部と;
    ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則を前記決定木から検出する第1の規則検出部と;
    前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合は、前記検出された規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する第1の条件算出部と;
    規則が入力され、前記入力された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木から検出する第2の規則検出部と;
    前記第1の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチしない場合は、前記第1の規則検出部によって検出された規則を前記第2の規則検出部に入力する第1の入力部と;
    前記第2の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データにマッチしない場合は、前記第2の規則検出部によって検出された規則を前記第2の規則検出部に入力する第2の入力部と;
    前記第2の規則検出部によって検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合、前記第1及び第2の規則検出部によって検出された全ての規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する第2の条件算出部と;
    を備えた逆モデル計算装置。
  10. 前記規則における前記時刻tと異なる他の時刻帯は、前記規則における前記時刻t以外の全ての時刻帯であることを特徴とする請求項9に記載の逆モデル計算装置。
  11. 前記第1又は第2の規則検出部によって検出された前記規則に含まれる前記時刻tと異なるある時刻の出力条件が、前記ある時刻以前の時刻の他の全ての条件が成立した場合に成立する確率を、前記時系列データを用いて求める確率算出部と;
    前記確率が所定の閾値を満たす前記ある時刻を決定する時刻決定部と;
    前記決定された前記ある時刻以前の時刻帯を、前記規則における前記時刻tと異なる他の時刻帯として決定する時刻帯決定部と;
    をさらに備えたことを特徴とする請求項9に記載の逆モデル計算装置。
  12. 前記決定木に含まれる各規則について、前記時刻tと異なるある時刻の出力条件が、前記ある時刻以前の時刻の他の全ての条件が成立した場合に成立する確率を求め、前記各規則から求めた前記確率の平均を求める平均算出部と;
    前記確率の平均が所定の閾値を満たす前記ある時刻を決定する時刻決定部と;
    前記決定された前記ある時刻以前の時刻帯を、前記各規則に共通に前記時刻tと異なる他の時刻帯として適用することを決定する共通時刻帯決定部と;
    をさらに備えたことを特徴とする請求項11に記載の逆モデル計算装置。
  13. 入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算を逆モデル計算装置において行う逆モデル計算方法であって:
    時系列データ記録部により、前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録し;
    決定木生成部により、前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成し;
    条件取得部により、ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を時刻tとして用いて前記出力値を被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則に含まれる説明変数の条件を、前記ある未来時刻における出力値を得るための条件として取得し;
    条件判定部により、前記取得された説明変数の条件が、過去の時刻における条件であるか、あるいは、未来の時刻における条件であるかを判定し;
    (A)過去の時刻における条件の場合は、前記時系列データと前記取得された説明変数の条件とを用いて、前記取得された説明変数の条件の真偽を判定し、
    真のときは、前記取得された説明変数の条件は、前記ある未来時刻における出力値を得るための必要条件を満たすことを決定し、
    偽のときは、前記ある未来時刻において前記出力値を得ることは不可能であることを決定し、
    (B)未来の時刻における条件の場合は、前記取得された説明変数の条件が、入力条件か、あるいは出力条件かを判定し;
    入力条件の場合は、前記取得された説明変数の条件を、前記ある未来時刻における出力値を得るための必要条件として出力し;
    出力条件である場合は、前記取得された説明変数の条件に示される前記未来の時刻における出力値を前記条件取得部に与え;
    前記条件取得部により、前記条件判定部から与えられた前記未来の時刻を前記時刻tとして用い、前記条件判定部から与えられた前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから当該検出された葉ノードに至るパスに対応づけられた規則に含まれる説明変数の条件を取得する;
    逆モデル計算方法。
  14. 前記条件判定部において前記取得された説明変数の条件の真偽について偽の判定を下した場合は、前記条件判定部により、前記ある未来時刻を増加し、
    前記条件取得部により、増加された未来時刻における前記出力値を新たに入力として受け取り、前記増加された未来時刻を時刻tとして用いて前記出力値を被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則に含まれる説明変数の条件を、前記増加された未来時刻における前記出力値を得るための条件として取得する、
    ことを特徴とする請求項13に記載の逆モデル計算方法。
  15. 入力された値に応じてある値を出力する観測対象システムに関して、前記観測対象システムがある出力値を出力する条件を求めるための逆モデル計算を逆モデル計算装置において行う逆モデル計算方法であって:
    時系列データ記録部により、前記観測対象システムに入力された時系列の入力値と、前記観測対象システムから出力された時系列の出力値とを時系列データとして記録し;
    決定木生成部により、前記時系列データを用いて、前記時系列における各時刻における前記出力値と、各前記時刻以前の1つ以上の時刻における前記入力値および前記各時刻より前の1つ以上の時刻における前記出力値とを含む複数のレコードを有する表を作成し、前記表において前記各時刻における出力値を被説明変数とし、前記各時刻以前の1つ以上の時刻における前記入力値および前記時刻より前の1つ以上の時刻における前記出力値を説明変数として、時刻t以前の時刻の入力値または時刻t−1以前の時刻の出力値を表す複数の説明変数から時刻tにおける被説明変数を予測する決定木を生成し;
    第1の規則検出部により、ある未来時刻における出力値を入力として受け取り、前記ある未来時刻を前記時刻tとして用いて前記出力値を前記被説明変数として有する葉ノードを前記決定木から検出し、前記決定木の根ノードから前記検出された葉ノードへ至るパスに対応づけられた規則を前記決定木から検出し;
    前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする場合は、第1の条件算出部により、前記検出された規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出し;
    マッチしない場合は、第2の規則検出部により、前記検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木から新たに検出し;
    前記新たに検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データにマッチしない場合は、前記第2の規則検出部により、前記新たに検出された規則における前記時刻tと異なる他の時刻帯についての説明変数の条件が、前記時刻tを含む、前記他の時刻帯と同一幅の時刻帯においてマッチする規則を前記決定木からさらに検出し;
    前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする規則が検出されるまで、前記第2の規則検出部により、前記規則の検出を繰り返し行い;
    前記時刻tと異なる他の時刻帯についての説明変数の条件が前記時系列データとマッチする規則が検出された場合、第2の条件算出部により、検出された全ての規則及び前記時系列データを用いて、前記ある未来時刻における出力値を得るための条件を算出する;
    逆モデル計算方法。
JP2004233503A 2003-09-02 2004-08-10 逆モデル計算装置及び逆モデル計算方法 Expired - Fee Related JP4038501B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004233503A JP4038501B2 (ja) 2003-09-02 2004-08-10 逆モデル計算装置及び逆モデル計算方法
US10/930,766 US20050096880A1 (en) 2003-09-02 2004-09-01 Inverse model calculation apparatus and inverse model calculation method
CNB2004100951643A CN1318962C (zh) 2003-09-02 2004-09-02 逆模型计算装置和逆模型计算方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003310368 2003-09-02
JP2004019552 2004-01-28
JP2004233503A JP4038501B2 (ja) 2003-09-02 2004-08-10 逆モデル計算装置及び逆モデル計算方法

Publications (2)

Publication Number Publication Date
JP2005242979A JP2005242979A (ja) 2005-09-08
JP4038501B2 true JP4038501B2 (ja) 2008-01-30

Family

ID=34556991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004233503A Expired - Fee Related JP4038501B2 (ja) 2003-09-02 2004-08-10 逆モデル計算装置及び逆モデル計算方法

Country Status (3)

Country Link
US (1) US20050096880A1 (ja)
JP (1) JP4038501B2 (ja)
CN (1) CN1318962C (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316060B1 (en) * 2005-01-26 2012-11-20 21st Century Technologies Segment matching search system and method
US8234309B2 (en) * 2005-01-31 2012-07-31 International Business Machines Corporation Method for automatically modifying a tree structure
US7770072B2 (en) * 2007-01-16 2010-08-03 Xerox Corporation Method and system for analyzing time series data
JP4797069B2 (ja) * 2007-01-18 2011-10-19 富士通株式会社 キーワード管理プログラム、キーワード管理システムおよびキーワード管理方法
WO2009148473A1 (en) * 2007-12-12 2009-12-10 21Ct, Inc. Method and system for abstracting information for use in link analysis
NL2003696A (en) * 2008-11-10 2010-05-11 Brion Tech Inc Scanner model representation with transmission cross coefficients.
US20110264353A1 (en) * 2010-04-22 2011-10-27 Atkinson Christopher M Model-based optimized engine control
FR2962823B1 (fr) * 2010-07-13 2012-08-17 Ensuite Inf Processeur d'analyse situationnelle
US8738534B2 (en) * 2010-09-08 2014-05-27 Institut Telecom-Telecom Paristech Method for providing with a score an object, and decision-support system
JP5817241B2 (ja) * 2011-06-20 2015-11-18 富士通株式会社 時系列ルール抽出装置、時系列ルール抽出方法及び時系列ルール抽出プログラム
EP2973246A4 (en) * 2013-03-15 2016-10-12 Resilient Corp IMPROVED EVALUATION OF AN OPERATIONAL DURABILITY WITH THE HELP OF INTELLIGENCE INDICATORS
JP6439211B2 (ja) * 2015-03-03 2018-12-19 国立大学法人横浜国立大学 説明文生成装置、説明文書作成方法およびプログラム
US10762517B2 (en) * 2015-07-01 2020-09-01 Ebay Inc. Subscription churn prediction
DE102016225899A1 (de) * 2016-12-21 2018-06-21 Carl Zeiss Smt Gmbh Verfahren und Vorrichtung zum Modifizieren von Abbildungseigenschaften eines optischen Systems für die Mikrolithographie
US11017324B2 (en) 2017-05-17 2021-05-25 Microsoft Technology Licensing, Llc Tree ensemble explainability system
US10977737B2 (en) * 2018-01-10 2021-04-13 Liberty Mutual Insurance Company Training gradient boosted decision trees with progressive maximum depth for parsimony and interpretability
WO2023062780A1 (ja) * 2021-10-14 2023-04-20 株式会社エイシング 情報処理装置、方法、プログラム及びシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707480A (en) * 1983-04-14 1987-11-17 United Pharmaceuticals, Inc. Method for stabilizing a detrusor muscle while increasing detrusor muscle strength
US5825646A (en) * 1993-03-02 1998-10-20 Pavilion Technologies, Inc. Method and apparatus for determining the sensitivity of inputs to a neural network on output parameters
JPH07175876A (ja) * 1993-10-12 1995-07-14 At & T Corp ニューラルネットワークを用いたプロセスのフィードバックの制御方法とその装置
EP0663632B1 (de) * 1994-01-17 1997-12-10 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Führung eines Prozesses
US6708163B1 (en) * 1999-02-24 2004-03-16 Hillol Kargupta Collective data mining from distributed, vertically partitioned feature space

Also Published As

Publication number Publication date
CN1318962C (zh) 2007-05-30
US20050096880A1 (en) 2005-05-05
JP2005242979A (ja) 2005-09-08
CN1604032A (zh) 2005-04-06

Similar Documents

Publication Publication Date Title
JP4038501B2 (ja) 逆モデル計算装置及び逆モデル計算方法
CA1216945A (en) Probabilistic learning system
US11720788B2 (en) Calculation scheme decision system, calculation scheme decision device, calculation scheme decision method, and storage medium
US11610038B2 (en) Risk evaluation
CN112256981A (zh) 一种基于线性和非线性传播的谣言检测方法
CA3007786C (en) Data visualization platform for event-based behavior clustering
Goossens et al. Effective steering of customer journey via order-aware recommendation
CN106411683A (zh) 一种关键社交信息的确定方法及装置
Fischer et al. Using a genetic algorithm to optimize a data-limited catch rule
CN109155008A (zh) 利用知识引擎的特征集增强
Sharma et al. An approach to ripening of pineapple fruit with model Yolo V5
Ordóñez et al. Genetic Approach for Optimizing Ensembles of Classifiers.
Parmentier et al. Autotsc: Optimization algorithm to automatically solve the time series classification problem
CN117152562A (zh) 模型训练方法及装置、图像生成方法及装置
CN111046912A (zh) 特征衍生方法、装置及计算机设备
CN111310453A (zh) 一种基于深度学习的用户主题向量化表示方法和系统
Delaplace et al. Two evolutionary methods for learning bayesian network structures
Eken et al. Predicting defects with latent and semantic features from commit logs in an industrial setting
EP3803635A1 (en) Data visualization platform for event-based behavior clustering
CN103038766A (zh) 逻辑运算系统
Zeng et al. Approximate solutions of interactive dynamic influence diagrams using model clustering
Lubinsky Tree structured interpretable regression
da Silva et al. Audio plugin recommendation systems for music production
CN113961799A (zh) 一种图模型和ctr模型的联合训练方法和装置
JP7559946B2 (ja) モデル生成支援装置、モデル生成支援方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees