(本開示の基礎となった知見)
本発明者は、「背景技術」の欄において記載した特許文献1のモデル生成装置に関し、以下の問題が生じることを見い出した。
上記特許文献1では、説明変数に相当する操業因子の空間を複数の局所領域に分割し、その各局所領域に対して局所品質モデルを構築する。したがって、データセットから複数のモデルが生成される。しかし、それらのモデルの構築には、データセットに含まれる目的変数と説明変数のみが用いられ、目的変数および説明変数以外の変数が用いられていない。具体的には、データセットに含まれる説明変数が示すデータの分布のみに基づいてデータセットが複数の局所領域に分割され、それらの局所領域に対してモデルが生成される。つまり、上記特許文献1では、説明変数および目的変数以外の変数が、説明変数と目的変数との間の相関関係に与える影響が不明なため、その説明変数および目的変数以外の変数は、モデルの構築には用いられていない。したがって、その説明変数および目的変数以外の変数のデータが、説明変数と目的変数との間の相関関係に影響を与えるような場合には、高い精度のモデルを生成することが難しい。
そこで、本開示の一態様に係るモデル生成装置は、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成するモデル生成装置であって、3以上の変数を含むデータセットを受信する受信手段と、前記データセットから、1以上の目的変数と、1以上の説明変数とを特定する第1変数特定手段と、前記データセットに含まれる前記3以上の変数のうちの、特定された前記目的変数および前記説明変数以外の変数である1以上の層別変数候補のそれぞれについて、当該層別変数候補を用いることによって前記モデルの確からしさが増す度合いである改善度を特定する改善度特定手段と、前記1以上の層別変数候補から、前記1以上の層別変数候補のそれぞれの前記改善度に基づいて、1または複数の層別変数候補を層別変数として特定する第2変数特定手段と、前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類する層別手段と、前記複数の層毎に、前記モデルを生成する生成手段と、を備える。例えば、前記層別手段は、前記層別変数ごとに、当該層別変数のデータの同一性または類似性に基づいて、当該層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、前記データセットを分類してもよい。
これにより、目的変数および説明変数以外の変数である層別変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。つまり、その層別変数の各データが、それらのデータ間の共通性または類似性に応じて、複数のグループに分類される。そして、データセットは、それらのグループに対応する層に層別分類される。この層別分類によって、各層には、同一のグループに属する層別変数のデータをそれぞれ有する1つ以上のレコードが含まれる。なお、グループは、共通性または類似性を有するデータの集合であって、このグループには、共通のデータの集合であるカテゴリと、類似する数値データの集合であるクラスタとがある。また、層別変数は、モデルに含まれる変数として採用されていないが、そのモデルの生成には用いられる非活用変数である。このように、本開示の一態様に係るモデル生成装置では、データセットに含まれる変数のうち、説明変数および目的変数以外の変数である非活用変数によって、データセットに対する層別分類が行われるため、その非活用変数が説明変数と目的変数との間の相関関係に影響を与えるような場合であっても、その非活用変数に基づいた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。
例えば、それぞれ非活用変数である第1層別変数および第2層別変数が特定される。そして、第1層別変数の2つ以上のデータが例えば第1グループおよび第2グループに分類され、第2層別変数の2つ以上のデータが例えば第3グループおよび第4グループに分類される。なお、これらのグループに含まれる全てのデータは、共通性または高い類似性を有する。この場合、複数の層として、例えば第1層、第2層、第3層および第4層が決定される。第1層は、第1層別変数の第1グループと、第2層別変数の第3グループとの組み合わせに対応する。第2層は、第1層別変数の第1グループと、第2層別変数の第4グループとの組み合わせに対応する。第3層は、第1層別変数の第2グループと、第2層別変数の第3グループとの組み合わせに対応する。第4層は、第1層別変数の第2グループと、第2層別変数の第4グループとの組み合わせに対応する。このように、N個の層別変数のそれぞれのグループの組み合わせに応じて複数の層が決定される。したがって、層別分類では、第1層別変数の第1グループに属するデータと、第2層別変数の第3グループに属するデータとを含むレコードは、第1層に分類される。第1層別変数の第1グループに属するデータと、第2層別変数の第4グループに属するデータとを含むレコードは、第2層に分類される。第1層別変数の第2グループに属するデータと、第2層別変数の第3グループに属するデータとを含むレコードは、第3層に分類される。第1層別変数の第2グループに属するデータと、第2層別変数の第4グループに属するデータとを含むレコードは、第4層に分類される。
このように、層別変数が2つ以上であっても、データセットに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。
また、本開示の一態様に係るモデル生成装置では、1または複数の層別変数は、1以上の層別変数候補から、それらの層別変数候補の改善度に基づいて特定される。例えば、大きい改善度を有する層別変数候補が層別変数として特定される。したがって、大きい改善度の層別変数を用いた層別分類が層別手段によって行われるため、より高い精度のモデルを生成することができる。
また、前記データセットは、文字を含むデータを示す質的変数と、数字からなるデータを示す量的変数とを含んでもよい。
これにより、質的変数および量的変数のうちの一方だけでなく両方を含む複数の層別変数を特定することができ、特定される層別変数の変数型の自由度を高めることができる。
また、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数が前記質的変数である場合には、前記質的変数の前記目的変数に対する影響度に基づいて、前記データセットに含まれる前記3以上の変数から前記質的変数を前記層別変数候補として抽出する質的候補抽出手段をさらに備えてもよい。
これにより、データセットに含まれる全ての非活用変数のうちの全ての質的変数のそれぞれを層別変数候補として扱うことなく、例えば、目的変数に対する影響度が大きい質的変数のみを層別変数候補として扱うことができる。その結果、全ての非活用変数のうちの全ての質的変数のそれぞれの改善度を特定することなく、一部の質的変数、すなわち影響度が大きい質的変数のみに対して改善度を特定することができる。つまり、改善度の特定対象とされる質的変数の数を減らすことができる。さらに、影響度が大きい質的変数は、大きい改善度が見込まれる質的変数であるため、改善度の特定の処理負担を効果的に減らすことができる。
また、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数が前記量的変数である場合には、前記量的変数の機械学習によるクラスタリングによって得られるクラスタの状態に基づいて、前記データセットに含まれる前記3以上の変数から前記量的変数を前記層別変数候補として抽出する量的候補抽出手段をさらに備えてもよい。
これにより、データセットに含まれる全ての非活用変数のうちの全ての量的変数のそれぞれを層別変数候補として扱うことなく、例えば、信頼性の高い多くのクラスタを有する量的変数のみを層別変数候補として扱うことができる。その結果、全ての非活用変数のうちの全ての量的変数のそれぞれの改善度を特定することなく、一部の量的変数、すなわち信頼性の高い多くのクラスタを有する量的変数のみに対して改善度を特定することができる。つまり、改善度の特定対象とされる量的変数の数を減らすことができる。さらに、信頼性の高い多くのクラスタを有する量的変数は、大きい改善度が見込まれる量的変数であるため、改善度の特定の処理負担を効果的に減らすことができる。
また、前記質的候補抽出手段は、ランダムフォレストまたは勾配ブースティング決定木を用いて、前記質的変数の前記影響度を算出してもよい。
これにより、例えばランダムフォレストのジニ係数に応じた値を影響度として算出することによって、質的変数の適切な影響度を算出することができる。その結果、大きい影響度を有する質的変数を、大きい改善度が見込まれる層別変数候補として適切に抽出することができる。
また、前記量的候補抽出手段は、混合ガウスモデルまたはk-means法を用いて、前記データセットに含まれる前記量的変数の2つ以上のデータに対するクラスタリングを行ってもよい。
これにより、1つ以上の量的変数のそれぞれについて、クラスタの状態を適切に得ることができる。その結果、信頼性の高い多くのクラスタを有する量的変数を、大きい改善度が見込まれる層別変数候補として適切に抽出することができる。
また、前記改善度特定手段は、前記層別変数候補を用いて分類された前記データセットから得られるモデルの確からしさを示す指標と、分類されていない前記データセットから得られるモデルの確からしさを示す指標との差分を算出することによって、前記改善度を特定してもよい。
これにより、層別変数候補の改善度を適切に特定することができる。
また、前記生成手段は、さらに、生成された複数の前記モデルのそれぞれについて、当該モデルの確からしさを示す指数を算出し、前記モデル生成装置は、さらに、複数の前記モデルのそれぞれに対して算出された前記指数を出力する結果出力手段を備えてもよい。
これにより、例えば、複数のモデルのそれぞれの自由度調整済み決定係数が、そのモデルの確からしさを示す指数として算出されて出力される。したがって、ユーザは、生成されたモデルを使用するか否かを、その指数にしたがって容易に判断することができる。
また、前記生成手段は、2つ以上の前記説明変数のそれぞれのデータと前記目的変数のデータとの関係を示す前記モデルを、重回帰式として生成してもよい。
これにより、説明変数の数に関わらず適切なモデルを生成することができる。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
(実施の形態1)
[ハードウェア構成]
図1は、本実施の形態におけるモデル生成システムの一例を示す図である。
本実施の形態におけるモデル生成システム1は、モデル生成装置100と、製造管理装置500とを含む。
製造管理装置500は、例えば製造工場に設置され、製品を製造する製造システムを管理する装置である。この製造管理装置500は、その製造システムで得られるデータセットDsを、例えばインターネットなどのネットワークを介してモデル生成装置100に送信する。なお、データセットDsの詳細については、図3A~図5を用いて後述する。
モデル生成装置100は、パーソナルコンピュータなどから構成され、上述の製造管理装置500からデータセットDsを受信する。そして、本実施の形態におけるモデル生成装置100は、そのデータセットDsに基づいて、説明変数のデータと目的変数のデータとの関係を示す複数のモデルを生成する。
図2は、本実施の形態におけるモデル生成装置100の構成を示す図である。
モデル生成装置100は、入力部101、演算回路102、メモリ103、出力部104、記憶部105、データベース106、および通信部107を備える。
通信部107は、モデル生成装置100の外部にある機器と通信する。その通信は、無線通信であっても、有線通信であってもよい。無線通信の方式は、Wi-Fi(登録商標)、Bluetooth(登録商標)、またはZigBee(登録商標)であってもよく、その他の方式であってもよい。例えば、通信部107は、製造管理装置500と通信し、その製造管理装置500からデータセットDsを受信する。
入力部101は、ユーザによる入力操作を受け付けるHMI(Human Machine Interface)としての機能を有し、例えばキーボード、マウス、タッチセンサ、タッチパッドなどを備える。
出力部104は、画像または文字などを表示するディスプレイを有し、そのディスプレイは、例えば液晶ディスプレイ、プラズマディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどである。なお、出力部104は、画像または文字などを印刷するプリンタを有していてもよく、演算回路102から出力されるデータをファイル形式で記憶部105に格納する機能を有していてもよい。
記憶部105は、演算回路102への各命令が記述されたプログラム(すなわちコンピュータプログラム)105aを格納している。また、記憶部105には、その演算回路102の処理によって一時的に生成される各テンポラリーデータ105bが格納されてもよい。なお、このような記憶部105は、不揮発性の記録媒体であって、例えば、ハードディスクなどの磁気記憶装置、光ディスク、半導体メモリなどである。なお、プログラム105aは、例えば、リムーバブルメディアまたはネットワークを介して、モデル生成装置100に提供され、記憶部105に格納される。リムーバブルメディアは、例えばCD-ROM(Compact Disc Read Only Memory)、フラッシュメモリなどである。このため、通信部107は、リムーバブルメディアのプログラム105aを読み込むインターフェースを備えていてもよい。
メモリ103には、演算回路102によって読み出されて展開されたプログラム105aが一時的に保存される。このようなメモリ103は、例えば揮発性のRAM(Random Access Memory)である。
演算回路102は、メモリ103に展開されたプログラム105aを実行する回路であって、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などである。演算回路102は、プログラム105aを実行するときには、記憶部105に格納されている各テンポラリーデータ105bを用いてもよい。
データベース106は、記憶部105と同様に、不揮発性の記録媒体であって、例えば、ハードディスクなどの磁気記憶装置、光ディスク、半導体メモリなどである。例えば、演算回路102は、製造管理装置500からネットワークおよび通信部107を介してデータセットDsを取得して、そのデータセットDsをデータベース106に格納する。
なお、本実施の形態では、記憶部105とデータベース106とは互に異なる記録媒体であるが、記憶部105およびデータベース106は、それらを含む1つの記録媒体として構成されていてもよい。
[データセット]
図3Aは、本実施の形態におけるデータセットDsの一例を示す図である。また、図3Bは、そのデータセットDsの先頭の行と2番目の行とを示す図である。
データセットDsは、製造管理装置500から送信される生のデータセットであって、例えば、上述の製造システムにおける製造プロセス、および、その製造プロセスによって製造された製品の品質を示す、複数の製造データからなる構造化されたデータセットである。このようなデータセットDsは、図3Aに示すように、複数の変数のそれぞれの変数名と、それらの変数のデータとを示す。なお、データは、文字および数字のうちの少なくとも一方を示すものであれば、どのようなものであってもよい。データセットDsの先頭の行には、複数の変数のそれぞれの変数名が配置され、データセットDsの2行目以降の各行には、複数の変数のそれぞれのデータが配置されている。このような2行目以降の各行は、複数の変数のそれぞれのデータを含むレコードとして扱われる。また、データセットDsの左端の列は、紐付け情報列であって、それらのレコードを識別するための識別情報であるIDが示されている。IDは、レコードに含まれる各変数のデータを紐付けている。
具体的には、図3Bに示すように、データセットDsの先頭の行には、それぞれの変数名である、「電圧」、「速度」、「抵抗値」、「作業者」、「設備号機」、「材料配合」、「材料温度差」、「補助電圧」、および「治具温度」が配置されている。そして、2行目のレコードには、それらの変数名によって識別される変数のデータd1~d9が含まれている。データd1は、変数名「電圧」によって識別される変数のデータであって、例えば「5.488135」である。データd2は、変数名「速度」によって識別される変数のデータであって、例えば「7.151894」である。データd3は、変数名「抵抗値」によって識別される変数のデータであって、例えば「44.69831」である。データd4は、変数名「作業者」によって識別される変数のデータであって、例えば「スズキ」である。データd5は、変数名「設備号機」によって識別される変数のデータであって、例えば「C号機」である。データd6は、変数名「材料配合」によって識別される変数のデータであって、例えば「0」である。データd7は、変数名「材料温度差」によって識別される変数のデータであって、例えば「8.815673」である。データd8は、変数名「補助電圧」によって識別される変数のデータであって、例えば「3」である。データd9は、変数名「治具温度」によって識別される変数のデータであって、例えば「9.298481」である。これらの各変数のデータd1~d9を含むレコードは、ID「ID200901」によって識別される。つまり、ID「ID200901」は、そのIDによって識別されるレコードに含まれるデータd1~d9を紐付けている。
データセットDsは、図3Aに示すように、このようなレコードを複数含む。例えば、データセットDsは、上述のID「ID200901」によって識別されるレコードと、ID「ID200902」によって識別されるレコードと、ID「ID200903」によって識別されるレコードとを含む。このように、本実施の形態におけるデータセットDsは、複数の変数のそれぞれのデータを有するレコードを2つ以上含む。
また、図3Aに示すように、データセットDsの左から2番目の列は、変数名「電圧」によって識別される変数のレコードごとのデータを示す。例えば、それらのデータは、「5.488135」、「6.027634」、および「4.236548」などである。同様に、データセットDsの左から3番目の列は、変数名「速度」によって識別される変数のレコードごとのデータを示す。データセットDsの左から4番目の列は、変数名「抵抗値」によって識別される変数のレコードごとのデータを示す。データセットDsの左から5番目の列は、変数名「作業者」によって識別される変数のレコードごとのデータを示す。データセットDsの左から6番目の列は、変数名「設備号機」によって識別される変数のレコードごとのデータを示す。データセットDsの左から7番目の列は、変数名「材料配合」によって識別される変数のレコードごとのデータを示す。データセットDsの左から8番目の列は、変数名「材料温度差」によって識別される変数のレコードごとのデータを示す。データセットDsの左から9番目の列は、変数名「補助電圧」によって識別される変数のレコードごとのデータを示す。データセットDsの左から10番目の列は、変数名「治具温度」によって識別される変数のレコードごとのデータを示す。
ここで、変数の型には、量的変数と質的変数とがある。量的変数の各データは、数字のみで表されるデータであって、質的変数の各データは、文字を含んで表されるデータである。図3Aおよび図3Bの例では、変数名「作業者」および変数名「設備号機」のそれぞれによって識別される変数が、質的変数である。例えば、図3Bに示すように、変数名「作業者」によって識別される変数のデータd4は「スズキ」であって、文字を含んでいる。したがって、変数名「作業者」によって識別される変数は、質的変数である。また、図3Aおよび図3Bの例では、変数名「材料配合」、変数名「材料温度差」、変数名「補助電圧」、および変数名「治具温度」のそれぞれによって識別される変数が、量的変数である。例えば、図3Bに示すように、変数名「材料配合」によって識別される変数のデータd6は「0」であって、数字のみで表されている。したがって、変数名「材料配合」によって識別される変数は、量的変数である。
なお、変数は、図3Aおよび図3Bに示す例に限定されるものではなく、どのような変数であってもよい。変数は、例えば、人に関わる変数、材料に関わる変数、設備に係る変数などである。人に関わる変数は、「作業者」または「作業班」などの変数であってもよい。材料に関わる変数は、「源泉材料Lot」または「途中工程材料Lot」などの変数であってもよい。設備に係る変数は、「生産設備種類、世代」、「生産設備号機」、「設備内レーン別、スピンドル別」、「金型」、「治具」、「金型温度」、「乾燥温度」、「設備メンテナンス前後」などの変数であってもよい。また、変数は、「雰囲気温度」、「雰囲気湿度」、「生産時期、時間」などの変数であってもよい。また、変数は、製品の「品種、品番」または「製品サイズ」などの変数であってもよい。
図3Cは、データセットDsから選択される目的変数および説明変数を示す図である。
データセットDsに示される各変数は、ユーザによる入力操作に応じて、活用変数と非活用変数に分類され、各活用変数は、説明変数と目的変数に分類される。活用変数は、モデルに採用される変数であって、非活用変数は、モデルに採用されない変数である。なお、非活用変数は、従来、データセットに含まれる目的変数以外の全ての変数を説明変数として採用せずに、目的変数に対する寄与度が大きな変数のみを説明変数として採用するために、モデルには採用されなかった変数である。さらに、活用変数には、説明変数と目的変数とがある。図3Cに示す例では、ユーザは、変数名「抵抗値」の変数を目的変数として選択し、変数名「電圧」の変数と、変数名「速度」の変数とをそれぞれ説明変数として選択する。これにより、変数名「作業者」、変数名「設備号機」、変数名「材料配合」、変数名「材料温度差」、変数名「補助電圧」、および変数名「治具温度」のそれぞれの変数が、非活用変数として決定される。また、これらの非活用変数には、上述の質的変数および量的変数が含まれる。したがって、本実施の形態では、データセットDsに示されるM個の非活用変数は、それぞれ文字を含むデータを示す1つ以上の質的変数と、それぞれ数字からなるデータを示す1つ以上の量的変数とを含む。なお、そのM個は、データセットDsに含まれる非活用変数の個数であって、上述の例では6個である。
図4は、本実施の形態におけるデータセットDsの他の例を示す図である。
演算回路102は、データセットDsに含まれる質的変数をダミー変数に置き換える。つまり、演算回路102は、One Hot Encodingを行うことによって、図3A~図3Cに示す変数名「作業者」の質的変数のデータを、変数名「作業者スズキ」、変数名「作業者サトウ」、および変数名「作業者タカハシ」の3つの変数のデータからなるフラグ列に変換する。例えば、図3Aに示す変数名「作業者」の変数のデータ「スズキ」は、変数名「作業者スズキ」の変数のデータ「1」と、変数名「作業者サトウ」の変数のデータ「0」と、変数名「作業者タカハシ」の変数のデータ「0」とからなるフラグ列に変換される。また、図3Aに示す変数名「作業者」の変数のデータ「サトウ」は、変数名「作業者スズキ」の変数のデータ「0」と、変数名「作業者サトウ」の変数のデータ「1」と、変数名「作業者タカハシ」の変数のデータ「0」とからなるフラグ列に変換される。同様に、演算回路102は、図3A~図3Cに示す変数名「設備号機」の質的変数のデータを、変数名「設備号機C」、変数名「設備号機D」、および変数名「設備号機E」の3つの変数のデータからなるフラグ列に変換する。例えば、図3Aに示す変数名「設備号機」の変数のデータ「C号機」は、変数名「設備号機C」の変数のデータ「1」と、変数名「設備号機D」の変数のデータ「0」と、変数名「設備号機E」の変数のデータ「0」とからなるフラグ列に変換される。また、図3Aに示す変数名「設備号機」の変数のデータ「D号機」は、変数名「設備号機C」の変数のデータ「0」と、変数名「設備号機D」の変数のデータ「1」と、変数名「設備号機E」の変数のデータ「0」とからなるフラグ列に変換される。演算回路102は、後述のランダムフォレストなどの機械学習において質的変数を扱う場合には、その質的変数をダミー変数に置き換える。
図5は、本実施の形態におけるデータセットDsの変数名などを簡略化して示す図である。
以下、説明を分かり易くするため、図3A~図3Cに示すデータセットDsの変数名「電圧」、「速度」、「抵抗値」、「作業者」、「設備号機」、「材料配合」、「材料温度差」、「補助電圧」および「治具温度」を、図5に示すように、変数名「X0」、「X1」、「Y」、「Z0」「Z1」、「D1」、「D2」、「D3」および「D4」に置き換える。また、変数名「作業者」によって識別される変数のデータ「スズキ」および「サトウ」を、「A」および「B」に置き換え、変数名「設備号機」によって識別される変数のデータ「C号機」および「D号機」を、「C」および「D」に置き換える。
なお、以下、各変数を識別する必要がある場合には、変数X1のように、変数の後に変数名を付けることによって、その変数を識別する。また、図5に示す例では、変数X0、変数X1、および変数Yはそれぞれ、量的変数である。また、変数Z0および変数Z1はそれぞれ、質的変数であり、変数D1、変数D2、変数D3、および変数D4はそれぞれ、量的変数である。
[機能構成]
図6は、演算回路102の機能構成を示すブロック図である。
演算回路102は、プログラム105aを実行することによって、モデルを生成するための複数の機能を実現する。具体的には、演算回路102は、受信部(受信手段)130、第1変数特定部(第1変数特定手段)121、層別条件設定部122、非活用変数抽出部123、変数型判定部124、候補抽出部125、改善度特定部(改善度特定手段)140、第2変数特定部(第2変数特定手段)126、層別部(層別手段)127、生成部(生成手段)128、および結果出力部(結果出力手段)129を備える。また、候補抽出部125は、質的候補抽出部(質的候補抽出手段)125aおよび量的候補抽出部(量的候補抽出手段)125bを備える。これらの構成要素は、演算回路102によるプログラム105aの実行によって実現される。
受信部130は、3以上の変数を含むデータセットDsを受信する。例えば、受信部130は、データベース106からデータセットDsを読み出すことによって、そのデータセットDsを取得する。そして、ユーザは、入力部101に対して入力操作を行うことによって、図5に示すデータセットDsの複数の変数の中から説明変数と目的変数を選択する。第1変数特定部121は、入力部101によって受け付けられたユーザのその入力操作に応じて、図5に示すデータセットDsの複数の変数の中から、例えば変数X0および変数X1をそれぞれ説明変数として特定する。さらに、第1変数特定部121は、その複数の変数の中から、例えば変数Yを目的変数として特定する。これにより、2つの変数が説明変数として設定され、1つの変数が目的変数として設定される。
このように、本実施の形態における第1変数特定部121は、データセットDsから、1以上の目的変数と、1以上の説明変数とを特定する。なお、本実施の形態では、2つの説明変数が設定され、1つの目的変数が設定されるが、その説明変数および目的変数のそれぞれの数は、これらの例に限らず、任意の数であってもよい。例えば、第1変数特定部121は、データセットDsの複数の変数のうちの1つの変数を説明変数に設定してもよく、3つ以上の変数のそれぞれを説明変数に設定してもよい。また、第1変数特定部121は、データセットDsの複数の変数のうちの2つ以上の変数のそれぞれを目的変数として特定してもよい。
また、第1変数特定部121は、説明変数として設定された変数が変数X0および変数X1であり、目的変数として設定された変数が変数Yであることを示す第1設定情報を、メモリ103または記憶部105に格納する。第1設定情報が記憶部105に格納される場合には、その第1設定情報は、テンポラリーデータ105bとして格納されてもよい。また、第1変数特定部121は、その第1設定情報を非活用変数抽出部123に出力してもよい。
層別条件設定部122は、入力部101によって受け付けられたユーザの入力操作に応じて、データセットDsの層別に用いられる非活用変数の総数をN個(Nは1以上の整数)に設定する。本実施の形態では、層別条件設定部122は、ユーザの入力操作に応じて総数を設定するが、その入力操作を必要とせず、予め定められているN個を固定値として設定してもよい。なお、N個は、層別に用いられる非活用変数の総数であるが、本実施の形態では、その総数Nが1以上である例を挙げて説明する。また、本実施の形態では、具体的な例として、総数NはN=2に設定される。なお、その層別に用いられる非活用変数は、以下、層別変数とも呼ばれる。つまり、本実施の形態における層別条件設定部122は、ユーザによる入力操作に応じて、層別変数の総数を設定する。なお、データセットDsに含まれる層別変数の各データは、上記層別のためには、それらのデータ間の共通性または類似性に応じて1つのグループだけではなく、複数のグループに分類される必要がある。
層別条件設定部122は、層別変数の総数であるN個を示す第2設定情報を、メモリ103または記憶部105に格納する。第2設定情報が記憶部105に格納される場合には、その第2設定情報は、テンポラリーデータ105bとして格納されてもよい。また、層別条件設定部122は、第2設定情報を第2変数特定部126に出力してもよい。
非活用変数抽出部123は、第1変数特定部121によって読み出された図5に示すデータセットDsの複数の変数の中から、M個の非活用変数を抽出する。具体的には、非活用変数抽出部123は、第1変数特定部121、メモリ103または記憶部105から第1設定情報を取得する。そして、非活用変数抽出部123は、その複数の変数から、第1設定情報によって示される説明変数および目的変数以外の全ての変数を非活用変数として抽出する。例えば、非活用変数抽出部123は、データセットDsの複数の変数の中から、変数Z0、変数Z1、変数D1、変数D2、変数D3、および変数D4をそれぞれ非活用変数として抽出する。その結果、本実施の形態では、データセットDsによって示される複数の変数から、M個の非活用変数が抽出される。そして、非活用変数抽出部123は、抽出されたM個の非活用変数を示す抽出情報を、メモリ103または記憶部105に格納する。抽出情報が記憶部105に格納される場合には、その抽出情報は、テンポラリーデータ105bとして格納されてもよい。また、非活用変数抽出部123は、抽出情報を変数型判定部124に出力してもよい。
変数型判定部124は、非活用変数抽出部123、メモリ103または記憶部105から抽出情報を取得し、その抽出情報によって示されるM個の非活用変数のそれぞれの変数型を順に判定する。変数型には、上述の質的変数の型と、量的変数の型とがある。つまり、変数型判定部124は、非活用変数のデータに基づいて、その非活用変数が質的変数であるか、量的変数であるかを判定する。具体的には、変数型判定部124は、非活用変数のデータに文字が含まれていれば、その非活用変数が質的変数であると判定する。一方、変数型判定部124は、非活用変数のデータに文字が含まれず数字のみが含まれていれば、その非活用変数が量的変数であると判定する。これにより、M個の非活用変数のそれぞれが、質的変数と量的変数とに分類される。例えば、本実施の形態では、変数型判定部124は、非活用変数Z0および非活用変数Z1のそれぞれが質的変数であると判定し、非活用変数D1、非活用変数D2、非活用変数D3、および非活用変数D4のそれぞれが量的変数であると判定する。そして、変数型判定部124は、M個の非活用変数のそれぞれについて、その非活用変数の変数型を示す変数型情報をメモリ103または記憶部105に格納する。変数型情報が記憶部105に格納される場合には、その変数型情報は、テンポラリーデータ105bとして格納されてもよい。また、変数型判定部124は、変数型情報を候補抽出部125に出力してもよい。
候補抽出部125は、データセットDsに含まれる3以上の変数から、特定された目的変数および説明変数以外の変数を層別変数候補として抽出する。言い換えれば、候補抽出部125は、M個の非活用変数の中から層別変数候補を抽出する。層別変数候補は、データセットDsの層別分類に用いられる層別変数の候補である。
具体的には、候補抽出部125は、上述のように、質的候補抽出部125aと、量的候補抽出部125bとを備えている。質的候補抽出部125aは、変数型判定部124、メモリ103または記憶部105から変数型情報を取得し、その変数型情報に示されている非活用変数の変数型を特定する。そして、質的候補抽出部125aは、その非活用変数の変数型が質的変数であれば、その質的変数の影響度を算出し、その影響度に基づいて質的変数を層別変数候補として採用するか否かを判断する。なお、影響度は、質的変数である非活用変数のデータが目的変数のデータに与える影響の大きさを示す数値であって、その影響が大きいほど、大きい値を示す。質的候補抽出部125aは、採用すると判断された質的変数である非活用変数を層別変数候補として抽出する。このような質的候補抽出部125aによる処理は、図9のステップS7における質的変数の候補抽出処理によって行われる。その詳細については、図10を用いて後述する。
一方、量的候補抽出部125bは、変数型判定部124、メモリ103または記憶部105から変数型情報を取得し、その変数型情報に示されている非活用変数の変数型を特定する。そして、量的候補抽出部125bは、その非活用変数の変数型が量的変数であれば、その量的変数のクラスタリングの状態を特定し、そのクラスタリングの状態に基づいて非活用変数を層別変数候補として採用するか否かを判断する。クラスタリングの詳細については、後述する。量的候補抽出部125bは、採用すると判断された量的変数である非活用変数を層別変数候補として抽出する。このような量的候補抽出部125bによる処理は、図9のステップS8における量的変数の候補抽出処理によって行われる。その詳細については、図11を用いて後述する。
次に、改善度特定部140は、データセットDsに含まれる3以上の変数のうちの、特定された目的変数および説明変数以外の変数である1以上の層別変数候補のそれぞれについて、その層別変数候補を用いることによってモデルの確からしさが増す度合いである改善度を特定する。このような改善度特定部140による処理は、図9のステップS9における改善度算出処理によって行われる。その詳細については、図12を用いて後述する。
そして、改善度特定部140は、1以上の層別変数候補のそれぞれについて、その層別変数候補の改善度を示す改善度情報を、メモリ103または記憶部105に格納する。改善度情報が記憶部105に格納される場合には、その改善度情報は、テンポラリーデータ105bとして格納されてもよい。また、改善度特定部140は、改善度情報を第2変数特定部126に出力してもよい。
第2変数特定部126は、候補抽出部125、メモリ103または記憶部105から、1以上の層別変数候補のそれぞれの改善度情報を取得する。さらに、第2変数特定部126は、層別条件設定部122、メモリ103または記憶部105から第2設定情報を取得する。そして、第2変数特定部126は、それらの改善度情報および第2設定情報を用いて、1以上の層別変数候補の中から、N個の層別変数候補をそれぞれ層別変数として特定する。層別変数は、データセットDsのレコードの層別に用いられる変数である。
このように、本実施の形態における第2変数特定部126は、1以上の層別変数候補から、その1以上の層別変数候補のそれぞれの改善度に基づいて、N個の層別変数候補を層別変数として特定する。つまり、第2変数特定部126は、層別条件設定部122によって設定された総数であるN個だけ層別変数を特定する。このとき、第2変数特定部126は、改善度に基づいて、層別変数を特定する。
そして、第2変数特定部126は、その特定されたN個の層別変数を示す層別変数情報を、メモリ103または記憶部105に格納する。層別変数情報が記憶部105に格納される場合には、その層別変数情報は、テンポラリーデータ105bとして格納されてもよい。また、第2変数特定部126は、層別変数情報を層別部127に出力してもよい。
層別部127は、データセットDsに含まれる層別変数の2つ以上のデータ間の共通性または類似性に基づいて層別分類を行う。この層別分類では、層別部127は、データセットDsに含まれる2つ以上のレコードを複数の層に分類することによって、複数の層のそれぞれに1つ以上のレコードを含める処理である層別分類を実行する。つまり、層別部127は、層別変数と目的変数との関係の傾向に基づいて、データセットDsを複数の層に分類する。具体的には、層別部127は、層別変数ごとに、その層別変数のデータの同一性または類似性に基づいて、その層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、データセットDsを分類する。ここで、その層別変数は、上述の層別変数情報によって示されている。したがって、層別部127は、第2変数特定部126、メモリ103または記憶部105から、層別変数情報を取得する。そして、層別部127は、その層別変数情報に基づいて、データセットDsに対する層別分類を行う。
具体的には、層別部127は、層別変数情報によって示されるN個の層別変数のそれぞれについて、その層別変数の2つ以上のデータ間の共通性または類似性に基づいて、データセットDsに含まれるその層別変数の2つ以上のデータを複数のグループに分類する。そして、層別部127は、そのN個の層別変数のそれぞれのグループの組み合わせに応じて複数の層を決定し、データセットDsに含まれる2つ以上のレコードを、決定された複数の層に分類する。これによって、複数の層のそれぞれに、1つ以上のレコードからなる層別データセットが生成される。複数の層のそれぞれの層別データセットは、データセットDsから分類された1つ以上のレコードを含む。その1つ以上のレコードのそれぞれは、N個の層別変数のそれぞれの同一グループに属するデータを含む。さらに、その1つ以上のレコードのそれぞれは、目的変数および説明変数のそれぞれのデータを含む。この層別データセットの詳細については、図7を用いて後述する。
なお、本実施の形態では、層別変数が質的変数である場合には、同一のデータがグループ化され、層別変数が量的変数である場合は、同一または類似のデータがグループ化される。また、本実施の形態における層別部127は、層別変数ごとに、その層別変数のデータの同一性または類似性に基づいて、その層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、データセットDsを分類する。ここで、層別変数が量的変数である場合において、その量的変数のデータが類似しているとは、量的変数の目的変数に対する影響の傾向が類似していることを意味する。したがって、層別部127は、層別変数と目的変数との関係の傾向に基づいて、データセットDsを複数の層に分類していると言える。
生成部128は、複数の層毎に、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成する。つまり、生成部128は、複数の層のそれぞれについて、その層に含まれる1つ以上のレコード、すなわち層別データセットを用いて、説明変数のデータと目的変数のデータとの関係を示すモデルを生成する。ここで、上述の例では、変数X0および変数X1がそれぞれ説明変数であるが、説明変数は1つでもよく、2つ以上であってもよい。したがって、この場合には、生成部128は、2つ以上の説明変数のそれぞれのデータと目的変数のデータとの関係を示すモデルを、重回帰式として生成する。例えば、生成部128は、説明変数X0および説明変数X1と目的変数Yとに対する重回帰分析を行うことによって、説明変数X0および説明変数X1のそれぞれのデータと目的変数Yのデータとの関係を示すモデルを生成する。
結果出力部129は、生成された複数のモデルを出力する。つまり、結果出力部129は、生成部128によって層ごとに生成されたモデルを、その生成部128から取得して出力部104に出力する。
[層別データセット]
図7は、本実施の形態における層別データセットの一例を示す図である。
例えば、第2変数特定部126は、それぞれ質的変数である非活用変数Z0および非活用変数Z1を層別変数として特定する。図5に示すデータセットDsの各レコードに含まれる層別変数Z0のデータは、「A」または「B」を示す。また、そのデータセットDsの各レコードに含まれる層別変数Z1のデータは、「C」または「D」を示す。そこで、層別部127は、図7の(a)に示すように、層別変数Z0のデータ「A」と、層別変数Z1のデータ「C」とを含む各レコードを、第1層に分類する。これにより、層別データセットDs1が生成される。層別データセットDs1は、ID「ID200901」によって識別されるレコードと、ID「ID200902」によって識別されるレコードと、ID「ID200903」によって識別されるレコードとからなる。
同様に、層別部127は、図7の(b)に示すように、層別変数Z0のデータ「B」と、層別変数Z1のデータ「C」とを含む各レコードを、第2層に分類する。これにより、層別データセットDs2が生成される。層別データセットDs2は、ID「ID200904」によって識別されるレコードと、ID「ID200905」によって識別されるレコードと、ID「ID200906」によって識別されるレコードとからなる。
同様に、層別部127は、図7の(c)に示すように、層別変数Z0のデータ「A」と、層別変数Z1のデータ「D」とを含む各レコードを、第3層に分類する。これにより、層別データセットDs3が生成される。層別データセットDs3は、ID「ID200907」によって識別されるレコードと、ID「ID200908」によって識別されるレコードと、ID「ID200909」によって識別されるレコードとからなる。
同様に、層別部127は、図7の(d)に示すように、層別変数Z0のデータ「B」と、層別変数Z1のデータ「D」とを含む各レコードを、第4層に分類する。これにより、層別データセットDs4が生成される。層別データセットDs4は、ID「ID200910」によって識別されるレコードと、ID「ID200911」によって識別されるレコードと、ID「ID200912」によって識別されるレコードとからなる。
言い換えれば、層別変数Z0の2つ以上のデータがグループ「A」およびグループ「B」に分類され、層別変数Z1の2つ以上のデータがグループ「C」およびグループ「D」に分類される。第1層は、層別変数Z0のグループ「A」と、層別変数Z1のグループ「C」との組み合わせに対応する。第2層は、層別変数Z0のグループ「B」と、層別変数Z1のグループ「C」との組み合わせに対応する。第3層は、層別変数Z0のグループ「A」と、層別変数Z1のグループ「D」との組み合わせに対応する。第4層は、層別変数Z0のグループ「B」と、層別変数Z1のグループ「D」との組み合わせに対応する。このように、層別変数Z0および層別変数Z1のそれぞれのグループの組み合わせに応じて複数の層が決定される。したがって、層別分類では、層別変数Z0のグループ「A」に属するデータと、層別変数Z1のグループ「C」に属するデータとを含むレコードは、第1層に分類される。層別変数Z0のグループ「B」に属するデータと、層別変数Z1のグループ「C」に属するデータとを含むレコードは、第2層に分類される。層別変数Z0のグループ「A」に属するデータと、層別変数Z1のグループ「D」に属するデータとを含むレコードは、第3層に分類される。層別変数Z0のグループ「B」に属するデータと、層別変数Z1のグループ「D」に属するデータとを含むレコードは、第4層に分類される。
なお、各層に分類されるレコードには、層別変数以外の他の非活用変数のデータが含まれていてもよく、図7に示す例のように、活用変数および層別変数のそれぞれのデータのみが含まれていてもよい。
図8は、層別データセットDs1~Ds4のそれぞれについて、その層別データセットに含まれる各レコードによって示される座標点の分布を示す図である。
層別データセットDs1~Ds4のそれぞれは、複数のレコードを含む。そして、その複数のレコードのそれぞれは、説明変数X0のデータと、説明変数X1のデータと、目的変数Yのデータとを含み、座標点(X0,X1,Y)として示される。つまり、レコードは、説明変数X0、説明変数X1および目的変数Yからなる三次元座標系における座標点として示される。
データセットDsに含まれる全てのレコードの座標点からは、それらのレコード間の相関性を見出すことが難しい。しかし、図8に示すように、層別データセットDs1~Ds4のそれぞれでは、その層別データセットに含まれる複数のレコードの座標点は、互に相関性を有する。したがって、層別データセットDs1~Ds4のそれぞれでは、その層別データセットに含まれる全てのレコードの座標点から、それらのレコード間の相関性を見出すことができる。
生成部128は、これらの層別データセットDs1~D4のそれぞれで、その層別データセットに含まれる1つ以上のレコードを用いて、説明変数X0および説明変数X1のそれぞれのデータと目的変数Yのデータとの関係を示すモデルを生成する。
このように、本実施の形態では、層別変数が非活用変数であって、その非活用変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。したがって、説明変数以外の変数である非活用変数によって、データセットDsに対する層別分類を最適に行うことができる。その結果、非活用変数に応じて説明変数と目的変数との間の相関関係が変化するような場合であっても、その非活用変数のグループに応じた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。また、本実施の形態では、層別変数が2つ以上であっても、データセットDsに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。
[処理動作]
図9は、本実施の形態におけるモデル生成装置100の全体的な処理動作の一例を示すフローチャートである。
まず、モデル生成装置100の受信部130は、データ受信処理を行う(ステップS1)。このデータ受信処理では、第1変数特定部121は、データベース106からデータセットDsを読み出すことによって、そのデータセットDsを受信する。そして、第1変数特定部121は、そのデータセットDsによって示される複数の変数から、説明変数および目的変数を特定する(ステップS2)。これにより、説明変数および目的変数が設定される。例えば、上述のように、変数X0および変数X1がそれぞれ説明変数に設定され、変数Yが目的変数に設定される。
次に、層別条件設定部122は、ユーザの入力操作に応じて、層別変数の総数Nを設定する(ステップS3)。例えば、総数NはN=2に設定される。なお、この総数Nは、予め定められた固定値であってもよい。
次に、非活用変数抽出部123は、データセットDsの複数の変数から、説明変数および目的変数以外の変数を、非活用変数として抽出する(ステップS4)。
その後、モデル生成装置100は、ステップS5~S8を含む第1ループ処理を、ステップS4で抽出された全ての非活用変数のそれぞれに対して順に実行する。すなわち、データセットDsに示されるM個の非活用変数のそれぞれに対して第1ループ処理が順に実行される。
具体的には、まず、変数型判定部124は、処理対象の非活用変数の変数型を判定する(ステップS5)。そして、変数型判定部124は、その変数型が質的変数の型であるか否かを判定する(ステップS6)。つまり、変数型判定部124は、処理対象の非活用変数が質的変数であるか否かを判定する。そして、その処理対象の非活用変数が質的変数であると変数型判定部124によって判定されると(ステップS6のYes)、質的候補抽出部125aは、質的変数の候補抽出処理を実行する(ステップS7)。つまり、質的候補抽出部125aは、その質的変数である非活用変数の目的変数に対する影響度を算出し、その影響度に基づいてその質的変数を層別変数候補として採用するか否かを判断する。そして、質的候補抽出部125aは、採用すると判断された質的変数を層別変数候補として抽出する。一方、その処理対象の非活用変数が質的変数ではないと変数型判定部124によって判定されると(ステップS6のNo)、量的候補抽出部125bは、その処理対象の非活用変数である量的変数の候補抽出処理を実行する(ステップS8)。つまり、量的候補抽出部125bは、データセットDsに含まれるその量的変数の2つ以上のデータに対してクラスタリングを行い、そのクラスタリングの状態に基づいて、その量的変数を層別変数候補として採用するか否かを判断する。そして、量的候補抽出部125bは、採用すると判断された量的変数を層別変数候補として抽出する。
このようなステップS5~S8を含む第1ループ処理が、全ての非活用変数のそれぞれに対して順に実行されることによって、その全ての非活用変数から1以上の層別変数候補が抽出される。
次に、改善度特定部140は、1以上の層別変数候補のそれぞれの改善度を算出する改善度算出処理を行う(ステップS9)。
そして、第2変数特定部126は、全ての非活用変数から抽出された1以上の層別変数候補を、それらの層別変数候補の改善度順にソートする(ステップS10)。具体的には、第2変数特定部126は、改善度が大きいほどその層別変数候補が前に配置されるように、それらの層別変数候補を並べ替える。
次に、第2変数特定部126は、ソートされた1以上の層別変数候補のうち、改善度が上位の層別変数候補を、ステップS3で設定された総数Nだけ、層別変数として特定する(ステップS11)。つまり、第2変数特定部126は、大きい改善度から順にN個の層別変数候補をそれぞれ層別変数として特定する。これにより、合計N個の層別変数が特定される。上述の例では、N=2であって、質的変数Z0および質的変数Z1がそれぞれ層別変数として特定される。
次に、層別部127は、その特定されたN個の層別変数を用いてデータセットDsに対する層別分類を行うことによって、複数の層別データセットを生成する。例えば、図7に示すように、層別データセットDs1~Ds4が生成される。そして、生成部128は、層別データセットごとに、説明変数および目的変数に対する重回帰分析を行うことによって重回帰式を算出する(ステップS12)。これにより、層別データセットごとに、重回帰式からなるモデルが生成される。
生成部128は、さらに、複数の層別データセットのそれぞれで算出された重回帰式に対して、説明変数の自由度調整済み決定係数を算出する(ステップS13)。
結果出力部129は、ステップS12で算出された各重回帰式と、ステップS13で算出された各決定係数とを出力部104に出力する。これにより、出力部104は、各重回帰式と各決定係数とをディスプレイに表示したり、紙に印刷したり、それらを示すファイルを記憶部105に格納する(ステップS14)。
図10は、図9のステップS7における質的変数の候補抽出処理の具体的な一例を示すフローチャートである。なお、この候補抽出処理で扱われる処理対象の非活用変数は、質的変数である。
質的候補抽出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下であるか否かを判定する(ステップS71)。そのカテゴリ数の第1閾値は、例えば20である。カテゴリ数は、データセットDsに含まれる、その処理対象の非活用変数によって示される複数の同一データからなるグループ数である。例えば、図5に示すデータセットDsにおいて、質的変数である非活用変数Z0によって示される複数のデータには、「A」を示すデータと、「B」を示すデータとが含まれている。したがって、その非活用変数Z0のカテゴリ数は2である。同様に、図5に示すデータセットDsにおいて、質的変数である非活用変数Z1によって示される複数のデータには、「C」を示すデータと、「D」を示すデータとが含まれている。したがって、その非活用変数Z1のカテゴリ数は2である。
次に、質的候補抽出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下ではないと判定すると(ステップS71のNo)、その非活用変数を影響度の算出対象から除外する(ステップS72)。例えば、カテゴリ数が比較的多い非活用変数を層別変数候補として抽出し、さらに、その層別変数候補を層別変数として用いれば、多くの層別データセットが生成される。その結果、多くのモデルが生成されることによって、各モデルの精度の向上と、それらのモデルの使い易さの向上とを、期待することが難しいと想定される。したがって、ステップS72では、そのようなカテゴリ数が多い非活用変数を影響度の算出対象から除外することによって、その非活用変数が層別変数候補として抽出されることを抑制し、その非活用変数が層別変数に用いられることを抑制することができる。
一方、質的候補抽出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下であると判定すると(ステップS71のYes)、その処理対象の非活用変数の影響度を教師あり機械学習によって算出する(ステップS73)。その教師あり機械学習は、例えばランダムフォレストを用いた学習である。ランダムフォレストは、複数の決定木を用いる手法である。例えば、質的候補抽出部125aは、データセットDsに含まれる目的変数の各データと、データセットDsに含まれる処理対象の非活用変数の各データとを、それぞれ教師データとして用いたランダムフォレストの機械学習を実行する。このランダムフォレストは、例えば目的変数のデータから処理対象の非活用変数のデータを推定するための学習モデルである。より具体的には、処理対象の非活用変数は、非活用変数Z0である。この場合、質的候補抽出部125aは、目的変数のデータをランダムフォレストに入力することによって、その目的変数のデータに対応する非活用変数Z0のデータがそのランダムフォレストから出力されるように、機械学習を実行する。このときランダムフォレストから出力される非活用変数Z0のデータは、「A」または「B」である。
質的候補抽出部125aは、ランダムフォレストに含まれる複数の決定木の不純度を表す指標であるジニ係数Gに基づいて、その処理対象の非活用変数の影響度を算出する。ジニ係数Gは、決定木のノードごとに、式(1)で定義される。
ここで、式(1)において、Cはカテゴリ数である。また、Piは、カテゴリiに属するデータ数を、全データ数で割ったものである。つまり、Piは、そのジニ係数Gに対応するノードにおいて分類されたカテゴリiのデータの数を、そのノードにおいて分類されたデータの総数で除算することによって得られる商である。例えば、「A」を示す2つのデータと、「B」を示す1つのデータとがそのノードにおいて分類された場合、G=1-(2/3)2-(1/3)2である。
質的候補抽出部125aは、決定木におけるジニ係数ができるだけ小さくなるように学習を行う。そして、質的候補抽出部125aは、ランダムフォレストに用いられた複数の決定木の全てのジニ係数の平均値が小さいほど大きい値を示す影響度を算出する。例えば、質的候補抽出部125aは、その平均値の逆数を影響度として算出する。
次に、質的候補抽出部125aは、例えばランダムフォレストを用いた学習で算出された影響度が第2閾値以上であるか否かを判定する(ステップS74)。ここで、質的候補抽出部125aは、処理対象の非活用変数の影響度が第2閾値以上ではないと判定すると(ステップS74のNo)、その非活用変数を層別変数候補から除外する(ステップS75)。つまり、その非活用変数は、層別変数候補として採用されない。
一方、質的候補抽出部125aは、処理対象の非活用変数の影響度が第2閾値以上であると判定すると(ステップS74のYes)、その非活用変数を層別変数候補として採用する(ステップS76)。つまり、質的候補抽出部125aは、処理対象の非活用変数を層別変数候補として採用するか否かを判断し、採用すると判断された非活用変数を層別変数候補として抽出する。
このように、本実施の形態における質的候補抽出部125aは、処理対象の非活用変数が質的変数の場合、ランダムフォレストを用いてその質的変数の影響度を算出し、その影響度に基づいてその質的変数を層別変数候補として抽出するか否かを判断する。
これにより、データセットDsに含まれる全ての非活用変数のうちの全ての質的変数のそれぞれを層別変数候補として扱うことなく、例えば、目的変数に対する影響度が大きい質的変数のみを層別変数候補として扱うことができる。その結果、全ての非活用変数のうちの全ての質的変数のそれぞれの改善度を特定することなく、一部の質的変数、すなわち影響度が大きい質的変数のみに対して改善度を特定することができる。つまり、改善度の特定対象とされる質的変数の数を減らすことができる。さらに、影響度が大きい質的変数は、大きい改善度が見込まれる質的変数であるため、改善度の特定の処理負担を効果的に減らすことができる。
図11は、図9のステップS8における量的変数の候補抽出処理の具体的な一例を示すフローチャートである。なお、この候補抽出処理で扱われる処理対象の非活用変数は、量的変数である。
量的候補抽出部125bは、データセットDsに含まれる処理対象の非活用変数の各データに対するクラスタリングを、教師なし機械学習によって行う(ステップS81)。その教師なし機械学習は、例えば混合ガウスモデル(GMM:Gaussian Mixture Model)である。
混合ガウスモデルは、ある確率分布が与えられたとき、その確率分布を複数のガウス関数(すなわち正規分布)の線形結合で近似する手法である。線形結合では、複数のガウス関数のそれぞれは、重みπkを用いて結合される。重みπkは、k番目のガウス関数の重みであって、混合係数とも呼ばれる。(a,b)の2次元で考えた場合、k番目のガウス関数は、aの平均値μa_kと、bの平均値μb_kと、aの分散Σa_kと、bの分散Σb_kと、aとbの共分散Σab_kとを有する。各正規分布の大きさは、簡易的にΣb_k+Σa_kで扱うことができる。なお、本実施の形態では、(a,b)は、(目的変数,量的変数である非活用変数)である。
量的候補抽出部125bは、混合ガウスモデルでのハイパーパラメータであるクラスタ数を変更しながらその混合ガウスモデルを解析する。そして、量的候補抽出部125bは、例えば赤池情報量基準(AIC:Akaike’s Information Criterion)またはベイズ情報量基準(BIC:Bayesian Information Criterion)が最小となるクラスタ数を採用する。これにより、そのクラスタ数だけクラスタが生成される。なお、クラスタ数は、1つ以上である。また、クラスタは、上述のカテゴリまたはグループに相当する。
その後、量的候補抽出部125bは、ステップS82~S84を含む第2ループ処理を、ステップS81で生成された全てのクラスタのそれぞれに対して順に実行する。
具体的には、まず、量的候補抽出部125bは、処理対象のクラスタ内のデータ数が第3閾値以上であるか否かを判定する(ステップS82)。ここで、量的候補抽出部125bは、データ数が第3閾値以上であると判定すると(ステップS82のYes)、そのクラスタを高信頼クラスタとして採用する(ステップS83)。一方、量的候補抽出部125bは、データ数が第3閾値未満であると判定すると(ステップS82のNo)、そのクラスタを低信頼クラスタに分類する(ステップS84)。これにより、層別変数候補が、信頼性の低いクラスタを用いて抽出されることを抑制することができる。
このようなステップS82~S84を含む第2ループ処理が、ステップ81で生成された全てのクラスタのそれぞれに対して順に実行される。これにより、量的変数の候補抽出処理における第一段階の処理として、その全てのクラスタから信頼性の低いクラスタを除外する処理が行われる。
そして、量的候補抽出部125bは、量的変数の候補抽出処理における第二段階の処理として、ステップS85~S87の処理を行う。つまり、量的候補抽出部125bは、ステップS83で採用された高信頼クラスタが2つ以上あるか否かを判定する(ステップS85)。ここで、量的候補抽出部125bは、その高信頼クラスタが2つ以上あると判定すると(ステップS85のYes)、それらの高信頼クラスタに対応する処理対象の非活用変数を層別変数候補として採用する(ステップS87)。一方、量的候補抽出部125bは、高信頼クラスタが2つ以上ないと判定すると(ステップS85のNo)、その非活用変数を層別変数候補から除外する(ステップS86)。
このように、本実施の形態における量的候補抽出部125bは、処理対象の非活用変数が量的変数の場合、その量的変数の機械学習によるクラスタリングによってクラスタの状態を特定し、そのクラスタの状態に基づいてその量的変数を層別変数候補として抽出するか否かを判断する。
これにより、データセットDsに含まれる全ての非活用変数のうちの全ての量的変数のそれぞれを層別変数候補として扱うことなく、例えば、信頼性の高い多くのクラスタを有する量的変数のみを層別変数候補として扱うことができる。その結果、改善度特定部140が、全ての非活用変数のうちの全ての量的変数のそれぞれの改善度を特定することなく、一部の量的変数、すなわち信頼性の高い多くのクラスタを有する量的変数のみに対して改善度を特定することができる。つまり、改善度の特定対象とされる量的変数の数を減らすことができる。さらに、信頼性の高い多くのクラスタを有する量的変数は、大きい改善度が見込まれる量的変数であるため、改善度の特定の処理負担を効果的に減らすことができる。
図12は、図9のステップS9における改善度算出処理の具体的な一例を示すフローチャートである。なお、この改善度算出処理で扱われる層別変数候補は、質的変数であっても、量的変数であってもよい。
改善度特定部140は、層別分類が行われていないデータセットDsにおける目的変数と説明変数との関係を示す重回帰式を算出し、その重回帰式に対する自由度調整済み決定係数を第1決定係数として算出する(ステップS91)。層別分類が行われていないデータセットDsは、例えば図5に示すデータセットDsである。
その後、改善度特定部140は、ステップS92~S96を含む第3ループ処理を、ステップS7およびステップS8で抽出された全ての層別変数候補のそれぞれに対して順に実行する。この第3ループ処理では、改善度特定部140は、候補抽出部125で抽出された1以上の層別変数候補のそれぞれに対して順に自由度調整済み決定係数を第2決定係数として算出する。
具体的には、まず、改善度特定部140は、抽出された層別変数候補を用いてデータセットDsを層別分類することによって、複数の層別データセットを生成する(ステップS92)。この層別分類は、層別部127による層別分類と同様であるが、図7の例のように、複数の非活用変数を用いることなく、1つの非活用変数である層別変数候補を用いて行われる。なお、複数の層別データセットのそれぞれは、図7の例のように、データセットDsに含まれる1つ以上のレコードを含む。その1つ以上のレコードのそれぞれは、層別変数候補の同一のデータまたは類似しているデータを含む。つまり、その1つ以上のレコードのそれぞれは、層別変数候補の同一のグループ(すなわちカテゴリまたはクラスタ)に属するデータを含む。さらに、その1つ以上のレコードのそれぞれは、目的変数および説明変数のそれぞれのデータを含む。
次に、改善度特定部140は、その生成された複数の層別データセットのそれぞれについて、その層別データセットにおける目的変数と説明変数との関係を示す重回帰式を算出する(ステップS93)。そして、改善度特定部140は、その算出された各重回帰式に対する自由度調整済み決定係数を第2決定係数として算出し(ステップS94)、それらの第2決定係数の代表値を代表決定係数として決定する(ステップS95)。例えば、改善度特定部140は、ステップS93で算出された重回帰式a、b、c・・・に対して第2決定係数2a、2b、2c、・・・を算出し、それらの第2決定係数2a、2b、2c、・・・の代表値を代表決定係数として決定する。具体的には、改善度特定部140は、第2決定係数2a、2b、2c、・・・の平均値または最大値を代表決定係数に決定する。
そして、改善度特定部140は、ステップS95で決定された代表決定係数と、ステップS91で算出された第1決定係数との差分を、ステップS92で用いられた層別変数候補の改善度として算出する(ステップS96)。つまり、改善度特定部140は、「代表決定係数-第1決定係数=改善度」によって、層別変数候補の改善度を算出する。言い換えれば、代表決定係数と第1決定係数との差分が、層別変数候補の改善度として定義される。
このように、本実施の形態における改善度特定部140は、層別変数候補を用いて分類されたデータセットDsから得られる重回帰式の確からしさを示す第1決定係数と、分類されていないデータセットDsから得られる重回帰式の確からしさを示す代表決定係数との差分を算出することによって、改善度を特定する。なお、その重回帰式は、目的変数と説明変数との関係を示すモデルである。また、第1決定係数、第2決定係数、および代表決定係数のそれぞれは、自由度調整済み決定係数であって、モデルの確からしさを示す指標である。
これにより、1以上の層別変数候補のそれぞれについて、層別分類が行われない場合に得られる自由度決定係数からの改善度を適切に特定することができる。その結果、層別部127は、その改善度を用いて1以上の層別変数候補から改善度が大きい層別変数候補を層別変数として用いることによって、データセットDsに対する最適な層別分類を行うことができる。その結果、層別部127による層別分類によって得られる複数の層別データセットのそれぞれに対して、より精度の高いモデルを生成することができる。
[モデルの例]
以上のように、本実施の形態では、データセットDsに対して層別分類が行われる。例えば、非活用変数Z0および非活用変数Z1がそれぞれ層別変数として特定された場合には、図7に示すように、4つの層別データセットDs1~Ds4が生成される。そして、4つの層別データセットDs1~Ds4のそれぞれからモデルが生成される。これにより、モデルの精度向上を図ることができる。
具体的には、層別分類が行われない場合、データセットDsから生成されるモデルは、以下の式(2)のように示される。なお、式(2)では、x0およびx1が、上述の説明変数X0および説明変数X1にそれぞれ相当し、fが上述の目的変数Yに相当する。
一方、本実施の形態では、上述のように層別分類が行われるため、以下の式(3)~式(6)に示される4つのモデルがそれぞれ重回帰式として生成される。なお、式(3)~式(6)では、x0およびx1が、上述の説明変数X0および説明変数X1にそれぞれ相当し、f00、f01、f10、およびf11のそれぞれが上述の目的変数Yに相当する。具体的には、式(3)は、図7の(d)および図8に示す層別データセットDs4から生成されたモデルであって、その層別データセットDs4は、層別変数Z0のデータ「B」と、層別変数Z1のデータ「D」とを含む各レコードを含む。式(3)のf00は、この層別データセットDs4の目的変数Yに相当する。式(4)は、図7の(c)および図8に示す層別データセットDs3から生成されたモデルであって、その層別データセットDs3は、層別変数Z0のデータ「A」と、層別変数Z1のデータ「D」とを含む各レコードを含む。式(4)のf01は、この層別データセットDs3の目的変数Yに相当する。式(5)は、図7の(b)および図8に示す層別データセットDs2から生成されたモデルであって、その層別データセットDs2は、層別変数Z0のデータ「B」と、層別変数Z1のデータ「C」とを含む各レコードを含む。式(5)のf10は、この層別データセットDs2の目的変数Yに相当する。式(6)は、図7の(a)および図8に示す層別データセットDs1から生成されたモデルであって、その層別データセットDs1は、層別変数Z0のデータ「A」と、層別変数Z1のデータ「C」とを含む各レコードを含む。式(6)のf11は、この層別データセットDs1の目的変数Yに相当する。
なお、本実施の形態では、2つの層別変数Z0および層別変数Z1が特定され、層別変数Z0の各データが2つのグループに分類され、層別変数Z1の各データが2つのグループに分類される。したがって、グループの組み合わせ数が4であって、4つのモデルが生成される。ここで、3つの層別変数が特定され、それらの層別変数の各データが2つのグループに分類される場合には、グループの組み合わせ数は8であって、8つのモデルが生成される。また、2つの層別変数が特定され、それらの層別変数の各データが3つのグループに分類される場合には、グループの組み合わせ数は9であって、9つのモデルが生成される。
ここで、R2*は自由度調整済み決定係数である。この自由度調整済み決定係数は、モデルの確からしさを示す指数である。本実施の形態では、上述の式(2)~式(6)に示すとおり、自由度調整済み決定係数を、0.273から、0.503~0.969の範囲まで増加させることができ、モデルの精度向上を図ることができる。そして、このような各モデルと各自由度調整済み決定係数とが、結果出力部129によって出力される。
このように、本実施の形態における生成部128は、生成された複数のモデルのそれぞれについて、そのモデルの確からしさを示す指数を算出する。そして、結果出力部129は、複数のモデルのそれぞれに対して算出されたその指数を出力する。したがって、ユーザは、生成されたモデルを使用するか否かを、その指数にしたがって容易に判断することができる。
[効果など]
以上のように、本実施の形態では、目的変数および説明変数以外の変数である層別変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。また、層別変数は、モデルに含まれる変数として採用されていないが、そのモデルの生成には用いられる非活用変数である。したがって、その非活用変数によって、データセットDsに対する層別分類を最適に行うことができる。その結果、非活用変数に応じて説明変数と目的変数との間の相関関係が変化するような場合であっても、その非活用変数のデータに応じた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。
また、本実施の形態では、データセットDsのM個の非活用変数の中から、有効な変数が層別変数として自動的に特定される。したがって、例えば工場の有識者などのユーザが活用変数(すなわち目的変数および説明変数)を選択した意図を活かすことができ、ユーザの理解し易いモデルの生成と、そのモデルの精度向上とを両立することができる。
また、本実施の形態では、改善度特定部140が、データセットDsに含まれる3以上の変数のうちの、特定された目的変数および説明変数以外の変数である1以上の層別変数候補のそれぞれについて、当該層別変数候補を用いることによってモデルの確からしさが増す度合いである改善度を特定する。さらに、第2変数特定部126が、1以上の層別変数候補から、それらの層別変数候補の改善度に基づいてN個の層別変数候補のそれぞれを層別変数として特定する。そして、層別部127が、そのN個の層別変数のそれぞれについて、その層別変数の2つ以上のデータ間の共通性または類似性に基づいて、データセットDsに含まれるその層別変数の2つ以上のデータを複数のグループに分類する。さらに、層別部127が、N個の層別変数のそれぞれのグループの組み合わせに応じて複数の層を決定し、データセットDsに含まれる2つ以上のレコードを、決定された複数の層に分類する。グループは、層別変数が質的変数の場合には、上述のカテゴリに相当し、層別変数が量的変数の場合には、上述のクラスタに相当する。
これにより、層別変数が2つ以上であっても、データセットDsに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。また、例えば、大きい改善度を有する層別変数候補が層別変数として特定され、その大きい改善度の層別変数を用いた層別分類が層別部127によって行われるため、より高い精度のモデルを生成することができる。
また、本実施の形態では、質的変数の層別変数候補に対しても、量的変数の層別変数候補に対しても、同一の算出手法によって改善度が算出される。したがって、質的変数の層別変数候補および量的変数の層別変数候補の何れにも、その算出される改善度を、モデルの確からしさが増す共通の度合いとして用いることがきる。つまり、改善度は、変数型に依存することのない共通の指標とも言える。したがって、質的変数の層別変数候補および量的変数の層別変数候補を分け隔てすることなく平等に、それらの層別変数候補から、大きい改善度を有する層別変数候補を層別変数として特定することができる。
また、本実施の形態では、層別条件設定部122が、ユーザによる入力操作に応じて、層別変数の総数を設定し、第2変数特定部126が、その設定された総数であるN個だけ層別変数を特定する。
これにより、特定される層別変数の総数を、ユーザの意図どおりに任意に設定することができ、生成されるモデルの数または精度を調整することができる。
また、本実施の形態では、M個の非活用変数は、それぞれ文字を含むデータを示す1つ以上の質的変数と、それぞれ数字からなるデータを示す1つ以上の量的変数とを含む。
これにより、質的変数および量的変数のうちの一方だけでなく両方を含むN個の層別変数を特定することができ、特定される層別変数の変数型の自由度を高めることができる。
(変形例など)
以上、本開示の一態様に係るモデル生成装置について、上記実施の形態に基づいて説明したが、本開示は、その実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態に施したものも本開示に含まれてもよい。
例えば、本実施の形態では、質的変数の候補抽出処理に、教師あり機械学習の一例としてランダムフォレストが用いられているが、その教師あり機械学習はランダムフォレストに限定されるものではなく、他の教師あり機械学習が用いられてもよい。例えば、ランダムフォレストの代わりに、勾配ブースティング決定木(GBDT:Gradient Boosting Decision Tree)が用いられてもよい。この勾配ブースティング決定木が用いられる場合には、誤差または損失係数が小さくなるように機械学習が行われる。そして、質的候補抽出部125aは、その誤差または損失係数が小さいほど大きい値を示す影響度を算出する。また、ランダムフォレストと勾配ブースティング決定木とを組み合わせてもよい。例えば、質的変数である第1非活用変数の影響度を、ランダムフォレストを用いて算出し、質的変数である第2非活用変数の影響度を、勾配ブースティング決定木を用いて算出してもよい。このとき、互に異なる2つの機械学習によって算出される影響度を正規化することによって、それらの影響度を比較可能にしてもよい。
また、本実施の形態では、量的変数の候補抽出処理に、教師なし機械学習の一例として混合ガウスモデルが用いられているが、その教師なし機械学習は混合ガウスモデルに限定されるものではなく、他の教師なし機械学習が用いられてもよい。例えば、混合ガウスモデルの代わりに、k-means法が用いられてもよい。この場合には、処理対象の非活用変数によって示される各データは、k-means法によってクラスタリングされる。また、混合ガウスモデルとk-means法とを組み合わせてもよい。例えば、量的変数である第1非活用変数のクラスタリングを、混合ガウスモデルを用いて行い、量的変数である第2非活用変数のクラスタリングを、k-means法を用いて行ってもよい。
また、混合ガウスモデルでは、1つ1つのデータは、各グループに属する確率を有し、複数のグループのうち最も確率の高いグループに属する。混合ガウスモデルの代わりに後述のk-means法が用いられる場合には、1つ1つのデータは、各グループの重心との間に距離を有し、複数のグループのうち最も距離が近いグループに属する。したがって、具体的に、量的変数のデータが類似しているとは、そのデータに対応する確率が一定値以上であること、又は、グループの重心から、そのデータに対応する位置までの距離が一定値以下であることである。
また、本実施の形態では、重回帰式をモデルとして生成したが、単回帰式をモデルとして生成してもよく、回帰式以外のモデルを生成してもよい。例えば、ニューラルネットワークをモデルとして生成してもよい。
また、本実施の形態におけるデータセットDsは、製造関連の変数およびその変数のデータを示すが、その製造関連に限定されることなく、製造関連とは異なる他の分野の変数およびその変数のデータを示していてもよい。
また、本実施の形態におけるデータセットDsに含まれるデータは、操業データと品質データとに分別されていてもよい。例えば、操業データは、製造プロセスに関するデータであって、図5に示す、変数X0、変数X1、変数Z0、変数Z1、変数D1、変数D2、変数D3、および変数D4のそれぞれのデータであってもよい。また、例えば、品質データは、製品の品質に関するデータであって、図5に示す変数Yであってもよい。
また、本実施の形態では、層別変数の総数Nが設定されるが、例えば、質的変数の総数と、量的変数の総数とをそれぞれ個別に設定してもよい。この場合、第2変数特定部126は、質的変数である1以上の層別変数候補から、その設定された質的変数の総数だけ、改善度の大きい順に層別変数候補を層別変数として特定する。さらに、第2変数特定部126は、量的変数である1以上の層別変数候補から、その設定された量的変数の総数だけ、改善度の大きい順に層別変数候補を層別変数として特定する。
また、本実施の形態では、M個の非活用変数に含まれる1以上の質的変数から、それらの影響度に基づいて層別変数候補が抽出され、そのM個の非活用変数に含まれる1以上の量的変数から、それらのクラスタの状態に基づいて層別変数候補が抽出される。しかし、影響度およびクラスタの状態に関わらず、M個の非活用変数に含まれる全ての質的変数のそれぞれが層別変数候補として抽出されてもよく、M個の非活用変数に含まれる全ての量的変数のそれぞれが層別変数候補として抽出されてもよい。この場合には、M個の非活用変数のそれぞれが層別変数候補として抽出され、そのM個の非活用変数のそれぞれに対して改善度が算出される。
また、本実施の形態では、データセットDsは、2つの変数型のそれぞれに属する変数のデータを含んでいるが、その変数型の数は2つに限らず、1つだけであってもよく、3つ以上であってもよい。
また、本実施の形態では、データセットDsは、製造管理装置500からネットワークを介して送信されてデータベース106に格納されるが、他の装置または記録媒体からデータベース106に出力されて格納されてもよい。また、データセットDsは、ネットワークを介さずにデータベース106に格納されてもよい。
なお、以下のような場合も本開示に含まれる。
(1)上記の少なくとも1つの装置は、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。そのRAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記の少なくとも1つの装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(2)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
(3)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、その装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD(Compact Disc)-ROM、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。