この発明は、スケール算出プログラム、スケール算出装置およびスケール算出方法に関する。
従来より、インターネットを代表とするネットワークの発達、記憶媒体の大容量化、コンピュータの高性能化や低価格化などにより、膨大な量の情報を容易に蓄積することが可能になり、この蓄積されたデータをビジネスに還元する手法として、蓄積されたデータである(既に結果が分かっている)既知事例集合を用い、まだ結果がわかっていない未知事例の結果を予測する予測問題の解法が注目されている。
具体的な予測の対象としては、ダイレクトメールの返答率を上げるための発送先の絞込み、金融与信問題、クレジットカードの不正顧客の発見、ネットワークにおける不正アクセスの発見などが挙げられる。このような予測問題の解法としては、蓄積されたデータである既知事例集合の中から予測対象である「未知事例」に類似した事例を探索し、探索された類似事例の集合を基に当該「未知事例」の結果を予測する手法が存在する(類似事例に基づく予測手法)。
ここで、事例は、数値で表現される複数の説明変数(例えば、「説明変数:数値」として「年齢:30才」および「年収:400万円」など)と文字列で表現される1つの目的変数(例えば、「目的変数:文字列」として「購入状況:する」もしくは「購入状況:しない」など)とから構成され、既知事例では上記の「結果」である「目的変数」が既知であり、未知事例では「目的変数」が未知である。そして、未知事例の目的変数を、既知事例集合から探索した類似事例集合の目的変数から予測することとなる。このためには、未知事例と各既知事例の距離(事例間距離)を計算する必要があるが、この際、一般に各説明変数は分布が異なり、例えば、各事例においては、「年齢」と「年収」とでは分布する値の範囲が異なるため、それらを揃える必要がある(スケーリング)。
例えば、本出願人の先行発明である特許文献1では、各説明変数間のユークリッド距離を各説明変数のスケール(例えば、既知事例集合における標準偏差など)で除することで、各説明変数の分布を揃えて、既知事例と未知事例との各説明変数間の距離を算出したうえで、既知事例と未知事例との事例間距離を計算している。
ところで、上記した従来の技術は、既知事例の説明変数の数値の分布から大きく外れている値(外れ値)が未知事例の説明変数の数値に含まれている場合には、既知事例集合の説明変数の数値から求めたスケールを用いても、精度のよい予測結果を実現できないという問題点があった。
すなわち、既知事例から計算された標準偏差をスケールとして用いても、「外れ値」が存在するために未知事例の説明変数の数値をスケーリングしきれず、他の「外れ値」ではない説明変数と比べ、その説明変数の事例間距離への影響が大きくなり、精度のよい予測結果を実現できない。
例えば、図14の(A)で示すように、「データ名」が「1」〜「9」である9個の既知事例からなる既知事例集合に基づいて予測する場合を考える。この既知事例は、「説明変数」として「年齢(単位:才)」および「年収(単位:万円)」と「目的変数」として「購入状況:する、もしくは、しない」とから構成されている。このとき、9個の既知事例における「年齢(単位:才)」の標準偏差は「8.2才」であり、「年収(単位:万円)」の標準偏差は「82万円」であるので、「8.2」が説明変数「年齢(単位:才)」のスケールとなり、「82」が説明変数「年収(単位:万円)」のスケールとなる。
ここで、図14の(B)に示すように、未知事例として説明変数「年齢:50才」および「年収:450万円」である事例の目的変数「購入状況」を予測する場合を考える。例えば、「データ名:1」とこの未知事例との「説明変数:年齢(単位:才)」の説明間距離は、「30」と「50」との差の絶対値をスケール「8.2」で割った値(以下、「値1」)であり、「データ名:1」とこの未知事例との「説明変数:年収(単位:万円)」の説明間距離は、「300」と「450」との差の絶対値をスケール「82」で割った値(以下、「値2」)となる。そして、「データ名:1」とこの未知事例との事例間距離は、『「値1」の二乗と「値2」の二乗との和』の平方根として算出される。
図14の(B)に示す表は、この未知事例と9個の既知事例それぞれについて事例間距離を算出し、事例間距離の値の小さい順に並べ替えたものである。ここで、類似事例として上位3つの既知事例(データ名:6、9、5)を抽出すると、これらの目的変数「購入状況」はすべて「する」となっており、説明変数「年齢:50才」および「年収:450万円」の未知事例は、「購入状況:する」と高精度に予測することができる。
一方、未知事例として説明変数「年齢:50才」および「年収:800万円」である事例の目的変数「購入状況」を予測する場合、図14の(C)の表に示すように、上述したスケールを用いてこの未知事例と9個の既知事例それぞれについて事例間距離を算出し、事例間距離の値の小さい順に並べ替えると、類似事例として抽出した上位3つの既知事例(データ名:9、8、7)の中に、「購入状況:しない」である「データ名:7」が抽出されている。これは、未知事例の説明変数「年収:800万円」の値が既知事例「年収」の値の分布から大きく外れている値(外れ値)となっているためである。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、高精度な予測結果を実現することが可能になるスケール算出プログラム、スケール算出装置およびスケール算出方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出方法をコンピュータに実行させるスケール算出プログラムであって、前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出手順と、前記スケール算出手順によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持手順と、をコンピュータに実行させることを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記スケール算出手順は、前記既知事例集合と前記未知事例集合とを合わせた集合において、前記説明変数の前記数値の最大値と前記数値の最小値との差を当該説明変数の前記スケールとして前記説明変数ごとに算出することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記スケール算出手順は、前記既知事例集合と前記未知事例集合とを合わせた集合において、前記説明変数の前記数値の標準偏差を当該説明変数の前記スケールとして前記説明変数ごとに算出することを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記スケール算出手順は、前記既知事例集合のすべての前記既知事例と前記未知事例集合のすべての前記未知事例との組み合わせにおける前記説明変数間距離の二乗の平均がすべての前記説明変数において一定値となるように、前記スケールを前記説明変数ごとに算出することを特徴とする。
また、請求項5に係る発明は、上記の発明において、前記スケール算出手順は、前記既知事例集合のすべての前記既知事例と前記未知事例集合のすべての前記未知事例との組み合わせにおける前記説明変数間距離の二乗の標準偏差がすべての前記説明変数において一定値となるように、前記スケールを前記説明変数ごとに算出することを特徴とする。
また、請求項6に係る発明は、数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出装置であって、前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出手段と、前記スケール算出手段によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持手段と、を備えたことを特徴とする。
また、請求項7に係る発明は、数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出方法であって、前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出工程と、前記スケール算出工程によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持工程と、を含んだことを特徴とする。
請求項1、6、または7の発明によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数ごとにスケールを算出するので、既知事例集合のみからスケールを算出するよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、請求項2の発明によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の最大値と最小値との差を当該説明変数のスケールとして説明変数ごとに算出するので、既知事例集合の説明変数の最大値と最小値の差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、請求項3の発明によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差を当該説明変数の前記スケールとして説明変数ごとに算出するので、既知事例集合の説明変数の標準偏差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、請求項4の発明によれば、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の平均がすべての説明変数において一定値となるように、スケールを説明変数ごとに算出するので、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、請求項5の発明によれば、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の標準偏差がすべての説明変数において一定値となるように、スケールを説明変数ごとに算出するので、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。
以下に添付図面を参照して、この発明に係るスケール算出プログラム、スケール算出装置およびスケール算出方法の実施例を詳細に説明する。なお、以下では、この発明に係るスケール算出プログラムを含んで構成されるスケール算出装置を実施例として説明する。また、以下では、実施例1におけるスケール算出装置の構成および処理の手順、実施例1の効果を順に説明し、次に実施例1と同様に、実施例2に係るスケール算出装置、実施例3に係るスケール算出装置、実施例4に係るスケール算出装置、実施例5に係るスケール算出装置について順に説明する。
[用語の説明]
まず最初に、以下の実施例で用いる主要な用語を説明する。以下の実施例で用いる「説明変数」とは、「数値」で表現される変数であり、例えば、「説明変数:数値」として「年齢(単位:才):30」のように示されるものであり、「説明変数値」とは、「説明変数」の「数値」のことであり、例えば、上記の「30」のことである。また、「目的変数」とは、「文字列」で表現される変数であり、例えば、「目的変数:文字列」として「購入状況:する」もしくは「購入状況:しない」などのように示されるものであり、「目的変数値」とは、「目的変数」を表現する「文字列」のことであり、例えば、「する」もしくは「しない」がこれに相当する。また、「事例」とは、複数の「説明変数」と1つの「目的変数」とから構成される集合であり、例えば、「説明変数」として「年齢(単位:才)」および「年収(単位:万円)」と「目的変数」として「購入状況:する、もしくは、しない」の構成からなる「事例」としては、『「年齢:30」、「年収:400」、「購入状況:しない」』などが挙げられる。
また、「既知事例」とは、「目的変数」が既知である事例のことであり、例えば、『「年齢:30」、「年収:400」』の説明変数からなる事例の「目的変数=購入状況」が「しない」であることが既知である事例のことである。また、「未知事例」とは、「目的変数」が未知である事例のことであり、例えば、『「年齢:50」、「年収:800」』の説明変数からなる事例の「目的変数=購入状況」が「する」であるか「しない」であるかは未知である事例のことである。また、「類似事例」とは、「未知事例」と類似した「既知事例」のことである。また、「既知事例集合」とは、複数の「既知事例」からなる集合のことであり、「未知事例集合」とは、複数の「未知事例」からなる集合のことであり、「類似事例集合」とは、複数の「類似事例」からなる集合のことである。
また、以下の説明では、図1の(A)に示すように、n個の既知事例からなる既知事例集合において、i番目の既知事例のj番目の説明変数値をa(i,j)と表し、図1の(B)に示すように、m個の未知事例からなる未知事例集合において、l番目の未知事例のj番目の説明変数値をb(l,j)と表す。また、既知事例集合におけるj番目の説明変数値の平均をμ(j)(マイクロ(j))、標準偏差をσ(j)(シグマ(j))とする(図1の(A)を参照)。そして、未知事例集合におけるj番目の説明変数値の平均をν(j)(ニュー(j))、標準偏差をδ(j)(デルタ(j))と表す(図1の(B)を参照)。なお、図1は、実施例1で使用する記号を説明するための図である。
また、{x(i)|i=1...n}は、x(1)からx(n)までのn個からなる集合を表す。そして、{x(i,j)|i=1...n,j=1...m}は、x(1,1)からx(n,m)までの『「n」x「m」』個からなる集合を表す。さらに、sd({x(i)|i=1...n})は、集合{x(i)|i=1...n}の標準偏差を表す。従って、既知事例集合におけるj番目の説明変数の標準偏差σ(j)は、σ(j)=sd({a(i,j)|i=1...n})と表される。また、max({x(i)|i=1...n})とmin({x(i)|i=1...n})は集合{x(i)|i=1...n}の最大値と最小値を表すものとする。
[実施例1におけるスケール算出装置の概要および特徴]
続いて、図2〜5を用いて、実施例1におけるスケール算出装置の概要および主たる特徴を具体的に説明する。図2は、実施例1におけるスケール算出装置を含む予測装置の構成を示すブロック図であり、図3は、実施例1における事例間距離算出部を説明するための図であり、図4は実施例1における確信度算出部を説明するための図であり、図5は、実施例1におけるスケール算出装置の概要および特徴を説明するための図である。
図2に示すように、実施例1における予測装置10は、データ入力部11と、予測結果出力部12と、入出力制御I/F部13と、記憶部20と、処理部30とから構成される。
データ入力部11は、処理部30による各種処理に用いるデータを入力する。具体的には、「既知事例集合」と「未知事例集合」とからなるデータを入力するとともに、未知事例の予測を開始する旨などの操作指示を入力する。なお、データ入力部11は、図示しない入力部として、キーボードや、タッチパネルを備えており、これによりデータ入力と予測を開始する要求とを受け付けるようにしている。
予測結果出力部12は、処理部30による各種処理の結果を出力する。具体的には、確信度算出部34による処理結果として得られる未知事例ごとの予測結果を出力する。なお、これらの結果は、例えば、予測装置10に接続されるディスプレイに出力するようにしている。
入出力制御I/F部13は、データ入力部11および予測結果出力部12と、記憶部20および処理部30との間におけるデータ転送を制御する。
記憶部20は、処理部30による各種処理結果を記憶し、例えば、図2に示すように、スケール記憶部21と、事例間距離記憶部22と、類似事例集合記憶部23とを備える。なお、各部については、後に詳述する。
処理部30は、入出力制御I/F部13から転送された「既知事例集合」と「未知事例集合」とからなるデータに基づき各種処理を実行し、例えば、図2に示すように、スケール算出部31と、事例間距離算出部32と、類似事例集合抽出部33と、確信度算出部34とを備える。
スケール算出部31は、入力されたデータから説明変数ぞれぞれの「スケール」を算出し、その結果をスケール記憶部21に格納する。例えば、図14で示した場合では、各説明変数値の分布をすべての説明変数間で揃えるために、説明変数ごとに説明変数値の「標準偏差」を既知事例集合において算出し、これを当該説明変数の「スケール」として算出する。すなわち、既知事例集合におけるj番目の説明変数の標準偏差σ(j)=sd({a(i,j)|i=1...n})を、j番目の説明変数のスケール「s(j)」として算出し、この処理をすべての説明変数について行う。例えば、説明変数が「J」種類あるとすると、σ(1)〜σ(J)を算出する。
事例間距離算出部32は、スケール記憶部21が記憶する説明変数ごとの「スケール」を用いて未知事例と既知事例との説明間距離を説明変数ごとに算出した後、これを用いて未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出して、その結果を事例間距離記憶部22に記憶する。例えば、「j」番目の説明変数における、既知事例「i」番目の説明変数値「a(i,j)」と未知事例「l」番目の説明変数値「b(l,j)」との説明変数間距離「d(l,i,j)」を、図3の(A)に示す式を用いて算出する。これを、説明変数ごとに、「n個の既知事例」と「m個の未知事例」とのすべての組み合わせにおいて算出する(『「J」x「n」x「m」』種類)。そして、「J」種類の説明間距離に基づいて、既知事例「i」番目と未知事例「l」番目との事例間距離を、図3の(B)に示す式を用いて算出し、この処理を、「n個の既知事例」と「m個の未知事例」とのすべての組み合わせ(『「n」x「m」』種類)において実行する。
類似事例集合抽出部33は、事例間距離記憶部22が記憶する事例間距離に基づいて、未知事例ごとに既知事例集合の中から事例間距離の値が小さい事例を当該未知事例の類似事例として抽出し、その結果を事例間距離とともに類似事例集合記憶部23に格納する。例えば、事例間距離の値が小さい順に「k」個の既知事例を類似事例集合として抽出する。なお、「k」個は予め設定された値であってもよいし、ユーザが予測ごとに指定してもよい(例えば、k=3)。
確信度算出部34は、類似事例集合記憶部23が記憶する類似事例集合から、確信度を算出し、これを含めた予測結果を未知事例ごとに出力する。具体的には、図4に示す式を用いて、ある未知事例の「目的変数値」が「c」である確信度「p(c)」を、類似事例集合として算出された「k」個の既知事例の中で、「目的変数値」が「c」である既知事例の数の割合として算出する。例えば、既知事例集合における説明変数値の標準偏差をスケールとして類似事例を抽出した図14の(B)に示す場合では、説明変数「年齢:50才」および「年収:450万円」である未知事例の「目的変数=購入状況」が「する」である確信度「p(する)」は、類似事例集合として抽出された「k=3」個の既知事例(データ名:6、9、5)すべてが「する」なので、確信度「100%」と算出される。なお、予測結果として出力されるデータとしては、未知事例ごとの確信度「p(c)」のみのデータでもよいし、未知事例ごとの類似事例集合と事例間距離と確信度とをすべて含めたデータでもよい。
さて、実施例1におけるスケール算出装置(スケール算出部31およびスケール記憶部21から構成される部分)は、既知事例と未知事例との間におけるすべての説明変数間距離から求まる事例間距離に基づき類似事例集合を抽出して当該未知事例の目的変数値を予測する際に、説明変数値の分布を揃えるために用いられるスケールを説明変数ごとに算出することを概要とし、高精度な予測結果を実現することが可能になることに主たる特徴がある。
この主たる特徴について簡単に説明すると、まず、実施例1におけるスケール算出装置は、既知事例集合と未知事例集合とを合わせた集合を生成する。例えば、図5の(A)に示すように、「説明変数」として「年齢(単位:才)」および「年収(単位:万円)」の2つ(J=2)からなる既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(以下、統合集合と記す)を新たに生成する。ここで、「目的変数」は「購入状況」であり、「目的変数値」は「する」、もしくは「しない」のどちらかであり、図5の(A)に示す場合は、「年齢:50才」および「年収:450万円」である未知事例1つからなる未知事例集合の「目的変数値」を予測する。なお、以下では「年齢(単位:才)」を「j=1」の説明変数、「年収(単位:万円)」を「j=2」の説明変数とする。
そして、実施例1におけるスケール算出装置は、新たに生成した集合において、説明変数値の最大値と最小値との差を当該説明変数のスケールとして説明変数ごとに算出して、算出した説明変数ごとのスケールを保持する。すなわち、図5の(A)の右側の表に示す「n=9、m=1」である統合集合において、「年齢(単位:才):j=1」のスケール「s(1)」は、図5の(B)に示す式により、「50−30=20」として算出し、「年収(単位:万円):j=2」のスケール「s(2)」は、同様に、「800−300=500」として算出する。
このスケールを用いて、事例間距離算出部32は、図3の(A)に示す式により「年齢(単位:才):j=1」のおける既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とのすべての組み合わせにおける説明間距離「d(1,1,1)〜d(1,9,1)」を算出し、「年齢(単位:才):j=1」においても同様に、説明間距離「d(1,1,2)〜d(1,9,2)」を算出し、さらに、図3の(B)に示す式により、既知事例集合と未知事例集合とのすべての組み合わせにおける事例間距離「D(1,1)〜D(1,9)」を算出する。
そして、類似事例集合抽出部33は、図5の(C)に示すように、事例間距離の値が小さい順に「k=3」個の既知事例を類似事例集合(データ名:9、8、6)として抽出し、確信度算出部34は、確信度「p(する)」を類似事例集合として抽出した3個の既知事例の目的変数がすべて「する」なので確信度「100%」と算出する。なお、図5の(C)における「事例間距離」の列には、図3の(A)および(B)に示す式に具体的な数値が代入された計算式とその計算結果とを共に示している。
ここで、既知事例集合における説明変数値の標準偏差をスケールとして算出した図14の(C)に示す場合では、同じ未知事例の「目的変数=購入状況」が「する」である確信度「p(する)」は、類似事例集合として抽出された「k=3」個の既知事例(データ名:9、8、7)のうち「9」および「8」が「する」なので、確信度「66.7%」と算出される。従って、実施例1におけるスケール算出装置が算出するスケールを使用することで、「外れ値」(ここでは、「年収:800万円」)をもつ未知事例でも高精度の予測が行なえることがわかる。また、図には示さないが、既知事例集合における説明変数値の最大値と最小値の差をスケールとして算出した場合においても、図14の(C)に示す場合と同様に、「データ名:9、8、7」の既知事例が類似事例集合として抽出される。
このようなことから、実施例1におけるスケール算出装置は、既知事例集合の説明変数の最大値と最小値の差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、上記した主たる特徴の通り、高精度な予測結果を実現することが可能になる。なお、上記の例では、未知事例集合の未知事例数が1つの場合を説明したが、未知事例数が複数の場合でも、同様に統合集合から説明変数ごとのスケールを算出して、未知事例ごとに予測をすることは可能である。
[実施例1におけるスケール算出装置の構成]
次に、図6を用いて、実施例1におけるスケール算出装置を説明する。図6は、実施例1におけるスケール算出装置の構成を示すブロック図である。
図6に示すように、実施例1におけるスケール算出装置100は、予測装置10におけるスケール算出部31と、スケール記憶部21とから構成され、入出力制御I/F部13を介して転送された既知事例集合と未知事例集合とのデータから説明変数ごとのスケールを算出し、その結果に基づいて、事例間距離算出部32は、未知事例と既知事例のすべての組み合わせにおいて事例間距離を算出する。
スケール記憶部21は、後に詳述するスケール算出部31による各種処理結果を記憶し、特に本発明に密接に関連するものとしては、図6に示すように、統合集合記憶部21aと、統合スケール記憶部21bとを備える。ここで、統合スケール記憶部21bは、特許請求の範囲に記載の「算出スケール保持手順」に対応する。統合集合記憶部21aは、後述する統合集合生成部31aが生成した既知事例集合と未知事例集合とを統合した集合を記憶し、統合スケール記憶部21bは、後述する統合スケール算出部31bが算出したスケールを説明変数ごとに記憶する。
スケール算出部31は、入出力制御I/F部13を介して転送された既知事例集合と未知事例集合とのデータに基づき各種処理を実行し、特に本発明に密接に関連するものとしては、図6に示すように、統合集合生成部31aと、統合スケール算出部31bとを備える。ここで、統合集合生成部31aと、統合スケール算出部31bとは、特許請求の範囲に記載の「スケール算出手順」に対応する。なお、各部については、以下に詳述する。
統合集合生成部31aは、既知事例集合と未知事例集合とを合わせた集合を生成し、その結果を統合集合記憶部21aに記憶する。例えば、図5の(A)に示すように、「説明変数」として「年齢(単位:才)」および「年収(単位:万円)」の2つ(J=2)からなる既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(以下、統合集合と記す)を新たに生成する。
統合スケール算出部31bは、新たに生成した集合において、説明変数値の最大値と最小値との差を当該説明変数のスケールとして説明変数ごとに算出し、その結果を統合スケール記憶部21bに記憶する。すなわち、図5の(A)に示す「n=9、m=1」である統合集合において、「年齢(単位:才):j=1」のスケール「s(1)」は、図5の(B)に示す式により、「50−30=20」として算出し、「年収(単位:万円):j=2」のスケール「s(2)」は、同様に、「800−300=500」として算出する。
[実施例1におけるスケール算出装置による処理の手順]
次に、図7を用いて、実施例1におけるスケール算出装置100による処理を説明する。図7は、実施例1におけるスケール算出装置の処理の手順を示す図である。
まず、実施例1におけるスケール算出装置100では、既知事例集合と未知事例集合とのデータが入力されると(ステップS701肯定)、統合集合生成部31aは、既知事例集合と未知事例集合とを合わせた集合を生成する(ステップS702)。
例えば、図5の(A)に示すように、「説明変数」として「年齢(単位:才)」および「年収(単位:万円)」の2つ(J=2)からなる既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(以下、統合集合と記す)を新たに生成する。
続いて、統合スケール算出部31bは、新たに生成した集合において、説明変数値の最大値と最小値との差を当該説明変数のスケールとして説明変数ごとに算出して(ステップS703)、処理を終了する。すなわち、図5の(A)に示す「n=9、m=1」である統合集合において、「年齢(単位:才):j=1」のスケール「s(1)」は、図5の(B)に示す式により、「50−30=20」として算出し、「年収(単位:万円):j=2」のスケール「s(2)」は、同様に、「800−300=500」として算出する。
なお、図2で説明したように、スケール算出後は、そのスケールを用いて、未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出し、未知事例ごとに既知事例集合の中から類似事例集合を抽出して、当該未知事例の目的変数の予測を行なう。
[実施例1の効果]
上記したように、実施例1によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数ごとにスケールを算出するので、既知事例集合のみからスケールを算出するよりも、未知事例の説明変数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、実施例1によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の最大値と最小値との差を当該説明変数のスケールとして説明変数ごとに算出するので、既知事例集合の説明変数値の最大値と最小値の差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
なお、本実施例では、スケール算出処理により算出されたスケールを用いて、未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出し、算出した事例間距離の値に基づいて未知事例ごとに既知事例集合の中から類似事例集合を抽出し、抽出した類似事例集合の目的変数値から確信度を算出して当該未知事例の目的変数の予測を行なう場合を説明したが、本発明はこれに限定されるものではなく、説明変数ごとに重要性に応じた「影響度」を設定し、「影響度」と「スケール」とに基づいて事例間距離を算出したり、事例間距離に閾値を設定して類似事例集合を抽出したり、事例間距離に「重み付け」を設定して確信度を算出したりするなど、スケール算出後の予測処理としては、あらゆるものが採用できる。
上述した実施例1では、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の最大値と最小値の差をスケールとして算出する場合について説明したが、実施例2では、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差をスケールとして算出する場合について説明する。
[実施例2におけるスケール算出装置の概要および特徴]
まず最初に、図8を用いて、実施例2におけるスケール算出装置の主たる特徴を具体的に説明する。図8は、実施例2におけるスケール算出装置の概要および特徴を説明するための図である。
実施例2におけるスケール算出装置は、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。すなわち、説明変数「j」番目のスケール「s(j)」を、図8の(B)で示す式のように、「a(1,j)〜a(n,j)」と「b(1,j)〜b(m,j)」とを合わせた「n+m」個の数値の標準偏差として算出する。例えば、実施例1と同様に、図5の(A)に示す既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(図8の(A)を参照)において、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。具体的には、図8の(A)に示す場合では、a(1,j)〜a(9,j)にb(1,j)を合わせた10個の説明変数値の標準偏差をスケールとして、「年齢(単位:才):j=1」および「年収(単位:万円):j=2」それぞれについて算出する。
ところで、図8の(B)で示す式は、説明変数「j」番目についての、既知事例集合(事例数:n)における平均「μ(j)」および標準偏差「σ(j)」と未知事例集合(事例数:m)における平均「ν(j)」および標準偏差「δ(j)」を使うと、図8の(C)で示す式と同様であり、既知事例集合の説明変数ごとの平均および標準偏差と、未知事例集合の説明変数ごとの平均および標準偏差とをそれぞれ算出しておき、これらを使って説明変数ごとのスケールを算出することができる。
すなわち、実施例2におけるスケール算出装置は、図8の(B)もしくは(C)で示す式により、「年齢(単位:才):j=1」のスケール「s(1)」を「8.3」と算出し、「年収(単位:万円):j=2」のスケール「s(2)」を「143」と算出する。
このスケールを用いて、実施例1と同様に、既知事例集合と未知事例集合とのすべての組み合わせにおける事例間距離から、図8の(D)に示すように、事例間距離の値が小さい順に「k=3」個の既知事例として、目的変数がすべて「する」である既知事例(データ名:9、8、6)が類似事例集合として抽出され、確信度「p(する)」は「100%」となる。なお、図8の(D)における「事例間距離」の列には、図3の(A)および(B)に示す式に具体的な数値が代入された計算式とその計算結果とを共に示している。
ここで、既知事例集合における説明変数値の標準偏差をスケールとして算出した図14の(C)に示す場合では、同じ未知事例の「確信度「p(する)」が「66.7%」であることから、実施例1と同様に、実施例2におけるスケール算出装置が算出するスケールを使用することで、「外れ値」(ここでは、「年収:800万円」)をもつ未知事例でも高精度の予測が行なえることがわかる。
このようなことから、実施例2におけるスケール算出装置は、既知事例集合の説明変数の標準偏差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。なお、上記の例では、未知事例集合の未知事例数が1つの場合を説明したが、未知事例数が複数の場合でも、同様に統合集合から説明変数ごとのスケールを算出して、未知事例ごとに予測をすることは可能である。
[実施例2におけるスケール算出装置の構成]
次に、図9を用いて、実施例2におけるスケール算出装置を説明する。図9は、実施例2におけるスケール算出装置の構成を示すブロック図である。なお、スケール算出後における各部(図2に示す、事例間距離記憶部22、類似事例集合記憶部23、事例間距離算出部32、類似事例集合抽出部33および確信度算出部34)の構成と処理内容とは、上述した図2におけるものと同じなので説明を省略する。
図9に示すように、実施例2におけるスケール算出装置100は、実施例1と同様に、予測装置10におけるスケール算出部31と、スケール記憶部21とから構成され、入出力制御I/F部13を介して転送された既知事例集合と未知事例集合とのデータから説明変数ごとのスケールを算出し、その結果に基づいて、事例間距離算出部32は、未知事例と既知事例のすべての組み合わせにおいて事例間距離を算出する。
スケール記憶部21は、後に詳述するスケール算出部31による各種処理結果を記憶し、特に本発明に密接に関連するものとしては、図9に示すように、既知事例集合統計記憶部21cと、未知事例集合統計記憶部21dと、統合統計スケール記憶部21eとを備える。ここで、統合統計スケール記憶部21eは、特許請求の範囲に記載の「算出スケール保持手順」に対応する。既知事例集合統計記憶部21cは、後述する既知事例集合統計算出部31cが算出した既知事例集合における説明変数ごとの平均と分散を記憶し、未知事例集合統計記憶部21dは、後述する未知事例集合統計算出部31dが算出した未知事例集合における説明変数ごとの平均と分散を記憶し、統合統計スケール記憶部21eは、後述する統合統計スケール算出部31eが算出したスケールを説明変数ごとに記憶する。
スケール算出部31は、入出力制御I/F部13を介して転送された既知事例集合と未知事例集合とのデータに基づき各種処理を実行し、特に本発明に密接に関連するものとしては、図9に示すように、既知事例集合統計算出部31cと、未知事例集合統計算出部31dと、統合統計スケール算出部31eとを備える。ここで、既知事例集合統計算出部31cと、未知事例集合統計算出部31dと、統合統計スケール算出部31eとは、特許請求の範囲に記載の「スケール算出手順」に対応する。なお、各部については、以下に詳述する。
既知事例集合統計算出部31cは、既知事例集合における説明変数ごとの平均および分散を算出し、その結果を既知事例集合統計記憶部21cに記憶する。すなわち、既知事例集合(事例数:n)における説明変数ごとの平均「μ(j)」および標準偏差「σ(j)」を算出する。具体的には、図8の(A)に示す、データ名:1〜9の「年齢(単位:才)、j=1」および「年収(単位:万円)、j=2」の2つの説明変数それぞれについて平均「μ(1)=40およびμ(2)=400」と標準偏差「σ(1)=8.2およびσ(2)=82」とを算出する。
未知事例集合統計算出部31dは、未知事例集合における説明変数ごとの平均および分散を算出し、その結果を未知事例集合統計記憶部21dに記憶する。すなわち、未知事例集合(事例数:m)における説明変数ごとの平均「ν(j)」および標準偏差「δ(j)」を算出する。具体的には、図8の(A)に示すデータ名:U1の「年齢(単位:才)、j=1」および「年収(単位:万円)、j=2」の2つの説明変数それぞれについて、平均「ν(1)=50およびν(2)=800」と標準偏差「δ(1)=0およびδ(2)=0」とを算出する。
統合統計スケール算出部31eは、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。すなわち、既知事例集合と未知事例集合とを合わせた集合における説明変数値の標準偏差(図8の(B)を参照)を、図8の(C)に示す式を用いて算出する。具体的には、既知事例集合統計記憶部21cが記憶する既知事例集合における説明変数ごとの平均および分散と、未知事例集合統計記憶部21dが記憶する未知事例集合における説明変数ごとの平均および分散とを、図8の(C)に示す式に代入して、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。
より具体的に例を挙げれば、「年齢(単位:才)、j=1」のスケールを、図8の(C)に示す式に「μ(1)=40、σ(1)=8.2、ν(1)=50、δ(1)=0」を代入して「s(1)=8.3」と算出し、「年収(単位:万円)、j=2」のスケールを、同様に、「μ(2)=400、σ(2)=82、ν(2)=800、δ(2)=0」を代入して「s(2)=143」と算出する。
[実施例2におけるスケール算出装置による処理の手順]
次に、図10を用いて、実施例2におけるスケール算出装置100による処理を説明する。図10は、実施例2におけるスケール算出装置の処理の手順を示す図である。
まず、実施例2におけるスケール算出装置100では、既知事例集合と未知事例集合とのデータが入力されると(ステップS1001肯定)、既知事例集合統計算出部31cは、既知事例集合における平均および分散を説明変数ごとに算出する(ステップS1002)。すなわち、既知事例集合(事例数:n)における説明変数ごとの平均「μ(j)」および標準偏差「σ(j)」を算出する。
続いて、未知事例集合統計算出部31dは、未知事例集合における平均および分散を説明変数ごとに算出する(ステップS1003)。すなわち、未知事例集合(事例数:m)における説明変数ごとの平均「ν(j)」および標準偏差「δ(j)」を算出する。
そして、統合統計スケール算出部31eは、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出して(ステップS1004)、処理を終了する。すなわち、既知事例集合(事例数:n)における説明変数ごとの平均「μ(j)」および標準偏差「σ(j)」と、未知事例集合(事例数:m)における説明変数ごとの平均「ν(j)」および標準偏差「δ(j)」とを、図8の(C)に示す式に代入して、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。
なお、図2で説明したように、スケール算出後は、そのスケールを用いて、未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出し、未知事例ごとに既知事例集合の中から類似事例集合を抽出して、当該未知事例の目的変数の予測を行なう。
[実施例2の効果]
上記したように、実施例2によれば、既知事例集合と未知事例集合とを合わせた集合において、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出するので、既知事例集合の説明変数の標準偏差をスケールとするよりも、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、実施例2によれば、既知事例集合と未知事例集合とを合わせた新たな集合からスケールを算出する以外に、既知事例集合および未知事例集合をそれぞれ統計処理することによって得られる平均と標準偏差とによってスケールを算出できるので、例えば、1つの既知事例集合において平均と標準偏差とを算出しておけば、様々な未知事例集合に対して予測を行なう場合でも、未知事例集合ごとに平均と標準偏差とを算出するだけでスケールを算出でき、速やかで高精度な予測結果を実現することが可能になる。
上述した実施例1と2では、既知事例集合と未知事例集合とを合わせた集合からスケールを算出する場合について説明したが、実施例3では、各説明変数において、全未知事例と全既知事例と間の説明変数間距離の二乗の平均が一定値となるようにスケールを算出する場合について説明する。
[実施例3におけるスケール算出装置の概要および特徴]
まず最初に、図11を用いて、実施例3におけるスケール算出装置の主たる特徴を具体的に説明する。図11は、実施例3におけるスケール算出装置の概要および特徴を説明するための図である。
実施例3におけるスケール算出装置は、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の平均がすべての説明変数において一定値となるように、説明変数ごとにスケールを算出する。例えば、図11の(A)に示す式を用いて説明変数ごとのスケールを算出することで、全未知事例と全既知事例と間の説明変数間距離の二乗の平均は、すべての説明変数において「1」となる。すなわち、説明変数「j」番目のスケール「s(j)」を、図11の(A)で示す式のように、「a(1,j)〜a(n,j)」と「b(1,j)〜b(m,j)」とのすべての組み合わせ(「n」x「m」種類)における「差:a(i,j)―b(l,j)」を用いて算出する。
例えば、実施例1と同様に、図5の(A)に示す既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(図8の(A)を参照)において、a(1,j)〜a(9,j)それぞれとb(1,j)との差を二乗した値を合計した値を「1x9=9」で割った値の平方根をスケールとして、「年齢(単位:才):j=1」および「年収(単位:万円):j=2」それぞれについて算出する。
ところで、図11の(A)で示す式は、説明変数「j」番目についての、既知事例集合(事例数:n)における平均「μ(j)」および標準偏差「σ(j)」と未知事例集合(事例数:m)における平均「ν(j)」および標準偏差「δ(j)」を使うと、図11の(B)で示す式と同様であり、既知事例集合の説明変数ごとの平均および標準偏差と、未知事例集合の説明変数ごとの平均および標準偏差とをそれぞれ算出しておき、これらを使って説明変数ごとのスケールを算出することができる。
すなわち、実施例3におけるスケール算出装置は、図11の(A)もしくは(B)で示す式により、「年齢(単位:才):j=1」のスケール「s(1)」を「12.9」と算出し、「年収(単位:万円):j=2」のスケール「s(2)」を「401」と算出する。
このスケールを用いて、実施例1および2と同様に、既知事例集合と未知事例集合とのすべての組み合わせにおける事例間距離から、図11の(C)に示すように、事例間距離の値が小さい順に「k=3」個の既知事例として、目的変数がすべて「する」である既知事例(データ名:9、6、8)が類似事例集合として抽出され、確信度「p(する)」は「100%」となる。なお、図11の(C)における「事例間距離」の列には、図3の(A)および(B)に示す式に具体的な数値が代入された計算式とその計算結果とを共に示している。
ここで、既知事例集合における説明変数値の標準偏差をスケールとして算出した図14の(C)に示す場合では、同じ未知事例の「確信度「p(する)」が「66.7%」であることから、実施例1と同様に、実施例2におけるスケール算出装置が算出するスケールを使用することで、「外れ値」(ここでは、「年収:800万円」)をもつ未知事例でも高精度の予測が行なえることがわかる。
このようなことから、実施例3におけるスケール算出装置は、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。なお、上記の例では、未知事例集合の未知事例数が1つの場合を説明したが、未知事例数が複数の場合でも、同様に統合集合から説明変数ごとのスケールを算出して、未知事例ごとに予測をすることは可能である。
[実施例3におけるスケール算出装置の構成]
次に、図9を用いて、実施例3におけるスケール算出装置を説明する。図9は、実施例2におけるスケール算出装置の構成を示すブロック図である。同図に示すように、実施例3におけるスケール算出装置100は、実施例2における追スケール算出装置100と同様の構成であるが、統合統計スケール算出部31eの処理内容が異なる。以下、これを中心に説明する。なお、スケール算出後における各部(図2に示す、事例間距離記憶部22、類似事例集合記憶部23、事例間距離算出部32、類似事例集合抽出部33および確信度算出部34)の構成と処理内容とは、上述した図2におけるものと同じなので説明を省略する。
統合統計スケール算出部31eは、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の平均がすべての説明変数において一定値となるように、説明変数ごとにスケールを算出して、その結果を統合統計スケール記憶部21eに記憶する。例えば、図11の(B)に示す式を用いて説明変数ごとのスケールを算出することで、全未知事例と全既知事例と間の説明変数間距離の二乗の平均は、すべての説明変数において「1」となる。
具体的には、既知事例集合統計記憶部21cが記憶する既知事例集合における説明変数ごとの平均および分散と、未知事例集合統計記憶部21dが記憶する未知事例集合における説明変数ごとの平均および分散とを、図11の(B)に示す式に代入して、説明変数値の標準偏差を当該説明変数のスケールとして説明変数ごとに算出する。
より具体的には、図5の(A)に示す既知事例集合と未知事例集合とを合わせた集合(図8の(A)を参照)において、「年齢(単位:才)、j=1」のスケールを、図11の(B)に示す式に「μ(1)=40、σ(1)=8.2、ν(1)=50、δ(1)=0」を代入してs(1)=12.9と算出し、「年収(単位:万円)、j=2」のスケールを、同様に、「μ(2)=400、σ(2)=82、ν(2)=800、δ(2)=0」を代入してs(2)=401と算出する。
[実施例3におけるスケール算出装置による処理の手順]
次に、図10を用いて、実施例3におけるスケール算出装置100による処理を説明する。図10は、実施例2におけるスケール算出装置の処理の手順を示す図である。
実施例3におけるスケール算出装置100の処理の手順は、図10に示すステップS1003における統合統計スケール算出部31eによる処理内容が異なる以外は、実施例2におけるスケール算出装置100の処理の手順と同じである。
すなわち、実施例3における統合統計スケール算出部31eは、図10に示すステップS1003において、既知事例集合おける説明変数ごとの平均および標準偏差と、未知事例集合における説明変数ごとの平均および標準偏差とを、図8の(C)ではなく、図11の(B)に示す式に代入してスケールを説明変数ごとに算出する。
なお、図2で説明したように、スケール算出後は、そのスケールを用いて、未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出し、未知事例ごとに既知事例集合の中から類似事例集合を抽出して、当該未知事例の目的変数の予測を行なう。
[実施例3の効果]
上記したように、実施例3によれば、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の平均がすべての説明変数において一定値「1」となるように、スケールを説明変数ごとに算出するので、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。
また、実施例3によれば、既知事例集合と未知事例集合とを合わせた新たな集合からスケールを算出する以外に、既知事例集合および未知事例集合をそれぞれ統計処理することによって得られる平均と標準偏差とによってスケールを算出できるので、例えば、1つの既知事例集合において平均と標準偏差とを算出しておけば、様々な未知事例集合に対して予測を行なう場合でも、未知事例集合ごとに平均と標準偏差とを算出するだけでスケールを算出でき、速やかで高精度な予測結果を実現することが可能になる。
上述した実施例3では、全未知事例と全既知事例と間の説明変数間距離の二乗の平均が一定値となるようにスケールを算出する場合について説明したが、実施例4では、全未知事例と全既知事例間の説明変数間距離の二乗の標準偏差が一定値となるようにスケールを算出する場合について説明する。
[実施例4におけるスケール算出装置の概要および特徴]
まず最初に、図12を用いて、実施例4におけるスケール算出装置の主たる特徴を具体的に説明する。図12は、実施例4におけるスケール算出装置の概要および特徴を説明するための図である。
実施例4におけるスケール算出装置は、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の標準偏差がすべての説明変数において一定値となるように、スケールを前記説明変数ごとに算出する。例えば、図12の(A)に示す式を用いて説明変数ごとのスケールを算出することで、全未知事例と全既知事例間の説明変数間距離の二乗の標準偏差は、すべての説明変数において「1」となる。すなわち、説明変数「j」番目のスケール「s(j)」を、図12の(A)で示す式のように、「a(1,j)〜a(n,j)」と「b(1,j)〜b(m,j)」とのすべての組み合わせ(「n」x「m」種類)における「差:a(i,j)―b(l,j)」の二乗値の標準偏差を用いて算出する。
例えば、実施例1と同様に、図5の(A)に示す既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(図8の(A)を参照)において、a(1,j)〜a(9,j)それぞれとb(1,j)との差を二乗した値(9種類)における標準偏差の平方根をスケールとして、「年齢(単位:才):j=1」および「年収(単位:万円):j=2」それぞれについて算出する。これにより、「年齢(単位:才):j=1」のスケール「s1)」を「13.0」と算出し、「年収(単位:万円):j=2」のスケール「s(2)」を「511」と算出する。
このスケールを用いて、実施例1〜3と同様に、既知事例集合と未知事例集合とのすべての組み合わせにおける事例間距離から、図12の(B)に示すように、事例間距離の値が小さい順に「k=3」個の既知事例として、目的変数がすべて「する」である既知事例(データ名:9、6、8)が類似事例集合として抽出され、確信度「p(する)」は「100%」となる。なお、図12の(B)における「事例間距離」の列には、図3の(A)および(B)に示す式に具体的な数値が代入された計算式とその計算結果とを共に示している。
ここで、既知事例集合における説明変数値の標準偏差をスケールとして算出した図14の(C)に示す場合では、同じ未知事例の「確信度「p(する)」が「66.7%」であることから、実施例1と同様に、実施例2におけるスケール算出装置が算出するスケールを使用することで、「外れ値」(ここでは、「年収:800万円」)をもつ未知事例でも高精度の予測が行なえることがわかる。
このようなことから、実施例4におけるスケール算出装置は、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。なお、上記の例では、未知事例集合の未知事例数が1つの場合を説明したが、未知事例数が複数の場合でも、同様に統合集合から説明変数ごとのスケールを算出して、未知事例ごとに予測をすることは可能である。
[実施例4におけるスケール算出装置の構成]
次に、図6を用いて、実施例4におけるスケール算出装置を説明する。図6は、実施例1におけるスケール算出装置の構成を示すブロック図である。同図に示すように、実施例4におけるスケール算出装置100は、実施例1における追スケール算出装置100と同様の構成であるが、統合スケール算出部31bの処理内容が異なる。以下、これを中心に説明する。なお、スケール算出後における各部(図2に示す、事例間距離記憶部22、類似事例集合記憶部23、事例間距離算出部32、類似事例集合抽出部33および確信度算出部34)の構成と処理内容とは、上述した図2におけるものと同じなので説明を省略する。
統合スケール算出部31bは、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の標準偏差がすべての説明変数において一定値となるように、スケールを前記説明変数ごとに算出して、その結果を統合スケール記憶部21bに記憶する。例えば、図12の(A)に示す式を用いて説明変数ごとのスケールを算出することで、全未知事例と全既知事例と間の説明変数間距離の二乗の平均は、すべての説明変数において「1」となる。
例えば、実施例1と同様に、図5の(A)に示す既知事例集合(事例数:n=9、データ名:1〜9)と未知事例集合(事例数:m=1、データ名:U1)とを合わせた集合(図8の(A)を参照)において、a(1,j)〜a(9,j)それぞれとb(1,j)との差を二乗した値(9種類)における標準偏差の平方根をスケールとして、「年齢(単位:才):j=1」および「年収(単位:万円):j=2」それぞれについて算出する。これにより、「年齢(単位:才):j=1」のスケール「s1)」を「13.0」と算出し、「年収(単位:万円):j=2」のスケール「s(2)」を「511」と算出する。
[実施例4におけるスケール算出装置による処理の手順]
次に、図7を用いて、実施例4におけるスケール算出装置100による処理を説明する。図7は、実施例1におけるスケール算出装置の処理の手順を示す図である。
実施例4におけるスケール算出装置100の処理の手順は、図7に示すステップS703における統合スケール算出部31bによる処理内容が異なる以外は、実施例1におけるスケール算出装置100の処理の手順と同じである。
すなわち、実施例4における統合スケール算出部31bは、図7に示すステップS703において、図12の(A)に示す式を用いて説明変数ごとのスケールを、全未知事例と全既知事例と間の説明変数間距離の二乗の平均は、すべての説明変数において「1」となるように算出する。
なお、図2で説明したように、スケール算出後は、そのスケールを用いて、未知事例と既知事例とのすべての組み合わせにおける事例間距離を算出し、未知事例ごとに既知事例集合の中から類似事例集合を抽出して、当該未知事例の目的変数の予測を行なう。
[実施例4の効果]
上記したように、実施例4によれば、既知事例集合のすべての既知事例と未知事例集合のすべての未知事例との組み合わせにおける説明変数間距離の二乗の標準偏差がすべての前記説明変数において一定値「1」となるように、スケールを説明変数ごとに算出するので、各説明変数の数値が有する分布をさらに揃えるスケールを算出でき、高精度な予測結果を実現することが可能になる。
さて、これまで実施例1〜4におけるスケール算出装置について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてもよいものである。そこで、以下では、実施例5におけるスケール算出装置として、種々の異なる実施例を(1)〜(4)に区分けして説明する。
(1)既知事例集合と未知事例集合とを合わせた集合(統合集合)
上記の実施例1〜4では、既知事例集合と未知事例集合とを合わせた集合において、説明変数ごとにスケールを算出する場合について説明したが、本発明はこれに限定されるものではなく、未知事例集合から1つの未知事例を予測対象として順次抽出し、当該1つの未知事例と既知事例集合とを合わせた集合において、説明変数ごとにスケールを算出する場合であってもよい。
すなわち、「n個の既知事例」からなる既知事例集合と「m個の未知事例」からなる未知事例集合において、「n個の既知事例」における説明変数値と「m個の未知事例」における説明変数値から、説明変数ごとにスケールを算出するのではなく、予測対象となる「1つの未知事例」を未知事例集合から順次抽出し、「n個の既知事例」からなる既知事例集合と「1個の未知事例」からなる未知事例集合を合わせた、「n+1」個の事例からなる、仮の統合集合において、「n個の既知事例」における説明変数値と「1個の未知事例」における説明変数値とから、説明変数ごとにスケールを算出する。
これにより、例えば、未知事例それぞれが別々の説明変数において外れ値を持つ場合に生じる影響を排除して、個別の未知事例におけるスケールを算出でき、高精度な予測結果を実現することが可能になる。また、予測したい未知事例が複数なくても個別の未知事例におけるスケールを算出でき、速やかで高精度な予測結果を実現することが可能になる。
(2)未知事例集合
上記の実施例1〜4では、既知事例集合と未知事例集合とを合わせた集合において、説明変数ごとにスケールを算出する場合について説明したが、本発明はこれに限定されるものではなく、外れ値が存在する説明変数の項目に基づいて未知事例集合をさらに未知事例部分集合に分類し、未知事例部分集合ごとに既知事例集合と合わせた集合を生成して、生成した集合ごとにスケールを説明変数それぞれについて算出する場合であってもよい。
これにより、例えば、未知事例それぞれが別々の説明変数において外れ値を持つ場合に生じる影響を排除して、外れ値の存在する傾向が似通った未知事例の部分集合ごとにスケールを算出でき、高精度な予測結果を実現することが可能になる。
(3)システム構成等
また、上記の実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動でおこなうこともでき(例えば、確信度を自動的に算出するのではなく、ユーザが類似事例集合のテーブルを参照して未知事例ごとに予測するなど)、あるいは、手動的におこなうものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。例えば、この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報(例えば、類似事例として抽出する既知事例の数「k」など)については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各処理部および各記憶部の分散・統合の具体的形態(例えば、図9の形態など)は図示のものに限られず、例えば、既知事例集合統計算出部31cと未知事例集合統計算出部31dとを統合するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(4)スケール算出プログラム
ところで上記の実施例1〜4では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、あらかじめ用意されたプログラムをコンピュータで実行するようにしてもよい。そこで以下では、図13を用いて、上記の実施例1に示したスケール算出装置100と同様の機能を有するスケール算出プログラムを実行するコンピュータの一例を説明する。図13は、実施例1におけるスケール算出プログラムを実行するコンピュータを示す図である。
図13に示すように、情報処理装置としてのコンピュータ130は、キーボード131、ディスプレイ132、CPU133、ROM134、HDD135およびRAM136をバス137などで接続して構成される。
ROM134には、上記の実施例1に示したスケール算出装置100と同様の機能を発揮するスケール算出プログラム、つまり、図13に示すように、統合集合生成プログラム134a、統合スケール算出プログラム134bが予め記憶されている。なお、これらのプログラム134aおよび134bについては、図6に示したスケール算出装置100の各構成要素と同様、適宜統合または分散してもよい。
そして、CPU133が、これらのプログラム134aおよび134bをROM134から読みだして実行することで、図13に示すように、各プログラム134aおよび134bは、統合集合生成プロセス133a、統合スケール算出プロセス133bとして機能するようになる。なお、各プロセス133aおよび133bは、図6に示した、統合集合生成部31a、統合スケール算出部31bにそれぞれ対応する。
また、HDD135には、図13に示すように、既知事例集合データ135aと、未知事例集合データ135bとが設けられる。そしてCPU133は、既知事例集合データ136aを既知事例集合データ135aに対して登録し、未知事例集合データ136bを未知事例集合データ135bに対して登録し、この既知事例集合データ136aと、未知事例集合データ136bとを読み出してRAM136に格納し、RAM136に格納された既知事例集合データ136aと、未知事例集合データ136bとに基づいてスケール算出処理を実行する。また、RAM136には、スケール算出処理の過程で算出される統合集合データ136cと、統合スケールデータ136dとが記憶されて、CPU133はこれも利用して、スケール算出処理を実行する。
なお、上記した各プログラム134aおよび134bについては、必ずしも最初からROM134に記憶させておく必要はなく、例えばコンピュータ130に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ130の内外に備えられるHDDなどの「固定用物理媒体」、さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ130に接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておき、コンピュータ130がこれらから各プログラムを読み出して実行するようにしてもよい。
(付記1)数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出方法をコンピュータに実行させるスケール算出プログラムであって、
前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出手順と、
前記スケール算出手順によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持手順と、
をコンピュータに実行させることを特徴とするスケール算出プログラム。
(付記2)前記スケール算出手順は、前記既知事例集合と前記未知事例集合とを合わせた集合において、前記説明変数の前記数値の最大値と前記数値の最小値との差を当該説明変数の前記スケールとして前記説明変数ごとに算出することを特徴とする付記1に記載のスケール算出プログラム。
(付記3)前記スケール算出手順は、前記既知事例集合と前記未知事例集合とを合わせた集合において、前記説明変数の前記数値の標準偏差を当該説明変数の前記スケールとして前記説明変数ごとに算出することを特徴とする付記1に記載のスケール算出プログラム。
(付記4)前記スケール算出手順は、前記既知事例集合のすべての前記既知事例と前記未知事例集合のすべての前記未知事例との組み合わせにおける前記説明変数間距離の二乗の平均がすべての前記説明変数において一定値となるように、前記スケールを前記説明変数ごとに算出することを特徴とする付記1に記載のスケール算出プログラム。
(付記5)前記スケール算出手順は、前記既知事例集合のすべての前記既知事例と前記未知事例集合のすべての前記未知事例との組み合わせにおける前記説明変数間距離の二乗の標準偏差がすべての前記説明変数において一定値となるように、前記スケールを前記説明変数ごとに算出することを特徴とする付記1に記載のスケール算出プログラム。
(付記6)前記スケール算出手順は、前記未知事例集合から1つの未知事例を予測対象として順次抽出し、当該1つの未知事例と前記既知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出することを特徴とする付記1〜5に記載のスケール算出プログラム。
(付記7)数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出装置であって、
前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出手段と、
前記スケール算出手段によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持手段と、
を備えたことを特徴とするスケール算出装置。
(付記8)数値で表現される説明変数と文字列で表現される目的変数とからなる事例において、前記目的変数の値が既知の事例である既知事例と前記目的変数の値が未知の事例である未知事例との間における前記説明変数ごとの距離である説明変数間距離から求まる事例間距離に基づき前記未知事例と類似した前記既知事例を抽出して当該未知事例の前記目的変数の値を予測する際に、前記説明変数それぞれにおける前記数値の分布を揃えて前記説明変数間距離を算出するために用いられるスケールを前記説明変数ごとに算出するスケール算出方法であって、
前記既知事例の集合である既知事例集合と前記未知事例の集合である未知事例集合とを合わせた集合において、前記説明変数ごとに前記スケールを算出するスケール算出工程と、
前記スケール算出工程によって算出された前記説明変数ごとの前記スケールを格納して保持する算出スケール保持工程と、
を含んだことを特徴とするスケール算出方法。
以上のように、本発明に係るスケール算出プログラム、スケール算出装置およびスケール算出方法は、既知事例と未知事例との間におけるすべての説明変数間距離から求まる事例間距離に基づき類似事例集合を抽出して当該未知事例の目的変数値を予測する際に、説明変数値の分布を揃えるために用いられるスケールを説明変数ごとに算出する場合に有用であり、特に、未知事例の説明変数の数値が外れ値である場合にも対応したスケールを算出して、高精度な予測結果を実現することに適する。
実施例1で使用する記号を説明するための図である。
実施例1におけるスケール算出装置を含む予測装置の構成を示すブロック図である。
実施例1における事例間距離算出部を説明するための図である。
実施例1における確信度算出部を説明するための図である。
実施例1におけるスケール算出装置の概要および特徴を説明するための図である。
実施例1におけるスケール算出装置の構成を示すブロック図である。
実施例1におけるスケール算出装置の処理の手順を説明するための図である。
実施例2におけるスケール算出装置の概要および特徴を説明するための図である。
実施例2におけるスケール算出装置の構成を示すブロック図である。
実施例2におけるスケール算出装置の処理の手順を説明するための図である。
実施例3におけるスケール算出装置の概要および特徴を説明するための図である。
実施例4におけるスケール算出装置の概要および特徴を説明するための図である。
実施例1のスケール算出プログラムを実行するコンピュータを示す図である。
従来技術の課題を説明するための図である。
符号の説明
10 予測装置
11 データ入力部
12 予測結果出力部
13 入出力制御I/F部
20 記憶部
21 スケール記憶部
22 事例間距離記憶部
23 類似事例集合記憶部
30 処理部
31 スケール算出部
32 事例間距離算出部
33 類似事例集合抽出部
34 確信度算出部
100 スケール算出装置
21a 統合集合記憶部
21b 統合スケール記憶部
31a 統合集合生成部
31b 統合スケール算出部