JP4328031B2 - Numerical field dividing apparatus, program, recording medium, and numerical field dividing method - Google Patents
Numerical field dividing apparatus, program, recording medium, and numerical field dividing method Download PDFInfo
- Publication number
- JP4328031B2 JP4328031B2 JP2001051103A JP2001051103A JP4328031B2 JP 4328031 B2 JP4328031 B2 JP 4328031B2 JP 2001051103 A JP2001051103 A JP 2001051103A JP 2001051103 A JP2001051103 A JP 2001051103A JP 4328031 B2 JP4328031 B2 JP 4328031B2
- Authority
- JP
- Japan
- Prior art keywords
- evaluation
- division
- evaluation value
- field
- numerical
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、数値フィールド分割装置、プログラム、記録媒体、および、数値フィールド分割方法に関する。
【0002】
【従来の技術】
従来より、コンピュータを用いたデータ処理においては、カテゴリーフィールドと数値フィールドとを含むデータの分析を行うことが多い。例えば、個人購買情報データを一例に説明すると、個人ID(カテゴリーフィールド)毎に購入金額(数値フィールド)を集計したデータに基づいて、購買傾向等の分析処理を行う場合等である。このようなデータを分析する場合に、数値フィールドに従ってデータをいくつかの単位に分割して処理する必要がある場合がある。すなわち、たとえば、離散値にしか対応していないデータ処理を行うための前処理の場合や、決定木において分岐のためにあるフィールドを複数の領域に分割したい場合や、あるいは、領域分割により視覚化などを通し人の理解を助けたい場合等に、データの数値フィールドを複数の領域に分割する必要がある。
【0003】
これらの場合において、数値フィールドの分割は、人により直感的に分割するか、目的により目的関数を設定してその目的関数を最適とする分割を行うか、あるいは、その両者を組み合わせて分割をすることになる。ここで、すべての数値フィールドについて人が直感的に行うのは、その作業者に負担がかかり適切ではない。したがって、ある目的関数を最適にするような分割が自動的に生成されることが一般的である。その場合に、全体について目的関数に関する最適化問題を解き分割を求めるか、あるいは、局所的改良を繰り返して局所最適解を求めそれに従った分割をすることが多かった。
例えば、「An Emperical Comparison of Discretization Methods 10th International Symposium on Computer and Information Science 1995」の第443頁〜第450頁には、予め適当な数の区分に分割しておき、局所的に最適な隣接区分同士をマージしていくことを繰返すことにより、最適な区分を求める数値フィールド分割方法が開示されている。
【0004】
【発明が解決しようとする課題】
しかしながら、全体について目的関数に関する最適化問題を解き分割を求めることにより、数値フィールドの分割を行う場合には、データ量が増えた場合に計算時間が非常にかかるという問題がある。
【0005】
また、局所的改良を繰り返して局所最適解を求めることにより、数値フィールドの分割を行う場合には、必ずしも適当な分割になるとは限らないという問題があった。
【0006】
本発明は上記問題点に鑑みてなされたもので、連続値フィールドの分割を行う際に、適当に細かな領域にあらかじめ分割しておき、その後、それに対して動的計画法を用いて最適解を得ることにより、比較的短時間で最適に近い分割を得ることができる数値フィールド分割装置、プログラム、記録媒体、および、数値フィールド分割方法を提供することを目的としている。
【0007】
【課題を解決するための手段】
このような目的を達成するため、請求項1に記載の数値フィールド分割装置は、数値フィールドを含むデータに対する初期分割を生成する初期分割生成手段と、上記初期分割生成手段にて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成手段と、上記初期分割生成手段にて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成手段にて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算手段と、上記評価用情報および上記評価修正関数に従って、上記評価値計算手段にて生成された上記評価値を修正する評価値修正手段と、上記分割と上記評価値修正手段にて修正された上記評価値の組を選択する分割選択手段とを備えたことを特徴とする。
【0008】
この装置によれば、数値フィールドを含むデータに対する初期分割を生成し、生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成し、生成された初期分割と、評価関数と、最大分割数と、生成された評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成し、評価用情報および評価修正関数に従って、生成された評価値を修正し、分割と評価値の組を選択するので、大規模データに対しても短時間で数値フィールドの最適に近い分割を求めることができる。
【0009】
また、本発明は数値フィールド分割装置に数値フィールド分割方法を実行させるプログラムに関するものであり、請求項2に記載のプログラムは、数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップとを含むことを特徴とする。
【0010】
このプログラムによれば、数値フィールドを含むデータに対する初期分割を生成し、生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成し、生成された初期分割と、評価関数と、最大分割数と、生成された評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成し、評価用情報および評価修正関数に従って、生成された評価値を修正し、分割と評価値の組を選択するので、大規模データに対しても短時間で数値フィールドの最適に近い分割を求めることができる。
【0011】
また、本発明は数値フィールド分割装置に数値フィールド分割方法を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関するものであり、請求項3に記載の記録媒体は、数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップとを含むことを特徴とする。
【0012】
この記録媒体によれば、数値フィールドを含むデータに対する初期分割を生成し、生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成し、生成された初期分割と、評価関数と、最大分割数と、生成された評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成し、評価用情報および評価修正関数に従って、生成された評価値を修正し、分割と評価値の組を選択するので、大規模データに対しても短時間で数値フィールドの最適に近い分割を求めることができる。
【0013】
また、本発明は数値フィールド分割方法に関するものであり、請求項4に記載の数値フィールド分割方法は、数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップとを含むことを特徴とする。
【0014】
この方法によれば、数値フィールドを含むデータに対する初期分割を生成し、生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成し、生成された初期分割と、評価関数と、最大分割数と、生成された評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成し、評価用情報および評価修正関数に従って、生成された評価値を修正し、分割と評価値の組を選択するので、大規模データに対しても短時間で数値フィールドの最適に近い分割を求めることができる。
【0015】
また、請求項5に記載のプログラムは、請求項2に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラムにおいて、上記分割選択ステップは、一つの上記分割を選択し出力する出力ステップをさらに含むことを特徴とする。
【0016】
これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、一つの分割を選択し出力するので、自動的に最適な分割を選択して出力することができる。
【0017】
【発明の実施の形態】
以下に、本発明にかかる数値フィールド分割装置、プログラム、記録媒体、および、数値フィールド分割方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
まず、数値フィールド分割装置100の構成について説明する。図1は、本発明が適用される数値フィールド分割装置100の構成の一例を示すブロック図であり、該構成のうち本発明に関係する部分のみを概念的に示している。図1において数値フィールド分割装置100は、概略的に、数値フィールド分割装置100の全体を統括的に制御するCPU等の制御部102、入出力装置(図示せず)に接続される入出力制御インタフェース部104、および、各種のデータ(対象データ106a〜評価修正関数106e)を格納する記憶部106を備えて構成されている。
【0018】
図1において、制御部102は、OS(Operating System)等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有し、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、初期分割部102a、評価用情報生成部102b、評価値計算部102c、評価値修正部102d、および、分割選択部102eを備えて構成されている。
【0019】
このうち、初期分割部102aは、数値フィールドを含むデータに対する初期分割を生成する初期分割生成手段である。また、評価用情報生成部102bは、初期分割生成手段にて生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成手段手段である。また、評価値計算部102cは、初期分割生成手段にて生成された初期分割と、評価関数と、最大分割数と、評価用情報生成手段にて生成された記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算手段である。また、評価値修正部102dは、評価用情報および評価修正関数に従って、評価値計算手段にて生成された評価値を修正する評価値修正手段である。また、分割選択部102eは、分割と評価値修正手段にて修正された評価値の組を選択する分割選択手段である。なお、これら各部によって行なわれる処理の詳細については、後述する。
【0020】
また、図1において、入出力制御インタフェース部104は、入力装置や出力装置の制御を行う。ここで、出力装置としては、モニタ(家庭用テレビを含む)の他、スピーカを用いることができる(なお、以下においては出力装置をモニタとして記載する)。また、入力装置としては、キーボード、マウス、および、マイク等を用いることができる。また、モニタも、マウスと協働してポインティングディバイス機能を実現する。
【0021】
また、図1において、記憶部106に格納される各種のデータ(対象データ106a〜評価修正関数106e)は、固定ディスク装置等のストレージ手段であり、各種処理に用いる各種のプログラムやテーブルやファイルやデータベース等を格納する。
【0022】
(本装置の原理)
図2は、本装置の原理を説明する概念図である。本装置は、数値フィールドを適当に細かな初期分割に分割した後、動的計画法で初期分割の基での最適解を求めることにより、大規模データに対しても比較的短時間で最適解に近い分割を求めることができる。
【0023】
図中の102aは、初期分割部であり、データと初期分割数を入力とし、初期分割を生成する。
【0024】
図中の102bは、評価用情報生成部であり、初期分割とデータと評価関数を入力とし、評価値計算部102cおよび評価値修正部102dにおいて必要な情報(評価用情報)を出力する。
【0025】
図中の102cは、評価値計算部であり、初期分割と評価関数と最大分割数と評価用情報を入力とし、内部において動的計画法を実行し、分割と評価値の組を出力する。
【0026】
図中の102dは、評価値修正部であり、評価値計算部102cが出力した分割と評価値の組に対し、評価用情報と評価修正関数を入力とし、各評価値を修正する。
【0027】
図中の102eは、分割選択部であり、評価値修正部102dが出力した分割と評価値の組をユーザーに提示し、ユーザーに最適な分割を選択させる。
【0028】
(システムの処理)
次に、このように構成された本実施の形態における本装置の処理の一例について、以下に図3〜図14を参照して詳細に説明する。
【0029】
(数値フィールド分割処理)
次に、このように構成された本装置を用いて行なわれる本方法としての数値フィールド分割処理の詳細について図3を参照して説明する。図3は、本実施形態における本装置の数値フィールド分割処理の一例を示すフローチャートである。
【0030】
まず、初期分割部102aはデータを入力とし、初期分割を出力する(ステップSA−1)。初期分割は、例えば、ユーザーが与えるものとする。
【0031】
ここで「分割」とは、各分割領域を唯一に定めることができるものとする。初期分割の方法としては、例えば、そのフィールドの最大値と最小値から適当な間隔を得、それを用いて分割すること等が考えられる。
【0032】
ついで、評価用情報生成部102bは初期分割とデータと評価関数を入力とし、評価値計算部102cおよび評価値修正部102dにおいて必要な情報(評価用情報)を出力する(ステップSA−2)。ここで、評価用情報生成部102bの計算時間は、レコード数に対して比例程度で行われなければならない。
【0033】
ついで、評価値計算部102cは初期分割と評価関数と最大分割数と評価用情報を入力とし、内部において動的計画法を実行し、分割と評価値の組を出力する(ステップSA−3)。
【0034】
ここで、「動的計画法」は初期分割数×最大分割数の表を順次埋めることで最適解を求める手法である。例えば、分割をtとするときの評価関数が、
【数1】
である場合、m番目までの初期分割をn個に分割した場合の最適な値は、
【数2】
により計算できる。
したがって、初期分割数をMとするとき、T(M,n)がn分割の最適値となる。
【0035】
図4および図5は、評価値計算部102cにより実行される処理の一例を示すフローチャートである。
図4および図5において、Lは最大分割数である。また、f(β,γ)は、
【数3】
の計算を示す。また、P[M][n]>=0であるようなT[M][n]が、n分割の評価値である。
【0036】
再び図3に戻り、評価値修正部102dは、評価値計算部102cが出力した分割と評価値の組に対し、評価用情報と評価修正関数を入力とし、各評価値を修正する(ステップSA−4)。この修正は、例えば、分割数ごとに異なる評価値を加える必要がある場合等に必要となる。
【0037】
ついで、分割選択部102eは、評価値修正部102dが出力した分割と評価値の組をユーザーに提示し、ユーザーに最適な分割を選択させる(ステップSA−5)。
【0038】
分割選択部102eの一実施形態の構成図を図7に示す。分割提示部102fでユーザーに分割とその評価値を提示し、ユーザー選択部102gでユーザーに選択された分割を出力する。
ここで、計算時間がレコード数に対して比例よりも大きくなる可能性があるのは評価値計算部102cである。この計算時間を考えてみると、評価関数の計算に要する時間がb秒、評価値の比較及び更新に必要な時間がc秒とした場合、
【数4】
秒となる。評価用情報を用いることにより、評価関数の計算が一定時間(データ量に関係しない)でできるならば、この時間はレコード数に関係なく決定する。したがって、以上の操作は大規模データに対しても高速(レコード数に比例程度)で行うことができる。これにて、数値フィールド分割処理が終了する。
【0039】
(分割選択部102eにおける分割選択処理)
次に、分割選択部102eにおける分割選択処理の詳細について図8および9を参照して説明する。分割選択部102eの別の一実施形態の構成図を図8に示す。分割選択部102eは、自動的に唯一の分割を選択しその分割をユーザーに出力する。選択方法としては、例えば、最適な評価値をもつ分割を自動的に選択すること等が考えられる。分割自動選択部102hで自動的に唯一の分割を選択し、その分割を出力する。
【0040】
また、分割選択部102eの別の一実施形態の構成図を図9に示す。本図において、分割選択部102eは、自動的に複数の分割を選択する。この選択方法としては、例えば、最適な評価値のδ以上の評価値を持つ分割をすべて選択すること等が考えられる(例えばδは0.9などと指定する)。
【0041】
その結果、唯一の分割が選択された場合には、それを出力する。また、複数の分割が選択された場合にはそれらをユーザーに提示し、その中からユーザーに最適な分割を選択させる。
【0042】
分割自動選択部102hで自動的に唯一または複数の分割を選択し、唯一の分割であった場合には出力する。一方、複数の分割であった場合、分割提示部102fでユーザーに分割とその評価値を提示し、ユーザー選択部102gでユーザーに選択された分割を出力する。これにて、分割選択部102eにおける分割選択処理が終了する。
【0043】
(102Cにおける評価値計算処理)
次に、102Cにおける評価値計算処理の詳細について図6を参照して説明する。
評価値計算部102cは、初期分割と評価関数と最大分割数と評価用情報と分割制限を入力とし、内部において動的計画法を実行し、分割制限を満たすような分割と評価値の組を出力する。
【0044】
ここで、「分割制限」としては、例えば、各分割は最低10レコード保持しなければならないであるとか、あるいは、全体の5%の頻度を持たなければならないといった条件が考えられる。これは動的計画法の計算過程を以下のように変更することで実現できる。
【数5】
図6は、本実施形態における本装置の102Cにおける評価値計算処理の一例を示すフローチャートである。
【0045】
ここでCond(β,γ)は、
【数6】
が条件を満たすことを示す。また、P[M][n]>=0であるようなT[M][n]が、n分割の評価値である。また、P[M][n]<0である場合には、適当なn分割が存在しない。これにて、102Cにおける評価値計算処理が終了する。
【0046】
(初期分割部102aにおける初期分割処理)
次に、初期分割部102aにおける初期分割処理の詳細について図10を参照して説明する。
初期分割部102aは、出力する初期分割数を最大分割数とその他の情報から自動的に作成する。たとえば、その他情報は、評価値計算部102cの実行時間(ユーザーが指定)、評価関数の計算に要する時間、及び、評価値の比較・更新に必要な時間とし、評価値計算部102cの実行時間がユーザーが指定した値に収まるように初期分割数を指定する機能を持つような場合が考えられる。
【0047】
全体の計算時間をa秒と指定した場合、評価値計算部102cの計算時間は、
【数7】
で表現できるため、初期分割数は、
【数8】
により得ることができる。
【0048】
図10に初期分割部102aの一実施形態の構成図を示す。初期分割数計算部102iにより初期分割数を計算し、初期分割計算部102jにより初期分割を生成、出力する。これにて、初期分割部102aにおける初期分割処理が終了する。
【0049】
(評価値計算部102cにおける評価値計算処理)
次に、評価値計算部102cにおける評価値計算処理の詳細について説明する。評価値計算部102cは、分割数方向に異なるCPUに計算を振り分ける。T(m,n)を得るために必要な情報は、
【数9】
であるので、分割数方向に各CPUに割り振り、初期分割数方向の添字の小さいほうから順次計算していけば、複数のCPUで同時に計算を行うことにより高速に評価値を得ることができる。
【0050】
例えば、M=2Sの場合に2つのCPU(または並列処理可能なCPU)に割り振ることを考える。
ここで、例えば、
【数10】
をCPU1が、また、
【数11】
をCPU2が計算する。ここでαを1から順次大きくしながら計算していけば、両CPUで同時に計算することができ、高速に分割を得ることができる。これにて、評価値計算部102cにおける評価値計算処理が終了する。
【0051】
(数値フィールド分割処理)(1)
次に、数値フィールド分割処理の詳細について説明する。
他のカテゴリフィールドを指定し、数値フィールドとそのカテゴリフィールドとの間のカイ2乗値を最大とするように数値フィールド分割を行う。カイ2乗値は分布が均一からどれだけずれているかを示す尺度の一つであり(「統計学入門」東京大学出版会、1991年、第245頁〜第247頁参照)、以下の式で表される。
【数12】
ただし、tは、数値フィールドの分割であり、cは、別のカテゴリフィールドの値であり、N(t,c)は、tかつcである頻度であり、N(t)は、tである頻度であり、N(c)は、cである頻度であり、Nは、全頻度である。
【0052】
この場合、評価用情報は、数値フィールドの初期分割とカテゴリフィールドの値との組み合わせごとの頻度となる。
また、評価関数は、
【数13】
であり、評価修正関数は必要ない(常に0)。これにて、数値フィールド分割処理が終了する。
【0053】
(数値フィールド分割処理)(2)
次に、数値フィールド分割処理の他の一例について説明する。本実施形態においては、数値フィールドの分割後の最大対数尤度(MLL)を最大とする数値フィールド分割を行う。
【0054】
ここで、「最大対数尤度(MLL)」は、分割を基準とした元の分布の尤もらしさを示し(「情報量基準による統計解析入門」講談社サイエンティフィック、1995年、第66頁〜第85頁参照)、以下の式で表される。
【数14】
この場合、評価用情報は各初期分割の頻度となる。
【0055】
また、評価関数は、
【数15】
であり、評価修正関数は必要ない(常に0)。これにて、数値フィールド分割処理が終了する。
【0056】
(数値フィールド分割処理)(3)
次に、数値フィールド分割処理の他の一例について説明する。
数値フィールドの分割における赤池の情報量基準(AIC)を最小とする数値フィールド分割を行う。
ここで、「赤池の情報量基準(AIC)」は最大対数尤度に分割数から得られる修正を加えたものであり(「情報量統計学」共立出版、1983年、第80頁〜第91頁参照)、以下の式で表される。
【数16】
ここで、nは分割数である。この場合、評価用情報は各初期分割の頻度となる。AIC(t)の最小を求める代わりに−AIC(t)の最大を求めることとする。
また、評価関数は、
【数17】
であり、評価修正関数は、
【数18】
である。これにて、数値フィールド分割処理が終了する。
【0057】
(数値フィールド分割処理)(4)
次に、数値フィールド分割処理の他の一例について説明する。
他のカテゴリフィールドを指定し、数値フィールドとそのカテゴリフィールドによる最大対数尤度(MLL)を最大とするように数値フィールド分割を行う。
【0058】
この場合「最大対数尤度(MLL)」は、分割を基準とした、カテゴリフィールドも鑑みた元の分布の尤もらしさを示し、以下の式で表される。
【数19】
また、「評価用情報」は、数値フィールドの初期分割とカテゴリフィールドの値との組み合わせごとの頻度となる。
また、評価関数は、
【数20】
であり、評価修正関数は必要ない(常に0)。これにて、数値フィールド分割処理が終了する。
【0059】
(数値フィールド分割処理)(5)
次に、数値フィールド分割処理の他の一例について説明する。
他のカテゴリフィールドを指定し、数値フィールドとそのカテゴリフィールドにおいて赤池の情報量(AIC)を最大とするように数値フィールド分割を行う。
【0060】
この場合、「赤池の情報量(AIC)」は、最大対数尤度に分割数から得られる修正を加えたものであり、以下の式で表される。
【数21】
また、「評価用情報」は、数値フィールドの初期分割とカテゴリフィールドの値との組み合わせごとの頻度となる。
【0061】
また、AIC(t,c)の最小を求める代わりに−AIC(t,c)の最大を求めることとし、評価関数は、
【数22】
である。
また、評価修正関数は、
【数23】
である。これにて、数値フィールド分割処理が終了する。
【0062】
(数値フィールド分割処理)(6)
次に、数値フィールド分割処理の他の一例について説明する。
他のカテゴリフィールドを指定し、数値フィールドとそのカテゴリフィールドの間の相互情報量(MIC)を最大とするように数値フィールド分割を行う。
【0063】
ここで、「相互情報量(MIC)」は、両フィールド間の情報の共有度を示す指標の一つであり(「現代数理科学辞典」大阪出版、第771頁〜第772頁参照)、以下の式で表される。
【数24】
また、「評価用情報」は、数値フィールドの初期分割とカテゴリフィールドの値との組み合わせごとの頻度となる。
【0064】
また、「評価関数」は、
【数25】
であり、評価修正関数は必要ない(常に0)。これにて、数値フィールド分割処理が終了する。
【0065】
(数値フィールド分割処理)(7)
次に、数値フィールド分割処理の他の一例について説明する。
数値フィールドの分割後の層間分散を最大とするような数値フィールドの分割を行う。
【0066】
ここで、「層間分散」は、分割後の各分割の散らばり具合を示す尺度の一つであり(「現代数理科学辞典」大阪出版、第546頁参照)、以下の式で表される。
【数26】
この場合、「評価用情報」は、各初期分割のフィールド値の合計値である。
【0067】
また、「評価関数」は、
【数27】
である。ただし、s(t)は、分割tに含まれるフィールド値の合計である。また、評価修正関数は必要ない(常に0)。これにて、数値フィールド分割処理が終了する。
【0068】
(実施例)
以下に本発明の実施例について、図11〜14を参照して詳細に説明する。
なお、本実施例では、評価関数は、上述したカイ2乗値を最大とするものである場合を一例に説明する。また、カテゴリフィールドの値は、C1,C2の二種類とし、データは図11に示す分布をしているものとする。図11において、一番左の列は、数値フィールドの値であり、右の二列は、C1およびC2のそれぞれの頻度を示す。
【0069】
初期分割部102aへの入力である初期分割数は、5とする。初期分割は、1刻みで分割されたものとすると、評価用情報生成部102bの出力は、図12に示す頻度表となる。
【0070】
ここで、評価値計算部102cの入力である最大分割数は、3とする。また、評価値計算部102cの入力である評価関数は、
【数28】
であるから、動的計画法により、図12に示す頻度表から、図13に示す表が生成される。図13に示した表中の括弧内は、
【数29】
において採用されたαをあらわす(図5および図6におけるP[m][n])。
【0071】
したがって、評価値計算部102cの出力は、図14に示す表のようになる。
ここで、評価値修正部102dは、修正の必要はないので何もしない。
なお、評価値選択部分割選択部102eは、上記3種の分割をユーザーに提示し、最適な分割を選択させてもよい。また、評価値選択部分割選択部102eは、例えば、評価値が最大である3分割を選択し、最適な分割として出力してもよい。また、評価値選択部分割選択部102eは、例えば、最大評価値の0.7以上の評価値を選択することとし、2分割及び3分割をユーザーに提示し、最適な分割を選択させてもよい。
【0072】
(他の実施の形態)
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
【0073】
また、実施形態において説明した各処理のうち、自動的に行なわれるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0074】
また、数値フィールド分割装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、数値フィールド分割装置100が備える処理機能、特に制御部にて行なわれる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現することができ、あるいは、ワイヤードロジックによるハードウェアとして実現することも可能である。なお、プログラムは、後述する記録媒体に記録されており、必要に応じて数値フィールド分割装置100に機械的に読み取られる。
【0075】
また、数値フィールド分割装置100は、さらなる構成要素として、マウス等の各種ポインティングデバイスやキーボードやイメージスキャナやデジタイザ等から成る入力装置(図示せず)、入力データのモニタに用いる表示装置(図示せず)、システムクロックを発生させるクロック発生部(図示せず)、および、各種処理結果その他のデータを出力するプリンタ等の出力装置(図示せず)を備えてもよく、また、入力装置、表示装置および出力装置は、それぞれ入出力制御インタフェース部104を介して制御部102に接続されてもよい。
【0076】
また、数値フィールド分割装置100は、既知のパーソナルコンピュータ、ワークステーション等の情報処理端末等の情報処理装置にプリンタやモニタやイメージスキャナ等の周辺装置を接続し、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
【0077】
さらに、数値フィールド分割装置100の分散・統合の具合的形態は図示のものに限られず、その全部または一部を、各種の負荷等に応じた任意の単位で、機能的または物理的に分散・統合して構成することができる。例えば、各データベースを独立したデータベース装置として独立に構成してもよく、また、処理の一部をCGI(Common Gateway Interface)を用いて実現してもよい。
【0078】
また、本発明にかかるプログラムを、コンピュータ読み取り可能な記録媒体に格納することもできる。ここで、この「記録媒体」とは、フロッピーディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD等の任意の「可搬用の物理媒体」や、各種コンピュータシステムに内蔵されるROM、RAM、HD等の任意の「固定用の物理媒体」、あるいは、LAN、WAN、インターネットに代表されるネットワークを介してプログラムを送信する場合の通信回線や搬送波のように、短期にプログラムを保持する「通信媒体」を含むものとする。
【0079】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OS(Operating System)に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0080】
また、このプログラムは、数値フィールド分割装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記録されてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。このあるいは、各制御部の全部または任意の一部を、ワイヤードロジック等によるハードウェアとして実現することも可能である。
【0081】
(付記1)数値フィールドを含むデータに対する初期分割を生成する初期分割生成手段と、
上記初期分割生成手段にて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成手段と、
上記初期分割生成手段にて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成手段にて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算手段と、
上記評価用情報および上記評価修正関数に従って、上記評価値計算手段にて生成された上記評価値を修正する評価値修正手段と、
上記分割と上記評価値修正手段にて修正された上記評価値の組を選択する分割選択手段と、
を備えたことを特徴とする数値フィールド分割装置。
【0082】
(付記2)上記分割選択手段は、一つの上記分割を選択し出力する出力手段をさらに備えたことを特徴とする付記1に記載の数値フィールド分割装置。
【0083】
(付記3)上記分割選択手段は、
複数の上記分割を選択し出力する出力手段と、
上記出力手段にて出力された上記複数の上記分割の中から一つの上記分割を利用者に選択させる選択手段と、
をさらに備えたことを特徴とする付記1に記載の数値フィールド分割装置。
【0084】
(付記4)上記評価値計算手段は、上記初期分割と、上記データと、上記評価関数と、分割制限とに基づいて分割制限を加えた動的計画法を実行し、上記分割制限を満たすような上記分割と評価値の組を生成することを特徴とする付記1に記載の数値フィールド分割装置。
【0085】
(付記5)初期分割生成手段は、上記初期分割数を、最大分割数を含む情報から作成することを特徴とする付記1に記載の数値フィールド分割装置。
【0086】
(付記6)評価値計算手段は、並列処理により複数の上記評価値を同時に生成することを特徴とする付記1に記載の数値フィールド分割装置。
【0087】
(付記7)上記分割選択手段は、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドとの間のカイ2乗値を最大とするように上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0088】
(付記8)上記分割選択手段は、最大対数尤度が最大となるように上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0089】
(付記9)上記分割選択手段は、赤池の情報量基準が最小となるように上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0090】
(付記10)上記分割選択手段は、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドによる最大対数尤度を最大とする上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0091】
(付記11)上記分割選択手段は、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドによる赤池の情報量基準を最小とする上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0092】
(付記12)上記分割選択手段は、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドの間の相互情報量を最大とする上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0093】
(付記13)上記分割選択手段は、分割後の層間分散を最大とするような上記数値フィールドの上記分割を選択することを特徴とする付記1に記載の数値フィールド分割装置。
【0094】
(付記14)数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、
上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、
上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップと、
を含むことを特徴とする数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0095】
(付記15)上記分割選択ステップは、一つの上記分割を選択し出力する出力ステップをさらに含むことを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0096】
(付記16)上記分割選択ステップは、
複数の上記分割を選択し出力する出力ステップと、
上記出力ステップにて出力された上記複数の上記分割の中から一つの上記分割を利用者に選択させる選択ステップと、
をさらに含むことを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0097】
(付記17)上記評価値計算ステップは、上記初期分割と、上記データと、上記評価関数と、分割制限とに基づいて分割制限を加えた動的計画法を実行し、上記分割制限を満たすような上記分割と評価値の組を生成することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0098】
(付記18)初期分割生成ステップは、上記初期分割数を、最大分割数を含む情報から作成することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0099】
(付記19)評価値計算ステップは、並列処理により複数の上記評価値を同時に生成することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0100】
(付記20)上記分割選択ステップは、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドとの間のカイ2乗値を最大とするように上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0101】
(付記21)上記分割選択ステップは、最大対数尤度が最大となるように上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0102】
(付記22)上記分割選択ステップは、赤池の情報量基準が最小となるように上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0103】
(付記23)上記分割選択ステップは、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドによる最大対数尤度を最大とする上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0104】
(付記24)上記分割選択ステップは、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドによる赤池の情報量基準を最小とする上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0105】
(付記25)上記分割選択ステップは、他の数値フィールドのカテゴリフィールドを指定し、上記数値フィールドと該カテゴリフィールドの間の相互情報量を最大とする上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0106】
(付記26)上記分割選択ステップは、分割後の層間分散を最大とするような上記数値フィールドの上記分割を選択することを特徴とする付記14に記載の数値フィールド分割装置に数値フィールド分割方法を実行させるプログラム。
【0107】
(付記27)数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、
上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、
上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップと、
含むことを特徴とする数値フィールド分割装置に数値フィールド分割方法を実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【0108】
(付記28)数値フィールドを含むデータに対する初期分割を生成する初期分割生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成する評価用情報生成ステップと、
上記初期分割生成ステップにて生成された上記初期分割と、上記評価関数と、最大分割数と、上記評価用情報生成ステップにて生成された上記評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成する評価値計算ステップと、
上記評価用情報および上記評価修正関数に従って、上記評価値計算ステップにて生成された上記評価値を修正する評価値修正ステップと、
上記分割と上記評価値修正ステップにて修正された上記評価値の組を選択する分割選択ステップと、
を含むことを特徴とする数値フィールド分割方法。
【0109】
付記2に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、一つの分割を選択し出力するので、自動的に最適な分割を選択して出力することができる。
【0110】
付記3に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、複数の分割を選択し出力し、出力された複数の分割の中から一つの分割を利用者に選択させるので、複数の分割から利用者が最適な分割を選択することができる。
【0111】
付記4に記載の発明について述べる。これは評価値計算の一例を一層具体的に示すものである。この装置によれば、初期分割と、データと、評価関数と、分割制限とに基づいて分割制限を加えた動的計画法を実行し、分割制限を満たすような分割と評価値の組を生成するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0112】
付記5に記載の発明について述べる。これは初期分割数の一例を一層具体的に示すものである。この装置によれば、初期分割数を、最大分割数を含む情報から作成するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0113】
付記6に記載の発明について述べる。これは評価値計算の一例を一層具体的に示すものである。この装置によれば、並列処理により複数の評価値を同時に生成するので、マルチプロセッサシステムや並列処理システムを用いて、評価値を同時に計算することにより、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0114】
付記7に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドとの間のカイ2乗値を最大とするように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0115】
付記8に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、最大対数尤度が最大となるように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0116】
付記9に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、赤池の情報量基準が最小となるように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0117】
付記10に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドによる最大対数尤度を最大とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0118】
付記11に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドによる赤池の情報量基準を最小とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0119】
付記12に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドの間の相互情報量を最大とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0120】
付記13に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。この装置によれば、分割後の層間分散を最大とするような数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0121】
付記16に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、複数の分割を選択し出力し、出力された複数の分割の中から一つの分割を利用者に選択させるので、複数の分割から利用者が最適な分割を選択することができる。
【0122】
付記17に記載の発明について述べる。これは評価値計算の一例を一層具体的に示すものである。このプログラムによれば、初期分割と、データと、評価関数と、分割制限とに基づいて分割制限を加えた動的計画法を実行し、分割制限を満たすような分割と評価値の組を生成するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0123】
付記18に記載の発明について述べる。これは初期分割数の一例を一層具体的に示すものである。このプログラムによれば、初期分割数を、最大分割数を含む情報から作成するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0124】
付記19に記載の発明について述べる。これは評価値計算の一例を一層具体的に示すものである。このプログラムによれば、並列処理により複数の評価値を同時に生成するので、マルチプロセッサシステムや並列処理システムを用いて、評価値を同時に計算することにより、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0125】
付記20に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドとの間のカイ2乗値を最大とするように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0126】
付記21に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、最大対数尤度が最大となるように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0127】
付記22に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、赤池の情報量基準が最小となるように数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0128】
付記23に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドによる最大対数尤度を最大とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0129】
付記24に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドによる赤池の情報量基準を最小とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0130】
付記25に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、他の数値フィールドのカテゴリフィールドを指定し、数値フィールドと該カテゴリフィールドの間の相互情報量を最大とする数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0131】
付記26に記載の発明について述べる。これは分割選択の一例を一層具体的に示すものである。このプログラムによれば、分割後の層間分散を最大とするような数値フィールドの分割を選択するので、大規模データに対してもさらに短時間で数値フィールドの最適に近い分割を求めることができる。
【0132】
【発明の効果】
以上詳細に説明したように、本発明によれば、数値フィールドを含むデータに対する初期分割を生成し、生成された初期分割と、データと、評価関数と、評価修正関数とに基づいて、評価用情報を生成し、生成された初期分割と、評価関数と、最大分割数と、生成された評価用情報とに基づいて、動的計画法を実行し、分割と評価値の組を生成し、評価用情報および評価修正関数に従って、生成された評価値を修正し、分割と評価値の組を選択するので、大規模データに対しても短時間で数値フィールドの最適に近い分割を求めることができる数値フィールド分割装置、プログラム、記録媒体、および、数値フィールド分割方法を提供することができる。
【図面の簡単な説明】
【図1】本発明が適用される数値フィールド分割装置100の構成の一例を示すブロック図である。
【図2】本装置の原理を説明する概念図である。
【図3】本実施形態における本装置の数値フィールド分割処理の一例を示すフローチャートである。
【図4】評価値計算部102cにより実行される処理の一例を示すフローチャートである。
【図5】評価値計算部102cにより実行される処理の一例を示すフローチャートである。
【図6】本実施形態における本装置の102Cにおける評価値計算処理の一例を示すフローチャートである。
【図7】分割選択部102eの一実施形態の構成図である。
【図8】分割選択部102eの別の一実施形態の構成図である。
【図9】分割選択部102eの別の一実施形態の構成図である。
【図10】初期分割部102aの一実施形態の構成図である。
【図11】データの分布を示す図である。
【図12】データの頻度表を示す図である。
【図13】動的計画法の処理結果を示す図である。
【図14】評価値計算部102cの出力を示す図である。
【符号の説明】
100 数値フィールド分割装置
102 制御部
102a 初期分割部
102b 評価用情報生成部
102c 評価値計算部
102d 評価値修正部
102e 分割選択部
102f 分割提示部
102g ユーザー選択部
102h 分割自動選択部
104 入出力制御インタフェース部
106 記憶部
106a 対象データ
106b 初期分割数
106c 最大分割数
106d 評価関数
106e 評価修正関数[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a numerical field dividing device, a program, a recording medium, and a numerical field dividing method.
[0002]
[Prior art]
Conventionally, in data processing using a computer, data including a category field and a numerical field is often analyzed. For example, personal purchase information data will be described as an example when analysis processing such as purchase tendency is performed based on data obtained by tabulating purchase amounts (numerical fields) for individual IDs (category fields). When analyzing such data, it may be necessary to divide the data into several units according to a numeric field. That is, for example, in the case of preprocessing for performing data processing that supports only discrete values, in the case where it is desired to divide a field for branching in a decision tree into a plurality of areas, or visualization by area division For example, it is necessary to divide the numeric field of data into a plurality of areas.
[0003]
In these cases, the numerical field is divided intuitively by a person, by setting an objective function according to the purpose and performing the division that optimizes the objective function, or by combining both of them. It will be. Here, it is not appropriate for a person to intuitively perform all the numeric fields because the operator is burdened. Therefore, it is common that a partition that optimizes a certain objective function is automatically generated. In such a case, the optimization problem related to the objective function is solved for the whole to obtain a partition, or the local optimal solution is obtained by repeating the local improvement, and the division is performed in accordance therewith.
For example, “An Imperial Comparison of
[0004]
[Problems to be solved by the invention]
However, when the numerical field is divided by solving the optimization problem related to the objective function for the whole and obtaining the division, there is a problem that it takes a lot of calculation time when the data amount increases.
[0005]
In addition, there has been a problem that when dividing a numerical field by repeatedly obtaining a local optimal solution by repeating local improvements, the division is not always appropriate.
[0006]
The present invention has been made in view of the above problems. When a continuous value field is divided, it is preliminarily divided into finely divided areas, and then an optimal solution is obtained using dynamic programming. It is an object of the present invention to provide a numerical field dividing device, a program, a recording medium, and a numerical field dividing method capable of obtaining an optimal division in a relatively short time.
[0007]
[Means for Solving the Problems]
In order to achieve such an object, the numerical field dividing apparatus according to
[0008]
According to this apparatus, an initial division is generated for data including a numeric field, and evaluation information is generated based on the generated initial division, the data, the evaluation function, and the evaluation correction function. Based on the initial division, the evaluation function, the maximum number of divisions, and the generated evaluation information, dynamic programming is executed to generate a combination of the division and the evaluation value, and according to the evaluation information and the evaluation correction function Since the generated evaluation value is corrected and a combination of the division and the evaluation value is selected, it is possible to obtain an optimum division of the numerical field in a short time even for large-scale data.
[0009]
The present invention also relates to a program for causing a numerical field dividing apparatus to execute a numerical field dividing method, wherein the program according to
[0010]
According to this program, an initial division is generated for data including a numeric field, and evaluation information is generated based on the generated initial division, the data, the evaluation function, and the evaluation correction function. Based on the initial division, the evaluation function, the maximum number of divisions, and the generated evaluation information, dynamic programming is executed to generate a combination of the division and the evaluation value, and according to the evaluation information and the evaluation correction function Since the generated evaluation value is corrected and a combination of the division and the evaluation value is selected, it is possible to obtain an optimum division of the numerical field in a short time even for large-scale data.
[0011]
The present invention also relates to a computer-readable recording medium that records a program for causing a numerical field dividing device to execute a numerical field dividing method. The recording medium according to
[0012]
According to this recording medium, an initial division is generated for data including a numeric field, and information for evaluation is generated and generated based on the generated initial division, data, evaluation function, and evaluation correction function. Based on the initial partition, the evaluation function, the maximum number of partitions, and the generated evaluation information, dynamic programming is executed to generate a pair of the partition and the evaluation value, and the evaluation information and the evaluation correction function Accordingly, the generated evaluation value is corrected and a combination of the division and the evaluation value is selected, so that the division of the numerical field close to the optimum can be obtained in a short time even for large-scale data.
[0013]
The present invention also relates to a numerical field dividing method. The numerical field dividing method according to
[0014]
According to this method, an initial division is generated for data including a numeric field, and evaluation information is generated based on the generated initial division, the data, the evaluation function, and the evaluation correction function. Based on the initial division, the evaluation function, the maximum number of divisions, and the generated evaluation information, dynamic programming is executed to generate a combination of the division and the evaluation value, and according to the evaluation information and the evaluation correction function Since the generated evaluation value is corrected and a combination of the division and the evaluation value is selected, it is possible to obtain an optimum division of the numerical field in a short time even for large-scale data.
[0015]
The program according to
[0016]
This more specifically shows an example of division selection. According to this program, since one division is selected and output, the optimum division can be automatically selected and output.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of a numerical field dividing device, a program, a recording medium, and a numerical field dividing method according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
First, the configuration of the numerical
[0018]
In FIG. 1, the
[0019]
Among these, the
[0020]
In FIG. 1, an input / output
[0021]
Also, in FIG. 1, various data (
[0022]
(Principle of this device)
FIG. 2 is a conceptual diagram illustrating the principle of this apparatus. This device divides a numerical field into appropriately fine initial divisions, and then obtains an optimal solution based on the initial division by dynamic programming, so that the optimal solution can be obtained even for large-scale data in a relatively short time. A division close to can be obtained.
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
(System processing)
Next, an example of processing of the present apparatus configured as described above will be described in detail with reference to FIGS.
[0029]
(Numeric field split processing)
Next, details of the numerical value field dividing process as the present method performed using the present apparatus configured as described above will be described with reference to FIG. FIG. 3 is a flowchart showing an example of numerical field division processing of the apparatus according to the present embodiment.
[0030]
First, the
[0031]
Here, “division” means that each division area can be uniquely determined. As an initial division method, for example, an appropriate interval may be obtained from the maximum value and the minimum value of the field, and division may be performed using that.
[0032]
Next, the evaluation
[0033]
Next, the evaluation
[0034]
Here, “dynamic programming” is a method for obtaining an optimal solution by sequentially filling a table of initial division number × maximum division number. For example, the evaluation function when the division is t is
[Expression 1]
If the initial division up to the mth is divided into n, the optimal value is
[Expression 2]
Can be calculated by
Therefore, when the initial division number is M, T (M, n) is an optimum value for n division.
[0035]
4 and 5 are flowcharts illustrating an example of processing executed by the evaluation
4 and 5, L is the maximum number of divisions. F (β, γ) is
[Equation 3]
The calculation of is shown. Further, T [M] [n] such that P [M] [n]> = 0 is an evaluation value for n division.
[0036]
Returning to FIG. 3 again, the evaluation
[0037]
Next, the
[0038]
FIG. 7 shows a configuration diagram of an embodiment of the
Here, it is the evaluation
[Expression 4]
Second. If the evaluation function can be calculated in a certain time (not related to the data amount) by using the evaluation information, this time is determined regardless of the number of records. Therefore, the above operations can be performed at high speed (approximately proportional to the number of records) even for large-scale data. This completes the numerical field dividing process.
[0039]
(Division selection process in the
Next, details of the division selection processing in the
[0040]
FIG. 9 shows a configuration diagram of another embodiment of the
[0041]
As a result, if only one division is selected, it is output. In addition, when a plurality of divisions are selected, they are presented to the user, and the user is allowed to select an optimal division from among them.
[0042]
The automatic
[0043]
(Evaluation value calculation process in 102C)
Next, details of the evaluation value calculation process in 102C will be described with reference to FIG.
The evaluation
[0044]
Here, as the “division limit”, for example, a condition that each division must hold at least 10 records or a frequency of 5% of the total should be considered. This can be realized by changing the calculation process of dynamic programming as follows.
[Equation 5]
FIG. 6 is a flowchart showing an example of an evaluation value calculation process in 102C of the present apparatus in the present embodiment.
[0045]
Where Cond (β, γ) is
[Formula 6]
Indicates that the condition is satisfied. Further, T [M] [n] such that P [M] [n]> = 0 is an evaluation value for n division. In addition, when P [M] [n] <0, there is no appropriate n division. This completes the evaluation value calculation process in 102C.
[0046]
(Initial division processing in the
Next, details of the initial division processing in the
The
[0047]
When the entire calculation time is designated as a seconds, the calculation time of the evaluation
[Expression 7]
The initial number of divisions is
[Equation 8]
Can be obtained.
[0048]
FIG. 10 shows a configuration diagram of an embodiment of the
[0049]
(Evaluation Value Calculation Processing in Evaluation
Next, details of the evaluation value calculation process in the evaluation
[Equation 9]
Therefore, by assigning to each CPU in the division number direction and calculating sequentially from the smaller subscript in the initial division number direction, the evaluation value can be obtained at high speed by performing the calculation simultaneously with a plurality of CPUs.
[0050]
For example, when M = 2S, allocation to two CPUs (or CPUs capable of parallel processing) is considered.
Here, for example,
[Expression 10]
CPU1
[Expression 11]
Is calculated by the
[0051]
(Numeric field division processing) (1)
Next, details of the numerical field division processing will be described.
Another category field is specified, and the numeric field division is performed so that the chi-square value between the numeric field and the category field is maximized. The chi-square value is one of the scales indicating how much the distribution deviates from the uniformity (see “Introduction to Statistics”, The University of Tokyo Press, 1991, pages 245 to 247). expressed.
[Expression 12]
Where t is the division of the numeric field, c is the value of another category field, N (t, c) is the frequency t and c, and N (t) is t. N (c) is the frequency that is c, and N is the total frequency.
[0052]
In this case, the evaluation information is a frequency for each combination of the initial division of the numerical field and the value of the category field.
The evaluation function is
[Formula 13]
The evaluation correction function is not necessary (always 0). This completes the numerical field dividing process.
[0053]
(Numeric field division processing) (2)
Next, another example of numerical field division processing will be described. In the present embodiment, numerical field division is performed to maximize the maximum log likelihood (MLL) after the numerical field is divided.
[0054]
Here, “Maximum Log Likelihood (MLL)” indicates the likelihood of the original distribution based on the division (“Introduction to Statistical Analysis Based on Information Criteria” Kodansha Scientific, 1995, pp. 66-66. (Refer to page 85).
[Expression 14]
In this case, the evaluation information is the frequency of each initial division.
[0055]
The evaluation function is
[Expression 15]
The evaluation correction function is not necessary (always 0). This completes the numerical field dividing process.
[0056]
(Numeric field division processing) (3)
Next, another example of numerical field division processing will be described.
Numerical field division is performed to minimize Akaike's information criterion (AIC) in the numerical field division.
Here, “Akaike's information criterion (AIC)” is obtained by adding a correction obtained from the number of divisions to the maximum log likelihood (“Information Statistics”, 1983, pages 80-91). Page), and is represented by the following formula.
[Expression 16]
Here, n is the number of divisions. In this case, the evaluation information is the frequency of each initial division. Instead of obtaining the minimum of AIC (t), the maximum of -AIC (t) is obtained.
The evaluation function is
[Expression 17]
And the evaluation correction function is
[Formula 18]
It is. This completes the numerical field dividing process.
[0057]
(Numeric field division processing) (4)
Next, another example of numerical field division processing will be described.
Another category field is designated, and the numeric field division is performed so that the numeric field and the maximum log likelihood (MLL) by the category field are maximized.
[0058]
In this case, “maximum log likelihood (MLL)” indicates the likelihood of the original distribution in consideration of the category field with reference to the division, and is expressed by the following equation.
[Equation 19]
The “evaluation information” is a frequency for each combination of the initial division of the numeric field and the value of the category field.
The evaluation function is
[Expression 20]
The evaluation correction function is not necessary (always 0). This completes the numerical field dividing process.
[0059]
(Numeric field division processing) (5)
Next, another example of numerical field division processing will be described.
Another category field is designated, and the numeric field division is performed so that the Akaike's information amount (AIC) is maximized in the numeric field and the category field.
[0060]
In this case, “Akaike's information amount (AIC)” is obtained by adding the correction obtained from the number of divisions to the maximum log likelihood and is expressed by the following equation.
[Expression 21]
The “evaluation information” is a frequency for each combination of the initial division of the numeric field and the value of the category field.
[0061]
Further, instead of obtaining the minimum of AIC (t, c), the maximum of -AIC (t, c) is obtained, and the evaluation function is
[Expression 22]
It is.
The evaluation correction function is
[Expression 23]
It is. This completes the numerical field dividing process.
[0062]
(Numeric field division processing) (6)
Next, another example of numerical field division processing will be described.
Another category field is designated, and the numeric field division is performed so as to maximize the mutual information (MIC) between the numeric field and the category field.
[0063]
Here, “mutual information (MIC)” is one of the indexes indicating the degree of information sharing between the two fields (see “Modern Mathematical Science Dictionary”, Osaka Publishing, pages 771 to 772). It is expressed by the following formula.
[Expression 24]
The “evaluation information” is a frequency for each combination of the initial division of the numeric field and the value of the category field.
[0064]
The “evaluation function” is
[Expression 25]
The evaluation correction function is not necessary (always 0). This completes the numerical field dividing process.
[0065]
(Numeric field division processing) (7)
Next, another example of numerical field division processing will be described.
The numerical field is divided so as to maximize the interlayer dispersion after the numerical field is divided.
[0066]
Here, “interlayer dispersion” is one of the scales indicating the degree of dispersion of each division after division (see “Modern Mathematical Science Dictionary”, Osaka Publishing, page 546), and is expressed by the following equation.
[Equation 26]
In this case, “evaluation information” is the total value of the field values of each initial division.
[0067]
The “evaluation function” is
[Expression 27]
It is. However, s (t) is the sum of the field values included in the division t. Also, no evaluation correction function is required (always 0). This completes the numerical field dividing process.
[0068]
(Example)
Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS.
In the present embodiment, the case where the evaluation function maximizes the above-described chi-square value will be described as an example. Further, it is assumed that there are two types of category field values, C1 and C2, and the data has the distribution shown in FIG. In FIG. 11, the leftmost column is the value of the numerical field, and the right two columns indicate the respective frequencies of C1 and C2.
[0069]
The initial number of divisions that is input to the
[0070]
Here, the maximum number of divisions that is input to the evaluation
[Expression 28]
Therefore, the table shown in FIG. 13 is generated from the frequency table shown in FIG. 12 by dynamic programming. In parentheses in the table shown in FIG.
[Expression 29]
Represents α adopted in (P [m] [n] in FIGS. 5 and 6).
[0071]
Therefore, the output of the evaluation
Here, the evaluation
Note that the evaluation value selection unit
[0072]
(Other embodiments)
Although the embodiments of the present invention have been described so far, the present invention can be applied to various different embodiments in addition to the above-described embodiments within the scope of the technical idea described in the claims. May be implemented.
[0073]
In addition, among the processes described in the embodiment, all or part of the processes described as being automatically performed can be performed manually, or all of the processes described as being performed manually are all performed. Alternatively, a part can be automatically performed by a known method.
In addition, the processing procedures, control procedures, specific names, information including parameters such as various registration data and search conditions, screen examples, and database configurations shown in the above documents and drawings, unless otherwise specified. It can be changed arbitrarily.
[0074]
In addition, regarding the numerical value
[0075]
Further, the numerical
[0076]
The numerical
[0077]
Furthermore, the specific form of distribution / integration of the numerical
[0078]
The program according to the present invention can also be stored in a computer-readable recording medium. Here, the “recording medium” is an arbitrary “portable physical medium” such as a floppy disk, a magneto-optical disk, a ROM, an EPROM, an EEPROM, a CD-ROM, an MO, and a DVD, and is incorporated in various computer systems. Program in a short time, such as a communication line or carrier wave when transmitting a program via any “fixed physical medium” such as ROM, RAM, HD, or a network such as LAN, WAN, or the Internet The “communication medium” that holds
[0079]
The “program” is a data processing method described in an arbitrary language or description method, and may be in any format such as source code or binary code. The “program” is not necessarily limited to a single configuration, but is distributed in the form of a plurality of modules and libraries, or in cooperation with a separate program represented by an OS (Operating System). Including those that achieve the function. Note that a well-known configuration and procedure can be used for a specific configuration for reading a recording medium, a reading procedure, an installation procedure after reading, and the like in each device described in the embodiment.
[0080]
Further, this program may be recorded in an application program server connected to the numerical
[0081]
(Supplementary Note 1) Initial division generation means for generating an initial division for data including a numeric field;
Evaluation information generation means for generating evaluation information based on the initial division generated by the initial division generation means, the data, the evaluation function, and the evaluation correction function;
Based on the initial division generated by the initial division generation means, the evaluation function, the maximum number of divisions, and the evaluation information generated by the evaluation information generation means, dynamic programming is performed. An evaluation value calculation means for executing and generating a combination of division and evaluation value;
Evaluation value correction means for correcting the evaluation value generated by the evaluation value calculation means according to the evaluation information and the evaluation correction function;
Division selection means for selecting a set of the evaluation values corrected by the division and the evaluation value correction means;
A numerical field dividing apparatus comprising:
[0082]
(Additional remark 2) The said division | segmentation selection means is further provided with the output means which selects and outputs one said division | segmentation, The numerical field division | segmentation apparatus of
[0083]
(Supplementary note 3) The division selection means is
An output means for selecting and outputting the plurality of divisions;
Selection means for allowing the user to select one of the plurality of divisions output by the output means;
The numerical field dividing device according to
[0084]
(Supplementary Note 4) The evaluation value calculation means executes dynamic programming with division restrictions based on the initial division, the data, the evaluation function, and the division restriction so as to satisfy the division restriction. 2. The numerical field dividing device according to
[0085]
(Supplementary note 5) The numerical field dividing device according to
[0086]
(Supplementary note 6) The numerical value field dividing apparatus according to
[0087]
(Supplementary note 7) The division selection means designates a category field of another numeric field, and selects the division of the numeric field so as to maximize the chi-square value between the numeric field and the category field. The numerical field dividing device according to
[0088]
(Additional remark 8) The said division | segmentation selection means selects the said division | segmentation of the said numerical field so that the maximum log likelihood becomes the maximum, The numerical field division | segmentation apparatus of
[0089]
(Additional remark 9) The said division | segmentation selection means selects the said division | segmentation of the said numerical field so that the information amount reference | standard of Akaike may become the minimum, The numerical field division | segmentation apparatus of
[0090]
(Additional remark 10) The said division | segmentation selection means selects the division | segmentation of the said numerical field which designates the category field of another numerical field, and maximizes the maximum log likelihood by the said numerical field and this category field, It is characterized by the above-mentioned. The numerical value field dividing device according to
[0091]
(Supplementary Note 11) The division selection means designates a category field of another numeric field, and selects the division of the numeric field that minimizes the information amount standard of Akaike by the numeric field and the category field. The numerical value field dividing device according to
[0092]
(Supplementary note 12) The division selection means designates a category field of another numeric field, and selects the division of the numeric field that maximizes the mutual information amount between the numeric field and the category field. The numerical value field dividing device according to
[0093]
(Additional remark 13) The said division | segmentation selection means selects the said division | segmentation of the said numerical field which maximizes the interlayer dispersion | distribution after a division | segmentation, The numerical field division | segmentation apparatus of
[0094]
(Supplementary note 14) An initial division generation step for generating an initial division for data including a numeric field;
An evaluation information generation step for generating evaluation information based on the initial division generated in the initial division generation step, the data, the evaluation function, and the evaluation correction function;
Based on the initial division generated in the initial division generation step, the evaluation function, the maximum number of divisions, and the evaluation information generated in the evaluation information generation step, dynamic programming is performed. An evaluation value calculating step that executes and generates a combination of the division and the evaluation value;
An evaluation value correction step for correcting the evaluation value generated in the evaluation value calculation step according to the evaluation information and the evaluation correction function;
A division selection step of selecting a set of the evaluation values corrected in the division and the evaluation value correction step;
A program for causing a numerical field dividing device to execute a numerical field dividing method.
[0095]
(Supplementary note 15) The program for causing the numerical field division apparatus according to
[0096]
(Supplementary Note 16) The above division selection step includes:
An output step of selecting and outputting a plurality of the above divisions;
A selection step for allowing the user to select one of the plurality of divisions output in the output step;
The program for causing the numerical field dividing apparatus according to
[0097]
(Supplementary Note 17) The evaluation value calculation step executes dynamic programming with division restrictions based on the initial division, the data, the evaluation function, and the division restriction so as to satisfy the division restriction. 15. A program for causing a numerical field dividing apparatus according to
[0098]
(Supplementary note 18) The program for causing the numerical field division device according to
[0099]
(Supplementary note 19) The program for causing the numerical value field dividing apparatus according to
[0100]
(Supplementary note 20) The division selection step designates a category field of another numeric field, and selects the division of the numeric field so as to maximize the chi-square value between the numeric field and the category field. 15. A program for causing a numerical field dividing apparatus according to
[0101]
(Supplementary note 21) The numerical field division method is executed in the numerical field division device according to
[0102]
(Supplementary note 22) In the division selection step, the division of the numeric field is selected in the numeric field division apparatus according to
[0103]
(Supplementary note 23) The division selection step designates a category field of another numeric field, and selects the division of the numeric field that maximizes the maximum log likelihood of the numeric field and the category field. A program for causing a numerical field dividing apparatus according to
[0104]
(Supplementary Note 24) The division selection step designates a category field of another numeric field, and selects the division of the numeric field that minimizes the information amount standard of Akaike by the numeric field and the category field. The program which makes the numerical field division | segmentation apparatus of
[0105]
(Supplementary note 25) The division selection step designates a category field of another numeric field, and selects the division of the numeric field that maximizes the mutual information amount between the numeric field and the category field. The program which makes the numerical field division | segmentation apparatus of
[0106]
(Supplementary note 26) In the division selection step, the division of the numeric field is selected so as to maximize the interlayer dispersion after division. The program to be executed.
[0107]
(Supplementary note 27) An initial division generation step for generating an initial division for data including a numeric field;
An evaluation information generation step for generating evaluation information based on the initial division generated in the initial division generation step, the data, the evaluation function, and the evaluation correction function;
Based on the initial division generated in the initial division generation step, the evaluation function, the maximum number of divisions, and the evaluation information generated in the evaluation information generation step, dynamic programming is performed. An evaluation value calculating step that executes and generates a combination of the division and the evaluation value;
An evaluation value correction step for correcting the evaluation value generated in the evaluation value calculation step according to the evaluation information and the evaluation correction function;
A division selection step of selecting a set of the evaluation values corrected in the division and the evaluation value correction step;
A computer-readable recording medium recording a program for causing a numerical field dividing device to execute a numerical field dividing method.
[0108]
(Supplementary note 28) An initial division generation step for generating an initial division for data including a numeric field;
An evaluation information generation step for generating evaluation information based on the initial division generated in the initial division generation step, the data, the evaluation function, and the evaluation correction function;
Based on the initial division generated in the initial division generation step, the evaluation function, the maximum number of divisions, and the evaluation information generated in the evaluation information generation step, dynamic programming is performed. An evaluation value calculating step that executes and generates a combination of the division and the evaluation value;
An evaluation value correction step for correcting the evaluation value generated in the evaluation value calculation step according to the evaluation information and the evaluation correction function;
A division selection step of selecting a set of the evaluation values corrected in the division and the evaluation value correction step;
A numerical field dividing method characterized by comprising:
[0109]
The invention described in
[0110]
The invention described in
[0111]
The invention described in
[0112]
The invention described in
[0113]
The invention described in
[0114]
The invention described in
[0115]
The invention described in
[0116]
The invention described in
[0117]
The invention described in
[0118]
The invention described in
[0119]
The invention described in
[0120]
The invention described in
[0121]
The invention described in
[0122]
The invention described in
[0123]
The invention described in appendix 18 will be described. This more specifically shows an example of the initial division number. According to this program, since the initial number of divisions is created from information including the maximum number of divisions, it is possible to obtain a nearly optimal division of a numeric field in a shorter time even for large-scale data.
[0124]
The invention described in appendix 19 will be described. This more specifically shows one example of evaluation value calculation. According to this program, multiple evaluation values are generated simultaneously by parallel processing. By calculating the evaluation values at the same time using a multiprocessor system or parallel processing system, even for large-scale data in a shorter time. A sub-optimal division of the numeric field can be determined.
[0125]
The invention described in
[0126]
The invention described in appendix 21 will be described. This more specifically shows an example of division selection. According to this program, since the division of the numerical field is selected so that the maximum log likelihood is maximized, it is possible to obtain a division close to the optimal division of the numerical field in a shorter time even for large-scale data.
[0127]
The invention described in appendix 22 will be described. This more specifically shows an example of division selection. According to this program, since the division of the numerical field is selected so that the information amount criterion of Akaike is minimized, it is possible to obtain an optimal division of the numerical field in a shorter time even for large-scale data.
[0128]
The invention described in appendix 23 will be described. This more specifically shows an example of division selection. According to this program, the category field of another numeric field is specified, and the division of the numeric field and the numeric field that maximizes the maximum log likelihood by the category field is selected. A near-optimal division of the numeric field can be determined in time.
[0129]
The invention described in appendix 24 will be described. This more specifically shows an example of division selection. According to this program, the category field of another numeric field is specified, and the division of the numeric field and the numeric field that minimizes the Akaike's information criterion by the category field is selected. A near-optimal division of the numerical field can be obtained in a short time.
[0130]
The invention described in Appendix 25 will be described. This more specifically shows an example of division selection. According to this program, the category field of another numeric field is specified, and the division of the numeric field that maximizes the mutual information between the numeric field and the category field is selected. A near-optimal division of the numerical field can be obtained in a short time.
[0131]
The invention described in appendix 26 will be described. This more specifically shows an example of division selection. According to this program, since the division of the numerical field that maximizes the inter-layer dispersion after the division is selected, it is possible to obtain a nearly optimal division of the numerical field in a shorter time even for large-scale data.
[0132]
【The invention's effect】
As described above in detail, according to the present invention, an initial division is generated for data including a numeric field, and the evaluation division is performed based on the generated initial division, the data, the evaluation function, and the evaluation correction function. Information is generated, based on the generated initial partition, the evaluation function, the maximum number of partitions, and the generated information for evaluation, dynamic programming is performed to generate a pair of the partition and the evaluation value, According to the evaluation information and the evaluation correction function, the generated evaluation value is corrected, and a combination of the division and the evaluation value is selected, so that it is possible to obtain a division near the optimum of the numerical field in a short time even for large-scale data. A numerical field dividing device, a program, a recording medium, and a numerical field dividing method can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of the configuration of a numerical value
FIG. 2 is a conceptual diagram illustrating the principle of the apparatus.
FIG. 3 is a flowchart showing an example of numerical field division processing of the apparatus according to the present embodiment.
FIG. 4 is a flowchart illustrating an example of processing executed by an evaluation
FIG. 5 is a flowchart illustrating an example of processing executed by an evaluation
FIG. 6 is a flowchart showing an example of an evaluation value calculation process in 102C of the apparatus according to the present embodiment.
FIG. 7 is a configuration diagram of an embodiment of a
FIG. 8 is a configuration diagram of another embodiment of a
FIG. 9 is a configuration diagram of another embodiment of a
FIG. 10 is a configuration diagram of an embodiment of an
FIG. 11 is a diagram showing a distribution of data.
FIG. 12 is a diagram showing a data frequency table;
FIG. 13 is a diagram illustrating a processing result of dynamic programming.
FIG. 14 is a diagram illustrating an output of an evaluation
[Explanation of symbols]
100 Numeric field divider
102 Control unit
102a initial division part
102b Evaluation information generator
102c Evaluation value calculator
102d Evaluation value correction unit
102e Division selection unit
102f Division presentation unit
102g User selection part
102h Automatic division selection unit
104 I / O control interface
106 Storage unit
106a Target data
106b Initial number of divisions
106c Maximum number of divisions
106d Evaluation function
106e Evaluation correction function
Claims (5)
前記初期分割手段によって前記M個に初期分割された前記数値フィールドと、前記カテゴリフィールドのカテゴリ値との組み合わせに含まれる前記頻度値を集約した集約値を計算して評価用情報として評価用情報テーブルに格納する評価用情報生成手段と、
動的計画法に従い、前記評価用情報生成手段によって生成された各前記評価用情報に、入力された最大分割数及び前記Mの両方を超えない全ての自然数n毎に動的計画法に基づく評価関数を適用し、前記M個に初期分割された前記数値フィールドの評価値を前記n毎に所定の計算終了条件が満たされるまで順次計算して評価値格納テーブルに格納し、前記評価値格納テーブルから前記n毎に所定の計算終了条件が満たされるまでに最後に計算された評価値と該評価値に対応する分割の組み合わせを生成する評価値計算手段と、
前記評価値計算手段によって生成された前記組み合わせの各前記評価値に前記評価関数に対応する評価修正関数を前記n毎に適用して各前記評価値を修正する評価値修正手段と、
前記評価値修正手段によって各前記評価値が修正された各前記n毎の前記組み合わせから、前記評価値が最大値である前記組み合わせを選択して出力する分割選択手段と
を備えたことを特徴とする数値フィールド分割装置。 A data table in which a frequency value corresponding to each combination of one numerical field composed of a plurality of numerical values and 0 or one category field composed of a plurality of category values is stored in association with each other is read and input M ( Initial dividing means for initially dividing the numerical field into the M pieces according to (M is a natural number);
An evaluation information table as evaluation information by calculating an aggregate value obtained by aggregating the frequency values included in the combination of the numeric field initially divided into the M fields by the initial division means and the category value of the category field Information generating means for evaluation stored in
According to the dynamic programming, the evaluation information generated by the evaluation information generating means is evaluated based on the dynamic programming for every natural number n that does not exceed both the maximum number of divisions and the M that are input. A function is applied, and the evaluation values of the numerical field initially divided into M pieces are sequentially calculated and stored in the evaluation value storage table for each n until a predetermined calculation end condition is satisfied , and the evaluation value storage table Evaluation value calculation means for generating a combination of the evaluation value calculated last until the predetermined calculation end condition is satisfied for each n and the division corresponding to the evaluation value;
An evaluation value correcting means for correcting each evaluation value by applying an evaluation correction function corresponding to the evaluation function to each evaluation value of the combination generated by the evaluation value calculating means for each n;
Division selection means for selecting and outputting the combination having the maximum evaluation value from the combinations for each n in which the evaluation values have been corrected by the evaluation value correction means, Numeric field divider to perform.
前記初期分割手順によって前記M個に初期分割された前記数値フィールドと、前記カテゴリフィールドのカテゴリ値との組み合わせに含まれる前記頻度値を集約した集約値を計算して評価用情報として評価用情報テーブルに格納する評価用情報生成手順と、
動的計画法に従い、前記評価用情報生成手順によって生成された各前記評価用情報に、入力された最大分割数及び前記Mの両方を超えない全ての自然数n毎に動的計画法に基づく評価関数を適用し、前記M個に初期分割された前記数値フィールドの評価値を前記n毎に所定の計算終了条件が満たされるまで順次計算して評価値格納テーブルに格納し、前記評価値格納テーブルから前記n毎に所定の計算終了条件が満たされるまでに最後に計算された評価値と該評価値に対応する分割の組み合わせを生成する評価値計算手順と、
前記評価値計算手順によって生成された前記組み合わせの各前記評価値に前記評価関数に対応する評価修正関数を前記n毎に適用して各前記評価値を修正する評価値修正手順と、
前記評価値修正手順によって各前記評価値が修正された各前記n毎の前記組み合わせから、前記評価値が最大値である前記組み合わせを選択して出力する分割選択手順と
を数値フィールド分割装置に実行させることを特徴とする数値フィールド分割プログラム。 A data table in which a frequency value corresponding to each combination of one numerical field composed of a plurality of numerical values and 0 or one category field composed of a plurality of category values is stored in association with each other is read and input M ( An initial division procedure for initially dividing the numeric field into the M pieces according to M is a natural number);
An evaluation information table as evaluation information by calculating an aggregate value obtained by aggregating the frequency values included in the combination of the numeric field initially divided into the M fields by the initial division procedure and the category field category value. Information generation procedure for evaluation to be stored in
In accordance with dynamic programming , each of the evaluation information generated by the evaluation information generation procedure is evaluated based on dynamic programming for every natural number n that does not exceed both the maximum number of divisions and M that are input. A function is applied, and the evaluation values of the numerical field initially divided into M pieces are sequentially calculated and stored in the evaluation value storage table for each n until a predetermined calculation end condition is satisfied , and the evaluation value storage table An evaluation value calculation procedure for generating a combination of the evaluation value calculated last until the predetermined calculation end condition is satisfied for each n and the division corresponding to the evaluation value;
An evaluation value correction procedure for correcting each evaluation value by applying an evaluation correction function corresponding to the evaluation function to each evaluation value of the combination generated by the evaluation value calculation procedure every n times;
The division selection procedure for selecting and outputting the combination having the maximum evaluation value from the combinations for each n in which the evaluation values have been corrected by the evaluation value correction procedure is executed in the numerical field division device Numeric field division program characterized by having
前記初期分割手順によって前記M個に初期分割された前記数値フィールドと、前記カテゴリフィールドのカテゴリ値との組み合わせに含まれる前記頻度値を集約した集約値を計算して評価用情報として評価用情報テーブルに格納する評価用情報生成手順と、
動的計画法に従い、前記評価用情報生成手順によって生成された各前記評価用情報に、入力された最大分割数及び前記Mの両方を超えない全ての自然数n毎に動的計画法に基づく評価関数を適用し、前記M個に初期分割された前記数値フィールドの評価値を前記n毎に所定の計算終了条件が満たされるまで順次計算して評価値格納テーブルに格納し、前記評価値格納テーブルから前記n毎に所定の計算終了条件が満たされるまでに最後に計算された評価値と該評価値に対応する分割の組み合わせを生成する評価値計算手順と、
前記評価値計算手順によって生成された前記組み合わせの各前記評価値に前記評価関数に対応する評価修正関数を前記n毎に適用して各前記評価値を修正する評価値修正手順と、
前記評価値修正手順によって各前記評価値が修正された各前記n毎の前記組み合わせから、前記評価値が最大値である前記組み合わせを選択して出力する分割選択手順と
を数値フィールド分割装置に実行させることを特徴とする数値フィールド分割プログラムを記録したコンピュータ読み取り可能な記録媒体。 A data table in which a frequency value corresponding to each combination of one numerical field composed of a plurality of numerical values and 0 or one category field composed of a plurality of category values is stored in association with each other is read and input M ( An initial division procedure for initially dividing the numeric field into the M pieces according to M is a natural number);
An evaluation information table as evaluation information by calculating an aggregate value obtained by aggregating the frequency values included in the combination of the numeric field initially divided into the M fields by the initial division procedure and the category field category value. Information generation procedure for evaluation to be stored in
In accordance with dynamic programming , each of the evaluation information generated by the evaluation information generation procedure is evaluated based on dynamic programming for every natural number n that does not exceed both the maximum number of divisions and M that are input. A function is applied, and the evaluation values of the numerical field initially divided into M pieces are sequentially calculated and stored in the evaluation value storage table for each n until a predetermined calculation end condition is satisfied , and the evaluation value storage table An evaluation value calculation procedure for generating a combination of the evaluation value calculated last until the predetermined calculation end condition is satisfied for each n and the division corresponding to the evaluation value;
An evaluation value correction procedure for correcting each evaluation value by applying an evaluation correction function corresponding to the evaluation function to each evaluation value of the combination generated by the evaluation value calculation procedure every n times;
The division selection procedure for selecting and outputting the combination having the maximum evaluation value from the combinations for each n in which the evaluation values have been corrected by the evaluation value correction procedure is executed in the numerical field division device A computer-readable recording medium on which a numerical field division program is recorded.
前記初期分割ステップによって前記M個に初期分割された前記数値フィールドと、前記カテゴリフィールドのカテゴリ値との組み合わせに含まれる前記頻度値を集約した集約値を計算して評価用情報として評価用情報テーブルに格納する評価用情報生成ステップと、
動的計画法に従い、前記評価用情報生成ステップによって生成された各前記評価用情報に、入力された最大分割数及び前記Mの両方を超えない全ての自然数n毎に動的計画法に基づく評価関数を適用し、前記M個に初期分割された前記数値フィールドの評価値を前記n毎に所定の計算終了条件が満たされるまで順次計算して評価値格納テーブルに格納し、前記評価値格納テーブルから前記n毎に所定の計算終了条件が満たされるまでに最後に計算された評価値と該評価値に対応する分割の組み合わせを生成する評価値計算ステップと、
前記評価値計算ステップによって生成された前記組み合わせの各前記評価値に前記評価関数に対応する評価修正関数を前記n毎に適用して各前記評価値を修正する評価値修正ステップと、
前記評価値修正ステップによって各前記評価値が修正された各前記n毎の前記組み合わせから、前記評価値が最大値である前記組み合わせを選択して出力する分割選択ステップと
を数値フィールド分割装置が実行することを特徴とする数値フィールド分割方法。 A data table in which a frequency value corresponding to each combination of one numerical field composed of a plurality of numerical values and 0 or one category field composed of a plurality of category values is stored in association with each other is read and input M ( An initial division step of initially dividing the numerical field into the M pieces according to M is a natural number);
An evaluation information table as evaluation information by calculating an aggregate value obtained by aggregating the frequency values included in the combination of the numeric field initially divided into the M fields by the initial division step and the category field category value. Information generation step for evaluation stored in
In accordance with dynamic programming , each of the evaluation information generated by the evaluation information generation step is evaluated based on dynamic programming for every natural number n that does not exceed both the maximum number of divisions and M input. A function is applied, and the evaluation values of the numerical field initially divided into M pieces are sequentially calculated and stored in the evaluation value storage table for each n until a predetermined calculation end condition is satisfied , and the evaluation value storage table An evaluation value calculation step for generating a combination of the evaluation value calculated last until the predetermined calculation end condition is satisfied for each n and the division corresponding to the evaluation value;
An evaluation value correction step of correcting each evaluation value by applying an evaluation correction function corresponding to the evaluation function to each evaluation value of the combination generated by the evaluation value calculation step every n times; and
The numerical field dividing device executes a division selection step of selecting and outputting the combination having the maximum evaluation value from the combinations for each of the n in which the evaluation values are corrected by the evaluation value correction step. A numerical field dividing method characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001051103A JP4328031B2 (en) | 2001-02-26 | 2001-02-26 | Numerical field dividing apparatus, program, recording medium, and numerical field dividing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001051103A JP4328031B2 (en) | 2001-02-26 | 2001-02-26 | Numerical field dividing apparatus, program, recording medium, and numerical field dividing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002259358A JP2002259358A (en) | 2002-09-13 |
JP4328031B2 true JP4328031B2 (en) | 2009-09-09 |
Family
ID=18911959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001051103A Expired - Fee Related JP4328031B2 (en) | 2001-02-26 | 2001-02-26 | Numerical field dividing apparatus, program, recording medium, and numerical field dividing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4328031B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6053166B2 (en) * | 2013-07-31 | 2016-12-27 | Kddi株式会社 | Numerical data analysis apparatus and program |
-
2001
- 2001-02-26 JP JP2001051103A patent/JP4328031B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002259358A (en) | 2002-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Birgin et al. | A MILP model for an extended version of the flexible job shop problem | |
US7380005B1 (en) | Systems, methods and computer program products for improving placement performance of message transforms by exploiting aggressive replication | |
CN107015868B (en) | Distributed parallel construction method of universal suffix tree | |
Gardeux et al. | Adaptive pattern search for large-scale optimization | |
JP2009528649A (en) | Improvements on distributed computing | |
Munguía et al. | Alternating criteria search: a parallel large neighborhood search algorithm for mixed integer programs | |
Nip et al. | A combination of flow shop scheduling and the shortest path problem | |
JP4328031B2 (en) | Numerical field dividing apparatus, program, recording medium, and numerical field dividing method | |
Celik et al. | A novel simulated annealing-based optimization approach for cluster-based task scheduling | |
CN111522574A (en) | Differential packet generation method and related equipment | |
JP6839673B2 (en) | Application dividers, methods and programs | |
JP4820924B1 (en) | Reverse engineering support device, reverse engineering support method and program thereof | |
Ocetkiewicz et al. | UNRES-GPU for physics-based coarse-grained simulations of protein systems at biological time-and size-scales | |
Dražić et al. | A metaheuristic approach to the dominating tree problem | |
Stripinis et al. | Gendirect: a generalized direct-type algorithmic framework for derivative-free global optimization | |
González et al. | A parallel application of matheuristics in data envelopment analysis | |
JP7348444B2 (en) | Tuning algorithm recognition visualization method for analysis and adjustment of hyperparameter optimization process of machine learning models | |
Tavares et al. | Parallel strategies for direct multisearch | |
Lladós et al. | Optimization of consistency-based multiple sequence alignment using big data technologies | |
CN113535650A (en) | File naming method and computing device | |
Perozzi et al. | Scalable graph clustering with parallel approximate PageRank | |
Ching et al. | Exploring I/O strategies for parallel sequence-search tools with S3aSim | |
Zou et al. | Uniform parallel-machine scheduling with time dependent processing times | |
CN111461895A (en) | Interactive financial quantitative index acquisition method, device and system | |
WO2011090032A1 (en) | Parallel processing program generation method, parallel processing program generation program, and parallel processing program generation apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090317 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090522 |
|
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: 20090609 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090612 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140619 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |