(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022184205
(43)【公開日】2022-12-13
(54)【発明の名称】モデル生成装置、モデル生成方法およびプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20221206BHJP
G06N 3/08 20060101ALI20221206BHJP
G05B 19/418 20060101ALI20221206BHJP
G06Q 50/04 20120101ALN20221206BHJP
【FI】
G06N20/00
G06N3/08
G05B19/418 Z
G06Q50/04
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021091915
(22)【出願日】2021-05-31
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】定永 雄一郎
(72)【発明者】
【氏名】原 伸夫
(72)【発明者】
【氏名】農添 三資
【テーマコード(参考)】
3C100
5L049
【Fターム(参考)】
3C100AA70
3C100BB13
3C100BB15
3C100BB27
5L049CC03
(57)【要約】
【課題】モデルの精度向上を容易に図ることができるモデル生成装置を提供する。
【解決手段】モデル生成装置100は、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成する装置であって、3以上の変数を含むデータセットDsを受信する受信部130と、データセットDsから、1以上の目的変数と、1以上の説明変数とを特定し、データセットDsに含まれる3以上の変数のうち、特定された目的変数および説明変数以外の変数から、1または複数の変数を層別変数として特定する第1変数特定部121および第2変数特定部126と、層別変数と目的変数との関係の傾向に基づいて、データセットDsを複数の層に分類する層別部127と、複数の層毎に、モデルを生成する生成部128と、を備える。
【選択図】
図6
【特許請求の範囲】
【請求項1】
1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成するモデル生成装置であって、
3以上の変数を含むデータセットを受信する受信手段と、
前記データセットから、1以上の目的変数と、1以上の説明変数とを特定し、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数から、1または複数の変数を層別変数として特定する変数特定手段と、
前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類する層別手段と、
前記複数の層毎に、前記モデルを生成する生成手段と、
を備えるモデル生成装置。
【請求項2】
前記層別手段は、前記層別変数ごとに、当該層別変数のデータの同一性または類似性に基づいて、当該層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、前記データセットを分類する、
請求項1に記載のモデル生成装置。
【請求項3】
前記データセットは、文字を含むデータを示す質的変数と、数字からなるデータを示す量的変数とを含む、
請求項1または2に記載のモデル生成装置。
【請求項4】
前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数について、前記目的変数に対する影響度をそれぞれ算出する影響度算出手段をさらに備え、
前記変数特定手段は、前記影響度に基づいて、前記層別変数を特定する、
請求項1~3に記載のモデル生成装置。
【請求項5】
前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数について、前記目的変数に対する影響度をそれぞれ算出する影響度算出手段をさらに備え、
前記受信手段は、前記質的変数または前記量的変数のどちらを優先するかを示す優先情報を受信し、
前記変数特定手段は、前記影響度および前記優先情報に基づいて、前記層別変数を特定する、
請求項3に記載のモデル生成装置。
【請求項6】
前記影響度算出手段は、
ランダムフォレストまたは勾配ブースティング決定木を用いて、前記質的変数の前記影響度を算出する、
請求項5に記載のモデル生成装置。
【請求項7】
前記影響度算出手段は、
混合ガウスモデルまたはk-means法を用いて、前記データセットに含まれる前記量的変数の2つ以上のデータに対するクラスタリングを行い、前記クラスタリングによって得られる各クラスタと前記目的変数との単回帰分析によって、前記量的変数の前記影響度を算出する、
請求項5または6に記載のモデル生成装置。
【請求項8】
前記生成手段は、さらに、
生成された複数の前記モデルのそれぞれについて、当該モデルの確からしさを示す指数を算出し、
前記モデル生成装置は、さらに、
複数の前記モデルのそれぞれに対して算出された前記指数を出力する結果出力手段を備える、
請求項1~7の何れか1項に記載のモデル生成装置。
【請求項9】
前記生成手段は、
2つ以上の前記説明変数のそれぞれのデータと前記目的変数のデータとの関係を示す前記モデルを、重回帰式として生成する、
請求項1~8の何れか1項に記載のモデル生成装置。
【請求項10】
1または複数の目的変数と1または複数の説明変数との関係を示すモデルをコンピュータが生成するモデル生成方法であって、
3以上の変数を含むデータセットを受信し、
前記データセットから、1以上の目的変数と、1以上の説明変数とを特定し、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数から、1または複数の変数を層別変数として特定し、
前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類し、
前記複数の層毎に、前記モデルを生成する、
モデル生成方法。
【請求項11】
1または複数の目的変数と1または複数の説明変数との関係を示すモデルをコンピュータに生成させるためのプログラムであって、
3以上の変数を含むデータセットを受信し、
前記データセットから、1以上の目的変数と、1以上の説明変数とを特定し、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数から、1または複数の変数を層別変数として特定し、
前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類し、
前記複数の層毎に、前記モデルを生成する、
ことをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ間の関係を示すモデルを生成するモデル生成装置などに関する。
【背景技術】
【0002】
データを推定するためのモデルを生成するモデル生成装置が提案されている。例えば、モデル生成装置は、複数の変数のそれぞれのデータを含むデータセットから、目的変数と説明変数とを選択し、それらの変数の間の相関係数、またはそれらの変数を用いた回帰モデルを導出することによって、モデルを生成する。データセットは、例えば製造に関する複数の製造データを含む。目的変数は、例えば、製造される製品の品質特性をデータとして示し、説明変数は、製造プロセスに用いられるパラメータのデータを示す。したがって、生成されるモデルを用いれば、製造プロセスから製品の品質特性を推定することができる。
【0003】
また、局所品質モデルを作成する関連解析装置が提案されている(例えば、特許文献1参照)。この関連解析装置は、局所品質モデルを上述のモデルとして作成するためモデル生成装置と言える。また、この関連解析装置は、説明変数に相当する操業因子の空間を複数の局所領域に分割し、その各局所領域に対して局所品質モデルを作成する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1の関連解析装置であるモデル生成装置では、モデルの精度向上を図ることが難しいという課題がある。
【0006】
そこで、本開示は、モデルの精度向上を容易に図ることができるモデル生成装置などを提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係るモデル生成装置は、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成するモデル生成装置であって、3以上の変数を含むデータセットを受信する受信手段と、前記データセットから、1以上の目的変数と、1以上の説明変数とを特定し、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数から、1または複数の変数を層別変数として特定する変数特定手段と、前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類する層別手段と、前記複数の層毎に、前記モデルを生成する生成手段と、を備える。
【0008】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。また、記録媒体は、非一時的な記録媒体であってもよい。
【発明の効果】
【0009】
本開示のモデル生成装置は、モデルの精度向上を容易に図ることができる。
【0010】
本開示の一態様における更なる利点および効果は、明細書および図面から明らかにされる。かかる利点および/または効果は、いくつかの実施の形態並びに明細書および図面に記載された特徴によってそれぞれ提供されるが、1つまたはそれ以上の同一の特徴を得るために必ずしも全てが提供される必要はない。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態におけるモデル生成システムの一例を示す図である。
【
図2】
図2は、実施の形態におけるモデル生成装置の構成を示す図である。
【
図3A】
図3Aは、実施の形態におけるデータセットの一例を示す図である。
【
図3C】
図3Cは、実施の形態におけるデータセットから選択される目的変数および説明変数を示す図である。
【
図4】
図4は、実施の形態におけるデータセットの他の例を示す図である。
【
図5】
図5は、実施の形態におけるデータセットの変数名などを簡略化して示す図である。
【
図6】
図6は、実施の形態におけるモデル生成装置の機能構成を示すブロック図である。
【
図7】
図7は、実施の形態における層別データセットの一例を示す図である。
【
図8】
図8は、実施の形態における層別データセットのそれぞれについて、その層別データセットに含まれる各レコードによって示される座標点の分布を示す図である。
【
図9】
図9は、実施の形態におけるモデル生成装置の全体的な処理動作の一例を示すフローチャートである。
【
図10】
図10は、
図9のステップS8における質的変数の影響度算出処理の具体的な一例を示すフローチャートである。
【
図11】
図11は、
図9のステップS9における量的変数の影響度算出処理の具体的な一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
(本開示の基礎となった知見)
本発明者は、「背景技術」の欄において記載した特許文献1のモデル生成装置に関し、以下の問題が生じることを見い出した。
【0013】
上記特許文献1では、説明変数に相当する操業因子の空間を複数の局所領域に分割し、その各局所領域に対して局所品質モデルを構築する。したがって、データセットから複数のモデルが生成される。しかし、それらのモデルの構築には、データセットに含まれる目的変数と説明変数のみが用いられ、目的変数および説明変数以外の変数が用いられていない。具体的には、データセットに含まれる説明変数が示すデータの分布のみに基づいてデータセットが複数の局所領域に分割され、それらの局所領域に対してモデルが生成される。つまり、上記特許文献1では、説明変数および目的変数以外の変数が、説明変数と目的変数との間の相関関係に与える影響が不明なため、その説明変数および目的変数以外の変数は、モデルの構築には用いられていない。したがって、その説明変数および目的変数以外の変数のデータが、説明変数と目的変数との間の相関関係に影響を与えるような場合には、高い精度のモデルを生成することが難しい。
【0014】
そこで、本開示の一態様に係るモデル生成装置は、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成するモデル生成装置であって、3以上の変数を含むデータセットを受信する受信手段と、前記データセットから、1以上の目的変数と、1以上の説明変数とを特定し、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数から、1または複数の変数を層別変数として特定する変数特定手段と、前記層別変数と前記目的変数との関係の傾向に基づいて、データセットを複数の層に分類する層別手段と、前記複数の層毎に、前記モデルを生成する生成手段と、を備える。例えば、前記層別手段は、前記層別変数ごとに、当該層別変数のデータの同一性または類似性に基づいて、当該層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、前記データセットを分類してもよい。
【0015】
これにより、目的変数および説明変数以外の変数である層別変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。つまり、その層別変数の各データが、それらのデータ間の共通性または類似性に応じて、複数のグループに分類される。そして、データセットは、それらのグループに対応する層に層別分類される。この層別分類によって、各層には、同一のグループに属する層別変数のデータをそれぞれ有する1つ以上のレコードが含まれる。なお、グループは、共通性または類似性を有するデータの集合であって、このグループには、共通のデータの集合であるカテゴリと、類似する数値データの集合であるクラスタとがある。また、層別変数は、モデルに含まれる変数として採用されていないが、そのモデルの生成には用いられる非活用変数である。このように、本開示の一態様に係るモデル生成装置では、データセットに含まれる変数のうち、説明変数および目的変数以外の変数である非活用変数によって、データセットに対する層別分類が行われるため、その非活用変数が説明変数と目的変数との間の相関関係に影響を与えるような場合であっても、その非活用変数に基づいた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。
【0016】
例えば、それぞれ非活用変数である第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層に分類される。
【0017】
このように、層別変数が2つ以上であっても、データセットに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。
【0018】
また、前記データセットは、文字を含むデータを示す質的変数と、数字からなるデータを示す量的変数とを含んでもよい。
【0019】
これにより、質的変数および量的変数のうちの一方だけでなく両方を含む複数の層別変数を特定することができ、特定される層別変数の変数型の自由度を高めることができる。
【0020】
また、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数について、前記目的変数に対する影響度をそれぞれ算出する影響度算出手段をさらに備え、前記変数特定手段は、前記影響度に基づいて、前記層別変数を特定してもよい。
【0021】
これにより、目的変数のデータに対する影響度が大きい層別変数を特定することができる。その結果、その層別変数を用いることによって、データセットに対するより最適な層別分類を行うことができる。その結果、複数の層のそれぞれに対して、より精度の高いモデルを生成することができる。
【0022】
また、前記データセットに含まれる前記3以上の変数のうち、特定された前記目的変数および前記説明変数以外の変数について、前記目的変数に対する影響度をそれぞれ算出する影響度算出手段をさらに備え、前記受信手段は、前記質的変数または前記量的変数のどちらを優先するかを示す優先情報を受信し、前記変数特定手段は、前記影響度および前記優先情報に基づいて、前記層別変数を特定してもよい。
【0023】
これにより、例えばユーザの入力操作に応じてその優先情報が受信手段に受信されれば、質的変数と量的変数の優先順位を、そのユーザの意図どおりに任意に設定することができ、その優先順位が上位の変数を層別変数として多く特定することができる。その結果、データセットを質的に分析するか、量的に分析するかに応じて、適切な層別分類を行うことができ、それらの分析態様に応じたモデルを生成することができる。
【0024】
また、前記影響度算出手段は、ランダムフォレストまたは勾配ブースティング決定木を用いて、前記質的変数の前記影響度を算出してもよい。
【0025】
これにより、例えばランダムフォレストのジニ係数に応じた値を影響度として算出することによって、質的変数の適切な影響度を算出することができる。
【0026】
また、前記影響度算出手段は、混合ガウスモデルまたはk-means法を用いて、前記データセットに含まれる前記量的変数の2つ以上のデータに対するクラスタリングを行い、前記クラスタリングによって得られる各クラスタと前記目的変数との単回帰分析によって、前記量的変数の前記影響度を算出してもよい。
【0027】
これにより、1つ以上の量的変数のそれぞれについて、例えばクラスタごとの影響度を単回帰分析によって算出することができ、そのクラスタごとの影響度から、その量的変数の影響度を適切に算出することができる。
【0028】
また、前記生成手段は、さらに、生成された複数の前記モデルのそれぞれについて、当該モデルの確からしさを示す指数を算出し、前記モデル生成装置は、さらに、複数の前記モデルのそれぞれに対して算出された前記指数を出力する結果出力手段を備えてもよい。
【0029】
これにより、例えば、複数のモデルのそれぞれの自由度調整済み決定係数が、そのモデルの確からしさを示す指数として算出されて出力される。したがって、ユーザは、生成されたモデルを使用するか否かを、その指数にしたがって容易に判断することができる。
【0030】
また、前記生成手段は、2つ以上の前記説明変数のそれぞれのデータと前記目的変数のデータとの関係を示す前記モデルを、重回帰式として生成してもよい。
【0031】
これにより、説明変数の数に関わらず適切なモデルを生成することができる。
【0032】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0033】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0034】
また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
【0035】
(実施の形態1)
[ハードウェア構成]
図1は、本実施の形態におけるモデル生成システムの一例を示す図である。
【0036】
本実施の形態におけるモデル生成システム1は、モデル生成装置100と、製造管理装置500とを含む。
【0037】
製造管理装置500は、例えば製造工場に設置され、製品を製造する製造システムを管理する装置である。この製造管理装置500は、その製造システムで得られるデータセットDsを、例えばインターネットなどのネットワークを介してモデル生成装置100に送信する。なお、データセットDsの詳細については、
図3A~
図5を用いて後述する。
【0038】
モデル生成装置100は、パーソナルコンピュータなどから構成され、上述の製造管理装置500からデータセットDsを受信する。そして、本実施の形態におけるモデル生成装置100は、そのデータセットDsに基づいて、説明変数のデータと目的変数のデータとの関係を示す複数のモデルを生成する。
【0039】
図2は、本実施の形態におけるモデル生成装置100の構成を示す図である。
【0040】
モデル生成装置100は、入力部101、演算回路102、メモリ103、出力部104、記憶部105、データベース106、および通信部107を備える。
【0041】
通信部107は、モデル生成装置100の外部にある機器と通信する。その通信は、無線通信であっても、有線通信であってもよい。無線通信の方式は、Wi-Fi(登録商標)、Bluetooth(登録商標)、またはZigBee(登録商標)であってもよく、その他の方式であってもよい。例えば、通信部107は、製造管理装置500と通信し、その製造管理装置500からデータセットDsを受信する。
【0042】
入力部101は、ユーザによる入力操作を受け付けるHMI(Human Machine Interface)としての機能を有し、例えばキーボード、マウス、タッチセンサ、タッチパッドなどを備える。
【0043】
出力部104は、画像または文字などを表示するディスプレイを有し、そのディスプレイは、例えば液晶ディスプレイ、プラズマディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどである。なお、出力部104は、画像または文字などを印刷するプリンタを有していてもよく、演算回路102から出力されるデータをファイル形式で記憶部105に格納する機能を有していてもよい。
【0044】
記憶部105は、演算回路102への各命令が記述されたプログラム(すなわちコンピュータプログラム)105aを格納している。また、記憶部105には、その演算回路102の処理によって一時的に生成される各テンポラリーデータ105bが格納されてもよい。なお、このような記憶部105は、不揮発性の記録媒体であって、例えば、ハードディスクなどの磁気記憶装置、光ディスク、半導体メモリなどである。なお、プログラム105aは、例えば、リムーバブルメディアまたはネットワークを介して、モデル生成装置100に提供され、記憶部105に格納される。リムーバブルメディアは、例えばCD-ROM(Compact Disc Read Only Memory)、フラッシュメモリなどである。このため、通信部107は、リムーバブルメディアのプログラム105aを読み込むインターフェースを備えていてもよい。
【0045】
メモリ103には、演算回路102によって読み出されて展開されたプログラム105aが一時的に保存される。このようなメモリ103は、例えば揮発性のRAM(Random Access Memory)である。
【0046】
演算回路102は、メモリ103に展開されたプログラム105aを実行する回路であって、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などである。演算回路102は、プログラム105aを実行するときには、記憶部105に格納されている各テンポラリーデータ105bを用いてもよい。
【0047】
データベース106は、記憶部105と同様に、不揮発性の記録媒体であって、例えば、ハードディスクなどの磁気記憶装置、光ディスク、半導体メモリなどである。例えば、演算回路102は、製造管理装置500からネットワークおよび通信部107を介してデータセットDsを取得して、そのデータセットDsをデータベース106に格納する。
【0048】
なお、本実施の形態では、記憶部105とデータベース106とは互に異なる記録媒体であるが、記憶部105およびデータベース106は、それらを含む1つの記録媒体として構成されていてもよい。
【0049】
[データセット]
図3Aは、本実施の形態におけるデータセットDsの一例を示す図である。また、
図3Bは、そのデータセットDsの先頭の行と2番目の行とを示す図である。
【0050】
データセットDsは、製造管理装置500から送信される生のデータセットであって、例えば、上述の製造システムにおける製造プロセス、および、その製造プロセスによって製造された製品の品質を示す、複数の製造データからなる構造化されたデータセットである。このようなデータセットDsは、
図3Aに示すように、複数の変数のそれぞれの変数名と、それらの変数のデータとを示す。なお、データは、文字および数字のうちの少なくとも一方を示すものであれば、どのようなものであってもよい。データセットDsの先頭の行には、複数の変数のそれぞれの変数名が配置され、データセットDsの2行目以降の各行には、複数の変数のそれぞれのデータが配置されている。このような2行目以降の各行は、複数の変数のそれぞれのデータを含むレコードとして扱われる。また、データセットDsの左端の列は、紐付け情報列であって、それらのレコードを識別するための識別情報であるIDが示されている。IDは、レコードに含まれる各変数のデータを紐付けている。
【0051】
具体的には、
図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を紐付けている。
【0052】
データセットDsは、
図3Aに示すように、このようなレコードを複数含む。例えば、データセットDsは、上述のID「ID200901」によって識別されるレコードと、ID「ID200902」によって識別されるレコードと、ID「ID200903」によって識別されるレコードとを含む。このように、本実施の形態におけるデータセットDsは、複数の変数のそれぞれのデータを有するレコードを2つ以上含む。
【0053】
また、
図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番目の列は、変数名「治具温度」によって識別される変数のレコードごとのデータを示す。
【0054】
ここで、変数の型には、量的変数と質的変数とがある。量的変数の各データは、数字のみで表されるデータであって、質的変数の各データは、文字を含んで表されるデータである。
図3Aおよび
図3Bの例では、変数名「作業者」および変数名「設備号機」のそれぞれによって識別される変数が、質的変数である。例えば、
図3Bに示すように、変数名「作業者」によって識別される変数のデータd4は「スズキ」であって、文字を含んでいる。したがって、変数名「作業者」によって識別される変数は、質的変数である。また、
図3Aおよび
図3Bの例では、変数名「材料配合」、変数名「材料温度差」、変数名「補助電圧」、および変数名「治具温度」のそれぞれによって識別される変数が、量的変数である。例えば、
図3Bに示すように、変数名「材料配合」によって識別される変数のデータd6は「0」であって、数字のみで表されている。したがって、変数名「材料配合」によって識別される変数は、量的変数である。
【0055】
なお、変数は、
図3Aおよび
図3Bに示す例に限定されるものではなく、どのような変数であってもよい。変数は、例えば、人に関わる変数、材料に関わる変数、設備に係る変数などである。人に関わる変数は、「作業者」または「作業班」などの変数であってもよい。材料に関わる変数は、「源泉材料Lot」または「途中工程材料Lot」などの変数であってもよい。設備に係る変数は、「生産設備種類、世代」、「生産設備号機」、「設備内レーン別、スピンドル別」、「金型」、「治具」、「金型温度」、「乾燥温度」、「設備メンテナンス前後」などの変数であってもよい。また、変数は、「雰囲気温度」、「雰囲気湿度」、「生産時期、時間」などの変数であってもよい。また、変数は、製品の「品種、品番」または「製品サイズ」などの変数であってもよい。
【0056】
図3Cは、データセットDsから選択される目的変数および説明変数を示す図である。
【0057】
データセットDsに示される各変数は、ユーザによる入力操作に応じて、活用変数と非活用変数に分類され、各活用変数は、説明変数と目的変数に分類される。活用変数は、モデルに採用される変数であって、非活用変数は、モデルに採用されない変数である。なお、非活用変数は、従来、データセットに含まれる目的変数以外の全ての変数を説明変数として採用せずに、目的変数に対する寄与度が大きな変数のみを説明変数として採用するために、モデルには採用されなかった変数である。さらに、活用変数には、説明変数と目的変数とがある。
図3Cに示す例では、ユーザは、変数名「抵抗値」の変数を目的変数として選択し、変数名「電圧」の変数と、変数名「速度」の変数とをそれぞれ説明変数として選択する。これにより、変数名「作業者」、変数名「設備号機」、変数名「材料配合」、変数名「材料温度差」、変数名「補助電圧」、および変数名「治具温度」のそれぞれの変数が、非活用変数として決定される。また、これらの非活用変数には、上述の質的変数および量的変数が含まれる。したがって、本実施の形態では、データセットDsに示されるM個の非活用変数は、それぞれ文字を含むデータを示す1つ以上の質的変数と、それぞれ数字からなるデータを示す1つ以上の量的変数とを含む。なお、そのM個は、データセットDsに含まれる非活用変数の個数であって、上述の例では6個である。
【0058】
図4は、本実施の形態におけるデータセットDsの他の例を示す図である。
【0059】
演算回路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は、後述のランダムフォレストなどの機械学習において質的変数を扱う場合には、その質的変数をダミー変数に置き換える。
【0060】
図5は、本実施の形態におけるデータセットDsの変数名などを簡略化して示す図である。
【0061】
以下、説明を分かり易くするため、
図3A~
図3Cに示すデータセットDsの変数名「電圧」、「速度」、「抵抗値」、「作業者」、「設備号機」、「材料配合」、「材料温度差」、「補助電圧」および「治具温度」を、
図5に示すように、変数名「X0」、「X1」、「Y」、「Z0」「Z1」、「D1」、「D2」、「D3」および「D4」に置き換える。また、変数名「作業者」によって識別される変数のデータ「スズキ」および「サトウ」を、「A」および「B」に置き換え、変数名「設備号機」によって識別される変数のデータ「C号機」および「D号機」を、「C」および「D」に置き換える。
【0062】
なお、以下、各変数を識別する必要がある場合には、変数X1のように、変数の後に変数名を付けることによって、その変数を識別する。また、
図5に示す例では、変数X0、変数X1、および変数Yはそれぞれ、量的変数である。また、変数Z0および変数Z1はそれぞれ、質的変数であり、変数D1、変数D2、変数D3、および変数D4はそれぞれ、量的変数である。
【0063】
[機能構成]
図6は、演算回路102の機能構成を示すブロック図である。
【0064】
演算回路102は、プログラム105aを実行することによって、モデルを生成するための複数の機能を実現する。具体的には、演算回路102は、受信部(受信手段)130、第1変数特定部(変数特定手段)121、層別条件設定部122、非活用変数抽出部123、変数型判定部124、影響度算出部(影響度算出手段)125、第2変数特定部(変数特定手段)126、層別部(層別手段)127、生成部(生成手段)128、および結果出力部(結果出力手段)129を備える。また、影響度算出部125は、質的影響度算出部125aおよび量的影響度算出部125bを備える。これらの構成要素は、演算回路102によるプログラム105aの実行によって実現される。
【0065】
受信部130は、3以上の変数を含むデータセットDsを受信する。例えば、受信部130は、データベース106からデータセットDsを読み出すことによって、そのデータセットDsを取得する。そして、ユーザは、入力部101に対して入力操作を行うことによって、
図5に示すデータセットDsの複数の変数の中から説明変数と目的変数を選択する。第1変数特定部121は、入力部101によって受け付けられたユーザのその入力操作に応じて、
図5に示すデータセットDsの複数の変数の中から、例えば変数X0および変数X1をそれぞれ説明変数として特定する。さらに、第1変数特定部121は、その複数の変数の中から、例えば変数Yを目的変数として特定する。これにより、2つの変数が説明変数として設定され、1つの変数が目的変数として設定される。
【0066】
このように、本実施の形態における第1変数特定部121は、データセットDsから、1以上の目的変数と、1以上の説明変数とを特定する。なお、本実施の形態では、2つの説明変数が設定され、1つの目的変数が設定されるが、その説明変数および目的変数のそれぞれの数は、これらの例に限らず、任意の数であってもよい。例えば、第1変数特定部121は、データセットDsの複数の変数のうちの1つの変数を説明変数に設定してもよく、3つ以上の変数のそれぞれを説明変数に設定してもよい。また、第1変数特定部121は、データセットDsの複数の変数のうちの2つ以上の変数のそれぞれを目的変数として特定してもよい。
【0067】
また、第1変数特定部121は、説明変数として設定された変数が変数X0および変数X1であり、目的変数として設定された変数が変数Yであることを示す第1設定情報を、メモリ103または記憶部105に格納する。第1設定情報が記憶部105に格納される場合には、その第1設定情報は、テンポラリーデータ105bとして格納されてもよい。また、第1変数特定部121は、その第1設定情報を非活用変数抽出部123に出力してもよい。
【0068】
層別条件設定部122は、入力部101によって受け付けられたユーザの入力操作に応じて、データセットDsの層別に用いられる非活用変数の総数をN個(Nは2以上の整数)に設定する。なお、N個は、層別に用いられる非活用変数の総数であるが、本実施の形態では、その総数Nが2以上である例を挙げて説明する。また、その総数Nは、本実施の形態のように2以上に限定されることなく、1であってもよい。また、本実施の形態では、具体的な例として、総数NはN=2に設定される。なお、その層別に用いられる非活用変数は、以下、層別変数とも呼ばれる。つまり、本実施の形態における層別条件設定部122は、ユーザによる入力操作に応じて、層別変数の総数を設定する。なお、データセットDsに含まれる層別変数の各データは、上記層別のためには、それらのデータ間の共通性または類似性に応じて1つのグループだけではなく、複数のグループに分類される必要がある。
【0069】
さらに、層別条件設定部122は、入力部101によって受け付けられたユーザの入力操作に応じて、質的変数と量的変数のそれぞれに対して、層別変数に設定される優先順位を決定する。例えば、層別条件設定部122は、質的変数、量的変数の順に、それらの優先順位を決定する。この場合、質的変数の方が量的変数よりも優先順位は先である。このように、本実施の形態における層別条件設定部122は、ユーザによる入力操作に応じて、質的変数と量的変数の優先順位を設定する。言い換えれば、層別条件設定部122は、入力部101によって受け付けられたユーザの入力操作に応じて、質的変数または量的変数のどちらを優先するかを示す優先情報を受信する。本実施の形態では、層別条件設定部122が優先情報を受信するが、受信部130がその優先情報を受信してもよい。以下、質的変数および量的変数のうち、優先順位が先の変数は、上位変数とも呼ばれ、優先順位が後の変数は、下位変数とも呼ばれる。層別条件設定部122は、層別変数の総数であるN個と優先順位を示す第2設定情報を、メモリ103または記憶部105に格納する。第2設定情報が記憶部105に格納される場合には、その第2設定情報は、テンポラリーデータ105bとして格納されてもよい。また、層別条件設定部122は、第2設定情報を第2変数特定部126に出力してもよい。
【0070】
非活用変数抽出部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に出力してもよい。
【0071】
変数型判定部124は、非活用変数抽出部123、メモリ103または記憶部105から抽出情報を取得し、その抽出情報によって示されるM個の非活用変数のそれぞれの変数型を順に判定する。変数型には、上述の質的変数の型と、量的変数の型とがある。つまり、変数型判定部124は、非活用変数のデータに基づいて、その非活用変数が質的変数であるか、量的変数であるかを判定する。具体的には、変数型判定部124は、非活用変数のデータに文字が含まれていれば、その非活用変数が質的変数であると判定する。一方、変数型判定部124は、非活用変数のデータに文字が含まれず数字のみが含まれていれば、その非活用変数が量的変数であると判定する。これにより、M個の非活用変数のそれぞれが、質的変数と量的変数とに分類される。例えば、本実施の形態では、変数型判定部124は、非活用変数Z0および非活用変数Z1のそれぞれが質的変数であると判定し、非活用変数D1、非活用変数D2、非活用変数D3、および非活用変数D4のそれぞれが量的変数であると判定する。そして、変数型判定部124は、M個の非活用変数のそれぞれについて、その非活用変数の変数型を示す変数型情報をメモリ103または記憶部105に格納する。変数型情報が記憶部105に格納される場合には、その変数型情報は、テンポラリーデータ105bとして格納されてもよい。また、変数型判定部124は、変数型情報を影響度算出部125に出力してもよい。
【0072】
影響度算出部125は、データセットDsに含まれる3以上の変数のうち、特定された目的変数および説明変数以外の変数について、その目的変数に対する影響度をそれぞれ算出する。言い換えれば、影響度算出部125は、M個の非活用変数のそれぞれの影響度を算出する。つまり、影響度算出部125は、データセットDsの3以上の変数に含まれる、特定された目的変数および説明変数以外のM個の非活用変数のそれぞれの影響度であって、その非活用変数のデータの目的変数のデータに対する影響度を算出する。その影響度は、非活用変数のデータが目的変数のデータに与える影響の大きさを示す数値であって、その影響が大きいほど、大きい値を示す。
【0073】
具体的には、影響度算出部125は、上述のように、質的影響度算出部125aと、量的影響度算出部125bとを備えている。質的影響度算出部125aは、質的変数である非活用変数の影響度を算出し、量的影響度算出部125bは、量的変数である非活用変数の影響度を算出する。より具体的には、質的影響度算出部125aは、変数型判定部124、メモリ103または記憶部105から変数型情報を取得し、その変数型情報に示されている非活用変数の変数型を特定する。そして、その非活用変数の変数型が質的変数であれば、質的影響度算出部125aは、質的変数に対応する影響度算出処理によって、その非活用変数の影響度を算出する。一方、量的影響度算出部125bは、その変数型情報に示されている非活用変数の変数型を特定する。そして、その非活用変数の変数型が量的変数であれば、量的影響度算出部125bは、量的変数に対応する影響度算出処理によって、その非活用変数の影響度を算出する。
【0074】
そして、影響度算出部125は、M個の非活用変数のそれぞれについて、その非活用変数に対して算出された影響度を示す影響度情報を、メモリ103または記憶部105に格納する。影響度情報が記憶部105に格納される場合には、その影響度情報は、テンポラリーデータ105bとして格納されてもよい。また、影響度算出部125は、影響度情報を第2変数特定部126に出力してもよい。
【0075】
第2変数特定部126は、影響度算出部125、メモリ103または記憶部105から、M個の非活用変数のそれぞれの影響度情報を取得する。さらに、第2変数特定部126は、層別条件設定部122、メモリ103または記憶部105から第2設定情報を取得する。そして、第2変数特定部126は、それらの影響度情報および第2設定情報を用いて、データセットDsによって示されるM個の非活用変数の中から、N個の非活用変数をそれぞれ層別変数として特定する。層別変数は、データセットDsのレコードの層別に用いられる変数である。例えば、第2変数特定部126は、データセットDs内の全ての上位変数から、影響度の大きい順にN個の上位変数を特定しようとする。N個の上位変数が特定されれば、第2変数特定部126は、そのN個の上位変数をN個の層別変数として扱う。一方、データセットDs内の全ての上位変数の個数がN個未満であって、N個の上位変数を特定することができなければ、第2変数特定部126は、データセットDs内の全ての下位変数から、影響度の大きい順に残りの個数の下位変数を特定する。これにより、N個未満の上位変数と、残りの個数の下位変数とを合わせたN個の層別変数が特定される。
【0076】
このように、本実施の形態における第2変数特定部126は、目的変数および説明変数とは異なる変数であって、モデルに活用されない非活用変数を、レコードの層別に用いられる層別変数として、複数の変数から特定する。つまり、第2変数特定部126は、データセットDsに含まれる3以上の変数のうち、特定された目的変数および説明変数以外の変数から、1または複数の変数を層別変数として特定する。本実施の形態では、第2変数特定部126は、複数の変数からN個(Nは2以上の整数)の層別変数を特定する。つまり、第2変数特定部126は、層別条件設定部122によって設定された総数であるN個だけ層別変数を特定する。このとき、第2変数特定部126は、影響度に基づいて、層別変数を特定する。具体的には、第2変数特定部126は、影響度算出部125によって算出された、M個の非活用変数のそれぞれの影響度に基づいて、M個の非活用変数からN個の層別変数を特定する。より具体的には、第2変数特定部126は、影響度および優先情報に基づいて、層別変数を特定する。つまり、第2変数特定部126は、質的変数および量的変数のうち、優先順位が上位の変数を上位変数として扱い、優先順位が下位の変数を下位変数として扱う。そして、第2変数特定部126は、M個の非活用変数から、全ての上位変数がK個(KはN未満の整数)特定されるまで、または、N個の上位変数が特定されるまで、影響度が大きい順に上位変数を層別変数として特定する。そして、第2変数特定部126は、特定された上位変数の個数がK個の場合には、M個の非活用変数から、影響度が大きい順に下位変数を層別変数として(N-K)個特定する。
【0077】
そして、第2変数特定部126は、その特定されたN個の層別変数を示す層別変数情報を、メモリ103または記憶部105に格納する。層別変数情報が記憶部105に格納される場合には、その層別変数情報は、テンポラリーデータ105bとして格納されてもよい。また、第2変数特定部126は、層別変数情報を層別部127に出力してもよい。
【0078】
層別部127は、データセットDsに含まれる層別変数の2つ以上のデータ間の共通性または類似性に基づいて層別分類を行う。この層別分類では、層別部127は、データセットDsに含まれる2つ以上のレコードを複数の層に分類することによって、複数の層のそれぞれに1つ以上のレコードを含める処理である層別分類を実行する。つまり、層別部127は、層別変数と目的変数との関係の傾向に基づいて、データセットDsを複数の層に分類する。具体的には、層別部127は、層別変数ごとに、その層別変数のデータの同一性または類似性に基づいて、その層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、データセットDsを分類する。ここで、その層別変数は、上述の層別変数情報によって示されている。したがって、層別部127は、第2変数特定部126、メモリ103または記憶部105から、層別変数情報を取得する。そして、層別部127は、その層別変数情報に基づいて、データセットDsに対する層別分類を行う。
【0079】
具体的には、層別部127は、層別変数情報によって示されるN個の層別変数のそれぞれについて、その層別変数の2つ以上のデータ間の共通性または類似性に基づいて、データセットDsに含まれるその層別変数の2つ以上のデータを複数のグループに分類する。そして、層別部127は、そのN個の層別変数のそれぞれのグループの組み合わせに応じて複数の層を決定し、データセットDsに含まれる2つ以上のレコードを、決定された複数の層に分類する。これによって、複数の層のそれぞれに、1つ以上のレコードからなる層別データセットが生成される。複数の層のそれぞれの層別データセットは、データセットDsから分類された1つ以上のレコードを含む。その1つ以上のレコードのそれぞれは、N個の層別変数のそれぞれの同一グループに属するデータを含む。さらに、その1つ以上のレコードのそれぞれは、目的変数および説明変数のそれぞれのデータを含む。この層別データセットの詳細については、
図7を用いて後述する。
【0080】
生成部128は、複数の層毎に、1または複数の目的変数と1または複数の説明変数との関係を示すモデルを生成する。つまり、生成部128は、複数の層のそれぞれについて、その層に含まれる1つ以上のレコード、すなわち層別データセットを用いて、説明変数のデータと目的変数のデータとの関係を示すモデルを生成する。ここで、上述の例では、変数X0および変数X1がそれぞれ説明変数であるが、説明変数は1つでもよく、2つ以上であってもよい。したがって、この場合には、生成部128は、2つ以上の説明変数のそれぞれのデータと目的変数のデータとの関係を示すモデルを、重回帰式として生成する。例えば、生成部128は、説明変数X0および説明変数X1と目的変数Yとに対する重回帰分析を行うことによって、説明変数X0および説明変数X1のそれぞれのデータと目的変数Yのデータとの関係を示すモデルを生成する。
【0081】
結果出力部129は、生成された複数のモデルを出力する。つまり、結果出力部129は、生成部128によって層ごとに生成されたモデルを、その生成部128から取得して出力部104に出力する。
【0082】
[層別データセット]
図7は、本実施の形態における層別データセットの一例を示す図である。
【0083】
例えば、第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」によって識別されるレコードとからなる。
【0084】
同様に、層別部127は、
図7の(b)に示すように、層別変数Z0のデータ「B」と、層別変数Z1のデータ「C」とを含む各レコードを、第2層に分類する。これにより、層別データセットDs2が生成される。層別データセットDs2は、ID「ID200904」によって識別されるレコードと、ID「ID200905」によって識別されるレコードと、ID「ID200906」によって識別されるレコードとからなる。
【0085】
同様に、層別部127は、
図7の(c)に示すように、層別変数Z0のデータ「A」と、層別変数Z1のデータ「D」とを含む各レコードを、第3層に分類する。これにより、層別データセットDs3が生成される。層別データセットDs3は、ID「ID200907」によって識別されるレコードと、ID「ID200908」によって識別されるレコードと、ID「ID200909」によって識別されるレコードとからなる。
【0086】
同様に、層別部127は、
図7の(d)に示すように、層別変数Z0のデータ「B」と、層別変数Z1のデータ「D」とを含む各レコードを、第4層に分類する。これにより、層別データセットDs4が生成される。層別データセットDs4は、ID「ID200910」によって識別されるレコードと、ID「ID200911」によって識別されるレコードと、ID「ID200912」によって識別されるレコードとからなる。
【0087】
言い換えれば、層別変数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層に分類される。
【0088】
なお、各層に分類されるレコードには、層別変数以外の他の非活用変数のデータが含まれていてもよく、
図7に示す例のように、活用変数および層別変数のそれぞれのデータのみが含まれていてもよい。
【0089】
図8は、層別データセットDs1~Ds4のそれぞれについて、その層別データセットに含まれる各レコードによって示される座標点の分布を示す図である。
【0090】
層別データセットDs1~Ds4のそれぞれは、複数のレコードを含む。そして、その複数のレコードのそれぞれは、説明変数X0のデータと、説明変数X1のデータと、目的変数Yのデータとを含み、座標点(X0,X1,Y)として示される。つまり、レコードは、説明変数X0、説明変数X1および目的変数Yからなる三次元座標系における座標点として示される。
【0091】
データセットDsに含まれる全てのレコードの座標点からは、それらのレコード間の相関性を見出すことが難しい。しかし、
図8に示すように、層別データセットDs1~Ds4のそれぞれでは、その層別データセットに含まれる複数のレコードの座標点は、互に相関性を有する。したがって、層別データセットDs1~Ds4のそれぞれでは、その層別データセットに含まれる全てのレコードの座標点から、それらのレコード間の相関性を見出すことができる。
【0092】
生成部128は、これらの層別データセットDs1~D4のそれぞれで、その層別データセットに含まれる1つ以上のレコードを用いて、説明変数X0および説明変数X1のそれぞれのデータと目的変数Yのデータとの関係を示すモデルを生成する。
【0093】
このように、本実施の形態では、層別変数が非活用変数であって、その非活用変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。したがって、説明変数以外の変数である非活用変数によって、データセットDsに対する層別分類を最適に行うことができる。その結果、非活用変数に応じて説明変数と目的変数との間の相関関係が変化するような場合であっても、その非活用変数のグループに応じた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。また、本実施の形態では、層別変数が2つ以上であっても、データセットDsに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。
【0094】
[処理動作]
図9は、本実施の形態におけるモデル生成装置100の全体的な処理動作の一例を示すフローチャートである。
【0095】
まず、モデル生成装置100の受信部130は、データ受信処理を行う(ステップS1)。このデータ受信処理では、第1変数特定部121は、データベース106からデータセットDsを読み出すことによって、そのデータセットDsを受信する。そして、第1変数特定部121は、そのデータセットDsによって示される複数の変数から、説明変数および目的変数を特定する(ステップS2)。これにより、説明変数および目的変数が設定される。例えば、上述のように、変数X0および変数X1がそれぞれ説明変数に設定され、変数Yが目的変数に設定される。
【0096】
次に、層別条件設定部122は、ユーザの入力操作に応じて、層別変数の総数Nを設定する(ステップS3)。例えば、総数NはN=2に設定される。そして、層別条件設定部122は、層別変数の変数型の優先順位を決定する(ステップS4)。つまり、質的変数と量的変数の優先順位が決定される。例えば、質的変数、量的変数の順にそれらの変数の優先順位が決定される。
【0097】
次に、非活用変数抽出部123は、データセットDsの複数の変数から、説明変数および目的変数以外の変数を、非活用変数として抽出する(ステップS5)。
【0098】
その後、モデル生成装置100は、ステップS6~S9を含む第1ループ処理を、ステップS5で抽出された全ての非活用変数のそれぞれに対して順に実行する。すなわち、データセットDsに示されるM個の非活用変数のそれぞれに対して第1ループ処理が順に実行される。
【0099】
具体的には、まず、変数型判定部124は、処理対象の非活用変数の変数型を判定する(ステップS6)。そして、変数型判定部124は、その変数型が質的変数の型であるか否かを判定する(ステップS7)。つまり、変数型判定部124は、処理対象の非活用変数が質的変数であるか否かを判定する。そして、その処理対象の非活用変数が質的変数であると変数型判定部124によって判定されると(ステップS7のYes)、質的影響度算出部125aは、その質的変数である非活用変数の目的変数に対する影響度を算出する(ステップS8)。つまり、質的影響度算出部125aは、質的変数の影響度算出処理によって、その非活用変数の目的変数に対する影響度を算出する。一方、その処理対象の非活用変数が質的変数ではないと変数型判定部124によって判定されると(ステップS7のNo)、量的影響度算出部125bは、その量的変数である非活用変数の目的変数に対する影響度を算出する(ステップS9)。つまり、量的影響度算出部125bは、量的変数の影響度算出処理によって、その非活用変数の目的変数に対する影響度を算出する。
【0100】
このようなステップS6~S9を含む第1ループ処理が、全ての非活用変数のそれぞれに対して順に実行されることによって、その全ての非活用変数のそれぞれの影響度が算出される。
【0101】
そして、第2変数特定部126は、全ての非活用変数のそれぞれの影響度に基づいて、変数型ごとに、その変数型に属する全ての非活用変数を影響度順にソートする(ステップS10)。つまり、第2変数特定部126は、抽出された全ての質的変数を、それらの影響度順に並べ替える。具体的には、第2変数特定部126は、質的変数の影響度が大きいほどその質的変数が前に配置されるように、それらの質的変数を並べ替える。同様に、第2変数特定部126は、抽出された全ての量的変数を、それらの影響度順に並べ替える。具体的には、第2変数特定部126は、量的変数の影響度が大きいほどその量的変数が前に配置されるように、それらの量的変数を並べ替える。
【0102】
次に、第2変数特定部126は、ステップS3で設定された層別変数の総数Nと、ステップS4で決定された優先順位とに基づいて、ソートされたM個の非活用変数からN個の非活用変数を層別変数として特定する(ステップS11)。質的変数の方が量的変数よりも優先順位が上位であれば、第2変数特定部126は、ソートされた複数の質的変数から、影響度が大きい順に質的変数をN個まで特定しようとする。そして、その抽出された質的変数がN個未満であれば、第2変数特定部126は、ソートされた複数の量的変数から、影響度が大きい順に量的変数を特定する。このときに特定される量的変数の個数は、先に特定された質的変数の個数をN個から減算することによって得られる個数である。これにより、合計N個の層別変数が特定される。上述の例では、N=2であって、質的変数の方が量的変数よりも優先順位が上位である。したがって、この場合には、質的変数Z0および質的変数Z1がそれぞれ層別変数として特定される。
【0103】
次に、層別部127は、その特定されたN個の層別変数を用いてデータセットDsに対する層別分類を行うことによって、複数の層別データセットを生成する。例えば、
図7に示すように、層別データセットDs1~Ds4が生成される。そして、生成部128は、層別データセットごとに、説明変数および目的変数に対する重回帰分析を行うことによって重回帰式を算出する(ステップS12)。これにより、層別データセットごとに、重回帰式からなるモデルが生成される。
【0104】
生成部128は、さらに、複数の層別データセットのそれぞれで算出された重回帰式に対して、説明変数の自由度調整済み決定係数を算出する(ステップS13)。
【0105】
結果出力部129は、ステップS12で算出された各重回帰式と、ステップS13で算出された各決定係数とを出力部104に出力する。これにより、出力部104は、各重回帰式と各決定係数とをディスプレイに表示したり、紙に印刷したり、それらを示すファイルを記憶部105に格納する(ステップS14)。
【0106】
図10は、
図9のステップS8における質的変数の影響度算出処理の具体的な一例を示すフローチャートである。なお、この影響度算出処理で扱われる処理対象の非活用変数は、質的変数である。
【0107】
質的影響度算出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下であるか否かを判定する(ステップS81)。そのカテゴリ数の第1閾値は、例えば20である。カテゴリ数は、データセットDsに含まれる、その処理対象の非活用変数によって示される複数の同一データからなるグループ数である。例えば、
図5に示すデータセットDsにおいて、質的変数である非活用変数Z0によって示される複数のデータには、「A」を示すデータと、「B」を示すデータとが含まれている。したがって、その非活用変数Z0のカテゴリ数は2である。同様に、
図5に示すデータセットDsにおいて、質的変数である非活用変数Z1によって示される複数のデータには、「C」を示すデータと、「D」を示すデータとが含まれている。したがって、その非活用変数Z1のカテゴリ数は2である。
【0108】
次に、質的影響度算出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下ではないと判定すると(ステップS81のNo)、その非活用変数を影響度の算出対象から除外する(ステップS82)。例えば、カテゴリ数が比較的多い非活用変数を層別変数に用いれば、多くの層別データセットが生成される。その結果、多くのモデルが生成されることによって、各モデルの精度の向上と、それらのモデルの使い易さの向上とを、期待することが難しいと想定される。したがって、ステップS82では、そのようなカテゴリ数が多い非活用変数を影響度の算出対象から除外することによって、その非活用変数が層別変数に用いられることを抑制することができる。
【0109】
一方、質的影響度算出部125aは、処理対象の非活用変数のカテゴリ数が第1閾値以下であると判定すると(ステップS81のYes)、その処理対象の非活用変数の影響度を教師あり機械学習によって算出する(ステップS83)。その教師あり機械学習は、例えばランダムフォレストを用いた学習である。ランダムフォレストは、複数の決定木を用いる手法である。例えば、質的影響度算出部125aは、データセットDsに含まれる目的変数の各データと、データセットDsに含まれる処理対象の非活用変数の各データとを、それぞれ教師データとして用いたランダムフォレストの機械学習を実行する。このランダムフォレストは、例えば目的変数のデータから処理対象の非活用変数のデータを推定するための学習モデルである。より具体的には、処理対象の非活用変数は、非活用変数Z0である。この場合、質的影響度算出部125aは、目的変数のデータをランダムフォレストに入力することによって、その目的変数のデータに対応する非活用変数Z0のデータがそのランダムフォレストから出力されるように、機械学習を実行する。このときランダムフォレストから出力される非活用変数Z0のデータは、「A」または「B」である。
【0110】
質的影響度算出部125aは、ランダムフォレストに含まれる複数の決定木の不純度を表す指標であるジニ係数Gに基づいて、その処理対象の非活用変数の影響度を算出する。ジニ係数Gは、決定木のノードごとに、式(1)で定義される。
【0111】
【0112】
ここで、式(1)において、Cはカテゴリ数である。また、Piは、カテゴリiに属するデータ数を、全データ数で割ったものである。つまり、Piは、そのジニ係数Gに対応するノードにおいて分類されたカテゴリiのデータの数を、そのノードにおいて分類されたデータの総数で除算することによって得られる商である。例えば、「A」を示す2つのデータと、「B」を示す1つのデータとがそのノードにおいて分類された場合、G=1-(2/3)2-(1/3)2である。
【0113】
質的影響度算出部125aは、決定木におけるジニ係数ができるだけ小さくなるように学習を行う。そして、質的影響度算出部125aは、ランダムフォレストに用いられた複数の決定木の全てのジニ係数の平均値が小さいほど大きい値を示す影響度を算出する。例えば、質的影響度算出部125aは、その平均値の逆数を影響度として算出する。
【0114】
このように、本実施の形態における質的影響度算出部125aは、ランダムフォレストを用いて、1つ以上の質的変数のそれぞれの影響度を算出する。したがって、非活用変数が質的変数である場合でも、その非活用変数の目的変数に対する影響度を適切に算出することができる。
【0115】
図11は、
図9のステップS9における量的変数の影響度算出処理の具体的な一例を示すフローチャートである。なお、この影響度算出処理で扱われる処理対象の非活用変数は、量的変数である。
【0116】
量的影響度算出部125bは、データセットDsに含まれる処理対象の非活用変数の各データに対するクラスタリングを、教師なし機械学習によって行う(ステップS91)。その教師なし機械学習は、例えば混合ガウスモデル(GMM:Gaussian Mixture Model)である。
【0117】
混合ガウスモデルは、ある確率分布が与えられたとき、その確率分布を複数のガウス関数(すなわち正規分布)の線形結合で近似する手法である。線形結合では、複数のガウス関数のそれぞれは、重みπ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)は、(目的変数,量的変数である非活用変数)である。
【0118】
量的影響度算出部125bは、混合ガウスモデルでのハイパーパラメータであるクラスタ数を変更しながらその混合ガウスモデルを解析する。そして、量的影響度算出部125bは、例えば赤池情報量基準(AIC:Akaike’s Information Criterion)またはベイズ情報量基準(BIC:Bayesian Information Criterion)が最小となるクラスタ数を採用する。これにより、そのクラスタ数だけクラスタが生成される。なお、クラスタ数は、1つ以上である。また、クラスタは、上述のカテゴリまたはグループに相当する。
【0119】
その後、量的影響度算出部125bは、ステップS92~S94を含む第2ループ処理を、ステップS91で生成された全てのクラスタのそれぞれに対して順に実行する。
【0120】
具体的には、まず、量的影響度算出部125bは、処理対象のクラスタ内のデータ数が第2閾値以上であるか否かを判定する(ステップS92)。ここで、量的影響度算出部125bは、データ数が第2閾値以上であると判定すると(ステップS92のYes)、そのクラスタ内のデータが目的変数のデータに与える影響度を、クラスタ影響度として算出する(ステップS93)。このとき、量的影響度算出部125bは、そのクラスタを算出処理済みのクラスタとして採用する。例えば、量的影響度算出部125bは、処理対象のクラスタと目的変数とに対する単回帰分析を行うことによって、単回帰式の回帰係数をクラスタ影響度として算出する。一方、量的影響度算出部125bは、データ数が第2閾値未満であると判定すると(ステップS92のNo)、そのクラスタをクラスタ影響度の算出対象から除外する(ステップS94)。これにより、処理対象の非活用変数の影響度が、信頼性の低いクラスタを用いて算出されることを抑制することができる。
【0121】
このようなステップS92~S94を含む第2ループ処理が、ステップ91で生成された全てのクラスタのそれぞれに対して順に実行される。これにより、その全てのクラスタのうち、ステップS94で除外されたクラスタ以外の、残りの各クラスタのクラスタ影響度が算出される。
【0122】
そして、量的影響度算出部125bは、ステップS93でクラスタ影響度が算出されたクラスタの数、すなわち算出処理済みのクラスタ数が、2つ以上であるか否かを判定する(ステップS95)。ここで、量的影響度算出部125bは、そのクラスタ数が2つ以上であると判定すると(ステップS95のYes)、第2ループ処理で算出され2つ以上の影響度のうちの最大の影響度を選択する(ステップS97)。すなわち、量的影響度算出部125bは、目的変数に対する処理対象の非活用変数の影響度として、その最大の影響度を選択する。一方、量的影響度算出部125bは、算出処理済みのクラスタ数が2つ以上ないと判定すると(ステップS95のNo)、その非活用変数を影響度の算出対象から除外する(ステップS96)。これにより、目的変数との相関性が低い非活用変数が層別変数として特定されることを抑制することができる。
【0123】
このように、本実施の形態における量的影響度算出部125bは、1つ以上の量的変数のそれぞれについて、混合ガウスモデルを用いて、データセットDsに含まれるその量的変数の2つ以上のデータに対するクラスタリングを行い、クラスタリングによって得られる各クラスタと目的変数との単回帰分析によって、その量的変数の影響度を算出する。したがって、非活用変数が量的変数である場合でも、その非活用変数の目的変数に対する影響度を適切に算出することができる。
【0124】
また、上述のように、本実施の形態では、層別変数が質的変数である場合には、同一のデータがグループ化され、層別変数が量的変数である場合は、同一または類似のデータがグループ化される。
【0125】
本実施の形態における層別部127は、層別変数ごとに、その層別変数のデータの同一性または類似性に基づいて、その層別変数のデータを複数のグループに分類し、複数のグループの組み合わせ毎に、データセットDsを分類する。ここで、層別変数が量的変数である場合において、その量的変数のデータが類似しているとは、量的変数の目的変数に対する影響の傾向が類似していることを意味する。したがって、層別部127は、層別変数と目的変数との関係の傾向に基づいて、データセットDsを複数の層に分類していると言える。
【0126】
また、混合ガウスモデルでは、1つ1つのデータは、各グループに属する確率を有し、複数のグループのうち最も確率の高いグループに属する。混合ガウスモデルの代わりに後述のk-means法が用いられる場合には、1つ1つのデータは、各グループの重心との間に距離を有し、複数のグループのうち最も距離が近いグループに属する。したがって、具体的に、量的変数のデータが類似しているとは、そのデータに対応する確率が一定値以上であること、又は、グループの重心から、そのデータに対応する位置までの距離が一定値以下であることである。
【0127】
[モデルの例]
以上のように、本実施の形態では、データセットDsに対して層別分類が行われる。例えば、非活用変数Z0および非活用変数Z1がそれぞれ層別変数として特定された場合には、
図7に示すように、4つの層別データセットDs1~Ds4が生成される。そして、4つの層別データセットDs1~Ds4のそれぞれからモデルが生成される。これにより、モデルの精度向上を図ることができる。
【0128】
具体的には、層別分類が行われない場合、データセットDsから生成されるモデルは、以下の式(2)のように示される。なお、式(2)では、x0およびx1が、上述の説明変数X0および説明変数X1にそれぞれ相当し、fが上述の目的変数Yに相当する。
【0129】
【0130】
一方、本実施の形態では、上述のように層別分類が行われるため、以下の式(3)~式(6)に示される4つのモデルがそれぞれ重回帰式として生成される。なお、式(3)~式(6)では、x
0およびx
1が、上述の説明変数X0および説明変数X1にそれぞれ相当し、f
00、f
01、f
10、およびf
11のそれぞれが上述の目的変数Yに相当する。具体的には、式(3)は、
図7の(d)および
図8に示す層別データセットDs4から生成されたモデルであって、その層別データセットDs4は、層別変数Z0のデータ「B」と、層別変数Z1のデータ「D」とを含む各レコードを含む。式(3)のf
00は、この層別データセットDs4の目的変数Yに相当する。式(4)は、
図7の(c)および
図8に示す層別データセットDs3から生成されたモデルであって、その層別データセットDs3は、層別変数Z0のデータ「A」と、層別変数Z1のデータ「D」とを含む各レコードを含む。式(4)のf
01は、この層別データセットDs3の目的変数Yに相当する。式(5)は、
図7の(b)および
図8に示す層別データセットDs2から生成されたモデルであって、その層別データセットDs2は、層別変数Z0のデータ「B」と、層別変数Z1のデータ「C」とを含む各レコードを含む。式(5)のf
10は、この層別データセットDs2の目的変数Yに相当する。式(6)は、
図7の(a)および
図8に示す層別データセットDs1から生成されたモデルであって、その層別データセットDs1は、層別変数Z0のデータ「A」と、層別変数Z1のデータ「C」とを含む各レコードを含む。式(6)のf
11は、この層別データセットDs1の目的変数Yに相当する。
【0131】
なお、本実施の形態では、2つの層別変数Z0および層別変数Z1が特定され、層別変数Z0の各データが2つのグループに分類され、層別変数Z1の各データが2つのグループに分類される。したがって、グループの組み合わせ数が4であって、4つのモデルが生成される。ここで、3つの層別変数が特定され、それらの層別変数の各データが2つのグループに分類される場合には、グループの組み合わせ数は8であって、8つのモデルが生成される。また、2つの層別変数が特定され、それらの層別変数の各データが3つのグループに分類される場合には、グループの組み合わせ数は9であって、9つのモデルが生成される。
【0132】
【0133】
ここで、R2*は自由度調整済み決定係数である。この自由度調整済み決定係数は、モデルの確からしさを示す指数である。本実施の形態では、上述の式(2)~式(6)に示すとおり、自由度調整済み決定係数を、0.273から、0.503~0.969の範囲まで増加させることができ、モデルの精度向上を図ることができる。そして、このような各モデルと各自由度調整済み決定係数とが、結果出力部129によって出力される。
【0134】
このように、本実施の形態における生成部128は、生成された複数のモデルのそれぞれについて、そのモデルの確からしさを示す指数を算出する。そして、結果出力部129は、複数のモデルのそれぞれに対して算出されたその指数を出力する。したがって、ユーザは、生成されたモデルを使用するか否かを、その指数にしたがって容易に判断することができる。
【0135】
[効果など]
以上のように、本実施の形態では、目的変数および説明変数以外の変数である層別変数に応じた層別分類が行われ、複数の層のそれぞれに対してモデルが生成される。また、層別変数は、モデルに含まれる変数として採用されていないが、そのモデルの生成には用いられる非活用変数である。したがって、その非活用変数によって、データセットDsに対する層別分類を最適に行うことができる。その結果、非活用変数に応じて説明変数と目的変数との間の相関関係が変化するような場合であっても、その非活用変数のデータに応じた高い精度のモデルを生成することができる。つまり、モデルの精度向上を容易に図ることができる。
【0136】
また、本実施の形態では、データセットDsのM個の非活用変数の中から、有効な変数が層別変数として自動的に特定される。したがって、例えば工場の有識者などのユーザが活用変数(すなわち目的変数および説明変数)を選択した意図を活かすことができ、ユーザの理解し易いモデルの生成と、そのモデルの精度向上とを両立することができる。
【0137】
また、本実施の形態では、第2変数特定部126が、複数の変数からN個(Nは2以上の整数)の層別変数を特定する。そして、層別部127が、そのN個の層別変数のそれぞれについて、その層別変数の2つ以上のデータ間の共通性または類似性に基づいて、データセットDsに含まれるその層別変数の2つ以上のデータを複数のグループに分類する。さらに、層別部127が、N個の層別変数のそれぞれのグループの組み合わせに応じて複数の層を決定し、データセットDsに含まれる2つ以上のレコードを、決定された複数の層に分類する。グループは、層別変数が質的変数の場合には、上述のカテゴリに相当し、層別変数が量的変数の場合には、上述のクラスタに相当する。
【0138】
これにより、層別変数が2つ以上であっても、データセットDsに対して最適な層別分類を行うことができ、複数の層のそれぞれに対して、それらの層別変数、すなわちN個の非活用変数のそれぞれのデータに応じた高い精度のモデルを生成することができる。
【0139】
また、本実施の形態では、影響度算出部125が、各非活用変数のそれぞれの影響度を算出し、第2変数特定部126が、各非活用変数のそれぞれの影響度に基づいて、それらの非活用変数からN個の層別変数を特定する。
【0140】
これにより、目的変数のデータに対する影響度が大きいN個の層別変数を特定することができる。その結果、それらの層別変数を用いることによって、データセットDsに対するより最適な層別分類を行うことができる。その結果、複数の層のそれぞれに対して、より精度の高いモデルを生成することができる。
【0141】
また、本実施の形態では、層別条件設定部122が、ユーザによる入力操作に応じて、層別変数の総数を設定し、第2変数特定部126が、その設定された総数であるN個だけ層別変数を特定する。
【0142】
これにより、特定される層別変数の総数を、ユーザの意図どおりに任意に設定することができ、生成されるモデルの数または精度を調整することができる。
【0143】
また、本実施の形態では、M個の非活用変数は、それぞれ文字を含むデータを示す1つ以上の質的変数と、それぞれ数字からなるデータを示す1つ以上の量的変数とを含む。
【0144】
これにより、質的変数および量的変数のうちの一方だけでなく両方を含むN個の層別変数を特定することができ、特定される層別変数の変数型の自由度を高めることができる。
【0145】
また、本実施の形態では、層別条件設定部122が、ユーザによる入力操作に応じて、質的変数と量的変数の優先順位を設定する。また、第2変数特定部126が、M個の非活用変数から、全ての上位変数がK個(KはN未満の整数)特定されるまで、または、N個の上位変数が特定されるまで、影響度が大きい順に上位変数を層別変数として特定する。そして、特定された上位変数の個数がK個の場合には、M個の非活用変数から、影響度が大きい順に下位変数が層別変数として(N-K)個特定される。
【0146】
これにより、質的変数と量的変数の優先順位を、ユーザの意図どおりに任意に設定することができ、その優先順位が上位の変数を層別変数として多く特定することができる。その結果、データセットDsを質的に分析するか、量的に分析するかに応じて、適切な層別分類を行うことができ、それらの分析態様に応じたモデルを生成することができる。
【0147】
(変形例など)
以上、本開示の一態様に係るモデル生成装置について、上記実施の形態に基づいて説明したが、本開示は、その実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を上記実施の形態に施したものも本開示に含まれてもよい。
【0148】
例えば、本実施の形態では、質的変数の影響度算出処理に、教師あり機械学習の一例としてランダムフォレストが用いられているが、その教師あり機械学習はランダムフォレストに限定されるものではなく、他の教師あり機械学習が用いられてもよい。例えば、ランダムフォレストの代わりに、勾配ブースティング決定木(GBDT:Gradient Boosting Decision Tree)が用いられてもよい。この勾配ブースティング決定木が用いられる場合には、誤差または損失係数が小さくなるように機械学習が行われる。そして、質的影響度算出部125aは、その誤差または損失係数が小さいほど大きい値を示す影響度を算出する。また、ランダムフォレストと勾配ブースティング決定木とを組み合わせてもよい。例えば、質的変数である第1非活用変数の影響度を、ランダムフォレストを用いて算出し、質的変数である第2非活用変数の影響度を、勾配ブースティング決定木を用いて算出してもよい。このとき、互に異なる2つの機械学習によって算出される影響度を正規化することによって、それらの影響度を比較可能にしてもよい。
【0149】
また、本実施の形態では、量的変数の影響度算出処理に、教師なし機械学習の一例として混合ガウスモデルが用いられているが、その教師なし機械学習は混合ガウスモデルに限定されるものではなく、他の教師なし機械学習が用いられてもよい。例えば、混合ガウスモデルの代わりに、k-means法が用いられてもよい。この場合には、処理対象の非活用変数によって示される各データは、k-means法によってクラスタリングされる。また、混合ガウスモデルとk-means法とを組み合わせてもよい。例えば、量的変数である第1非活用変数のクラスタリングを、混合ガウスモデルを用いて行い、量的変数である第2非活用変数のクラスタリングを、k-means法を用いて行ってもよい。
【0150】
また、本実施の形態では、重回帰式をモデルとして生成したが、単回帰式をモデルとして生成してもよく、回帰式以外のモデルを生成してもよい。例えば、ニューラルネットワークをモデルとして生成してもよい。
【0151】
また、本実施の形態におけるデータセットDsは、製造関連の変数およびその変数のデータを示すが、その製造関連に限定されることなく、製造関連とは異なる他の分野の変数およびその変数のデータを示していてもよい。
【0152】
また、本実施の形態におけるデータセットDsに含まれるデータは、操業データと品質データとに分別されていてもよい。例えば、操業データは、製造プロセスに関するデータであって、
図5に示す、変数X0、変数X1、変数Z0、変数Z1、変数D1、変数D2、変数D3、および変数D4のそれぞれのデータであってもよい。また、例えば、品質データは、製品の品質に関するデータであって、
図5に示す変数Yであってもよい。
【0153】
また、本実施の形態では、層別変数の総数Nと、変数型の優先順位とが設定されるが、それらと異なる項目が設定されてもよい。例えば、質的変数の総数と、量的変数の総数とをそれぞれ個別に設定してもよい。また、本実施の形態では、総数Nは、2以上の整数であるが、1であってもよい。
【0154】
また、本実施の形態では、データセットDsは、2つの変数型のそれぞれに属する変数のデータを含んでいるが、その変数型の数は2つに限らず、1つだけであってもよく、3つ以上であってもよい。
【0155】
また、本実施の形態では、データセットDsは、製造管理装置500からネットワークを介して送信されてデータベース106に格納されるが、他の装置または記録媒体からデータベース106に出力されて格納されてもよい。また、データセットDsは、ネットワークを介さずにデータベース106に格納されてもよい。
【0156】
なお、以下のような場合も本開示に含まれる。
【0157】
(1)上記の少なくとも1つの装置は、具体的には、マイクロプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。そのRAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、上記の少なくとも1つの装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0158】
(2)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0159】
(3)上記の少なくとも1つの装置を構成する構成要素の一部または全部は、その装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0160】
(4)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0161】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD(Compact Disc)-ROM、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【0162】
また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0163】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【産業上の利用可能性】
【0164】
本開示は、モデルの精度向上を容易に図ることができるという効果を奏し、例えば、製造プロセスに用いられる変数のデータから、その製造プロセスで製造される製品の品質を推定するモデルを生成する装置またはシステムに適用することができる。
【符号の説明】
【0165】
1 モデル生成システム
100 モデル生成装置
101 入力部
102 演算回路
103 メモリ
104 出力部
105 記憶部
105a プログラム
105b テンポラリーデータ
106 データベース
121 第1変数特定部
122 層別条件設定部
123 非活用変数抽出部
124 変数型判定部
125 影響度算出部
125a 質的影響度算出部
125b 量的影響度算出部
126 第2変数特定部
127 層別部
128 生成部
129 結果出力部
130 受信部
500 製造管理装置
Ds データセット
Ds1~Ds4 層別データセット