[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3452308B2 - Data analyzer - Google Patents

Data analyzer

Info

Publication number
JP3452308B2
JP3452308B2 JP15881899A JP15881899A JP3452308B2 JP 3452308 B2 JP3452308 B2 JP 3452308B2 JP 15881899 A JP15881899 A JP 15881899A JP 15881899 A JP15881899 A JP 15881899A JP 3452308 B2 JP3452308 B2 JP 3452308B2
Authority
JP
Japan
Prior art keywords
rule
data
value
item
clause
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 - Lifetime
Application number
JP15881899A
Other languages
Japanese (ja)
Other versions
JP2000039999A (en
Inventor
章 前田
仁史 芦田
洋司 谷口
幸康 伊藤
ヨリ 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15881899A priority Critical patent/JP3452308B2/en
Publication of JP2000039999A publication Critical patent/JP2000039999A/en
Application granted granted Critical
Publication of JP3452308B2 publication Critical patent/JP3452308B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、データベース装置など
の情報記憶装置内に格納された数値または記号で表現さ
れたデータの集まりを分析し、利用者にとって有用な表
現に加工変換するデータ分析装置に関する。
BACKGROUND OF THE INVENTION This invention relates to a data analysis for analyzing the collection of data represented by a numerical value or symbol information stored in a storage device such as a database device, processed converted into useful representation for users on the equipment.

【0002】[0002]

【従来の技術】計算機技術の進歩により、計算機内に蓄
積されるデータ量は年々増大している。特に、ネットワ
ーク化が進むにつれて、オンラインシステムを中心にこ
の傾向はますます顕著になっている。現在では、レコー
ド数で100万件、データ量でギガ(=10の9乗)バ
イトを越えるものも珍しくない。
2. Description of the Related Art Due to advances in computer technology, the amount of data stored in computers is increasing year by year. In particular, this trend is becoming more and more noticeable, especially in online systems, as the network is advanced. At present, it is not uncommon for the number of records to exceed 1 million and the data amount to exceed giga (= 10 9) bytes.

【0003】計算機内に蓄積されたデータは、それだけ
では数値や記号の集まりに過ぎないことが多い。そこ
で、このデータの集まりを利用者にとって有用な情報に
変換し、データの有効活用を図ろうとする技術が提案さ
れている。最も広く知られている手法は、相関分析・重
回帰分析といった統計的手法である。
The data accumulated in the computer is often only a collection of numerical values and symbols. Therefore, a technique has been proposed in which this collection of data is converted into useful information for the user and the data is effectively utilized. The most widely known method is a statistical method such as correlation analysis or multiple regression analysis.

【0004】また、比較的新しい手法としては、利用者
にとって理解しやすい「もし〜ならば…である」といっ
たルール形式に変換して結果を出力する方法、すなわち
ルールインダクションと呼ばれる知識獲得手法を用いる
方法が、知られている。例えば、日立クリエイティブワ
ークステーション2050(商品名)ES/TOOL/
W−RI解説/操作マニュアルのページ23〜31に
は、データ間に存在する関係をルールの形で表現する手
法が述べられている。
Further, as a relatively new method, a method of converting a rule format such as "if ... if it is easy for the user to understand" and outputting the result, that is, a knowledge acquisition method called rule induction is used. The method is known. For example, Hitachi Creative Workstation 2050 (product name) ES / TOOL /
Pages 23 to 31 of the W-RI commentary / operation manual describe a method of expressing the relationships existing between data in the form of rules.

【0005】この方法は、本来は与えられたデータから
エキスパートシステムへ入力可能なルールを生成するこ
とを目的としたものであった。しかし、蓄積されたデー
タに含まれている因果関係や規則性といった特徴を、人
間である利用者が発見するという目的に利用することが
可能である。
This method was originally intended to generate rules that can be input to the expert system from given data. However, it is possible to utilize features such as causality and regularity included in the accumulated data for the purpose of discovering by a human user.

【0006】[0006]

【発明が解決しようとする課題】上記従来技術は、あく
まで計算機が利用できるルールを生成することを目的と
している。したがって、人間である利用者が、そのルー
ルを解釈することは可能ではあるが、もとより人間に理
解しやすい形式でルールを生成する訳ではないので、人
間が解釈しデータの特徴を理解するのに有効なルールを
生成することはできなかった。例を用いて、上記文献に
述べられている方法を説明する。
SUMMARY OF THE INVENTION The above-mentioned prior art aims to generate rules that can be used by a computer. Therefore, although it is possible for a human user to interpret the rule, it does not necessarily generate the rule in a format that is easy for humans to understand, and thus it is difficult for humans to interpret and understand the characteristics of data. It was not possible to generate a valid rule. The method described in the above document will be explained using an example.

【0007】まず、データを個々の事例の集合と考え
る。例えば、半導体製造プロセスにおける品質管理デー
タベースを用いて、半導体の不良要因の分析をするとい
った利用方法では、個々の事例はウェハとよばれる製造
単位で管理され、それぞれの製造工程における処理パラ
メータや、各種検査結果などの情報の組を一つの事例と
して扱うことができる。図1に、このようなデータの例
を示す。
First, consider the data as a set of individual cases. For example, in a method of using a quality control database in a semiconductor manufacturing process to analyze semiconductor defect factors, each case is managed in a manufacturing unit called a wafer, and processing parameters in various manufacturing processes and various types are managed. A set of information such as inspection results can be treated as one case. FIG. 1 shows an example of such data.

【0008】また、銀行の顧客データベースから顧客の
金融商品の購入動向を調べるといった利用方法では、年
齢・預金残高・職業・年収・金融商品購入履歴といった
顧客ごとの情報の組が1つの事例であり、分析の対象と
するデータはこの事例の集まりと見なすことができる。
この例に関しては、実施例で詳しく説明する。
[0008] In addition, in a usage method such as investigating a customer's purchase trend of a financial product from a customer database of a bank, an example is a set of information for each customer such as age, deposit balance, occupation, annual income, financial product purchase history. , The data to be analyzed can be regarded as a collection of this case.
This example will be described in detail in Examples.

【0009】上記従来技術によるルール生成の例を説明
する。例として、ある金融商品(商品Aとする)を購入
した顧客に共通の特徴を調べることを考える。この場
合、従来技術では、データの各項目(年齢や預金残高な
ど)の値から、金融商品Aを購入した顧客に対応する事
例と購入していない顧客に対応する事例とをできるだけ
精度よく分類するルールを生成することが目的となる。
An example of rule generation according to the above conventional technique will be described. As an example, consider examining common features of customers who have purchased a financial product (denoted as product A). In this case, in the prior art, the cases corresponding to the customers who have purchased the financial product A and the cases corresponding to the customers who have not purchased the financial product A are classified as accurately as possible based on the values of the respective items of data (age, deposit balance, etc.). The goal is to generate rules.

【0010】上記従来技術では、項目の値の組(例えば
年齢が40歳以上でかつ預金残高が1000万以上、な
ど)の中で、与えられたデータをもっとも精度よく分類
する組を生成する。この場合の精度とは、特定の値を持
つ事例の部分集合の中で、金融商品Aを購入した顧客に
対応する事例の割合が大きければ大きいほど、購入した
顧客の特徴を精度よく分類するものと考える。この値の
組は、「IF 年齢が40歳以上 AND 預金残高が10
00万以上 THEN 金融商品Aを購入」というルールの
形式で表現することができる。
In the above-mentioned prior art, a set that most accurately classifies given data among the set of item values (for example, the age is 40 years or older and the deposit balance is 10 million or more) is generated. The accuracy in this case means that the characteristics of the customer who purchased the product are classified more accurately as the proportion of cases corresponding to the customer who purchased the financial product A in the subset of cases having a specific value is larger. I think. This set of values is "IF age 40 and over AND deposit balance 10
It can be expressed in the form of a rule "more than one million THEN purchase financial product A".

【0011】次に、生成されたルールで説明される事例
を、全体の事例の集合から除く。上記の例では、年齢が
40歳以上で預金残高が1000万以上という条件を満
たす事例を除くことになる。そして、残された事例の集
合に対して、もっとも精度よく分類する項目の値の組を
求める。以上の処理を繰り返すことにより、金融商品A
を購入した顧客を、購入していない顧客から識別するた
めのルール群を得ることができる。
Next, the case explained by the generated rule is removed from the entire set of cases. In the above example, the case where the age is 40 or over and the deposit balance is 10 million or more is excluded. Then, with respect to the remaining set of cases, a set of values of items that are most accurately classified is obtained. By repeating the above processing, the financial product A
It is possible to obtain a rule group for distinguishing a customer who has purchased from a customer who has not purchased.

【0012】以上の説明から分かるように、上記従来技
術で得られるルール群は、 IF 年齢が40歳以上 AND 預金残高が1000万以上 T
HEN 金融商品Aを購入 ELSE IF 職業が自営業 AND 年収が800万以上 THEN
金融商品Aを購入 ELSE IF … というように、IF … ELSE IF … ELSE IF …の
形式となる。
As can be seen from the above description, the rule group obtained by the above-mentioned prior art is that the IF age is 40 years old or more AND the deposit balance is 10 million yen or more
HEN Buy financial product A ELSE IF Occupation is self-employed AND Annual income is over 8 million THEN
Purchase financial instrument A ELSE IF…, such as IF… ELSE IF… ELSE IF….

【0013】計算機がこのルール群を利用して分類をす
る場合には、先頭のIFから順に調べていくだけで機械的
に処理を実行できる。しかしながら、ルールの数が増え
れば増えるほど、人間がこのルールから金融商品Aを購
入した顧客の特徴を理解することは困難になっていく。
さらに、1つルールを生成する毎に、残された事例の集
合からルールを探しにいくという処理を繰り返すため、
事例の数が大きくなるにつれ、必要な処理時間が急速に
増大することも問題である。
When the computer classifies using this rule group, the processing can be executed mechanically only by sequentially checking from the first IF. However, as the number of rules increases, it becomes more difficult for humans to understand the characteristics of the customer who purchased the financial product A from this rule.
Furthermore, since the process of searching for a rule from the set of remaining cases is repeated every time one rule is generated,
It is also a problem that the required processing time increases rapidly as the number of cases increases.

【0014】さらに重大な問題として、上記の例題のよ
うな実世界のデータの場合、データには一般に非常に大
きな雑音が含まれているものと考えなければならない。
つまり、金融商品Aを購入するかどうかというのは、デ
ータベースに含まれている項目からは本質的には決定で
きないはずであるから、もともと非常に精度のよい分類
ルールを生成することは期待できない。また、上に挙げ
た半導体の不良要因分析の場合では、不良の発生がラン
ダムに変動する要因の影響を受けるため、データには大
きな雑音が含まれる。このような場合にも、確定的なル
ールを生成することを望むことが困難な場合が多い。
More seriously, in the case of real-world data such as the above example, it must be considered that the data generally contains a very large amount of noise.
In other words, whether or not to purchase the financial product A should not be essentially determined from the items included in the database, so that it is not expected that a highly accurate classification rule is originally generated. Further, in the case of the above-described semiconductor failure factor analysis, since the occurrence of defects is influenced by the factors that randomly change, the data contains large noise. Even in such a case, it is often difficult to desire to generate a deterministic rule.

【0015】上記のような問題の場合には、データの大
体の特徴を表現するような分析方法が有効である。しか
しながら、上記従来技術のような方法では、多くの項目
の値を組み合わせて少しでも分類精度のよいルールを探
しにいくので、一般にIF部にあらわれる条件の数は増大
するが、そのルールにあてはまる事例の数は減少すると
いう現象が起こる。これではデータの大体の特徴を理解
するという目的を満足することは困難である。
In the case of the above problems, an analysis method that expresses the general characteristics of the data is effective. However, in the method like the above-mentioned conventional technique, since the values of many items are combined to search for a rule with good classification accuracy, the number of conditions generally appearing in the IF part increases, but a case applicable to that rule. The phenomenon occurs that the number of is reduced. This makes it difficult to meet the goal of understanding the general characteristics of the data.

【0016】実際のデータベースには非常に多くの種類
の情報が格納されている。上記の半導体品質管理データ
の例でいえば、ウェハ番号・製造開始年月日など、また
顧客データの例でいえば、氏名・電話番号など、明らか
に分析の目的とは関係ないものも含まれている。一方
で、半導体品質管理データの場合には製品種別コード、
顧客データの場合には住所のように、場合によっては分
析有効な情報もある。
A great deal of information is stored in an actual database. In the case of the above semiconductor quality control data, the wafer number, the date of manufacturing start, etc., and in the case of the customer data, the name, telephone number, etc., which are clearly unrelated to the purpose of analysis, are included. ing. On the other hand, in the case of semiconductor quality control data, the product type code,
In the case of customer data, there is also information that is useful for analysis, such as an address.

【0017】そこで、そのように多くの種類の情報から
なるデータを用いて上記の例のような分析をする場合に
は、まずどのような項目のデータを使って分類を試みる
かということを、利用者があらかじめ指定しなければな
らない。項目の種類が増えれば増えるほど、この作業は
複雑になる。もしかすると関係があるかもしれないよう
な項目を全て含めて分析しようとすれば、必然的に使用
する項目数は増え、処理時間の増大を招く。したがって
効率よく分析をしようと思えば、注意深く使用項目を選
ばなければならず、利用者のノウハウの程度によって、
分析の結果の質が大きく左右されることになる。
Therefore, in the case of performing the analysis as in the above example using such data composed of many kinds of information, first, what item of data should be used for classification? The user must specify in advance. The more items you have, the more complex this task becomes. If an attempt is made to analyze all the items that may possibly be related, the number of items to be used will inevitably increase, resulting in an increase in processing time. Therefore, if you want to analyze efficiently, you must carefully select the items to be used, and depending on the degree of know-how of the user,
The quality of the analysis results will be greatly influenced.

【0018】さらに、項目によってはいろいろな見方で
の分析が必要になる場合がある。例えば、顧客データの
例で、地域別に商品購入の動向が異なるような場合、住
所という項目を県別で考えるべきか、東北地方/関東地
方といったレベルで考えるか、東日本/西日本の2分類
で考えるべきかというのは、基本的には分析して見なけ
れば分からない。このような場合を全て尽くそうと思え
ば、何度も繰り返して従来技術による分析を試みる必要
があり、利用者の負担が増大するという問題点がある。
Further, depending on the item, analysis from various viewpoints may be required. For example, in the case of customer data, if the trends of product purchase differ by region, whether the item of address should be considered by prefecture, whether it should be considered at the level of Tohoku region / Kanto region, or the two categories of East Japan / West Japan Basically, I don't know unless I analyze it. If all the cases like this are to be exhausted, it is necessary to repeat the analysis by the conventional technique over and over again, and there is a problem that the burden on the user increases.

【0019】これを避けるために、いろいろなレベルで
の見方を全てデータ項目に追加するという方法もある。
住所の例でいえば、県別/地域別/東西別という項目を
分析すべきデータ項目として考えることは可能である。
しかし、従来技術による分析では、項目間の意味的な関
連は一切考慮していないため、処理に大きな無駄が生じ
る。
In order to avoid this, there is also a method of adding all viewpoints at various levels to the data item.
In the case of addresses, it is possible to consider items such as prefecture / region / east / west data items to be analyzed.
However, in the analysis according to the conventional technique, no significant relation between items is taken into consideration, so that a great waste occurs in processing.

【0020】例えば、県別というレベルでの分類を試み
ている間は、それより上位のレベルである地域別や東西
別という項目の値は本来考慮する必要がないが、それに
もかかわらず、従来技術では無駄な分析を行ってしま
う。さらに、項目の処理順序によっては、「IF 住所が
関東地方 AND 住所が神奈川県 THEN …」といっ
た、明らかに意味的に冗長なルールが生成される可能性
がある。計算機による分類が目的の場合には、このよう
な冗長性は分類精度には影響しないが、人間がデータの
特徴を理解するという目的には明らかに有害である。
For example, while trying to classify by prefecture, it is not necessary to consider the values of the items of higher level, such as by region or by east and west, but nevertheless, it is nevertheless conventional. With technology, useless analysis is carried out. Furthermore, depending on the processing order of items, there is a possibility that rules that are clearly semantically redundant, such as “IF address is Kanto region AND address is Kanagawa prefecture THEN…” are generated. For computer classification purposes, such redundancy does not affect classification accuracy, but is obviously detrimental to humans' understanding of the characteristics of the data.

【0021】また、実際のデータベース中には欠損値と
呼ばれる未知のデータ項目が含まれていることが多い。
統計手法などで分析をするときには、欠損値は単に無視
し、データがないものと見なさざるを得ない。上記ルー
ルインダクションの方法でも、欠損値をもつデータ項目
は分類精度には影響しないので、分類ルール中には現れ
ることがない。
In addition, an actual database often contains unknown data items called missing values.
When performing analysis using statistical methods, etc., it is unavoidable to simply ignore missing values and regard them as having no data. Even in the above rule induction method, a data item having a missing value does not affect the classification accuracy and therefore does not appear in the classification rule.

【0022】しかし、データの値が欠損していること自
身に意味がある場合がある。例えば住所という項目が欠
損値ということが、匿名で銀行口座を作っていることを
意味する場合、このことが金融商品Aの購入に影響を与
えることが考えられる。このような場合には、「IF 住
所が欠損値 THEN …」というルールが意味を持つこと
になる。従来の方法では、このようなルールは一般的に
は生成できず、また生成するためには欠損値を明示的に
特定の値に変換するような人手による処理が必要になる
という問題点があった。
However, there are cases where it is significant that the data values are missing. For example, when the item of address is a missing value, which means that a bank account is anonymously created, this may affect the purchase of the financial product A. In such a case, the rule that "IF address is missing value THEN ..." has meaning. In the conventional method, such a rule cannot be generally generated, and in order to generate such a rule, a manual process of explicitly converting a missing value into a specific value is required. It was

【0023】さらに、上記従来技術による方法では、あ
くまで分類精度を優先してルールを生成するため、でき
るだけ多くの事例を説明するという意味で一般的なルー
ルが必ずしも先に生成されるとは限らない。一方、今考
えているようなデータ分析方法では、処理時間が長い場
合に途中で利用者が割り込みをかけることもある。この
ようなときに、利用者にとって利用価値の高い一般的か
つ単純なルールから先に生成されていれば、割り込みを
かけた時点までに生成されたルールを利用することが可
能になるが、従来技術による方法ではこのような利用が
できないという問題点もある。
Further, in the above-mentioned method according to the prior art, since the rule is generated by giving priority to the classification accuracy, a general rule is not always generated first in the sense of explaining as many cases as possible. . On the other hand, in the data analysis method that we are currently thinking about, the user may interrupt during the long processing time. In such a case, if a general and simple rule that has high utility value for the user is generated first, it is possible to use the rule generated up to the time when the interrupt is issued. There is also a problem that such a method cannot be used by the method based on the technology.

【0024】本発明は、データベースなどに格納された
データを分析して利用者にとって有用な表現に変換して
出力する装置において、雑音を含む膨大なデータであっ
ても多大な処理時間を必要とすることなく、人間に理解
しやすい形式でデータの特徴を提示できるようにするこ
とを目的とする。また、利用者が処理方法に関する特別
な知識を有しない場合にも、データの特徴を精度よく表
現する結果を生成できるデータ分析装置を提供すること
を目的とする。
The invention, in equipment you converts useful representation for the user to analyze the data stored in such a database, even massive data including noise considerable processing time It aims to be able to present the characteristics of the data in a format that is easy for humans to understand without requiring it. Moreover, if even a user having no special knowledge about the processing method, and an object thereof is to provide a data amount 析装 location that can produce results that represent accurately the characteristics of the data.

【0025】[0025]

【課題を解決するための手段】本発明は、データベース
に格納された複数のデータ項目に基づいて前記データ項
目間の関係を特徴づけるルールを生成するデータ分析装
置であって、前記データべ−スに格納されているデータ
項目から選択された、IF-THENルールのIF節およびTHEN
節に用いるデータ項目を、受け取る手段と、前記選択さ
れかつ受け取ったデータ項目の中から、項目名と記号値
との対からなるデータ項目を組み合わせてIF-THEN形式
のルール候補を生成する生成手段と、前記ルール候補の
IF節が当てはまるデータ数に相当するカバー率と、IF節
とTHEN節の両方が当てはまるデータ数に相当する精度の
値をそれぞれ計数して、前記ルール候補のそれぞれにつ
いて、カバー率が大きく、かつ精度がよいほど高くなる
評価尺度を求める評価手段と、前記ルール候補から、評
価尺度の高いルール候補を少なくとも一つ決定して出力
する出力手段とを備えたことを特徴とする
The present invention provides a database
The data item based on a plurality of data items stored in
A data analyzer that generates rules that characterize eye-to-eye relationships.
Data stored in the database
IF clause and THEN of IF-THEN rule selected from the items
Means for receiving the data items used in the section and the
Received and received data item, item name and symbol value
IF-THEN format by combining data items consisting of
Generating means for generating a rule candidate of the
Coverage equivalent to the number of data that IF clause applies, and IF clause
And the THEN clause are both accurate enough to
Each value is counted, and each value is
And the higher the coverage rate and the better the accuracy, the higher
From the evaluation means for obtaining an evaluation scale and the rule candidates,
Determine and output at least one rule candidate with a high valuation scale
And an output means for

【0026】また本発明は、データベースに格納された
複数のデータ項目に基づいて前記データ項目間の関係を
特徴づけるルールを生成するデータ分析装置であって、
前記データべ−スに格納されているデータ項目から選択
された、IF-THENルールのIF節およびTHEN節に用いるデ
ータ項目を、受け取る手段と、前記選択されかつ受け取
ったデータ項目が数値を含んでいれば、前記数値を記号
値に変換する変換手段と、前記選択されかつ受け取った
データ項目(数値を含まないもの)と、前記変換手段に
より数値を記号値に変換したデータ項目の中から、項目
名と記号値との対からなるデータ項目を組み合わせてIF
-THEN形式のルール候補を生成する生成手段と、前記ル
ール候補のIF節が当てはまるデータ数に相当するカバー
率と、IF節とTHEN節の両方が当てはまるデータ数に相当
する精度の値をそれぞれ計数して、前記ルール候補のそ
れぞれについて、カバー率が大きく、かつ精度がよいほ
ど高くなる評価尺度を求める評価手段と、前記ルール候
補から、評価尺度の高いルール候補を少なくとも一つ決
定して出力する出力手段とを備えたことを特徴とする
The present invention is also stored in a database.
The relationship between the data items based on multiple data items
A data analysis device for generating rules for characterizing,
Select from the data items stored in the database
The data used in the IF and THEN clauses of the IF-THEN rule
Means for receiving data items and said selected and receiving
If the data item contains a numeric value,
A conversion means for converting to a value and said selected and received
Data items (not including numerical values) and the conversion means
From the data items that are converted from numerical values to symbolic values,
IF by combining data items consisting of name and symbol value pairs
-Generating means for generating rule candidates in THEN format,
Corresponding to the number of data items that the IF clause of the candidate
Equivalent to the rate and the number of data that both IF clause and THEN clause apply
The accuracy values for each rule are counted to determine the rule candidates.
For each, the coverage rate is high and the accuracy is high.
Evaluation means for obtaining a higher evaluation scale and the rule
From the supplement, at least one rule candidate with a high evaluation scale was decided.
It is characterized in that it is provided with an output means for determining and outputting .

【0027】[0027]

【0028】[0028]

【0029】[0029]

【0030】[0030]

【0031】[0031]

【作用】本発明によれば、まずデータベースに格納され
ているデータ項目から、IF-THENルールのIF節およびTHE
N節に用いるデータ項目が選択される。選択されたデー
タ項目が数値を含んでいれば、その数値は記号値に変換
される。次に、項目名と記号値との対を少なくとも一つ
有するルール形式で選択されたデータ項目間の相関を表
わすルールの候補が生成され、そのルール候補のそれぞ
れについて、データ項目間の相関の強さが評価される。
そして、評価値の高いルールの候補が決定され、出力さ
れる。
According to the present invention, first, from the data items stored in the database, the IF clause of the IF-THEN rule and THE
The data items used in Section N are selected. If the selected data item contains a number, that number is converted to a symbolic value. Next, rule candidates representing the correlation between the selected data items in the rule format having at least one pair of item name and symbol value are generated, and for each of the rule candidates, the strong correlation between the data items is generated. Is evaluated.
Then, a rule candidate having a high evaluation value is determined and output.

【0032】また本発明によれば、まずデータベースに
格納されているデータ項目から、ルールの結論節に用い
る一つのデータ項目および前記ルールの条件節に用いる
複数のデータ項目が選択される。選択されたデータ項目
が数値を含んでいれば、その数値は記号値に変換され
る。次に、条件項目の項目名と記号値との対を少なくと
も一つ結合した条件節が生成され、結論項目の項目名と
記号値との対を少なくとも一つ結合して結論節が生成さ
れ、前記生成された条件節と結論節とを結合した複数の
ルール候補が生成される。そのルール候補のそれぞれに
ついて、データ項目間の相関の強さが評価される。そし
て、評価値の高いルールの候補が決定され、出力され
る。
According to the present invention, first, one data item used in the conclusion clause of the rule and a plurality of data items used in the conditional clause of the rule are selected from the data items stored in the database. If the selected data item contains a number, that number is converted to a symbolic value. Next, a conditional clause is generated by combining at least one pair of item name and symbol value of the condition item, and a conclusion clause is generated by combining at least one pair of item name and symbol value of the conclusion item, A plurality of rule candidates are generated by combining the generated conditional clause and conclusion clause. For each of the rule candidates, the strength of correlation between data items is evaluated. Then, a rule candidate having a high evaluation value is determined and output.

【0033】[0033]

【実施例】以下、図面を用いて本発明の実施例を説明す
る。本実施例では、前述の金融商品購入顧客の分析の例
を用いる。
Embodiments of the present invention will be described below with reference to the drawings. In the present embodiment, the above-described example of analysis of customers who purchase financial products is used.

【0034】図2は、分析の対象とするデータの例を示
す。ある金融商品の購入動向に関して動向の分析をする
ことを考える。図2のデータには、顧客番号・氏名・年
齢・性別・住所・支店コード・県コード・地域コード・
預金残高・ローン残高・クレジットカード種別などの情
報とともに、ある金融商品の購入実績が格納されてい
る。
FIG. 2 shows an example of data to be analyzed. Consider analyzing the purchase trends of a financial product. The data in Figure 2 includes customer number, name, age, gender, address, branch code, prefecture code, area code,
The purchase record of a certain financial product is stored together with information such as deposit balance, loan balance, and credit card type.

【0035】このデータを分析しようとする利用者は、
顧客のどんな属性が金融商品の購入に影響しているかを
分析することにより、ダイレクトメールや訪問販売な
ど、その金融商品拡販のための戦略(どのような顧客に
アプローチをするのが最適か、など)を検討することを
目的としている。
A user who wants to analyze this data
By analyzing what attributes of the customer influence the purchase of the financial product, strategies for expanding the sales of the financial product such as direct mail and door-to-door sales (what kind of customer is best to approach, etc.) ) Is intended to be considered.

【0036】図3に、分析処理の全体フローを示す。ま
ず処理301では、分析対象データを定義し、図2のよ
うな分析対象データの表を作成する。次に処理302
で、分析対象データの読み込みを行う。
FIG. 3 shows the overall flow of the analysis process. First, in process 301, analysis target data is defined and a table of analysis target data as shown in FIG. 2 is created. Next, process 302
Then, the data to be analyzed is read.

【0037】処理303では、まず「商品購入」という
項目が結論項目であることを指定する。次に、データの
各項目を調べ、項目が記号属性を持つか数値属性を持つ
かを調べる。各項目について、条件項目として選択する
かどうかを判定し、選択された項目が数値属性をもつ項
目である場合には、それを記号値に変換する。最終的
に、ルール生成処理の入力となるデータを生成する。
In process 303, first, the item "purchase of goods" is designated as a conclusion item. Next, each item of data is examined to see if the item has a symbolic or numeric attribute. It is determined whether or not each item is selected as a condition item, and if the selected item is an item having a numerical attribute, it is converted into a symbol value. Finally, the data that becomes the input of the rule generation processing is generated.

【0038】処理304では、事例数などの情報に基づ
いて、ルール生成処理のパラメータ(最大条件節数、最
小カバー率、など)を決定する。処理305では、決定
したパラメータを表示装置に表示し、必要ならば利用者
がパラメータを修正する。処理306ではルール生成処
理を実行し、処理307で結果を出力装置に出力する。
In process 304, parameters (maximum number of conditional clauses, minimum coverage, etc.) of the rule generation process are determined based on information such as the number of cases. In step 305, the determined parameters are displayed on the display device, and the user corrects the parameters if necessary. In process 306, the rule generation process is executed, and in process 307, the result is output to the output device.

【0039】なお、図3ではルールの学習処理は省略し
たが、処理307の後、利用者の指示により随時学習処
理を実行することができる。
Although the rule learning process is omitted in FIG. 3, after the process 307, the learning process can be executed at any time according to a user's instruction.

【0040】図4に、以上の処理を実行するためのシス
テムのブロック構成図を示す。システムは大きく3つの
処理モジュールからなる。利用者とのインタラクション
を制御するユーザインタフェースモジュール401、分
析対象のデータからルールを生成するルール生成処理モ
ジュール402、およびメンバシップ関数の学習によっ
て生成されたルールの微調整を実行するルール学習処理
実行モジュール403、である。
FIG. 4 shows a block diagram of a system for executing the above processing. The system consists of three processing modules. A user interface module 401 for controlling interaction with a user, a rule generation processing module 402 for generating rules from data to be analyzed, and a rule learning processing execution module for executing fine adjustment of rules generated by learning membership functions. 403.

【0041】モジュール401は、利用者からの指示を
コマンドとして認識し、指示された方法に基づいて分析
対象データベース404からデータを入力し、ルール生
成処理実行モジュール402の入力となるルール生成用
ワークファイル405を生成し、同時にルール生成処理
を制御するためのパラメータ類の情報をルール生成パラ
メータファイル406に出力する。利用者からのルール
生成実行コマンドがモジュール401に入力されると、
モジュール401はモジュール402を起動する。
The module 401 recognizes an instruction from the user as a command, inputs data from the analysis target database 404 based on the instructed method, and inputs the data to the rule generation processing execution module 402 as a rule generation work file. 405 is generated, and at the same time, information of parameters for controlling the rule generation processing is output to the rule generation parameter file 406. When the rule generation execution command from the user is input to the module 401,
The module 401 activates the module 402.

【0042】モジュール402が起動されると、ファイ
ル405とファイル406の情報を読み込み、ファイル
405のデータに対して、ファイル406で指定された
パラメータでルール生成処理を実行し、結果をルールフ
ァイル407に出力する。ルールファイル407には、
生成されたルールの情報と、生成されたルールに含まれ
る述語を定義するメンバシップ関数の情報が格納されて
いる。
When the module 402 is activated, the information in the files 405 and 406 is read, the rule generation processing is executed on the data in the file 405 with the parameters specified in the file 406, and the result is stored in the rule file 407. Output. In the rule file 407,
Information on the generated rule and information on the membership function that defines the predicate included in the generated rule are stored.

【0043】モジュール402の実行が終了すると、制
御はモジュール401に戻り、生成されたルールをあら
かじめ定められた形式で利用者に表示する。利用者は、
表示結果に基づいて、以上の処理をパラメータを変更し
て再度実行するなどの作業を続行することができる。
When the execution of the module 402 is completed, the control is returned to the module 401, and the generated rule is displayed to the user in a predetermined format. The user is
Based on the display result, it is possible to continue the operations such as changing the parameters and executing the above processing again.

【0044】ここで生成されたルールの学習コマンドが
モジュール401に入力された場合、モジュール401
は、モジュール403を起動する。モジュール403が
起動されると、まずデータベース404とルールファイ
ル407の内容を読み込み、ルールファイル407に含
まれるそれぞれのルールに対してメンバシップ関数の学
習を実行する。処理終了後、学習したメンバシップ関数
の情報を再びルールファイル407に格納した後、制御
をモジュール401に戻す。
When the rule learning command generated here is input to the module 401, the module 401
Activates the module 403. When the module 403 is activated, first, the contents of the database 404 and the rule file 407 are read, and the membership function learning is executed for each rule contained in the rule file 407. After the processing is completed, the learned membership function information is stored in the rule file 407 again, and the control is returned to the module 401.

【0045】図3に示した処理のうち、処理306がモ
ジュール402で実行され、残りの処理はモジュール4
01で実行される。
Of the processing shown in FIG. 3, the processing 306 is executed by the module 402, and the remaining processing is performed by the module 4.
It is executed at 01.

【0046】以下、各処理の詳細を、図3のフローにし
たがって順に説明する。
The details of each process will be described below in order according to the flow of FIG.

【0047】図5および図6は、処理301において実
行される分析対象データ定義処理の内容を説明する図で
ある。分析の対象となるデータは、複数のリレーション
テーブルに格納されており、それぞれ図5(a)の顧客情
報テーブル、図5(b)の支店情報テーブル、図5(c)の商
品購入履歴テーブルからなる。図6は、図5の3つのテ
ーブルの相互の関連を指定し、分析対象となる図2のテ
ーブル構造定義を模式的に示した図である。これらの定
義は、リレーショナルデータベース管理システム(RD
BMS)で提供される機能を用いて行うことができる。
5 and 6 are views for explaining the contents of the analysis target data definition processing executed in the processing 301. The data to be analyzed is stored in a plurality of relation tables. From the customer information table of FIG. 5 (a), the branch information table of FIG. 5 (b), and the product purchase history table of FIG. 5 (c), respectively. Become. FIG. 6 is a diagram schematically showing the table structure definition of FIG. 2 to be analyzed by designating the mutual relation of the three tables of FIG. These definitions are defined by the relational database management system (RD
BMS) can be used.

【0048】図3の処理302では、図2で示した分析
対象データをデータベースから読み込み、計算機内のメ
モリに展開する。データ読み込み時には、各項目の値が
数値か記号値かということを判定し、かつ数値の場合に
は最大値/最小値、記号値の場合には異なる記号の数を
各項目毎に求めておく。
In process 302 of FIG. 3, the analysis target data shown in FIG. 2 is read from the database and expanded in the memory in the computer. When reading data, determine whether the value of each item is a numerical value or a symbolic value, and if it is a numerical value, obtain the maximum / minimum value, and if it is a symbolic value, find the number of different symbols for each item. .

【0049】図7に、図3の処理303における条件/
結論項目の指定画面を示す。処理303では、この図7
のように画面表示を行い、ユーザに条件項目と結論項目
の指定をさせる。
FIG. 7 shows the conditions / conditions in the process 303 of FIG.
A screen for specifying a conclusion item is shown. In the process 303, this FIG.
The screen is displayed as described above, and the user is prompted to specify the condition item and the conclusion item.

【0050】まず、データ読み込み直後にはいずれの項
目も選択されておらず、図2の分析対象データの各項目
の名称が未使用項目名リストボックス701に表示され
ており、条件項目名リストボックス702、および結論
項目名テキストボックス703の内容は空である。
First, immediately after reading the data, no item is selected, and the names of the items of the analysis target data in FIG. 2 are displayed in the unused item name list box 701, and the condition item name list box is displayed. The contents of 702 and the conclusion item name text box 703 are empty.

【0051】ここで、リストボックス701の表示の際
には、処理302で求めた記号値をもつ属性のうち、異
なる記号の数があらかじめ定められた数、例えば20個
以上の場合には条件項目/結論項目として選択すること
を不可とし、その項目名が選択不可であることを表示す
るものとする。これは、記号値の数が事例数に比べて大
きな項目を条件または結論項目として指定すると、生成
されるルールが細分化されて利用価値が低下することを
防ぐためである。例えば、図7の顧客番号・氏名・住所
が相当する。図7では、項目名の先頭に「*」を付加し
てその項目が選択不可であることを表現しているが、も
ちろん網掛け表示/淡色表示などを用いても同様の効果
が実現できる。このようにすることにより、ルール生成
に使用しても意味のない項目を使用することを防止する
ことができる。
Here, when the list box 701 is displayed, among the attributes having the symbol value obtained in the process 302, the number of different symbols is a predetermined number, for example, 20 or more, the condition item. / It is not possible to select as a conclusion item, and it is displayed that the item name is not selectable. This is to prevent the generated rule from being subdivided and lowering the utility value when an item having a larger number of symbol values than the number of cases is designated as a condition or a conclusion item. For example, the customer number, name, and address in FIG. 7 correspond. In FIG. 7, “*” is added to the head of the item name to indicate that the item cannot be selected, but of course the same effect can be achieved by using a shaded display / light color display. By doing so, it is possible to prevent the use of items that have no meaning even when used for rule generation.

【0052】リストボックス701中の(選択可能な)
項目をマウス等の入力装置を用いて複数選び、ボタン7
06をクリックすることにより、選択中の項目が条件項
目として選択され、リストボックス701からその項目
名が削除され、リストボックス702にその項目名が追
加されて表示される。同様に、リストボックス701の
項目を1つ選択してボタン709をクリックすることに
より、結論項目が選択される。リストボックス702お
よび703の項目を削除するときも同様に、削除項目を
選択してボタン707、710をクリックする。
In the list box 701 (selectable)
Select multiple items using an input device such as a mouse, and press the button 7
By clicking 06, the selected item is selected as a condition item, the item name is deleted from the list box 701, and the item name is added and displayed in the list box 702. Similarly, a conclusion item is selected by selecting one item in the list box 701 and clicking the button 709. Similarly, when deleting the items in the list boxes 702 and 703, the deleted items are selected and the buttons 707 and 710 are clicked.

【0053】ボタン705をクリックすることにより、
リストボックス701に表示されている項目で選択不可
の項目以外を全て条件項目に追加することができる。ボ
タン708は、逆にリストボックス702中の全ての項
目を条件項目から削除するためのボタンである。
By clicking the button 705,
All the items displayed in the list box 701 other than the non-selectable items can be added to the condition items. On the contrary, the button 708 is a button for deleting all the items in the list box 702 from the condition items.

【0054】これらの選択が終了した後、ボタン711
をクリックすると、条件/結論項目選択処理が終了す
る。また、ボタン712をクリックすると、その時点で
の項目選択情報を全て破棄する。
After completing these selections, button 711
By clicking, the condition / conclusion item selection process ends. Further, when the button 712 is clicked, all item selection information at that time is discarded.

【0055】次に、ボタン704をクリックしたときに
実行される条件項目自動選択処理について説明する。た
だし、この処理は結論項目が指定されているときに実行
できるため、ボタン704は結論項目が指定されている
ときだけ有効であるものとする。
Next, the condition item automatic selection processing executed when the button 704 is clicked will be described. However, since this processing can be executed when the conclusion item is specified, the button 704 is valid only when the conclusion item is specified.

【0056】図8は、条件項目自動選択処理の処理フロ
ーである。図7において、結論項目(テキストボックス
703)の指定の後、ボタン704をクリックすると図
8の処理が実行開始する。
FIG. 8 is a processing flow of the condition item automatic selection processing. In FIG. 7, when the button 704 is clicked after the conclusion item (text box 703) is designated, the processing of FIG. 8 starts to be executed.

【0057】処理801では、使用不可の項目を除く全
ての項目に関して処理802、803を繰り返す。処理
802では、現在処理している項目が数値属性を持つか
記号値属性を持つかを調べ、数値属性を持つ場合には処
理803を実行する。
In the process 801, the processes 802 and 803 are repeated for all items except unusable items. In processing 802, it is checked whether the item currently processed has a numerical value attribute or a symbol value attribute, and if it has a numerical value attribute, processing 803 is executed.

【0058】処理803では、処理中の項目の値をあら
かじめ定められた個数、例えば5個の記号値に変換す
る。図2中の「年齢」という項目の例では、項目値のと
りうる値の範囲を例えば「20未満」「20以上30未
満」「30以上40未満」「40以上50未満」「50
以上」の5つの範囲に分割し、5つのカテゴリに分類す
ることになる。この分類の方法には、いろいろな方法が
あるが、例えば、下記の3つの方法などがある。
In process 803, the value of the item being processed is converted into a predetermined number, for example, five symbol values. In the example of the item “age” in FIG. 2, the range of possible values of the item value is, for example, “less than 20” “20 or more and less than 30” “30 or more and less than 40” “40 or more and less than 50” “50”.
The above is divided into 5 ranges, and is classified into 5 categories. There are various methods for this classification, for example, the following three methods.

【0059】1)等範囲分割:とりうる値の範囲を等分割
する。例えば年齢の最小値が0、最大値が75とすれ
ば、0〜14、15〜29、30〜44、45〜59、
60〜75と分類する。
1) Equal range division: The range of possible values is equally divided. For example, if the minimum age value is 0 and the maximum age value is 75, 0-14, 15-29, 30-44, 45-59,
Classify as 60-75.

【0060】2)平均/標準偏差分割:年齢の値の分布の
平均と標準偏差を求め、その値を元に分割する。例えば
平均をμ、標準偏差をσとすると、μ−0.84σ、μ−0.
25σ、μ+0.25σ、μ+0.84σという値を分割点とす
る。この値は、分布が正規分布をすると仮定したとき
に、各分類に含まれる確率を等しくする値である。
2) Mean / standard deviation division: The mean and standard deviation of the age value distribution are obtained, and division is performed based on these values. For example, if the average is μ and the standard deviation is σ, μ−0.84σ, μ−0.
The values of 25σ, μ + 0.25σ, μ + 0.84σ are set as the division points. This value is a value that equalizes the probabilities included in each classification, assuming that the distribution has a normal distribution.

【0061】3)等数分割:実際の年齢の値の分布を調
べ、各分類に含まれる事例の数が等しくなるように分類
する。
3) Equal division: The distribution of actual age values is examined, and classification is performed so that the number of cases included in each classification is equal.

【0062】どの方法を用いて分類するかは、あらかじ
めデフォルトの方法を用意しておき、必要に応じてユー
ザが指定できる手段を用意しておくものとする。
As to which method to use for classification, a default method is prepared in advance, and a means that can be designated by the user is prepared as needed.

【0063】上記の方法によって分類された数値データ
は、便宜的に「カテゴリ1」「カテゴリ2」〜「カテゴ
リ5」という値を持つ記号値データに変換される。
The numerical data classified by the above method is converted into symbol value data having values of "category 1", "category 2" to "category 5" for convenience.

【0064】処理804では、結論項目として指定され
た項目以外の項目中の任意の2つの項目の組からなるす
べての組み合わせについて、2つの項目間の類似度尺度
をすべて計算する。類似度尺度は、次のように計算す
る。
In process 804, all the similarity measures between two items are calculated for all combinations of any two items in the items other than the item designated as the conclusion item. The similarity measure is calculated as follows.

【0065】まず、2つの項目をそれぞれX、Yとし、
そのとりうる値をxi(i=1,Nx),yj(j=1,Ny)とする。X、
Yは、もともと記号値を持つ項目であっても、上記の方
法により数値を記号値に変換した項目であってもよい。
XとYを確率変数と考えると、その間に相互情報量が定
義される。
First, let two items be X and Y, respectively.
The possible values are xi (i = 1, Nx) and yj (j = 1, Ny). X,
Y may be an item originally having a symbol value or an item obtained by converting a numerical value into a symbol value by the above method.
Considering X and Y as random variables, mutual information is defined between them.

【0066】相互情報量に関しては、多くの情報理論の
教科書に解説されている。相互情報量とは、例えばX=
xiという情報が与えられたときに、Yの値の発生する確
率分布が持つ情報量がどう変化するかに関係した量であ
り、いわばXとYの間の関連度を示す量である。相互情
報量I(X;Y)は、次の式で定義される。 I(X;Y)=ΣiΣj P(xi,yj)log[P(xi,yj)/P(xi)P(yj)] (1)
The mutual information amount is explained in many textbooks of information theory. The mutual information is, for example, X =
It is an amount related to how the information amount of the probability distribution of the value of Y changes when the information xi is given, that is, an amount indicating the degree of association between X and Y. The mutual information amount I (X; Y) is defined by the following equation. I (X; Y) = ΣiΣj P (xi, yj) log [P (xi, yj) / P (xi) P (yj)] (1)

【0067】ここで、Σiは添字iに関する和、P(xi)は
X=xiとなる確率、P(xi,yj)はX=xi、Y=yjとなる
確率を表す。確率はデータ中のレコードの出現頻度から
計算するものとし、例えば、P(xi)=N(xi)/N、Nは
全レコード数、N(xi)はX=xiとなるレコード数とす
る。
Here, Σi represents the sum of the subscript i, P (xi) represents the probability that X = xi, and P (xi, yj) represents the probability that X = xi and Y = yj. The probability is calculated from the frequency of appearance of records in the data. For example, P (xi) = N (xi) / N, N is the total number of records, and N (xi) is the number of records where X = xi.

【0068】I(X;Y)≧0という性質があり、I
(X;Y)の値が大きければ大きいほどXとYの間には関
連があることを示しているとみなせる。極端な場合、X
とYが全く独立の場合には、P(xi,yj)=P(xi)P(yj)
となり、I(X;Y)=0となる。
There is a property that I (X; Y) ≧ 0.
It can be considered that the larger the value of (X; Y), the more the relationship between X and Y is shown. In extreme cases, X
And Y are completely independent, P (xi, yj) = P (xi) P (yj)
And I (X; Y) = 0.

【0069】この性質から、項目Xと項目Yの類似度尺
度D(X;Y)を、次の式で定義することができる。 D(X;Y)=1/I(X;Y) (2) ただし、I(X;Y)=0のときは、Dの値は非常に大き
な固定値をとるものと約束しておく。
From this property, the similarity measure D (X; Y) between the item X and the item Y can be defined by the following formula. D (X; Y) = 1 / I (X; Y) (2) However, when I (X; Y) = 0, it is promised that the value of D will be a very large fixed value.

【0070】処理805では、処理804で結論項目以
外のすべての項目の組み合わせごとに計算した類似度尺
度Dを基準にして、結論項目以外の項目をクラスタリン
グする。すなわち、D(X;Y)を項目Xと項目Yの距離
とみなし、全ての項目間の距離に基づいて、距離の近い
項目をまとめあげ、いくつかのクラスタとして分類す
る。
In process 805, items other than the conclusion items are clustered on the basis of the similarity scale D calculated for each combination of all items other than the conclusion items in process 804. That is, D (X; Y) is regarded as the distance between the item X and the item Y, and items with close distances are put together based on the distances between all items and classified as some clusters.

【0071】クラスタリングの方法には様々なアルゴリ
ズムが知られており、その詳細は一般的な統計学の教科
書・文献に述べられているので、ここでは説明を省略す
る。例えば、k-means法と呼ばれる方法を用いるものす
る。これによって、条件項目の候補となる項目の内、お
互いに類似度(関連度)の高い項目を一つのクラスタに
まとめあげることができる。
Various algorithms are known for the clustering method, and the details thereof are described in general statistical textbooks and literatures, and therefore the description thereof is omitted here. For example, a method called k-means method is used. As a result, among items that are candidates for condition items, items having a high degree of similarity (relevance) to each other can be put together in one cluster.

【0072】多くのアルゴリズムではクラスタ数をあら
かじめ指定するが、ここではデフォルト値として全デー
タの項目数の1/10をクラスタ数とするものとする。
すなわち、図2の分析対象データの項目数が62項目の
場合には、62÷10=6(切り捨て)個のクラスタを
生成するものとする。もちろん必要に応じてユーザがク
ラスタ数を直接指定する手段も用意しておくものとす
る。
In many algorithms, the number of clusters is designated in advance. Here, it is assumed that the default value is 1/10 of the number of items of all data as the number of clusters.
That is, when the number of items of the analysis target data in FIG. 2 is 62, 62/10 = 6 (truncated) clusters are generated. Of course, a means for the user to directly specify the number of clusters should be prepared if necessary.

【0073】処理806では、結論項目とそれ以外の項
目の組み合わせに関して、依存度尺度を計算する。依存
度尺度は、例えば処理804で説明した相互情報量I
(X;Y)を用いることができる。
In process 806, a dependency measure is calculated for the combination of the conclusion item and the other items. The dependency measure is, for example, the mutual information I described in the processing 804.
(X; Y) can be used.

【0074】処理807では、処理805で分類された
クラスタについて、それぞれのクラスタに属する項目の
中で最も結論項目との依存度尺度が大きな項目を選択
し、それらの項目を条件項目として採用する。
In process 807, for the clusters classified in process 805, items having the largest dependency scale with the conclusion item among the items belonging to each cluster are selected, and those items are adopted as condition items.

【0075】以上、図8の処理により、数値・記号値を
もつ項目が混在したデータから、結論項目との関連度が
最も高く(依存度が大きい)、かつ条件項目間の関連度
をできるだけ低く(独立性を大きく)した条件項目を自
動的に選択することが可能になる。これによって、以下
の処理で生成されるルールの高精度化が図れ、かつ類似
の条件項目を使用しないので、ルール間の独立性を高め
ることができるので、生成ルールの可読性/有用性を高
めることができるという効果がある。
As described above, according to the processing of FIG. 8, the degree of relevance to the conclusion item is the highest (the degree of dependence is high) and the degree of relevance between the condition items is as low as possible from the data in which the items having numerical values / symbol values are mixed. It becomes possible to automatically select the condition item (greater independence). As a result, the accuracy of the rules generated by the following processing can be improved, and since similar condition items are not used, the independence between rules can be increased, and the readability / usefulness of the generated rules can be improved. There is an effect that can be.

【0076】処理303においては、上述の処理で条件
項目に選択された項目に対して、欠損値対策処理を実行
する。欠損値対策処理は、次のステップを条件項目に選
択された各項目に対して行う。
In process 303, the missing value countermeasure process is executed for the item selected as the condition item in the above process. In the missing value countermeasure process, the following steps are performed for each item selected as the condition item.

【0077】ステップ1:選択中の項目に対し、欠損値
データが含まれるかどうかを調べる。欠損値データは、
特別な数値(例えば負の最大値)または記号値(例えば
空の文字列)で表現されているものとする。欠損値が含
まれていなければ、処理を終了する。
Step 1: It is checked whether or not missing value data is included in the selected item. The missing value data is
It shall be represented by a special numerical value (eg negative maximum value) or symbolic value (eg empty string). If no missing value is included, the process ends.

【0078】ステップ2:選択中の項目の値が欠損値か
欠損値以外かという分類をしたときの、結論項目Zとの
相互情報量I(X;Z)を求める。Xは、選択中の項目の
値が欠損値か欠損値以外かという値を持つ確率変数であ
る。
Step 2: The mutual information amount I (X; Z) with the conclusion item Z when the value of the selected item is classified as a missing value or a value other than the missing value is obtained. X is a random variable having a value indicating whether the value of the item being selected is a missing value or a value other than the missing value.

【0079】ステップ3:ステップ2で求めた相互情報
量I(X;Z)があらかじめ定められたしきい値Ithより
も大きな場合には、欠損値であるかないかということと
結論項目とが所定の程度以上に関連しているということ
だから、選択中の項目の欠損値を新しい記号値として追
加する。
Step 3: When the mutual information amount I (X; Z) obtained in step 2 is larger than a predetermined threshold value Ith, whether the value is a missing value or not and a conclusion item are predetermined. Since it is related to more than the degree of, the missing value of the selected item is added as a new symbol value.

【0080】以上の処理により、欠損値であること自身
に意味があるとステップ3で判断された場合には、「欠
損値」という特別の記号値がその項目に追加され、後述
のルール生成にその記号値を使用することができるよう
になる。それ以外の場合には、その項目の欠損値は、後
述するルール生成処理では一切無視される(どの記号値
にも属さず、生成ルールにも決して現れることがない)
特別な値として扱われる。
By the above processing, when it is determined in step 3 that the missing value is meaningful, the special symbol value "missing value" is added to the item and the rule generation described later is performed. You will be able to use the symbolic value. In other cases, the missing value of the item is ignored in the rule generation processing described later (it does not belong to any symbol value and never appears in the generation rule).
Treated as a special value.

【0081】図3の処理303における数値→記号値変
換処理は以下のように行う。
The numerical value → symbol value conversion process in the process 303 of FIG. 3 is performed as follows.

【0082】図9は、数値→記号値変換方法の一覧表示
である。ユーザは、表示装置上の図9のような表示を参
照して、マウスなどを用いて各項目について変換方法を
指定する。
FIG. 9 is a list display of numerical value → symbol value conversion methods. The user refers to the display as shown in FIG. 9 on the display device and specifies the conversion method for each item using the mouse or the like.

【0083】図9において、項目名表示欄901には、
本来数値属性をもち、記号値に変換される項目の名称が
表示される。記号数表示欄902には、記号値に変換し
た後の異なる記号の数が表示される。記号名称表示欄9
03には、記号値の名称が表示される。
In FIG. 9, in the item name display field 901,
The name of the item that originally has a numeric attribute and is converted to a symbol value is displayed. The symbol number display field 902 displays the number of different symbols after conversion into symbol values. Symbol name display column 9
In 03, the name of the symbol value is displayed.

【0084】図9の例では、年齢は20未満、20代、
…、預金残高は少ない、ふつう、多い、ローン残高は小
さい、中くらい、…、とそれぞれ異なる記号値が割り当
てられている。変換方法表示欄904には、図8の処理
803で説明した数値→記号値変換方法が表示される。
図9の例で、年齢に対応する変換方法がユーザ指定とな
っているが、このユーザ指定とは、ユーザが分割方法を
直接指定したことを示している。
In the example of FIG. 9, the age is less than 20, the twenties,
Different symbol values are assigned, such as: deposit balance is small, normal, large, loan balance is small, medium, and so on. In the conversion method display field 904, the numerical value → symbol value conversion method described in the processing 803 of FIG. 8 is displayed.
In the example of FIG. 9, the conversion method corresponding to the age is designated by the user, and this user designation indicates that the user directly designated the division method.

【0085】各項目に対する記号値変換方法の指定が終
了した後、ボタン906をクリックすることで変換方法
指定処理が終了し、ボタン907をクリックすることで
それまでの指定内容が破棄される。ボタン905をクリ
ックすると、図8の処理803でも説明したようにデフ
ォルトの記号値変換方法で全ての項目の変換方法をリセ
ットする。
After the designation of the symbol value conversion method for each item is completed, the conversion method specification process is completed by clicking the button 906, and the specification contents up to that point are discarded by clicking the button 907. When the button 905 is clicked, the conversion method of all items is reset by the default symbol value conversion method as described in the processing 803 of FIG.

【0086】各項目毎に変換方法を指定するには、欄9
01の項目名の部分をダブルクリックする。これによ
り、図10の変換方法指定画面が表示され、当該項目の
変換方法を指定することができるようになる。
To specify the conversion method for each item, use the column 9
Double-click the 01 item name. As a result, the conversion method designation screen of FIG. 10 is displayed, and the conversion method of the item can be designated.

【0087】図10において、オプションボタン100
1は、選択中の項目の記号値変換方法として、等数分割
・等範囲分割・平均/標準偏差分割・ユーザ指定分割の
どの方法を用いるか、およびそれぞれの分割方法をクリ
スプ的に行うかファジィ的に行うかを指定する。
In FIG. 10, the option button 100
1 is a method of converting the symbolic value of the selected item such as even number division, equal range division, average / standard deviation division, and user specified division, and whether each division method is performed in a crisp manner. Specify whether to do it manually.

【0088】テキストボックス1002には、記号値に
変換する際の記号数を入力する。
In the text box 1002, the number of symbols to be converted into a symbol value is input.

【0089】記号名称表示欄1003には、現在の記号
名称が表示されている。ユーザが、この記号名称を変更
したい場合には、直接、欄1003の該当領域をクリッ
クすることにより記号名称を入力することができる。こ
れは、各記号値の最小値表示欄1004および最大値表
示欄1005に関しても同様である。ただし、最小値ま
たは最大値を直接ユーザが変更した場合には、オプショ
ンボタン1001は自動的にユーザ指定分割方法を指定
した状態に変化するものとする。
The current symbol name is displayed in the symbol name display field 1003. When the user wants to change the symbol name, he / she can directly input the symbol name by clicking the corresponding area of the column 1003. The same applies to the minimum value display column 1004 and the maximum value display column 1005 of each symbol value. However, when the user directly changes the minimum value or the maximum value, the option button 1001 automatically changes to a state in which the user-specified division method is specified.

【0090】欄1004または欄1005の値が変更さ
れると、レコード数表示欄1006の内容もそれに応じ
て自動的に変更される。これは、メモリ中に記憶されて
いるデータを用い、それぞれの記号値に対応するレコー
ドが何件あるかをカウントすることによって行う。
When the value of the column 1004 or the column 1005 is changed, the content of the record number display column 1006 is automatically changed accordingly. This is done by using the data stored in the memory and counting the number of records corresponding to each symbol value.

【0091】オプションボタン1001のうちクリスプ
分割またはファジィ分割のいずれかを指定することによ
って、欄1004および欄1005で表示される最小値
/最大値の範囲で記号値変換処理をクリスプ的に行うか
ファジィ的に行うかを指定できる。ファジィ的に行うこ
とにより、記号値変換によって失われる情報量を最小限
にし、生成されるルールの精度を向上することができ
る。以下、この処理について説明する。
By specifying either crisp division or fuzzy division among the option buttons 1001, whether the symbol value conversion processing is performed in a crisp or fuzzy manner within the range of the minimum / maximum values displayed in the columns 1004 and 1005. Can be specified. By performing the method in a fuzzy manner, the amount of information lost by the symbol value conversion can be minimized and the accuracy of the generated rule can be improved. Hereinafter, this process will be described.

【0092】ファジィ的な分割をする際にも、各記号値
の値の範囲は図10の欄1004および欄1005には
最小値/最大値として表示されるが、それをファジィと
して解釈する。図11は、このようなファジィ的分割を
図10のローン残高の記号値変換の例で説明する図であ
る。
Even when the fuzzy division is performed, the value range of each symbol value is displayed as the minimum value / maximum value in the columns 1004 and 1005 of FIG. 10, but it is interpreted as fuzzy. FIG. 11 is a diagram for explaining such fuzzy division using the example of symbol value conversion of the loan balance of FIG.

【0093】図11の横軸はローン残高の数値を万円単
位で表示し、縦軸は「小さい」「中くらい」「大きい」
という(ファジィ)記号値の適合度を表す。「小さい」
という記号値にはメンバシップ関数1101が、「中く
らい」にはメンバシップ関数1102、「大きい」には
メンバシップ関数1103が対応する。メンバシップ関
数の形状は、傾きの絶対値が一定、各記号値の分割点
(図では、「小さい」「中くらい」の分割点である50
0、「中くらい」「大きい」の分割点である1000の
2カ所)でそれぞれのメンバシップ関数値が0.5にな
り、かつどのような値に対しても0以外の値をもつメン
バシップ関数は高々2個であり、かつメンバシップ関数
値の和が1.0になるように設定することができる。
The horizontal axis of FIG. 11 shows the value of the loan balance in units of 10,000 yen, and the vertical axes are "small", "medium" and "large".
Represents the goodness of fit of the (fuzzy) symbolic value. "small"
The membership function 1101 corresponds to the symbol value of, the membership function 1102 corresponds to “medium”, and the membership function 1103 corresponds to “large”. The shape of the membership function is such that the absolute value of the slope is constant and the dividing points of each symbol value (in the figure, the dividing points are “small” and “medium”).
Membership function value becomes 0.5 at each of 0, "medium" and "large" dividing points of 1000), and a membership function having a value other than 0 for any value is The number is at most two, and the sum of membership function values can be set to 1.0.

【0094】例えば図11で、「ローン残高=600
(万円)」という数値は、「中くらい」という記号値に
対してが0.8、「大きい」という記号値に対して0.2とい
うメンバシップ値を持つことになる。すなわち、「ロー
ン残高=600」という値をもつレコードは、「ローン
残高」が「中くらい」というレコードが0.8個分、「大
きい」というレコードが0.2個分の2つに分割されたよ
うに振る舞うものとみなすことができる。
For example, in FIG. 11, "loan balance = 600
The numerical value "(10,000 yen)" has a membership value of 0.8 for the symbol value of "medium" and 0.2 for the symbol value of "large". In other words, a record having a value of “loan balance = 600” behaves as if the record of “loan balance” is divided into 0.8 records for “medium” and 0.2 records for “large”. Can be regarded as a thing.

【0095】このようなファジィ分割の場合には、図1
0の欄1006に表示されるレコード数も、それぞれの
メンバシップ値の合計と考えることができ、一般に実数
の値をとることになる。
In the case of such fuzzy division, as shown in FIG.
The number of records displayed in the 0 column 1006 can also be considered as the sum of the membership values, and generally takes a real value.

【0096】次に、図3の処理304におけるルール生
成パラメータ算出処理を説明する。ルール生成処理を制
御するパラメータとしては、次の5種類のパラメータを
考える。 ・生成ルール数 ・全体カバー率 ・最大条件節数 ・最小カバー率 ・カバー率優先係数
Next, the rule generation parameter calculation processing in the processing 304 of FIG. 3 will be described. The following five types of parameters are considered as parameters for controlling the rule generation process.・ Number of generated rules ・ Overall coverage rate ・ Maximum number of clauses ・ Minimum coverage rate ・ Coverage priority coefficient

【0097】生成ルール数は、ルール生成処理で生成す
べきルール数を指定するパラメータである。デフォルト
値は、使用する条件項目数Nから次の関係式にしたがっ
て定める。
The number of generated rules is a parameter that specifies the number of rules to be generated in the rule generation processing. The default value is determined according to the following relational expression from the number N of condition items to be used.

【0098】(生成ルール数のデフォルト値)=N *
(最大条件節数) これは、一般的に条件項目数が多くなればデータの特徴
を説明するために生成すべきルール数も増えることを反
映させたものである。
(Default value of number of generation rules) = N *
(Maximum number of conditional clauses) This reflects that generally, the greater the number of conditional items, the greater the number of rules that should be generated to explain the characteristics of data.

【0099】カバー率とは、あるルールの条件部を満た
す事例の数の、全体の事例数に対する割合と定義する。
全体カバー率は、生成したルールに対して、少なくとも
1つのルールの条件部を満たす事例の数の、全体の事例
数に対する割合を指定するパラメータである。生成する
ルール数を大きくすれば全体カバー率は大きくなるとい
う関係がある。全体カバー率に対してはデフォルト値は
用意しない(すなわちユーザの明示的な指定によっての
み値を設定できる)。
The coverage is defined as the ratio of the number of cases satisfying the condition part of a rule to the total number of cases.
The overall coverage ratio is a parameter that specifies the ratio of the number of cases that satisfy the condition part of at least one rule to the total number of cases in the generated rules. The larger the number of generated rules, the larger the overall coverage. No default value is prepared for the overall coverage (that is, the value can be set only by the explicit specification of the user).

【0100】最大条件節数は、ルールの条件部に含まれ
る述語数の最大値を指定するパラメータである。例え
ば、最大条件節数3に指定した場合、 もし、X1がA1 かつ X2がA2 かつ X3がA3 ならば
ZはB というルールは生成されうるが、さらに「〜 かつ X4
がA4 ならば 〜」というルールは(条件節数が4とな
るので)生成されないことになる。デフォルト値は3と
する。
The maximum number of conditional clauses is a parameter that specifies the maximum value of the number of predicates included in the conditional part of the rule. For example, if you specify the maximum number of conditional clauses is 3, if X1 is A1 and X2 is A2 and X3 is A3.
Z can generate a rule called B, but in addition, "~ and X4
If is A4, the rule "~" will not be generated (because the number of conditional clauses is 4). The default value is 3.

【0101】最小カバー率は、生成されるルールのカバ
ー率の最小値を指定するパラメータで、ここで指定され
た値以下のカバー率をもつルールは、特殊なルールとし
て生成されない。最小カバー率のデフォルト値は、10
0/(生成ルール数)(単位パーセント)とする。これ
は、一般的に生成ルール数が多いほど細かなルールでも
必要とされることを考慮したものである。
The minimum coverage ratio is a parameter for designating the minimum value of the coverage ratio of the generated rule, and the rule having the coverage ratio less than the value specified here is not generated as a special rule. The default minimum coverage is 10
0 / (number of generation rules) (percentage). This is because in general, the larger the number of generated rules, the more detailed rules are required.

【0102】カバー率優先係数は、ルールに対する評価
尺度におけるカバー率と精度の関係を指定するもので、
詳細は後述のルール生成処理において説明する。デフォ
ルト値は1.0(カバー率を最大限に優先)とする。
The coverage ratio priority coefficient specifies the relationship between the coverage ratio and accuracy in the evaluation scale for the rule.
Details will be described in the rule generation processing described later. The default value is 1.0 (coverage has the highest priority).

【0103】図3の処理305では、処理304で算出
したルール生成パラメータを表示装置に表示し、必要に
応じてユーザが修正できるようにする。図12に、表示
画面例を示す。
In process 305 of FIG. 3, the rule generation parameter calculated in process 304 is displayed on the display device so that the user can modify it as necessary. FIG. 12 shows an example of the display screen.

【0104】テキストボックス1201〜1205に
は、図3の処理304で算出されたルール生成パラメー
タの値が表示される。図の例では、生成ルール数=2
4、全体カバー率=指定なし、最大条件節数=3、最小
カバー率=4%、カバー率優先係数=1.0である。
In the text boxes 1201 to 1205, the value of the rule generation parameter calculated in the process 304 of FIG. 3 is displayed. In the example of the figure, the number of generation rules = 2
4, overall coverage ratio = not specified, maximum condition clause number = 3, minimum coverage ratio = 4%, coverage ratio priority coefficient = 1.0.

【0105】ユーザは、テキストボックスを直接クリッ
クすることで表示されたパラメータの値を入力すること
ができる。図12の表示画面には、分析対象となるデー
タの他の情報(データファイル名、レコード数、条件項
目数、結論項目とその記号値)が表示領域1206に表
示されているので、ユーザはこれらの情報を参考にしな
がらルール生成パラメータの値を修正することが可能で
ある。
The user can input the value of the displayed parameter by directly clicking the text box. On the display screen of FIG. 12, other information of the data to be analyzed (data file name, number of records, number of condition items, conclusion item and its symbol value) is displayed in the display area 1206. It is possible to correct the value of the rule generation parameter while referring to the information of.

【0106】パラメータの修正後、ボタン1207をク
リックすることにより修正した値が有効になり、ボタン
1208がクリックされると修正した値は破棄される。
After the parameter is modified, the button 1207 is clicked to make the modified value effective, and when the button 1208 is clicked, the modified value is discarded.

【0107】図3の処理306では、処理304および
処理305で指定されたルール生成パラメータにしたが
ってルール生成処理を実行する。
In the process 306 of FIG. 3, the rule generation process is executed according to the rule generation parameters designated in the processes 304 and 305.

【0108】ルール生成処理では次の形式のルールを生
成する。 ・もし X1 が A1 かつ X2 が A2 かつ …
かつ Xn が Anならば Y が B ここで、Xiはそれぞれ条件項目名称、Aiは項目Xiの
記号値の名称である。同様に、Yは結論項目名称、Bは
項目Yの記号値の名称である。
In the rule generation processing, rules of the following format are generated.・ If X1 is A1 and X2 is A2 and ...
If Xn is An, then Y is B. Here, Xi is the condition item name, and Ai is the symbol value name of the item Xi. Similarly, Y is the conclusion item name, and B is the symbolic value name of the item Y.

【0109】「XiがAi」という組を条件節と呼ぶ。上
記のルールは、条件節をn個もつルールの例である。条
件節全体を条件部とよぶ。また「YがB」を結論節と呼
ぶ。本実施例では結論部は1つの結論節からなるものと
しておく。
The set "Xi is Ai" is called a conditional clause. The above rule is an example of a rule having n conditional clauses. The entire conditional clause is called the conditional part. Moreover, "Y is B" is called a conclusion clause. In this embodiment, the conclusion section is made up of one conclusion clause.

【0110】ルールには、評価尺度と呼ばれる実数値を
割り当てる。評価尺度の大きなルールほど、ルールとし
ての価値が高いものとみなす。
A real value called an evaluation scale is assigned to the rule. A rule with a larger evaluation scale is considered to be more valuable as a rule.

【0111】図3の処理306では、条件節と結論節の
組み合わせの中から、ルール評価尺度の大きなルールを
選び出すという処理を実行する。これにより、価値が高
いルールを選ぶことができる。
In the process 306 of FIG. 3, a process of selecting a rule having a large rule evaluation scale from the combination of the conditional clause and the conclusion clause is executed. This makes it possible to select rules with high value.

【0112】本実施例において、「もし A ならば
B」というルールの評価尺度μ(A→B)は次式のよう
に定義される。 μ(A→B)=P(A)∧β * log[P(B|A)/P(B)] (3)
In this embodiment, "if A, then
The evaluation scale μ (A → B) of the rule “B” is defined by the following equation. μ (A → B) = P (A) ∧β * log [P (B | A) / P (B)] (3)

【0113】ここで a∧b はaのb乗を意味する。P
(A)は分析対象とするデータの中で条件部Aが満足さ
れる確率、すなわち事例全体の中でAという条件を満た
す事例の割合、を表す。同様に、P(B)は結論部Bが
満足される確率、P(B|A)はAという条件を満たす
という前提で結論部Bが満足される確率を表す。βは図
3の処理304で説明したカバー率優先係数である。式
(3)を事例の数で書き直すと、P(B|A)=P(A
&B)/P(A)であることから、 μ(A→B)=[N(A)/N]∧β * log[N・N(A&B)/N(A)N(B)] (4) となる。
Here, a∧b means a to the b-th power. P
(A) represents the probability that the condition part A is satisfied in the data to be analyzed, that is, the proportion of cases satisfying the condition A in all cases. Similarly, P (B) represents the probability that the conclusion part B is satisfied, and P (B | A) represents the probability that the conclusion part B is satisfied on the assumption that the condition A is satisfied. β is the cover ratio priority coefficient described in the process 304 of FIG. Rewriting equation (3) with the number of cases, P (B | A) = P (A
& B) / P (A), μ (A → B) = [N (A) / N] ∧β * log [N ・ N (A & B) / N (A) N (B)] (4 ).

【0114】ただし、 N: 全体の事例数 N(A): 条件部Aを満たす事例の数 N(B): 結論部Bを満たす事例の数 N(A&B): 条件部Aと結論部Bを同時に満たす事例の数 である。However, N: Total number of cases N (A): Number of cases that satisfy the condition part A N (B): Number of cases that satisfy conclusion B N (A & B): Number of cases that simultaneously satisfy the condition part A and the conclusion part B Is.

【0115】式(4) の定義の第一因子はルールのカバー
率のβ乗であり、第二因子は精度に対応する。すなわ
ち、カバー率が大きく(できるだけ広い範囲の事例を説
明し)、かつ精度がよい(ルール全体が成立する確率が
大きい)ほど、高い評価尺度をもつことになる。一般に
は広い範囲をカバーするほど精度は低下する傾向にある
ので、これら2つの因子は互いに背反する傾向にある。
ルール生成パラメータの一つであるカバー率優先係数β
は、評価尺度のなかでどの程度カバー率を重視するかを
決めるもので、β=1.0 の時にはカバー率を最も優先し
て考慮し、β=0.0 の時にはカバー率は考慮せず精度だ
けを考慮してルールを評価することになる。
The first factor in the definition of equation (4) is the β power of the rule coverage, and the second factor corresponds to the accuracy. That is, the larger the coverage rate (explaining as wide a range of cases as possible) and the better the accuracy (the greater the probability that the entire rule will hold), the higher the evaluation scale. In general, the accuracy tends to decrease as a wide range is covered, so these two factors tend to conflict with each other.
Coverage priority coefficient β, which is one of the rule generation parameters
Determines how much importance is placed on the coverage ratio in the evaluation scale. When β = 1.0, the coverage ratio is given the highest priority, and when β = 0.0, the coverage ratio is not considered and only the accuracy is considered. And evaluate the rules.

【0116】もちろんここで定義したルール評価尺度
は、あくまでも1つの候補であり、いくつかの評価尺度
の定義を追加すること、またそれらの定義をユーザオプ
ションとして切り替えて使用すること、などが可能であ
る。
Of course, the rule evaluation scale defined here is just one candidate, and it is possible to add the definitions of several evaluation scales, switch those definitions as user options, and use them. is there.

【0117】ルール生成処理では、式(4)で定義したル
ール評価尺度の大きなルールから指定された個数のルー
ルを生成する。探索すべき空間は、すべての可能な条件
節の組み合わせになる。
In the rule generation processing, a specified number of rules are generated from the rules having a large rule evaluation scale defined by the equation (4). The space to search is a combination of all possible conditional clauses.

【0118】条件項目10個、それぞれの記号数3程度
の問題でも、この探索空間は膨大な広さになる(およそ
30の10乗のオーダ)ため、全数探索を現実的な時間
で実行することは不可能である。したがって、以下に説
明する方法を用いて、探索範囲の制限と枝刈りにより探
索を効率化する。
Even with the problem of 10 condition items and the number of symbols of each is about 3, since this search space is enormous in size (on the order of about 30 to the 10th power), it is necessary to execute the exhaustive search in a realistic time. Is impossible. Therefore, the method described below is used to increase the efficiency of the search by limiting the search range and pruning.

【0119】まず、最大条件節数と最小カバー率を用い
てルール探索範囲が制限できる。
First, the rule search range can be limited by using the maximum number of conditional clauses and the minimum coverage rate.

【0120】これらの制限後の空間での探索方法とし
て、本実施例では深さ優先探索法を用いる。
As a search method in the space after these restrictions, the depth-first search method is used in this embodiment.

【0121】図13に、探索空間のイメージを示す。基
本的には条件節述語の組み合わせであるから、木構造の
探索手法が使える。
FIG. 13 shows an image of the search space. Since it is basically a combination of conditional clause predicates, a tree structure search method can be used.

【0122】図13において、例えば、ノード1301
に対応するルールは、if X1 isA then …であり、
ノード1302に対応するルールは、if X1 is A a
ndX2 is B then …である。すなわち、子ノードに
対応するルールの条件節は、親ノードに対応するルール
の条件節に1つ述語を追加したものになる。各ノードの
近傍に付された数値は、当該ノードに対応するルールの
条件節の述語を示すものとする。例えば、ノード130
1の近傍には{1} と記載されているが、これは対応する
ルール中の述語「X1 is A」を示している。また、ノ
ード1302の近傍には{12}と記載されているが、これ
は対応するルール中の述語「X1 isA and X2 is
B」を示している。
In FIG. 13, for example, the node 1301
The rule corresponding to is if X1 isA then…,
The rule corresponding to the node 1302 is if X1 is A a
ndX2 is B then…. That is, the conditional clause of the rule corresponding to the child node is the conditional clause of the rule corresponding to the parent node plus one predicate. The numerical value attached to the vicinity of each node indicates the predicate of the conditional clause of the rule corresponding to the node. For example, node 130
In the vicinity of 1, {1} is written, which indicates the predicate "X1 is A" in the corresponding rule. Also, {12} is written near the node 1302, which means that the predicate “X1 isA and X2 is” in the corresponding rule.
B ”is shown.

【0123】図13では、最大条件節述語数3の場合を
示した。木の高さ(ルートから終端ノードまでの最大リ
ンク数)は最大条件節述語数になる。
FIG. 13 shows the case where the maximum number of conditional clause predicates is three. The height of the tree (the maximum number of links from the root to the terminal node) is the maximum number of conditional clause predicates.

【0124】条件節に現れる述語の順序には意味がない
ので、例えばノード1303の子ノードは{21}でなく、
{23}から始まっていることに注意しておく。また1つの
条件節に、同じ条件項目で異なる記号値をもつ2つの述
語は含まれない。親ノードの条件節に1つ述語を追加し
て子ノードを生成する時には、この条件を考慮しておく
必要がある。
Since the order of the predicates appearing in the conditional clause has no meaning, for example, the child node of the node 1303 is not {21},
Note that it starts at {23}. Further, one conditional clause does not include two predicates having different symbol values in the same condition item. It is necessary to take this condition into consideration when adding a predicate to the conditional clause of the parent node to generate a child node.

【0125】深さ優先探索では、図13に示すすべての
ノードを次の順序で生成し、評価する。 1→12→123→124→…→12n→13→134→135→……→(n-
2)(n-1)n→(n-1)→(n-1)n→n
In the depth-first search, all the nodes shown in FIG. 13 are generated and evaluated in the following order. 1 → 12 → 123 → 124 →… → 12n → 13 → 134 → 135 → …… → (n-
2) (n-1) n → (n-1) → (n-1) n → n

【0126】深さ優先探索の場合は、常にそれまでで評
価尺度の最も大きなルールN個(Nは生成ルール数)を
保持しながら上記の順序で候補ルールを調べていけばよ
い。
In the case of the depth-first search, the candidate rules may always be searched in the above order while holding N rules (N is the number of generated rules) having the largest evaluation scale until then.

【0127】次に、上述したルールの探索を高速化する
ための枝刈り方法について説明する。図13のノード数
は前述の例で30の3乗程度であるから、直接全数探索
することも不可能ではないが、数10〜数100万件のデー
タを対象にすること、項目数も100程度になる場合も
少なくないことから、できるだけ効率のよい探索方法を
採用する必要がある。
Next, a pruning method for speeding up the above rule search will be described. Since the number of nodes in FIG. 13 is about the cube of 30 in the above example, it is not impossible to directly perform an exhaustive search, but several tens to several millions of data are targeted, and the number of items is 100. Since there are quite a few cases, it is necessary to adopt a search method that is as efficient as possible.

【0128】効率向上の基本的な考え方は「枝刈り」で
ある。すなわち、ある中間ノードでの状態を評価するこ
とによって、その子ノードの評価をせずにすませること
である。本実施例におけるルール生成処理の場合、カバ
ー率による枝刈りとルール評価尺度による枝刈りを行
う。
The basic idea of efficiency improvement is “pruning”. That is, by evaluating the state at a certain intermediate node, the evaluation of the child node can be skipped. In the case of the rule generation processing in the present embodiment, pruning based on the coverage ratio and pruning based on the rule evaluation measure are performed.

【0129】カバー率による枝刈り方法の基本的な考え
方は、あるノードに対応するルールを生成した時、その
ルールのカバー率がユーザ指定のカバー率下限を下回っ
た場合には、そのノードおよびすべての子ノードを探索
する必要がない、ということである。子ノードに対応す
るルールの条件節は親ノードに対応するルールの条件節
に1つ述語を追加したものになるから、親ノードのルー
ルのカバー率が下限を下回ったときは、子ノードのルー
ルのカバー率も必ずその下限を下回ることになる。
The basic idea of the pruning method based on the coverage ratio is that when a rule corresponding to a node is generated and the coverage ratio of the rule is below a user-specified lower limit of the coverage ratio, that node and all This means that it is not necessary to search the child nodes of. Since the conditional clause of the rule corresponding to the child node is the conditional clause of the rule corresponding to the parent node plus one predicate, if the rule coverage of the parent node falls below the lower limit, the rule of the child node The coverage of will always fall below the lower limit.

【0130】ルール評価尺度による枝刈りについて説明
する。探索においてN個のルールを生成する場合、探索
のある時点でのN番目の候補ルールの評価尺度をμthと
する。枝刈りの基本的な考え方は、あるノードをルート
とする部分木におけるルール評価尺度の最大値を求め、
その値がμthよりも小さな場合には部分木のノードは生
成しない、ということである。ここで、いかに部分木に
含まれるノードの評価尺度の最大値を推定するかが、枝
刈りの効率を決める重要な因子になる。
Pruning by the rule evaluation scale will be described. When N rules are generated in the search, the evaluation measure of the Nth candidate rule at a certain point in the search is μth. The basic idea of pruning is to find the maximum value of the rule evaluation scale in a subtree rooted at a node,
If the value is smaller than μth, the subtree node is not generated. Here, how to estimate the maximum value of the evaluation scale of the nodes included in the subtree is an important factor that determines the pruning efficiency.

【0131】以下、この評価方法について説明する。簡
単のため、カバー率優先係数β=1.0の場合で説明する。
一般の値の場合での拡張は容易にできるので、ここでは
省略する。
The evaluation method will be described below. For simplification, the case where the coverage ratio priority coefficient β = 1.0 will be described.
Since it can be easily expanded in the case of general values, it is omitted here.

【0132】あるノードにおけるルールを「もしAなら
ばB」とすると、その評価尺度は次式で定義される。 μ(A→B)=[N(A)/N] * log[N・N(A&B)/N(A)N(B)] (5)
Assuming that the rule at a node is “if A, then B”, the evaluation scale is defined by the following equation. μ (A → B) = [N (A) / N] * log [N ・ N (A & B) / N (A) N (B)] (5)

【0133】条件節Aにいくつかの述語を追加した条件
節をA'とすると、μ(A'→B)の最大値は N(A')=N
(A&Bi) のときに限られる。なぜなら、上式でN、N(B)
は定数とみなしてよく、また上式はN(A&B)に関して単調
増加であるから、N(A&B)も定数とみなしてよい(すなわ
ち、精度をあえて下げるようなルールは決して評価尺度
を最大にしない)。したがって、式(5)は下記のように
書くことができ、この式について、N(A&B)≦N(A')≦N
(A)の範囲で、 μ(A'→B)=[N(A')/N] * log[N・N(A'&B)/N(A')N(B)] (5) の最大値を求めればよい。これは、上式をN(A')で微分
すると必ず<0になることから、N(A')=N(A&Bi)のとき
に最大値 μmax=[N(A&B)/N]*log[N/N(B)] となる。
この値がμthよりも小さければ、そのノードの子孫ノー
ドを探索する必要がない。
Letting A ′ be a conditional clause in which some predicates are added to conditional clause A, the maximum value of μ (A ′ → B) is N (A ′) = N
Limited to (A & Bi). Because in the above equation, N, N (B)
Can be regarded as a constant, and since the above formula is monotonically increasing with respect to N (A & B), N (A & B) can also be regarded as a constant (that is, rules that dare to reduce precision never maximize the evaluation scale). ). Therefore, equation (5) can be written as follows, for which N (A & B) ≤ N (A ') ≤ N
In the range of (A), μ (A '→ B) = [N (A') / N] * log [N ・ N (A '& B) / N (A') N (B)] (5) Find the maximum value. This is because when the above equation is differentiated by N (A '), it always becomes <0. Therefore, when N (A') = N (A & Bi), the maximum value μmax = [N (A & B) / N] * log [ N / N (B)].
If this value is smaller than μth, it is not necessary to search the descendant node of that node.

【0134】実際の探索においては、早い段階で評価尺
度の高いルールを見つけておくことが、効率向上の点で
有効である。早く見つければ、それだけμthの値が大き
くなり、枝刈りが実行される可能性を増やすことができ
る。
In an actual search, it is effective to find a rule having a high evaluation scale at an early stage in terms of efficiency improvement. The sooner it is found, the larger the value of μth and the more likely it is that pruning will be performed.

【0135】そのための探索戦略の一方法として、図1
3の木構造をまともに深さ優先で探索するのではなく、
まず条件節述語数1の場合をすべて調べ、条件節述語数
≧2の場合を深さ優先探索にすることが可能である。す
なわち、β>0ならばカバー率の大きなルールほど大き
な評価尺度をもつから、条件節述語数1の場合を先に調
べることで、μthの値を早く大きくすることができる。
As one method of a search strategy for that purpose, FIG.
Instead of searching the 3 tree structure with depth first,
First, it is possible to examine all cases where the number of conditional clause predicates is 1, and to perform a depth-first search when the number of conditional clause predicates ≧ 2. That is, if β> 0, a rule with a larger coverage has a larger evaluation scale. Therefore, the value of μth can be increased faster by first examining the case of the conditional clause predicate number 1.

【0136】このような探索を行うことによって、ルー
ル生成処理を高速化できるだけでなく、ルール生成処理
の途中でユーザが処理の中断を指示したときに、中間結
果として得られるルールがデータの特徴を全体として表
現したルールになる、という効果もある。
By performing such a search, not only the rule generation processing can be speeded up, but also when the user gives an instruction to interrupt the processing in the middle of the rule generation processing, the rule obtained as an intermediate result shows the characteristics of the data. There is also an effect that it becomes a rule expressed as a whole.

【0137】また、生成されたルールはユーザにとって
できるだけ理解容易なものであることが望ましい。言い
換えると、ルール評価尺度に差がなければ、条件節の述
語数は少ないほうがよい。これをルール生成に反映させ
る方法としては、「条件節述語を追加したルールの精度
は、追加する前のルールの精度よりも大きくなければな
らない」という制約を課すことにする。すなわち、条件
節述語を追加してルールを複雑にしたのだから、その分
ルールの精度は上がらなくてはならない、ということで
ある。この制約をつけ加えてルール生成を行うことによ
り、よりわかりやすく利用価値の高いルールを生成する
ことができる。
It is desirable that the generated rule be as easy as possible for the user to understand. In other words, if there is no difference in the rule evaluation scale, the number of predicates in the conditional clause should be small. As a method of reflecting this in the rule generation, the constraint that "the precision of the rule to which the conditional clause predicate is added must be greater than the precision of the rule before the addition" is imposed. In other words, since the rule was complicated by adding the conditional clause predicate, the precision of the rule must be improved accordingly. By adding a rule and generating a rule, it is possible to generate a rule that is easier to understand and has high utility value.

【0138】さらに、本実施例のルール生成処理では、
もともと記号値属性をもつ条件項目間の1対多の依存関
係を考慮してルールを生成する。例えば、図2の県コー
ドと支店コードを考える。支店コードは各支店に固有の
コードであるから、支店コードを決めれば県コードが唯
一に決まる。一つの県に複数の営業店が存在する場合に
は、逆は成立しない。このとき、県コードと支店コード
の間には1対多の関係が存在するという。
Furthermore, in the rule generation processing of this embodiment,
A rule is generated in consideration of a one-to-many dependency relationship between condition items that originally have a symbolic value attribute. For example, consider the prefecture code and branch code in FIG. Since the branch code is unique to each branch, if the branch code is decided, the prefecture code is uniquely determined. The opposite is not true when multiple sales offices exist in one prefecture. At this time, there is a one-to-many relationship between the prefecture code and the branch code.

【0139】この2つの条件項目を含むデータに対して
ルール生成を行うと、支店コードと県コードを同時に条
件節述語に含むルールが生成される可能性がある。少な
くとも、木構造の探索では候補ルールとして評価尺度が
計算される。しかし、これは全くの無駄である。支店コ
ードが条件節述語に含まれていれば、そのコードから県
コードは唯一に決まるのだから、県コードに関する条件
節述語を追加する必要はない。
If a rule is generated for data containing these two condition items, there is a possibility that a rule including a branch code and a prefecture code at the same time will be generated in the conditional clause predicate. At least in the tree structure search, the evaluation measure is calculated as a candidate rule. But this is a complete waste. If the branch code is included in the conditional clause predicate, the prefecture code is uniquely determined from that code, so there is no need to add a conditional clause predicate related to the prefecture code.

【0140】カテゴリカルデータ間の1対多の関係は、
分類概念の上下関係と見なすこともできる。すなわち、
県コードが上位の分類概念、支店コードが下位の分類概
念になる。
The one-to-many relationship between categorical data is
It can be regarded as a hierarchical relationship of classification concepts. That is,
The prefecture code is the upper classification concept, and the branch code is the lower classification concept.

【0141】この上下関係は木構造では表現できない。
支店コードの例で、さらに地方コードと支店規模コード
(大規模・中規模・小規模など)を考える。地方コード
は県コードのさらに上位の概念であるから、営業店コー
ドと地方コードの間にも上下関係が存在する。さらに、
営業店コードを指定すれば支店規模コードも決まるか
ら、ここにも上下関係が存在する。すなわち、県コード
と支店規模コードはどちらも支店コードの上位概念であ
る。逆に、1つのカテゴリカルデータが複数の下位概念
を含むこともある(例えば、県コードに対する支店コー
ドと取引先コード、など)。
This hierarchical relationship cannot be expressed by a tree structure.
As an example of a branch code, consider a local code and a branch scale code (large scale, medium scale, small scale, etc.). Since the local code is a higher-level concept of the prefecture code, there is a hierarchical relationship between the sales office code and the local code. further,
Specifying the branch code also determines the branch scale code, so there is also a hierarchical relationship here. That is, the prefecture code and the branch scale code are both superordinate concepts of the branch code. On the contrary, one categorical data may include a plurality of subordinate concepts (for example, branch code and supplier code for prefecture code, etc.).

【0142】本実施例では各条件項目に対して、その上
位概念に相当する項目のリストを作成しておく。このリ
ストは、例えば図6に示した分析対象データの定義から
自動的に作成することができる。すなわち、リレーショ
ナルデータベースにおいては各テーブルの主キーはテー
ブル内のレコードを一意的に指定できるものでなければ
ならないから、テーブル内の主キーの項目とそれ以外の
項目の間には1対多の関係が常に存在する。図6の例で
は、支店コードと県コード、支店コードと地域コードの
間に1対多の関係がある。もちろんこれらの関係は、図
3の処理303で説明した条件項目の選択時に、条件項
目間の相互情報量を算出したときに、容易に自動的に発
見することもできる。
In this embodiment, for each condition item, a list of items corresponding to its superordinate concept is created. This list can be automatically created from the definition of the analysis target data shown in FIG. 6, for example. That is, in a relational database, the primary key of each table must be able to uniquely specify a record in the table, so there is a one-to-many relationship between the primary key items in the table and other items. Always exists. In the example of FIG. 6, there is a one-to-many relationship between the branch code and the prefecture code and between the branch code and the area code. Of course, these relationships can be easily and automatically discovered when the mutual information amount between the condition items is calculated at the time of selecting the condition item described in the process 303 of FIG.

【0143】これらの上位概念リストを用いてルールの
生成時の木構造の探索を行うときには、追加すべき述語
に対応する項目の上位概念または下位概念の項目がすで
に条件節に含まれているかどうかをチェックする(直接
の上位/下位概念だけでなく、上位の上位/下位の下位
にあたる項目などもチェックする)。もし含まれていれ
ば、その項目の述語は追加の対象とはしない。
When searching the tree structure at the time of generating a rule using these superordinate concept lists, whether the superordinate or subordinate items of the item corresponding to the predicate to be added are already included in the conditional clause. (Check not only the direct upper / lower concept, but also the upper / lower lower items). If it is included, the predicate of that item is not added.

【0144】次に、数値→記号値変換でファジィ分割を
用いる場合の処理内容を説明する。
Next, the processing contents when the fuzzy division is used in the numerical value → symbol value conversion will be described.

【0145】本実施例のルール生成処理では、図11の
ファジィ分割方法がもつ特徴を利用する。図11のファ
ジィ分割では、1つの数値は高々2つの記号値に分配さ
れ、それらの和は必ず 1.0 になる(例えば、「小さ
い」0.3、「中くらい」0.7、「大きい」0.0のよう
に)。また、図4のルール生成用ワークファイル405
中の表現では、「小」を0に、「中」を1に、「大」を
2に割りあてる。このとき、数値 x は次の規則によ
り1つの実数値 y に変換される。
In the rule generation processing of this embodiment, the feature of the fuzzy division method shown in FIG. 11 is used. In the fuzzy division of Fig. 11, one numerical value is distributed into at most two symbolic values and their sum is always 1.0 (eg "small" 0.3, "medium" 0.7, "large" 0.0). . In addition, the rule generation work file 405 in FIG.
In the medium expression, "small" is assigned to 0, "medium" is assigned to 1, and "large" is assigned to 2. At this time, the number x is converted into one real number y by the following rules.

【0146】ファジィ記号値変換規則: もし「小さい」の割合が z、「中くらい」の割合が
(1-z) ならば、 y = 1-z もし「中くらい」の割合が z、「大きい」の割合が
(1-z) ならば、 y = 2-z ただし、0≦z≦1 とする。
Fuzzy symbol value conversion rule: If the ratio of "small" is z, the ratio of "medium" is
If (1-z), y = 1-z If the ratio of "medium" is z, the ratio of "large" is
If (1-z), y = 2-z, but 0 ≦ z ≦ 1.

【0147】すなわち、0と1の間の実数値 y は、
「小」と「中」という記号の配分比を表すものと約束す
る。図11のファジィ分割の特徴から、1つの数値が3
つ以上の記号値に分配されることはなく、また和が1.0
になることから、この定義で矛盾は生じない。
That is, the real value y between 0 and 1 is
We promise to represent the distribution ratio of the symbols "small" and "medium". From the characteristics of fuzzy division in FIG. 11, one numerical value is 3
It is not distributed over one or more symbolic values, and the sum is 1.0
Therefore, there is no contradiction in this definition.

【0148】上記の方法でファジィ的に記号化された事
例を (y1, y2, …, yn) とする。ルール生成処理
において事例の数を計算するのは、ルールの評価尺度を
計算するときである。クリスプな分割のときは、ある条
件節を満たす事例がいくつあるかをカウントする処理に
なる。ファジィ記号化では次のようになる。
A case fuzzy symbolized by the above method is defined as (y1, y2, ..., Yn). The number of cases is calculated in the rule generation process when the rule evaluation measure is calculated. In the case of crisp division, the process counts how many cases satisfy a certain conditional clause. The fuzzy symbolization is as follows.

【0149】x1 が「小さい」に該当する事例は、0≦y
1≦1 の値をもつ事例で、その重みは 1-y1 になる。
In the case where x1 is “small”, 0 ≦ y
In the case with a value of 1 ≤ 1, the weight is 1-y1.

【0150】x1 が「中くらい」に該当する事例は、0
≦y1≦2 の値をもつ事例で、その重みは 1-|1-y1|
になる。
The case where x1 is “medium” is 0.
In the case of ≤y1≤2, the weight is 1- | 1-y1 |
become.

【0151】x1 が「大きい」に該当する事例は、1≦y
1≦2 の値をもつ事例で、その重みは y1-1 になる。
In the case where x1 is “large”, 1 ≦ y
In the case with a value of 1 ≤ 2, the weight is y1-1.

【0152】もちろん、条件節述語が複数ある場合に
は、上記の重みをそれぞれの述語に関して掛け合わせた
ものが全体の事例の重みになる。ルール評価尺度の定義
に現れる N(A) や N(A&Bi) などは、これらの事例
重みの和として考え、実数値として取り扱うものとす
る。
Of course, when there are a plurality of conditional clause predicates, the weights of the respective cases are multiplied by the above weights for the respective predicates. N (A) and N (A & Bi) appearing in the definition of the rule evaluation scale are considered as the sum of these case weights and treated as real numbers.

【0153】上記の処理でファジィ分割により記号値に
変換した項目をルール生成処理で使用すれば、分割にお
ける境界付近のデータを正しく扱うことができるので、
生成されたルールを高精度化することができる。
If the items converted into the symbol values by the fuzzy division in the above processing are used in the rule generation processing, the data near the boundary in the division can be handled correctly.
The generated rule can be highly accurate.

【0154】図4のワークファイル405中のデータで
は、値−1は欠損値を表すものとする。ルール生成処理
には数値属性そのものは使用せず、また記号値は0から
順番に割り当てて行くので、この値が混乱を起こすこと
はない。
In the data in the work file 405 of FIG. 4, the value -1 represents a missing value. The numerical attribute itself is not used in the rule generation process, and the symbol values are assigned sequentially from 0, so this value does not cause confusion.

【0155】欠損値自身をルール生成に使用するかどう
かは、図3の処理303における欠損値対応処理か、ま
たはユーザが指定した内容で決まるものとする。ルール
生成に使用する場合には、「もし x が欠損値で、
…」というルールが許される。欠損値をルール生成に使
用しない場合には、単に欠損値は無視される(すなわち
どの記号にも一致しない記号として扱われる)。欠損値
は特別な値なので、前項のファジィ記号化の規則は適用
されない。
Whether or not the missing value itself is used for the rule generation depends on the missing value handling process in the process 303 of FIG. 3 or the contents specified by the user. If you use it for rule generation, "If x is a missing value,
The rule "..." is allowed. If the missing value is not used for rule generation, then the missing value is simply ignored (ie treated as a symbol that does not match any symbol). Since the missing value is a special value, the fuzzy symbolization rules in the previous section do not apply.

【0156】本実施例では、ルール生成処理がどこまで
進んだかを示す進行状況を表示する。ルール生成処理で
は、本来調べるべきルールの個数はあらかじめ算出でき
るから、その内の何パーセントを調べたかという数字
を、適当なタイミングで表示するものとする。枝刈りな
どで処理をスキップされたルールも当然カウントする。
In this embodiment, the progress status indicating how far the rule generation processing has progressed is displayed. In the rule generation process, since the number of rules to be originally examined can be calculated in advance, the figure indicating what percentage of the rules has been examined is displayed at an appropriate timing. Naturally, rules that have been skipped due to pruning are also counted.

【0157】ルール生成処理では、ユーザ割り込みを受
け付けるものとする。上述のルール生成進行状況表示
に、中断コマンドを受け付けるボタン1401を用意し
ておく。図14に、ルール生成処理進行状況および中断
ボタン1401の表示例を示す。
In the rule generation processing, it is assumed that a user interrupt is accepted. A button 1401 for accepting an interruption command is prepared in the above-mentioned rule generation progress status display. FIG. 14 shows a display example of the rule generation processing progress status and the suspend button 1401.

【0158】ボタン1401がクリックされ処理の中断
が指定された場合、次の動作は「続行」か「終了」かの
どちらかになる。続行の場合にはそのまま処理を続け、
終了の場合にはルール生成処理を終了し、現時点までに
生成されたルールを表示するものとする。
When the button 1401 is clicked and the interruption of the processing is designated, the next operation is either "continue" or "end". If you want to continue, continue processing,
If it is finished, the rule generation process is terminated and the rules generated up to the present time are displayed.

【0159】図15に、以上説明したルール生成処理の
処理フロー図を示す。候補ルール集合のクリアおよびμ
thのゼロクリアなどの初期化(1501)の後、すべて
の候補についてステップ1503〜1512を繰り返
す。まず、評価尺度μを計算し、μとμthとを比較する
(1504)。μ>μthなら、候補ルール集合に当該候
補ルールを追加し(1505)、μthに候補ルール集合
中で最小の評価尺度をセットする(1506)。μ≦μ
thなら、サブノードに関する評価尺度の最大値μmaxを
計算し(1507)、μmaxとμthとを比較する。μmax
<μthなら、サブノードをすべて評価済みとする(15
09)。
FIG. 15 shows a processing flow chart of the rule generation processing described above. Clear candidate rule set and μ
After initialization (1501) such as zero clearing of th, steps 1503 to 1512 are repeated for all candidates. First, the evaluation scale μ is calculated, and μ and μth are compared (1504). If μ> μth, the candidate rule is added to the candidate rule set (1505), and the minimum evaluation scale in the candidate rule set is set to μth (1506). μ ≦ μ
If th, the maximum value μmax of the evaluation scale related to the subnode is calculated (1507), and μmax and μth are compared. μmax
If <μth, all subnodes have been evaluated (15
09).

【0160】次に、ルール生成処理進行状況を表示し
(1510)、処理中断が指示されたかどうか判定する
(1511)。中断が指示されていたら、ループから脱
出する(1512)。すべての候補についてループ処理
が終了するか、ステップ1512でループから脱出した
ときは、候補ルール集合を出力して(1513)、処理
を終了する。
Next, the progress status of the rule generation processing is displayed (1510) and it is judged whether or not the processing interruption is instructed (1511). If interruption is instructed, the loop is exited (1512). When the loop processing is completed for all the candidates or when the loop is exited in step 1512, the candidate rule set is output (1513) and the processing is completed.

【0161】次に、図4のルール学習処理実行モジュー
ル403で実行される処理について説明する。
Next, the processing executed by the rule learning processing execution module 403 of FIG. 4 will be described.

【0162】図16は、学習すべきメンバシップ関数の
形状パラメータを示す。本実施例では、学習によって調
節されるパラメータは分割点α1とα2とする。すなわ
ち、ルール生成処理で生成されたルールに対して、最も
ルール評価尺度が大きくなる分割点α1とα2を求める。
ただし、ファジィ分割を用いたルール生成処理におい
て、1つの数値は高々2つの記号値に分配され、それら
の和は必ず 1.0 になるという性質を仮定しているた
め、その仮定を満足する範囲でのみα1とα2の値を変化
させるものとする。図16には、学習後のメンバシップ
関数形状の例を示した。
FIG. 16 shows the shape parameters of the membership function to be learned. In this embodiment, the parameters adjusted by learning are the division points α1 and α2. That is, the division points α1 and α2 having the largest rule evaluation scale are obtained for the rule generated by the rule generation processing.
However, in the rule generation process using fuzzy partitioning, it is assumed that one numerical value is distributed to at most two symbolic values and the sum of them is always 1.0, so only within the range that satisfies the assumption. It is assumed that the values of α1 and α2 are changed. FIG. 16 shows an example of the membership function shape after learning.

【0163】具体的な学習は次のようなステップで行
う。 ステップ1:学習すべきルールを指定する。どのルール
を学習するかをユーザが指定する。 ステップ2:ステップ3〜ステップ8を学習終了条件が
成立するまで繰り返す。 ステップ3:各パラメータの変更量Δαi=0(i=1,2,
…,m)とする。mは調節すべき分割点パラメータの総数
である。 ステップ4:指定されたルールのそれぞれに対してステ
ップ5〜ステップ7を繰り返す。
Specific learning is performed in the following steps. Step 1: Specify the rules to be learned. The user specifies which rule to learn. Step 2: Steps 3 to 8 are repeated until the learning end condition is satisfied. Step 3: Change amount of each parameter Δαi = 0 (i = 1,2,
…, M). m is the total number of split point parameters to be adjusted. Step 4: Repeat steps 5 to 7 for each of the specified rules.

【0164】ステップ5:処理中のルールの評価尺度μ
を算出すると同時に、∂N(A)/∂αi、∂N(B)/∂αi、
∂N(A&B)/∂αiを算出する。N(A)は条件部Aを満足す
る(ファジィ分割を考慮した)事例の数であり、αiを
微小量Δαi変化させたときのN(A)の変化量ΔN(A)は、
図16のメンバシップ関数形状から容易に求めることが
できる。∂N(B)/∂αi、∂N(A&B)/∂αiの値も同様に
求める。 ステップ6:μの定義式(4)とステップ5で求めた値か
ら、∂μ/∂αi=∂N(A)/∂αi・∂μ/∂N(A)+∂N
(B)/∂αi・∂μ/∂N(B)+∂N(A&B)/∂αi・∂μ/
∂N(A&B)なる関係式を用いて、∂μ/∂αi(i=1,…,
m)を求める。
Step 5: Evaluation scale μ of the rule being processed
At the same time as calculating, ∂N (A) / ∂αi, ∂N (B) / ∂αi,
Calculate ∂N (A & B) / ∂αi. N (A) is the number of cases (considering fuzzy division) that satisfy the condition part A, and the change amount ΔN (A) of N (A) when αi is changed by a small amount Δαi is
It can be easily obtained from the membership function shape of FIG. The values of ∂N (B) / ∂αi and ∂N (A & B) / ∂αi are calculated in the same way. Step 6: From the definition formula (4) of μ and the value obtained in Step 5, ∂μ / ∂αi = ∂N (A) / ∂αi ・ ∂μ / ∂N (A) + ∂N
(B) / ∂αi ・ ∂μ / ∂N (B) + ∂N (A & B) / ∂αi ・ ∂μ /
Using the relational expression ∂N (A & B), ∂μ / ∂αi (i = 1,…,
m) is calculated.

【0165】ステップ7:全てのiに対して、Δαi←Δ
αi+∂μ/∂αiとする。 ステップ8:全てのiに対して、αi←αi+λ・Δαiと
する。λはあらかじめ定められた学習係数である。 ステップ9:学習済みのαiの値を図4のルールファイ
ル407に出力する。
Step 7: For all i, Δαi ← Δ
Let αi + ∂μ / ∂αi. Step 8: For all i, αi ← αi + λ · Δαi. λ is a predetermined learning coefficient. Step 9: The learned value of αi is output to the rule file 407 in FIG.

【0166】ステップ2における終了条件としては、例
えば ・指定された回数ステップ3〜ステップ8を繰り返した ・全てのiに対して|Δαi|<εが成立した(εはあ
らかじめ定められた正の定数) ・ルール評価尺度μの変化|Δμ|<εが成立した などの条件、または上記条件の組み合わせ、などを用い
ることができる。
The termination conditions in step 2 are, for example, that steps 3 to 8 are repeated a specified number of times, and | Δαi | <ε holds for all i (ε is a predetermined positive constant). ) It is possible to use conditions such as a change in the rule evaluation scale μ | Δμ | <ε, or a combination of the above conditions.

【0167】以上の処理により、1つまたは複数のルー
ルの評価尺度を最大化するようなメンバシップ関数パラ
メータを学習により自動的に求めることができる。これ
により、データ間に存在する規則性・因果関係をより精
度よく抽出することが可能になるとともに、規則性を説
明するために最適な項目値の分割点自身を最適に決定す
ることができるようになるという効果がある。また、こ
の学習によれば、生成ルール全体またはその部分集合の
評価尺度の和を最適化することが可能なため、ユーザに
とって意味のあるルールだけを学習によって最適化する
ことができ、より利用価値の高いルールを生成すること
ができるという効果もある。
Through the above processing, membership function parameters that maximize the evaluation scale of one or more rules can be automatically obtained by learning. This makes it possible to more accurately extract the regularity / causal relationship that exists between data, and to determine the optimal division point itself of the item value that is optimal for explaining regularity. Has the effect of becoming. In addition, according to this learning, the sum of the evaluation measures of the entire generation rule or a subset thereof can be optimized, so that only the rules that have meaning to the user can be optimized by learning, and the more useful value There is also an effect that it is possible to generate a high-rule.

【0168】[0168]

【発明の効果】以上説明したように、本発明によれば、
データ間に存在する規則性・因果関係をユーザにとって
理解しやすいルールという形で抽出できるため、従来の
方法では困難であった大量データの有効活用が可能にな
るという効果がある。特に、製造プロセスにおける検査
データの分析による不良発生要因の解析や、顧客データ
ベースの分析による新商品のマーケティング戦略の立案
などにおいて、有効な情報をデータベースから抽出する
ことができるようになるという効果がある。また、デー
タ項目間の値の組み合わせを候補ルールとして作成し、
その候補ルールをあらかじめ決めた評価尺度に照らし合
わせ、評価値の高い候補ルールを出力するので、従来の
ようなルール群またはクラスタ集合に関する繰り返し計
算を行なう必要がなく、大量データでも多大な処理時間
を要しない。また、利用者が処理方法に関する特別な知
識を有しない場合にも、データの特徴を精度よく表現す
る結果を生成できる。さらに、データベースに含まれる
数値データは、記号値に変換されてルールに使用される
ため、雑音の大きなデータに対してもマクロな構造に対
応した規則性を発見でき、それだけユーザにとって利用
価値の高い結果を生成できるという効果がある。
As described above, according to the present invention,
Since the regularity / causal relationship existing between data can be extracted in the form of a rule that is easy for the user to understand, there is an effect that it is possible to effectively use a large amount of data, which was difficult with the conventional method. In particular, there is an effect that it becomes possible to extract effective information from the database in the analysis of the defect generation factor by the analysis of the inspection data in the manufacturing process and the planning of the marketing strategy for the new product by the analysis of the customer database. . Also, create a combination of values between data items as a candidate rule,
The candidate rules are compared with a predetermined evaluation scale, and the candidate rules with high evaluation values are output, so there is no need to perform repeated calculation for rule groups or cluster sets as in the past, and a great deal of processing time is required for large amounts of data. I don't need it. In addition, even when the user does not have special knowledge about the processing method, it is possible to generate a result that accurately represents the characteristics of the data. In addition, since the numerical data contained in the database is converted to symbolic values and used for rules, it is possible to find regularity corresponding to macro structure even for data with large noise, which is highly useful for users. There is an effect that a result can be generated.

【図面の簡単な説明】[Brief description of drawings]

【図1】半導体不良分析における分析対象データの例を
示す図
FIG. 1 is a diagram showing an example of analysis target data in semiconductor failure analysis.

【図2】顧客分析における分析対象データの例を示す図FIG. 2 is a diagram showing an example of analysis target data in customer analysis.

【図3】本実施例によるデータ分析方法の処理フロー図FIG. 3 is a process flow chart of the data analysis method according to the present embodiment.

【図4】データ分析システムの全体構成図[Figure 4] Overall configuration of the data analysis system

【図5】データテーブルの例を示す図FIG. 5 is a diagram showing an example of a data table.

【図6】複数のデータテーブル間の関係定義の例を示す
FIG. 6 is a diagram showing an example of a relationship definition between a plurality of data tables.

【図7】ルール生成処理仕様項目指定画面を示す図FIG. 7 is a diagram showing a rule generation processing specification item designation screen.

【図8】項目自動選択処理フロー図[Figure 8] Automatic item selection process flow chart

【図9】記号値変換方法一覧表示画面を示す図FIG. 9 is a diagram showing a symbol value conversion method list display screen.

【図10】記号値変換方法指定画面を示す図FIG. 10 is a diagram showing a symbol value conversion method designation screen.

【図11】メンバシップ関数の形状例を示す図FIG. 11 is a diagram showing an example of the shape of a membership function.

【図12】ルール生成パラメータ指定画面を示す図FIG. 12 is a diagram showing a rule generation parameter specification screen.

【図13】ルール探索方法を説明する図FIG. 13 is a diagram illustrating a rule search method.

【図14】ルール生成処理進行状況表示画面を示す図FIG. 14 is a diagram showing a rule generation processing progress display screen.

【図15】ルール生成処理フロー図FIG. 15 is a rule generation processing flow chart.

【図16】学習によるメンバシップ関数形状変化の例を
示す図
FIG. 16 is a diagram showing an example of a membership function shape change due to learning.

【符号の説明】[Explanation of symbols]

401…ユーザインタフェースモジュール、402…ル
ール生成処理実行モジュール、403…ルール学習処理
実行モジュール、404…分析対象データベース、40
5…ルール生成用ワークファイル、406…ルール生成
パラメータファイル、407…ルールファイル。
401 ... User interface module, 402 ... Rule generation processing execution module, 403 ... Rule learning processing execution module, 404 ... Analysis target database, 40
5 ... Rule generation work file, 406 ... Rule generation parameter file, 407 ... Rule file.

フロントページの続き (72)発明者 谷口 洋司 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (72)発明者 伊藤 幸康 神奈川県横浜市戸塚区戸塚町5030番地 株式会社 日立製作所 ソフトウェア開 発本部内 (72)発明者 高橋 ヨリ 神奈川県横浜市戸塚区戸塚町5030番地 株式会社 日立製作所 ソフトウェア開 発本部内 (56)参考文献 特開 平6−68066(JP,A) 斉藤・中野著,”ノイズを含む事例か らのルール抽出:RF3アルゴリズ ム”,情報処理学会論文誌,1992年 5 月15日,第33巻、第5号,p.636−644 毛利・田中著,”ルールの適用順序を 考慮した効率的な帰納推論方法”,情報 処理学会研究報告,1992年 5月26日, 第92巻、第42号,p.31−40 (58)調査した分野(Int.Cl.7,DB名) G06N 5/00 G06F 19/00 Front page continued (72) Inventor Yoji Taniguchi 1099 Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Hitachi, Ltd. System Development Laboratory Software Development Headquarters (72) Inventor Yori Takahashi 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Hitachi, Ltd. Software Development Headquarters (56) References JP-A-6-68066 (JP, A) Saito / Nakano Written, "Rule Extraction from Cases Containing Noise: RF3 Algorithm", Journal of Information Processing Society of Japan, May 15, 1992, Vol. 33, No. 5, p. 636-644 Mori and Tanaka, “Efficient inference method considering the order of application of rules”, IEICE Research Report, May 26, 1992, Vol. 92, No. 42, p. 31-40 (58) Fields investigated (Int.Cl. 7 , DB name) G06N 5/00 G06F 19/00

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】データベースに格納された複数のデータ項
目に基づいて前記データ項目間の関係を特徴づけるルー
ルを生成するデータ分析装置であって、 前記データべ−スに格納されているデータ項目から選択
された、IF-THENルールのIF節およびTHEN節に用いるデ
ータ項目を、受け取る手段と、前記選択されかつ受け取ったデータ項目の中から、 項目
名と記号値との対からなるデータ項目を組み合わせてIF
-THEN形式のルール候補を生成する生成手段と、 前記ルール候補のIF節が当てはまるデータ数に相当する
カバー率と、IF節とTHEN節の両方が当てはまるデータ数
に相当する精度の値をそれぞれ計数して、前記ルール候
補のそれぞれについて、カバー率が大きく、かつ精度が
よいほど高くなる評価尺度を求める評価手段と、 前記ルール候補から、評価尺度の高いルール候補を少な
くとも一つ決定して出力する出力手段とを備えたことを
特徴とするデータ分析装置。
1. A data analysis apparatus for generating a rule characterizing a relationship between data items based on a plurality of data items stored in a database, wherein the data analysis device stores data items stored in the database. A combination of a means for receiving the selected data items used in the IF clause and the THEN clause of the IF-THEN rule, and a data item consisting of a pair of an item name and a symbol value from the selected and received data items. IF
Generation means for generating rules candidate -THEN format, before and coverage corresponding to the number of data IF clause is true kill Lumpur candidates, the accuracy of the value corresponding to the number of data both IF clause and THEN clauses apply the counts each, the rule climate
High coverage and high accuracy for each
A data analysis apparatus, comprising: an evaluation unit that obtains an evaluation scale that increases to a higher degree; and an output unit that determines and outputs at least one rule candidate with a high evaluation scale from the rule candidates.
【請求項2】データベースに格納された複数のデータ項
目に基づいて前記データ項目間の関係を特徴づけるルー
ルを生成するデータ分析装置であって、 前記データべ−スに格納されているデータ項目から選択
された、IF-THENルールのIF節およびTHEN節に用いるデ
ータ項目を、受け取る手段と、 前記選択されかつ受け取ったデータ項目が数値を含んで
いれば、前記数値を記号値に変換する変換手段と、前記選択されかつ受け取ったデータ項目(数値を含まな
いもの)と、前記変換手段により数値を記号値に変換し
たデータ項目の中から、 項目名と記号値との対からなる
データ項目を組み合わせてIF-THEN形式のルール候補を
生成する生成手段と、 前記ルール候補のIF節が当てはまるデータ数に相当する
カバー率と、IF節とTHEN節の両方が当てはまるデータ数
に相当する精度の値をそれぞれ計数して、前記 ルール候
補のそれぞれについて、カバー率が大きく、かつ精度が
よいほど高くなる評価尺度を求める評価手段と、 前記ルール候補から、評価尺度の高いルール候補を少な
くとも一つ決定して出力する出力手段とを備えたことを
特徴とするデータ分析装置。
2. A data analysis device for generating a rule characterizing a relationship between the data items based on a plurality of data items stored in a database, wherein the data analysis device stores data items stored in the database. A means for receiving the selected data item used in the IF clause and the THEN clause of the IF-THEN rule, and a conversion means for converting the numeric value into a symbol value if the selected and received data item includes a numeric value And the selected and received data items (not including numbers
And a numerical value is converted to a symbol value by the conversion means.
From the data item has a generation means for generating rules candidate IF-THEN format by combining the data item comprising a pair of an item name and symbols values, the number of data to IF clause is true before kill Lumpur candidate a cover ratio corresponding, by counting precision of the values respectively corresponding to the number of data both IF clause and tHEN clause is true, the rule climate
High coverage and high accuracy for each
A data analysis apparatus, comprising: an evaluation unit that obtains an evaluation scale that increases to a higher degree; and an output unit that determines and outputs at least one rule candidate with a high evaluation scale from the rule candidates.
JP15881899A 1999-06-04 1999-06-04 Data analyzer Expired - Lifetime JP3452308B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15881899A JP3452308B2 (en) 1999-06-04 1999-06-04 Data analyzer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15881899A JP3452308B2 (en) 1999-06-04 1999-06-04 Data analyzer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP23943794A Division JPH0877010A (en) 1994-09-07 1994-09-07 Method and device for data analysis

Publications (2)

Publication Number Publication Date
JP2000039999A JP2000039999A (en) 2000-02-08
JP3452308B2 true JP3452308B2 (en) 2003-09-29

Family

ID=15680050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15881899A Expired - Lifetime JP3452308B2 (en) 1999-06-04 1999-06-04 Data analyzer

Country Status (1)

Country Link
JP (1) JP3452308B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101331452B1 (en) * 2012-03-22 2013-11-21 주식회사 엘지씨엔에스 Method for providing database management and the database management server there of
JP2019086887A (en) * 2017-11-02 2019-06-06 株式会社エヌ・ティ・ティ・データ Information processor, information processing method, and computer program
JP6903595B2 (en) * 2018-01-22 2021-07-14 株式会社日立製作所 Data analysis support system and data analysis support method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
斉藤・中野著,"ノイズを含む事例からのルール抽出:RF3アルゴリズム",情報処理学会論文誌,1992年 5月15日,第33巻、第5号,p.636−644
毛利・田中著,"ルールの適用順序を考慮した効率的な帰納推論方法",情報処理学会研究報告,1992年 5月26日,第92巻、第42号,p.31−40

Also Published As

Publication number Publication date
JP2000039999A (en) 2000-02-08

Similar Documents

Publication Publication Date Title
JPH0877010A (en) Method and device for data analysis
Bukhsh et al. A systematic literature review on requirement prioritization techniques and their empirical evaluation
AU2019236757B2 (en) Self-Service Classification System
CN113935434A (en) Data analysis processing system and automatic modeling method
US6654744B2 (en) Method and apparatus for categorizing information, and a computer product
US20060179051A1 (en) Methods and apparatus for steering the analyses of collections of documents
CN110321291A (en) Test cases intelligent extraction system and method
US20050125474A1 (en) Method and structure for transform regression
Attwal et al. Exploring data mining tool-Weka and using Weka to build and evaluate predictive models
JP2002092305A (en) Score calculating method, and score providing method
US20100175019A1 (en) Data exploration tool including guided navigation and recommended insights
JP2000339351A (en) System for identifying selectively related database record
KR101625124B1 (en) The Technology Valuation Model Using Quantitative Patent Analysis
Ciflikli et al. Enhancing product quality of a process
Win et al. Predicting customer class using customer lifetime value with random forest algorithm
CN114254615A (en) Volume assembling method and device, electronic equipment and storage medium
Bateman et al. The The Supervised Learning Workshop: A New, Interactive Approach to Understanding Supervised Learning Algorithms
CN114139725A (en) Service object prediction method, device and storage medium
CN117453805B (en) Visual analysis method for uncertainty data
Chen et al. Using data mining to provide recommendation service
JP3452308B2 (en) Data analyzer
Midha et al. A survey on classification techniques in data mining
Chebil et al. Clustering social media data for marketing strategies: Literature review using topic modelling techniques
Roelands et al. Classifying businesses by economic activity using web-based text mining
CN112506930B (en) Data insight system based on machine learning technology

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080718

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080718

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090718

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090718

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100718

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100718

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 10

EXPY Cancellation because of completion of term