(57)【特許請求の範囲】
【請求項１】
属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベースに蓄積格納された既知データに基づいて作成された、属性値についての分岐規則で構成される決定木を辿ることで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する予測部と、
上記決定木の持つ一部の分岐規則の属性記述を変更することで、上記予測部の予測した結果値を端末から入力された希望する予測値へと変化させるための新たな決定木を決定し、その新たな決定木を辿ることで、上記既知データの中からその希望予測値を結果値として持つ上記既知データを抽出して、その抽出した上記既知データについての情報を出力する分析部とを備えることを、
特徴とする予測分析装置。
【請求項２】
請求項１に記載の予測分析装置において、
上記分析部は、分析対象となる属性を設定して、その設定した属性について記述する上記分岐規則を変更対象として、上記決定木の持つ上記分岐規則の属性記述を変更することを、
特徴とする予測分析装置。
【請求項３】
属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベースに蓄積格納された既知データに基づいて作成された、属性値についてのルール記述で構成されるルール集合と照合することで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する予測部と、
上記ルール集合の持つ一部のルール記述を変更することで、上記予測部の予測した結果値を端末から入力された希望する予測値へと変化させるための新たなルール集合を決定し、その新たなルール集合と照合することで、上記既知データの中からその希望予測値を結果値として持つ上記既知データを抽出して、その抽出した上記既知データについての情報を出力する分析部とを備えることを、
特徴とする予測分析装置。
【請求項４】
請求項３に記載の予測分析装置において、
上記分析部は、分析対象となる属性を設定して、その設定した属性について記述する上記ルール記述を変更対象として、上記ルール集合の持つ一部の上記ルール記述を変更することを、
特徴とする予測分析装置。
【請求項５】
予測分析装置の実現に用いられる予測分析プログラムであって、
コンピュータを、
属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベースに蓄積格納された既知データに基づいて作成された、属性値についての分岐規則で構成される決定木を辿ることで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する予測部と、
上記決定木の持つ一部の分岐規則の属性記述を変更することで、上記予測部の予測した結果値を端末から入力された希望する予測値へと変化させるための新たな決定木を決定し、その新たな決定木を辿ることで、上記既知データの中からその希望予測値を結果値として持つ上記既知データを抽出して、その抽出した上記既知データについての情報を出力する分析部として機能させるための予測分析プログラム。
【請求項６】
予測分析装置の実現に用いられる予測分析プログラムであって、
コンピュータを、
属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベースに蓄積格納された既知データに基づいて作成された、属性値についてのルール記述で構成されるルール集合と照合することで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する予測部と、
上記ルール集合の持つ一部のルール記述を変更することで、上記予測部の予測した結果値を端末から入力された希望する予測値へと変化させるための新たなルール集合を決定し、その新たなルール集合と照合することで、上記既知データの中からその希望予測値を結果値として持つ上記既知データを抽出して、その抽出した上記既知データについての情報を出力する分析部として機能させるための予測分析プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、過去に蓄積された既知データを用いて未知データの予測を行うときにあって、予測結果を希望する結果へと変更するためには、どうしたら良いのかということについて提示する機能を実現する予測分析装置と、その予測分析装置の実現に用いられる予測分析プログラムとに関する。
【０００２】
近年、コンピュータやインターネットの発達により、遠隔地も含めての様々かつ大量な情報を容易に入手可能となった。また、記憶装置の高密度化、低価格化により、それらの得られた情報の蓄積も容易となった。
【０００３】
例えば、流通業におけるＰＯＳ(Point Of Sale) システムでは、全国各地の小売店の売り上げ内容を本社コンピュータなどに集めることが可能であり、時間と販売された商品の関係として刻々と蓄積されている。この他にも、製造業における各種製造装置の条件と製造された製品の歩留りデータや、金融業における個人のクレジットカード使用状況や、保険業における保険使用者の個人データと使用状況の情報など、大量の情報が蓄積されている分野は多岐にわたる。
【０００４】
これらの大量の蓄積データに内在する因果関係や規則と言った価値ある情報を、自動的かつ効率的に抽出し、ビジネスに役立たせたいという要望が高まっている。
【０００５】
【従来の技術】
以前より、蓄積された既知データを利用して、統計的処理やＡＩ、ニューラルネットワーク等を用いて、未知データの結果を予測することは行われてきた。
【０００６】
しかし、実応用の場面では、単純に未知データの予測をするだけでなく、予測結果を元に次に何をすべきかを指示してくれることが望まれている。
【０００７】
例えば、製造業の場合、各種製造装置の条件データから製造された製品が不良と予測された場合、製造条件をどのように変更すれば、製造される製品が良へと変化するのかを調べることが重要である。また、保険業における保険使用者と使用状況の情報とからリスクを調べる問題でも、例えば「危険」と予測された人に対して、その人の状況に最も近く、かつ「安全」と予測されるような条件を求めることは、重要なことである。
【０００８】
しかるに、従来の予測装置では、このような情報を提供しておらず、感度分析による属性の結果に対する敏感さを測定する程度にとどまっていた。
【０００９】
【発明が解決しようとする課題】
このように、従来の予測装置では、予測結果を希望する予測値へと変更するために、どのように、そして、どのくらい未知データを変更すればよいのかについて記述する情報を提供していない。
【００１０】
これから、従来技術に従っていると、ユーザは、未知データについての予測結果が得られたときに、その予測結果が希望するものでない場合に、その予測結果を希望する予測値へと変更するには、どのようにしたらよいのかについて知ることができないという問題点がある。
【００１１】
本発明はかかる事情に鑑みてなされたものであって、過去に蓄積された既知データを用いて未知データの予測を行うときにあって、予測結果を希望する結果へと変更するためには、どうしたら良いのかということについて提示する機能を実現する新たな予測分析技術の提供を目的とする。
【００１２】
【課題を解決するための手段】
図１に本発明の概要構成を図示する。
【００１３】
図中、１は本発明を具備する予測分析装置であって、過去に蓄積された既知データを用いて未知データの予測を行うときにあって、予測結果を希望する結果へと変更するためには、どうしたら良いのかということについて提示する処理を行うものである。
【００１４】
本発明の予測分析装置１は、この処理を実現するために、既知データ記憶部１０と、予測機能生成部１１と、予測部１２と、分析部１３とを備える。
【００１５】
この既知データ記憶部１０は、属性値とそれに対応付けられる結果値との対応関係を記述する既知データを記憶する。
【００１６】
予測機能生成部１１は、既知データ記憶部１０に記憶される既知データを使って、図２に示すような決定木（各ノードの条件分岐を辿ることで未知データの結果値を予測する）や、図３に示すようなルール（各ルールに照合することで未知データの結果値を予測する）で構築される予測機能を生成する。
【００１７】
予測部１２は、予測機能生成部１１の生成する予測機能により構成されるものであり、未知データの持つ属性値に対応付けられる結果値を予測する。
【００１８】
分析部１３は、予測部１２の予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて示す分析情報を得て、それを提示する。
【００１９】
この分析部１３は、重要な属性を使って有効な分析情報を得るようにしたり、変更不可能な属性を分析対象から外すことで現実問題への適用範囲を広げるようにするために、対話処理に従って分析対象となる属性を設定したり、既知データにより算出される各属性の示す重要度に従って分析対象となる属性を自動設定する処理属性設定部１４を備えることがある。
【００２０】
また、この分析部１３は、意味のある属性値探索範囲を使って有効な分析情報を得るようにしたり、変更不可能な属性値探索範囲を分析対象から外すことで現実問題への適用範囲を広げるようにするために、分析対象となる属性の探索範囲を設定する探索範囲設定部１５を備えることがある。
【００２１】
ここで、本発明の予測分析装置１の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
【００２８】
このように構成される本発明の予測分析装置１では、予測部１２により未知データの予測結果が得られるときにあって、その予測結果がユーザの希望するものでない場合には、分析部１３は、既知データにより構築される結果値を導出するためのアルゴリズム（決定木やルール）を使い、未知データが希望予測値を結果値として持つことになるようにとそのアルゴリズムを変更することで、希望予測値を結果値として持つとともに、希望予測値が実現されることになる未知データの予測ルートと同一予測ルートに従う１つ又は複数の既知データを特定して、それを分析情報としてユーザに提示する。
すなわち、このように構成される本発明の予測分析装置１では、決定木を用いる場合には、先ず最初に、属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベース（既知データ記憶部１０）に蓄積格納された既知データに基づいて作成された、属性値についての分岐規則で構成される決定木を辿ることで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する。続いて、その決定木の持つ一部の分岐規則の属性記述を変更することで、その予測した結果値を端末から入力された希望する予測値へと変化させるための新たな決定木を決定し、その新たな決定木を辿ることで、既知データの中からその希望予測値を結果値として持つ既知データを抽出して、その抽出した既知データについての情報を出力する。
このとき、分析対象となる属性を設定して、その設定した属性について記述する分岐規則を変更対象として、決定木の持つ分岐規則の属性記述を変更することがある。
また、このように構成される本発明の予測分析装置１では、ルール集合を用いる場合には、先ず最初に、属性値とそれに対応付けられる結果値との対応関係について記述する既知データ・データベース（既知データ記憶部１０）に蓄積格納された既知データに基づいて作成された、属性値についてのルール記述で構成されるルール集合と照合することで、端末から入力された未知データの持つ属性値に対応付けられる結果値を予測する。続いて、そのルール集合の持つ一部のルール記述を変更することで、その予測した結果値を端末から入力された希望する予測値へと変化させるための新たなルール集合を決定し、その新たなルール集合と照合することで、既知データの中からその希望予測値を結果値として持つ既知データを抽出して、その抽出した既知データについての情報を出力する。
このとき、分析対象となる属性を設定して、その設定した属性について記述するルール記述を変更対象として、ルール集合の持つ一部のルール記述を変更することがある。
【００２９】
この処理を行うときに、分析部１３は、同一予測ルートの示す確信度についても出力することがある。
【００３０】
そして、複数の既知データを特定するときにあって、それらの既知データから１つの既知データを選択するか、それらの既知データの持つ属性値の平均値や多数決などを施すことにより１つの既知データを算出することで、提示対象となる１つの既知データを決定するように処理することがある。
【００３１】
このようにして、本発明の予測分析装置１によれば、ユーザは、予測部１２により未知データの予測結果が得られるときにあって、その予測結果が自分の希望するものでない場合に、希望予測値を結果値として持つとともに、希望予測値が実現されることになる未知データの予測ルートと同一予測ルートに従う既知データを得ることができるようになることで、予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて知ることができるようになる。
【００３２】
以上説明したように、本発明によれば、ユーザは、未知データの予測結果が得られるときにあって、その予測結果が自分の希望するものでない場合に、予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて知ることができるようになる。
【００３３】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【００３４】
図４に、本発明の予測分析装置１の一実施形態例を図示する。
【００３５】
この図に示すように、本発明の予測分析装置１は、端末２と、既知データ・データベース１００と、予測機能生成機構２００と、ソフトウェアやハードウェアで構成される予測機構３００と、本発明に特徴的な処理を行う分析プログラム４００とを備える。
【００３６】
ここで、分析プログラム４００や、ソフトウェアで構成される予測機構３００は、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。
【００３７】
既知データ・データベース１００は、既知データを蓄積格納する。この既知データは、蓄積された過去の事例データであり、そのときの条件と付随した結果とが既知であるものであって、予測の根拠となるものである。
【００３８】
図５（ａ）に、どういう製造条件のときに良品の製品が製造され、どういう製造条件のときに不良品の製品が製造されたのかということについて記述する既知データの一例を図示する。なお、結果は「ＯＫ」／「ＮＧ」のような２値あるいは多値の離散的な値を示す他に、０〜１といったようなある領域の中に含まれる連続的な値を示すこともある。
【００３９】
本発明の予測分析装置１は、既知データ・データベース１００がこのような既知データを蓄積格納するときにあって、結果値が不明である図５（ｂ）に示すような未知データが端末２から入力されるときに、その未知データの結果値（結果フィールドの値）を予測して、それがユーザの希望するものと異なるときには、未知データの持つ属性値（条件フィールドの値）をどのように変更すればよいのかについて示す分析情報を作成して、それを端末２に出力する処理を行う。
【００４０】
予測機構３００は、この未知データの結果値を予測する処理を実行するものであって、予測機能生成機構２００により構築され、例えば、図２に示したような決定木や、図３に示したようなルールで実現され、さらに、本発明に関連する技術を実現する場合には、「Ｙ＝ΣＡi ×Ｘi ( Ｘi ：属性値，Ａi ：係数，Ｙ：結果値）」で表されるような計算式や、ニューラルネットワークや、ＭＢＲ(Memory-Based Reasoning)などで実現される。
【００４１】
この予測機構３００を実現するＭＢＲについて説明するならば、ＭＢＲでは、図６に示すように、既知データや未知データの持つ属性が形成する多次元空間を考えるとともに、既知データを統計処理することで各属性の影響度を算出し、この影響度を考慮した形で、この多次元空間における未知データと各既知データとの間の類似度を算出する。
【００４２】
そして、この類似度に従って、高い類似度の順番に従って未知データに類似する複数の既知データを抽出し、それらの既知データの結果値が示す確信度（ＯＫの結果値の確信度はこういう値で、ＮＧの結果値の確信度はこういう値というように、結果値のクラス毎に定義される）を算出して、その内の最も大きい確信度を示す結果値を未知データの結果値として予測する処理を行う。
【００４３】
このときに用いる影響度の算出方法や類似度の算出方法や確信度の算出方法としては、様々な方法が提案されているが、例えば、本出願人が開示した特開2000-155681 号公報に記載される算出方法を用いるが可能である。
【００４４】
また、この予測機構３００を実現するニューラルネットワークについて説明するならば、ニューラルネットワークは、図７に示すように、入力値とそれに対応付けられる重み値との積和値を算出して、それを関数変換する基本ユニットが階層ネットワークなどのような形態で接続されることで構成されるものである。
【００４５】
このように構成されるニューラルネットワークは、既知データを学習データとして、図８ないし図１０に示すようなバックプロパゲーション法に従って、内部結合に割り付けられる重みＷと基本ユニットに割り付けられるしきい値θとが学習されることで、未知データの持つ属性値が入力されるときに、その未知データの結果値を予測する処理を行う。
【００４６】
ここで、バックプロパゲーション法では、図９（ｃ）に示すように、重みやしきい値の変更に際して、前回の変更分を慣性項として加えることで学習時に重みやしきい値が振動するのを防ぐようにすることがある。また、図１０では、基本ユニットがシグモイド関数を使って関数変換する場合を具体例にして、バックプロパゲーション法を具体的に説明している。
【００４７】
このバックプロパゲーション法の変形例として、図１１に示すように、重みやしきい値の更新式に成長側抑制項Ｓを追加する形で学習を行う方法がある。この成長側抑制型のバックプロパゲーション法に従うと、大きい重みの成長が促進されるとともに、小さい重みの成長が抑制されて縮退し、これにより、図１２に示すように、重要な重みを持つ内部結合のみが生き残ることで構造化されたニューラルネットワークを構築することができるようになる。
【００４８】
ここで、図１２に示す構造化ニューラルネットワークでは、絶対値が十分に小さい値を示す重みを持つ内部結合については表示していない。また、実線は正の値を持つ重みを表し、破線は負の値を持つ重みを表し、線の太さは重みの絶対値の大きさを表している。
【００４９】
通常のバックプロパゲーション法で学習された重みは複雑に結合してしまうために、どのような法則性を学習したのかを理解することは難しい。これに対して、この成長側抑制型のバックプロパゲーション法で学習された重みは単純化されているので、どのような法則性を学習したのかを読み取ることが可能になるという特徴がある。
【００５０】
図１３に、分析プログラム４００の実行する全体的な処理についての処理フローを図示する。
【００５１】
分析プログラム４００は、起動されると、図１３の処理フローに示すように、先ず最初に、ステップ１で、既知データ・データベース１００から既知データを読み出し、続くステップ２で、分析対象の未知データを端末２などから入力する。
【００５２】
続いて、ステップ３で、その入力した未知データを予測対象として指定して、予測機構３００を呼び出すことで、その未知データの結果値を予測し、その予測結果を端末２に提示する。
【００５３】
すなわち、予測機構３００が図２に示したような決定木で構築されている場合には、未知データの持つ属性値に従って、決定木の持つ各ノードの条件分岐を辿ることで、未知データの結果値を予測するのである。
【００５４】
また、予測機構３００が図３に示したようなルールで構築されている場合には、未知データの持つ属性値に従って、各ルールと照合を行うことで、未知データの結果値を予測するのである。
【００５５】
また、予測機構３００が「Ｙ＝ΣＡi ×Ｘi ( Ｘi : 属性値，Ａi ：係数，Ｙ：結果値）」といったような計算機式で構築されている場合には、未知データの持つ属性値をその計算機式に代入することで、未知データの結果値を予測するのである。
【００５６】
また、予測機構３００が図６で説明したようなＭＢＲで構築されている場合には、各属性の影響度を考慮した形で未知データと各既知データとの間の類似度を算出することで、未知データに類似する複数の既知データを抽出して、それらの既知データの結果値が示す確信度の内の最も大きいものを特定することで、未知データの結果値を予測するのである。
【００５７】
また、予測機構３００が図７や図１２に示したニューラルネットワークで構築されている場合には、未知データの持つ属性値をニューラルネットワークに入力させて、その入力に応答して出力される出力値を特定することで、未知データの結果値を予測するのである。
【００５８】
このようにして、ステップ３で、未知データの結果値を予測して、それを端末２に表示すると、続いて、ステップ４で、その表示に応答して、ユーザからその予測値を変えて分析したいのか否かの要求が発行されたのか否かを判断して、発行されない場合には、そのまま処理を終了し、発行された場合には、ステップ５に進んで、ユーザの希望する予測値を入力する。
【００５９】
例えば、結果値が「ＯＫ」か「ＮＧ」を示す場合にあって、「ＮＧ」という予測結果を提示するときに、ユーザがその予測結果を「ＯＫ」にするにはどうしたらよいのかを知りたい場合には「ＯＫ」を入力してくるので、その「ＯＫ」を入力するのである。
【００６０】
続いて、ステップ６で、ユーザから変更属性の設定指示があるのか否かを判断して、変更属性の設定指示があることを判断するときには、ステップ７に進んで、変更対象（処理対象）となる属性と、変更対象（処理対象）とならない属性とを設定し、変更属性の設定指示がないことを判断するときには、全ての属性を一律に変更対象（処理対象）として扱うようにするために、このステップ７の処理を省略する。
【００６１】
分析プログラム４００は、後述するように、未知データの結果値をユーザの希望する予測値に変更するために必要となる属性値の変更量を算出したり、その希望する予測値を持つ未知データに類似する既知データを検索することにより、ユーザに対して、未知データの持つ属性値をどのように変更すればよいのかについて示唆する処理を行う。
【００６２】
この処理の実行にあたって、分析プログラム４００は、ユーザから変更属性の設定指示がある属性のみを変更対象（処理対象）として扱うことで、現実的に変更不可能な属性を計算対象から外したり、重要度の低い属性を処理対象から外すことで、現実問題への適用範囲を広げるように処理している。これから、このステップ７で、変更対象（処理対象）となる属性を設定するのである。
【００６３】
この設定処理では、図１４（ａ）に示すように、「温度１」という属性は変更対象（処理対象）として扱い、「温度２」という属性は変更対象（処理対象）として扱わないというような設定を行うことになるが、この設定処理は、ユーザとの対話により行う他に、ＭＢＲや構造化ニューラルネットワークを用いて対話に依らずに自動的に行うことが可能である。
【００６４】
すなわち、ＭＢＲを用いて自動設定する場合には、ＭＢＲで求められる各属性の影響度（既知データを統計処理することで算出され、予測対象に対してどのくらい影響を与えるのかを示す）を使い、例えば、最大影響度の１００分の１以下の影響度を持つ属性については、予測に寄与しないことから変更対象（処理対象）としないように設定することで行う。
【００６５】
なお、この影響度を算出する統計手法には、ＰＣＦ(Per-Category Feature importance) 手法や、ＣＣＦ(Cross-Category Feature importance) 手法や、ＭＩＣ(Mutual Information Content)手法や、ＡＣＦ(Averaged Category Feature) 手法や、本出願人が開示した特開2000-155681 号公報に記載される手法などがある。
【００６６】
また、図１２に示したような構造化ニューラルネットワークを用いて自動設定する場合には、最前段層を形成する入力ユニット（属性に対応付けて設けられて、次段層の基本ユニットに属性値を分配するユニット）の持つ重みの絶対値の総和を算出し、例えば、最大総和値の１００分の１以下の総和値を持つ入力ユニットが入力する属性については、予測に寄与しないことから変更対象（処理対象）としないように設定することで行う。
【００６７】
このようにして、ステップ７で、変更属性の設定を実行すると、続いて、ステップ８で、ユーザから属性の探索範囲の設定指示があるのか否かを判断して、探索範囲の設定指示があることを判断するときには、ステップ９に進んで、探索範囲を設定し、探索範囲の設定指示がないことを判断するときには、全ての属性に対して探索範囲の制限を課さないようにするために、このステップ９の処理を省略する。
【００６８】
分析プログラム４００は、後述するように、未知データの結果値をユーザの希望する予測値に変更するために必要となる属性値の変更量を算出したり、その希望する予測値を持つ未知データに類似する既知データを検索することにより、ユーザに対して、未知データの持つ属性値をどのように変更すればよいのかについて示唆する処理を行う。
【００６９】
この処理の実行にあたって、分析プログラム４００は、ユーザから探索範囲が設定された属性については、その探索範囲に入ることを条件にして、属性を変更したり処理対象の属性として扱うことで、現実問題への適用範囲を広げるように処理している。これから、このステップ９で、属性の探索範囲を設定するのである。
【００７０】
この設定処理では、図１４（ｂ）に示すように、「温度１」という属性の探索範囲の最大値は“２0.０”で最小値は“１0.０”であるというように上下限を設定したり、「温度２」という属性は変更対象として設定されていないので探索範囲を設定しないようにしたり、属性値がカテゴリ値である場合には、それがとり得るカテゴリ値を設定したり、探索結果に対して、例えば、
ｆ＝ε−Σ（ｕi −ｘi ）2 
ε：最大許容値      ｉ  ：属性番号
ｕi ：未知データ    ｘi ：既知データ
という評価式を用意して、その評価値ｆが０以上である場合には探索を続け、０以下の場合には探索を打ち切るという探索範囲の制限を課する場合には、この評価式を設定することなどの処理を行う。
【００７１】
このようにして、ステップ９で、属性の探索範囲の設定を実行すると、続いて、ステップ１０で、未知データの持つ属性値をどのように変更すればユーザの希望する予測結果を得ることができるようになるのかについての予測分析を行い、続くステップ１１で、その予測分析の分析結果を端末２に出力して、処理を終了する。
【００７２】
図１５に、図１３の処理フローのステップ１０で実行する本発明に関連する予測分析処理の一例を図示する。
【００７３】
分析プログラム４００は、図１５の処理フローに示す予測分析処理に入ると、先ず最初に、ステップ１００で、既知データ・データベース１００から読み出した既知データと、入力した分析対象の未知データと、予測機構３００により得られた未知データの予測値（結果値の予測値）と、その予測値を変更する形で入力された希望予測値とを取り揃える。
【００７４】
続いて、ステップ１０１で、最大保存数ｌを設定して、この最大保存数ｌの数分のデータを格納するための配列Ｄl を用意し、続くステップ１０２で、変数ｊに０をセットする。
【００７５】
続いて、ステップ１０３で、変数ｊの値を１つインクリメントし、続くステップ１０４で、変数ｊの値が既知データの個数Ｎを超えたのか否かを判断して、超えたことを判断するときには、ステップ１０５に進んで、保存しているｌ個のレコード番号の指す既知データを端末２に出力して、処理を終了する。
【００７６】
このとき、それらの既知データの一覧を出力する代わりに、それらの既知データに含まれる最新の既知データを代表として出力したり、それらの既知データに規定の演算処理（数値属性の場合には平均値を算出し、カテゴリ属性の場合には多数決をとるというような演算処理）を施すことで求まる代表既知データを出力することもある。
【００７７】
一方、ステップ１０４で、変数ｊの値が既知データの個数Ｎを超えていないことを判断するときには、ステップ１０６に進んで、レコード番号ｊの指す既知データを参照することでその結果値を特定し、続くステップ１０７で、その特定した結果値と未知データの予測値を変更する形で入力された希望予測値とが一致するのか否かを判断する。
【００７８】
この判断処理により、レコード番号ｊの指す既知データの結果値と希望予測値とが一致しないことを判断するときには、次の既知データを処理すべくステップ１０３に戻る。一方、一致することを判断するときには、ステップ１０８に進んで、レコード番号ｊの指す既知データの持つ属性値の内に設定された探索範囲（図１３の処理フローのステップ９で設定するもの）に入らないものがあるか否かを判断する。
【００７９】
この判断処理により、レコード番号ｊの指す既知データの持つ属性値に探索範囲に入らないものがあることを判断するときには、次の既知データを処理すべくステップ１０３に戻る。一方、探索範囲に入らないものがないことを判断するときには、ステップ１０９に進んで、レコード番号ｊの指す既知データの持つ属性値ｘi と、未知データの持つ属性値ｕi との間の距離ｄを、例えば、
ｄ＝〔Σ（ｕi −ｘi ）2 〕1/2 
に従って算出する。
【００８０】
この距離ｄの算出にあたって、図１３の処理フローのステップ７で、処理対象となる属性と処理対象とならない属性とを設定するときには、処理対象とならない属性を排除しつつ、距離ｄを算出するように処理する。また、属性が数値属性のときには、例えば、それを区画しカテゴリ値に変換することで距離ｄを算出したり、本出願人が開示した特開2000-155681 号公報に記載されるように、既知データにより求められる標準偏差を分母とし、属性値の差を分子とする距離定義などを使って距離ｄを算出するように処理する。
【００８１】
続いて、ステップ１１０で、算出した距離ｄが配列Ｄl に格納されている距離ｄのいずれよりも小さいのか否かを判断して、いずれよりも小さくないことを判断するとき、すなわち、算出した距離ｄの方が大きいことを判断するときには、次の既知データを処理すべくステップ１０３に戻る。
【００８２】
一方、配列Ｄl に格納されている距離ｄの内に算出した距離ｄよりも大きいものがあることを判断するときには、ステップ１１１に進んで、配列Ｄl に格納されている距離ｄの内の最大のもののを捨てて、新たに算出した距離ｄを配列Ｄl に加えるとともに、その捨てた距離ｄに対応付けられる保存レコード番号を捨てて、新たに算出した距離ｄに対応付けられるレコード番号ｊを保存することで保存レコード番号を更新してからステップ１０３に戻る。
【００８３】
このようにして、分析プログラム４００は、図１５の処理フローに示す予測分析処理を実行するときには、希望予測値を結果値として持つとともに、未知データの持つ属性値に類似する属性値を持つｌ個の既知データを特定して、それを分析結果として出力するように処理するのである。
【００８４】
この図１５の処理フローでは、属性の重要度を考慮することなく、レコード番号ｊの指す既知データの持つ属性値ｘi と、未知データの持つ属性値ｕi との間の距離ｄを算出したが、図１６の処理フローに示すように、ＭＢＲで求められる各属性の影響度ｗi を考慮した形の
ｄ＝〔Σｗi （ｕi −ｘi ）2 〕1/2 
に従って算出するようにしてもよい。ここで、このｗi として、構造化ニューラルネットワークで求められる各属性のネットワーク重みを用いることも可能である。
【００８５】
図１７に、図１３の処理フローのステップ１０で実行する予測分析処理の一実施形態例を図示する。ここで、この予測分析処理では、予測機構３００が図２に示したような決定木で構築されている場合を想定している。
【００８６】
分析プログラム４００は、図１７の処理フローに示す予測分析処理に入ると、先ず最初に、ステップ１００で、既知データ・データベース１００から読み出した既知データと、入力した分析対象の未知データと、予測機構３００により得られた未知データの予測値（結果値の予測値）と、その予測値を変更する形で入力された希望予測値とを取り揃える。
【００８７】
続いて、ステップ１０１で、未知データの予測値を得た決定木のパスを参照する。続いて、ステップ１０２で、そのパスのノードを１つ上へ辿れるのか否かを判断して、辿れないことを判断するときには、処理を終了し、辿れることを判断するときには、ステップ１０３に進んで、未知データの予測値を得た決定木のパスについてノードを１つ上へ辿る。
【００８８】
続いて、ステップ１０４で、その辿った先のノードが変更対象の属性（図１３の処理フローのステップ７で設定するもの）に関する分岐規則について記述しているのか否かを判断して、変更対象の属性に関する分岐規則について記述していないことを判断するときには、更にノードを上へ１つ辿るべくステップ１０２に戻る。
【００８９】
一方、ステップ１０４で、辿った先のノードが変更対象の属性に関する分岐規則について記述していることを判断するときには、ステップ１０５に進んで、未知データが別の決定木パスを辿ることになるようにと、その分岐規則の属性記述を別のものに変更する。
【００９０】
続いて、ステップ１０６で、その変更した属性記述が設定された探索範囲（図１３の処理フローのステップ９で設定するもの）に入るのか否かを判断して、入らないことを判断するときには、更にノードを上へ１つ辿るべくステップ１０２に戻る。一方、探索範囲に入ることを判断するときには、ステップ１０７に進んで、そのノードから決定木を辿ることで未知データの結果値を予測する。
【００９１】
続いて、ステップ１０８で、その未知データの結果値が希望予測値となるのか否かを判断して、希望予測値とならないことを判断するときには、更にノードを上へ１つ辿るべくステップ１０２に戻る。
【００９２】
一方、希望予測値となることを判断するときには、ステップ１０９に進んで、その希望予測値に到る決定木パスを辿る既知データの中から希望予測値を結果値として持つ既知データを抽出し、続くステップ１１０で、その抽出した既知データの一覧を出力したり、その抽出した既知データに含まれる最新の既知データを代表として出力したり、その抽出した既知データに規定の演算処理（数値属性の場合には平均値を算出し、カテゴリ属性の場合には多数決をとるというような演算処理）を施すことで求まる代表既知データを出力する。
【００９３】
この出力にあたって、変更された決定木のリーフに入る既知データの結果値（決定木の性質上、大体同じ結果値になるが全て同一の結果値になるとは限らない）の中から、希望予測値となるものを求めて、その希望予測値になるものの個数と、そのリーフに入る全結果値の個数との割合で定義される確信度を求めて、それを出力することがある。
【００９４】
このようにして、分析プログラム４００は、図１７の処理フローに従う場合には、図１８に示すように、未知データが予測されたリーフから始めて、すぐ上のノードへと進み、そのノードに該当する属性を変更して予測を行うことで別のリーフへと進み、それでは希望予測値が得られない場合には、再び上のノードへと進むということを繰り返すことで希望予測値を得るパスを特定し、そして、その特定したパスを辿る希望予測値を結果値として持つ既知データを求めて、それを分析結果として出力するように処理するのである。
【００９５】
図１９に、図１３の処理フローのステップ１０で実行する予測分析処理の他の実施形態例を図示する。ここで、この予測分析処理では、予測機構３００が図３に示したようなルールで構築されている場合を想定している。
【００９６】
分析プログラム４００は、図１９の処理フローに示す予測分析処理に入ると、先ず最初に、ステップ１００で、既知データ・データベース１００から読み出した既知データと、入力した分析対象の未知データと、予測機構３００により得られた未知データの予測値（結果値の予測値）と、その予測値を変更する形で入力された希望予測値とを取り揃える。
【００９７】
続いて、ステップ１０１で、未知データの予測値を得たルールを参照する。続いて、ステップ１０２で、そのルールを変更できるのか否かを判断して、ルールを変更できないことを判断するときには、処理を終了し、ルールを変更できることを判断するときには、ステップ１０３に進んで、未知データの予測値を得たルールの中から変更対象とするルール個所を１つ選択する。
【００９８】
続いて、ステップ１０４で、その選択したルール個所が変更対象の属性（図１３の処理フローのステップ７で設定するもの）に関するルールについて記述しているのか否かを判断して、変更対象の属性に関するルールについて記述していないことを判断するときには、別のルール個所を変更すべくステップ１０２に戻る。
【００９９】
一方、ステップ１０４で、選択したルール個所が変更対象の属性に関するルールについて記述していることを判断するときには、ステップ１０５に進んで、未知データが別のルールパスを辿ることになるようにと、そのルール個所の属性記述を別のものに変更する。
【０１００】
続いて、ステップ１０６で、その変更した属性記述が設定された探索範囲（図１３の処理フローのステップ９で設定するもの）に入るのか否かを判断して、入らないことを判断するときには、別のルール個所を変更すべくステップ１０２に戻る。一方、探索範囲に入ることを判断するときには、ステップ１０７に進んで、その変更したルールを辿ることで未知データの結果値を予測する。
【０１０１】
続いて、ステップ１０８で、その未知データの結果値が希望予測値となるのか否かを判断して、希望予測値とならないことを判断するときには、更に別のルール個所を変更すべくステップ１０２に戻る。
【０１０２】
一方、希望予測値となることを判断するときには、ステップ１０９に進んで、その希望予測値に到るルールパスを辿る既知データの中から希望予測値を結果値として持つ既知データを抽出し、続くステップ１１０で、その抽出した既知データの一覧を出力したり、その抽出した既知データに含まれる最新の既知データを代表として出力したり、その抽出した既知データに規定の演算処理（数値属性の場合には平均値を算出し、カテゴリ属性の場合には多数決をとるというような演算処理）を施すことで求まる代表既知データを出力する。
【０１０３】
この出力にあたって、変更されたルールの結論に入る既知データの結果値（ルールの性質上、大体同じ結果値になるが全て同一の結果値になるとは限らない）の中から、希望予測値になるものを求めて、その希望予測値になるものの個数と、その結論に入る全結果値の個数との割合で定義される確信度を求めて、それを出力することがある。
【０１０４】
このようにして、分析プログラム４００は、図１９の処理フローに従う場合には、図２０に示すように、例えば、一番右端のルール個所から出発して、そのルール個所に該当する属性値を変更して予測を行い、それが希望予測値でない場合には、次のルール個所へと進むということを繰り返すことで希望予測値を得るルールを特定し、そして、その特定したルールを辿る希望予測値を結果値として持つ既知データを求めて、それを分析結果として出力するように処理するのである。
【０１０５】
図２１に、図１３の処理フローのステップ１０で実行する本発明に関連する予測分析処理の一例を図示する。ここで、この予測分析処理では、予測機構３００が図７に示したようなニューラルネットワークで構築されている場合を想定している。
【０１０６】
分析プログラム４００は、図２１の処理フローに示す予測分析処理に入ると、先ず最初に、ステップ１００で、既知データ・データベース１００から読み出した既知データと、入力した分析対象の未知データと、予測機構３００により得られた未知データの予測値（結果値の予測値）と、その予測値を変更する形で入力された希望予測値とを取り揃える。
【０１０７】
続いて、ステップ１０１で、予測機構３００を構築するニューラルネットワークに未知データの持つ属性値を入力して、Iterative Inversion 法に従うバックプロパゲーション法の学習処理を実行する。
【０１０８】
通常のバックプロパゲーション法の学習処理では、図８ないし図１０に示したように、ニューラルネットワークの出力する予測値と希望予測値との誤差をニューラルネットワーク上を逆伝搬させることで重みを学習する処理を行うのに対して、Iterative Inversion 法に従うバックプロパゲーション法では、図２２に示すように、学習済みのニューラルネットワークにおいて、ニューラルネットワークの出力する予測値と希望予測値との誤差をニューラルネットワーク上を逆伝搬させることで入力値（この場合は未知データの属性値）を学習する処理を行う。
【０１０９】
これから、Iterative Inversion 法に従うバックプロパゲーション法を実行すると、希望予測値を実現する未知データの持つ属性値を求めることができるようになる。
【０１１０】
続いて、ステップ１０２で、変更対象の属性（図１３の処理フローのステップ７で設定するもの）が設定されているのか否かを判断して、変更対象の属性が設定されている場合には、ステップ１０３に進んで、Iterative Inversion 法により求まる属性値変更量に従って、変更対象の属性のみの属性値を変更する。一方、変更対象の属性が設定されていない場合には、ステップ１０４に進んで、Iterative Inversion 法により求まる属性値変更量に従って、未知データの持つすべて属性の属性値を変更する。
【０１１１】
続いて、ステップ１０５で、変更した属性値が設定された探索範囲（図１３の処理フローのステップ９で設定するもの）に入るのか否かを判断して、入らないことを判断するときには、処理を終了し、入ることを判断するときには、ステップ１０６に進んで、属性値の変更された未知データの入力に応答してニューラルネットワークから出力される予測値を取得する。
【０１１２】
続いて、ステップ１０７で、その取得した予測値が希望予測値であるのか否かを判断して、希望予測値になっていないときには、Iterative Inversion 法による学習を進めるべくステップ１０１に戻り、一方、希望予測値になっているときには、ステップ１０８に進んで、Iterative Inversion 法により変更された未知データの持つ属性値を出力する。このとき、未知データの持つ属性値そのものを出力するのではなくて、未知データの持つ本来の属性値と学習により得られた属性値との変更量を出力することがある。
【０１１３】
このようにして、分析プログラム４００は、図２１の処理フローに示す予測分析処理を実行するときには、希望予測値が実現されることになる未知データの持つ属性値やその属性値への変更量を算出して、それを分析結果として出力するように処理するのである。
【０１１４】
図２１の処理フローでは、予測機構３００が図７に示したようなニューラルネットワークで構築されている場合を想定しているが、「Ｙ＝ΣＡi ×Ｘi ( Ｘi ：属性値，Ａi ：係数，Ｙ：結果値）」で表されるような計算式で構築される場合には、図２３に示すような逆計算法を用いて、希望予測値が実現されることになる未知データの持つ属性値やその属性値への変更量を算出することになる。
【０１１５】
（付記１）属性値とそれに対応付けられる結果値との対応関係を記述する既知データを利用して、未知データの持つ属性値に対応付けられる結果値を予測する予測部と、上記予測部の予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて示す分析情報を得て、それを提示する分析部とを備えることを、特徴とする予測分析装置。
【０１１６】
（付記２）付記１に記載される予測分析装置において、上記分析部は、上記分析情報として、希望予測値を結果値として持つとともに、未知データの持つ属性値に類似する属性値を持つ１つ又は複数の既知データを特定するように処理することを、特徴とする予測分析装置。
【０１１７】
（付記３）付記２に記載される予測分析装置において、上記分析部は、各属性の示す重要度を考慮しつつ、未知データに類似する既知データを特定するように処理することを、特徴とする予測分析装置。
【０１１８】
（付記４）付記３に記載される予測分析装置において、上記分析部は、上記重要度として、ＭＢＲ法により得られる各属性が結果値に与える影響度を用いるように処理することを、特徴とする予測分析装置。
【０１１９】
（付記５）付記３に記載される予測分析装置において、上記分析部は、上記重要度として、構造化ニューラルネットワークの学習により得られるネットワーク重みを用いるように処理することを、特徴とする予測分析装置。
【０１２０】
（付記６）付記２ないし５のいずれか１項に記載される予測分析装置において、上記分析部は、複数の既知データを特定するときにあって、該既知データから１つの既知データを選択するか、規定の演算に従って該既知データから１つの既知データを算出することで、提示対象となる１つの既知データを決定するように処理することを、特徴とする予測分析装置。
【０１２１】
（付記７）付記１に記載される予測分析装置において、上記分析部は、上記分析情報として、希望予測値が実現されることになる未知データの持つ属性値、あるいは、該属性値への変更量を算出するように処理することを、特徴とする予測分析装置。
【０１２２】
（付記８）付記７に記載される予測分析装置において、上記分析部は、既知データにより構築される結果値を算出するためのデータ変換機能を使い、該データ変換機能を変更させることなく、未知データの結果値と希望予測値との誤差を逆伝搬させる形で学習を行うことで、希望予測値が実現されることになる未知データの持つ属性値、あるいは、該属性値への変更量を算出するように処理することを、特徴とする予測分析装置。
【０１２３】
（付記９）付記１に記載される予測分析装置において、上記分析部は、上記分析情報として、希望予測値を結果値として持つとともに、希望予測値が実現されることになる未知データの予測ルートと同一予測ルートに従う１つ又は複数の既知データを特定するように処理することを、特徴とする予測分析装置。
【０１２４】
（付記１０）付記９に記載される予測分析装置において、上記分析部は、上記同一予測ルートの示す確信度についても出力するように処理することを、特徴とする予測分析装置。
【０１２５】
（付記１１）付記９又は１０に記載される予測分析装置において、上記分析部は、既知データにより構築される結果値を導出するためのアルゴリズムを使い、未知データが希望予測値を結果値として持つことになるようにと該アルゴリズムを変更しつつ、上記同一予測ルートに従う既知データを特定するように処理することを、特徴とする予測分析装置。
【０１２６】
（付記１２）付記９ないし１１のいずれか１項に記載される予測分析装置において、上記分析部は、複数の既知データを特定するときにあって、該既知データから１つの既知データを選択するか、規定の演算に従って該既知データから１つの既知データを算出することで、提示対象となる１つの既知データを決定するように処理することを、特徴とする予測分析装置。
【０１２７】
（付記１３）付記１ないし１２のいずれか１項に記載される予測分析装置において、上記分析部は、上記分析情報を得るにあたって、分析対象となる属性を設定して、その設定した分析対象属性の属性値を使って、上記分析情報を得るように処理することを、特徴とする予測分析装置。
【０１２８】
（付記１４）付記１３に記載される予測分析装置において、上記分析部は、対話処理に従って、分析対象となる属性を設定するように処理することを、特徴とする予測分析装置。
【０１２９】
（付記１５）付記１３に記載される予測分析装置において、上記分析部は、既知データにより算出される各属性の示す重要度に基づいて、分析対象となる属性を設定するように処理することを、特徴とする予測分析装置。
【０１３０】
（付記１６）付記１５に記載される予測分析装置において、上記分析部は、上記重要度として、ＭＢＲ法により得られる各属性が結果値に与える影響度を用いるように処理することを、特徴とする予測分析装置。
【０１３１】
（付記１７）付記１５に記載される予測分析装置において、上記分析部は、上記重要度として、構造化ニューラルネットワークの学習によ得られるネットワーク重みを用いるように処理することを、特徴とする予測分析装置。
【０１３２】
（付記１８）付記１ないし１７のいずれか１項に記載される予測分析装置において、上記分析部は、上記分析情報を得るにあたって、属性値の探索範囲を設定して、その設定した探索範囲に入ることを条件にしつつ、上記分析情報を得るように処理することを、特徴とする予測分析装置。
【０１３３】
（付記１９）属性値とそれに対応付けられる結果値との対応関係を記述する既知データを利用して、未知データの持つ属性値に対応付けられる結果値を予測する処理と、上記予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて示す分析情報を得て、それを提示する処理とをコンピュータに実行させるための予測分析プログラム。
【０１３４】
（付記２０）属性値とそれに対応付けられる結果値との対応関係を記述する既知データを利用して、未知データの持つ属性値に対応付けられる結果値を予測する処理と、上記予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて示す分析情報を得て、それを提示する処理とをコンピュータに実行させるためのプログラムを記録した予測分析プログラムの記録媒体。
【０１３５】
【発明の効果】
以上説明したように、本発明によれば、ユーザは、未知データの予測結果が得られるときにあって、その予測結果が自分の希望するものでない場合に、希望予測値を結果値として持つとともに、希望予測値が実現されることになる未知データの予測ルートと同一予測ルートに従う既知データを得ることができるようになることで、予測結果を希望する予測値へと変化させるために、未知データの持つ属性値をどのように変更すればよいのかについて知ることができるようになる。
【図面の簡単な説明】
【図１】  本発明の概要構成図である。
【図２】  決定木の説明図である。
【図３】  ルールの説明図である。
【図４】  本発明の一実施形態例である。
【図５】  既知データ／未知データの説明図である。
【図６】  ＭＢＲの説明図である。
【図７】  ニューラルネットワークの説明図である。
【図８】  バックプロパゲーション法の説明図である。
【図９】  バックプロパゲーション法の説明図である。
【図１０】  バックプロパゲーション法の説明図である。
【図１１】  成長側抑制型のバックプロパゲーション法の説明図である。
【図１２】  構造化ニューラルネットワークの説明図である。
【図１３】  分析プログラムの実行する全体的な処理についての処理フローである。
【図１４】  変更属性の設定処理の説明図である。
【図１５】  本発明に関連する予測分析処理の一例である。
【図１６】  本発明に関連する予測分析処理の一例である。
【図１７】  予測分析処理の一実施形態例である。
【図１８】  予測分析処理の説明図である。
【図１９】  予測分析処理の他の実施形態例である。
【図２０】  予測分析処理の説明図である。
【図２１】  本発明に関連する予測分析処理の一例である。
【図２２】  Iterative Inversion 法の説明図である。
【図２３】  逆計算法の説明図である。
【符号の説明】
１    予測分析装置
１０  既知データ記憶部
１１  予測機能生成部
１２  予測部
１３  分析部
１４  処理属性設定部
１５  探索範囲設定部
【図１】
0003974763.tif 000002
【図２】
0003974763.tif 000003
【図３】
0003974763.tif 000004
【図４】
0003974763.tif 000005
【図５】
0003974763.tif 000006
【図６】
0003974763.tif 000007
【図７】
0003974763.tif 000008
【図８】
0003974763.tif 000009
【図９】
0003974763.tif 000010
【図１０】
0003974763.tif 000011
【図１１】
0003974763.tif 000012
【図１２】
0003974763.tif 000013
【図１３】
0003974763.tif 000014
【図１４】
0003974763.tif 000015
【図１５】
0003974763.tif 000016
【図１６】
0003974763.tif 000017
【図１７】
0003974763.tif 000018
【図１８】
0003974763.tif 000019
【図１９】
0003974763.tif 000020
【図２０】
0003974763.tif 000021
【図２１】
0003974763.tif 000022
【図２２】
0003974763.tif 000023
【図２３】
0003974763.tif 000024