(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-25
(45)【発行日】2022-11-02
(54)【発明の名称】分析装置、分析方法およびプログラム
(51)【国際特許分類】
G06Q 10/04 20120101AFI20221026BHJP
G06Q 50/04 20120101ALI20221026BHJP
【FI】
G06Q10/04
G06Q50/04
(21)【出願番号】P 2020523201
(86)(22)【出願日】2019-06-07
(86)【国際出願番号】 JP2019022710
(87)【国際公開番号】W WO2019235611
(87)【国際公開日】2019-12-12
【審査請求日】2020-12-04
(31)【優先権主張番号】P 2018109879
(32)【優先日】2018-06-07
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】木佐森 慶一
(72)【発明者】
【氏名】山崎 啓介
【審査官】小山 和俊
(56)【参考文献】
【文献】特開2016-218869(JP,A)
【文献】特開2008-009548(JP,A)
【文献】特開2018-018451(JP,A)
【文献】特開2010-122832(JP,A)
【文献】特開2018-049390(JP,A)
【文献】国際公開第2019/069865(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出するパラメータサンプルデータ算出部と、
前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得する第2種類サンプルデータ取得部と、
前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの複数のサンプルデータの各々に対する
重みとして、前記差異の大きさが小さいほど大きい重みを算出し、算出された前記重みを用いて
前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出するパラメータ値算出部と、
を備える分析装置。
【請求項2】
前記パラメータ値算出部は、
前記第1種類目標データと、算出された前記第2種類のサンプルデータとの下での前記パラメータの事後分布を示すカーネル平均を算出するカーネル平均算出部と、
前記カーネル平均に基づく前記パラメータのサンプルデータを算出するカーネル平均対応パラメータ算出部と、
前記カーネル平均に基づく前記パラメータのサンプルデータを用いて前記パラメータの予測分布のカーネル表現を算出するパラメータ予測分布算出部と、
前記パラメータの予測分布のカーネル表現を用いて、前記第2種類のデータの予測分布に従うサンプルデータを算出
し、得られたサンプルデータから前記パラメータの分布を求める第2種類予測分布データ算出部と、
を備える請求項1に記載の分析装置。
【請求項3】
コンピュータが、
第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出し、
前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得し、
前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの
複数のサンプルデータの各々に対する
重みとして、前記差異の大きさが小さいほど大きい重みを算出し、
算出された前記重みを用いて
前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出する、
ことを含む分析方法。
【請求項4】
前記パラメータの値を算出することは、
前記コンピュータが、
前記第1種類
目標データと、算出された前記第2種類のサンプルデータとの下での前記パラメータの事後分布を示すカーネル平均を算出することと、
前記カーネル平均に基づく前記パラメータのサンプルデータを算出することと、
前記カーネル平均に基づく前記パラメータのサンプルデータを用いて前記パラメータの予測分布のカーネル表現を算出することと、
前記パラメータの予測分布のカーネル表現を用いて、前記第2種類のデータの予測分布に従うサンプルデータを算出
し、得られたサンプルデータから前記パラメータの分布を求めることと、
を含む請求項3に記載の分析方法。
【請求項5】
コンピュータに、
第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出し、
前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得し、
前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの複数のサンプルデータの各々に対する
重みとして、前記差異の大きさが小さいほど大きい重みを算出し、
算出された前記重みを用いて
前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出する、
ことを実行させるためのプログラム。
【請求項6】
前記パラメータの値を算出することでは、前記コンピュータに、
前記第1種類の
目標データと、算出された前記第2種類のサンプルデータとの下での前記パラメータの事後分布を示すカーネル平均を算出し、
前記カーネル平均に基づく前記パラメータのサンプルデータを算出することと、
前記カーネル平均に基づく前記パラメータのサンプルデータを用いて前記パラメータの予測分布のカーネル表現を算出し、
前記パラメータの予測分布のカーネル表現を用いて、前記第2種類のデータの予測分布に従うサンプルデータを算出
し、得られたサンプルデータから前記パラメータの分布を求める、
ことを実行させるための、請求項5に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分析装置、分析方法およびプログラムに関する。
【背景技術】
【0002】
観測データを用いて機械学習を行い、予測を行うための技術が提案されている。
例えば、特許文献1には、学習データが同一の情報源から取得されていない場合、および、学習データと予測対象のデータとに関して情報源の性質が異なる場合に対応する確率モデル推定装置が記載されている。この確率モデル推定装置は、複数の学習データそれぞれの周辺分布と、テストデータの周辺分布とを求め、学習データの周辺分布とテストデータの周辺分布との密度比に基づく目的関数を生成し、この目的関数を最小化して確率モデルの推定を行う。
【0003】
また、特許文献2には、気象予測モデルを用いて定期的に気象予測を行う気象予測システムが記載されている。この気象予測システムは、気象予測モデルに観測データを同化して気象予測を行い、気象予測の演算に用いる演算パラメータを予測時刻に応じて変更する。
【0004】
また、特許文献3に記載の予測装置は、複数の予測モデルを作成し、予測モデルそれぞれに対して残差を予測する残差予測モデルを作成する。そして、この予測装置は、予測モデル毎の予測値に対して、残差予測モデルによる残差予測値を合成して、予測装置としての予測値を算出する。
【先行技術文献】
【特許文献】
【0005】
【文献】再公表WO2012/165517号公報
【文献】日本国特開2008-008772号公報
【文献】日本国特開2005-135287号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
観測データに基づいて予測を行う装置以外に、ユーザが示す目標値に対して、その目標値を実現するための条件をユーザに提示できる装置があれば好ましい。例えば、複数の装置を備える生産ラインをチューニングする際、目標の生産量を確保するためにどの装置にどの程度の性能が必要か分かれば、必要とされる性能に応じて装置の設定を変更する、或いは装置を取り換えるといった対応策を講じることができる。
【0007】
本発明の目的の一例は、上記の課題を解決することができる分析装置、分析方法およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明の第1の態様によれば、分析装置は、1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出するパラメータサンプルデータ算出部と、前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得する第2種類サンプルデータ取得部と、前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの複数のサンプルデータの各々に対する重みとして、前記差異の大きさが小さいほど大きい重みを算出し、算出された前記重みを用いて前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出するパラメータ値算出部と、を備える。
【0009】
本発明の第2の態様によれば、分析方法は、コンピュータが、第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出し、前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得し、前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの複数のサンプルデータの各々に対する重みとして、前記差異の大きさが小さいほど大きい重みを算出し、算出された前記重みを用いて前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出する、ことを含む。
【0010】
本発明の第3の態様によれば、プログラムは、コンピュータに、第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータの複数のサンプルデータを算出し、前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータの複数のサンプルデータの各々とを前記シミュレータに入力して、前記パラメータの複数のサンプルデータの各々毎に前記第2種類のサンプルデータを取得し、前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータの複数のサンプルデータの各々に対する重みとして、前記差異の大きさが小さいほど大きい重みを算出し、算出された前記重みを用いて前記パラメータの複数のサンプルデータを重み付け平均して、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出する、ことを実行させるためのプログラムである。
【発明の効果】
【0011】
この発明の実施形態によれば、ユーザが示す目標値に対して、その目標値を実現するための条件をユーザに提示できる。
【図面の簡単な説明】
【0012】
【
図1】第1実施形態に係る分析装置の機能構成の例を示す概略ブロック図である。
【
図2】第1実施形態における、シミュレータによる回帰関数の設定例を示す図である。
【
図3】第1実施形態に係る分析装置が行う処理の手順の例を示すフローチャートである。
【
図4】第2実施形態に係る分析装置の機能構成の例を示す概略ブロック図である。
【
図5】第2実施形態に係る分析装置が行う処理の手順の例を示すフローチャートである。
【
図6】第2実施形態における共変量シフトの例を示す図である。
【
図7】第3実施形態に係る分析装置が行う処理の手順の例を示すフローチャートである。
【
図8】第4実施形態に係る分析装置が行う処理の手順の例を示すフローチャートである。
【
図9】実施形態に係る実験におけるシミュレーション対象の組立工程の例を示す図である。
【
図10】実施形態に係る実験で得られたXとYの関係を示す図である。
【
図11】実施形態に係る実験得られたパラメータの値を示す図である。
【
図12】実施形態に係る共変量シフトの実験におけるパラメータ値の設定例を示す図である。
【
図13】実施形態に係る共変量シフトの実験で得られたXとYの関係を示す図である。
【
図14】実施形態に係る共変量シフトの実験で得られたパラメータの値を示す図である。
【
図15】本発明の実施形態に係る分析装置の構成の例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0014】
<第1実施形態>
図1は、第1実施形態に係る分析システムの機能構成の例を示す概略ブロック図である。
図1に示す構成で、分析システム1は、分析装置100と、シミュレータサーバ900とを備える。分析装置100は、入出力部110と、記憶部170と、制御部180とを備える。制御部180は、パラメータサンプルデータ算出部181と、第2種類サンプルデータ取得部182と、パラメータ値算出部183とを備える。
【0015】
分析装置100は、目標値を実現するための条件の分析を行う。具体的には、分析装置100は、第1種類のデータについての目標値を示す第1種類目標データと、第2種類データについての目標値とを示す第2種類目標データとが組み合わせられた目標値のサンプルデータを複数取得する。そして、分析装置100は、第1種類目標データと第2種類目標データとの関係性(例えば、相関関係)の分析にて、これらの目標値を実現するための条件を分析する。
分析装置100は、例えばパソコン(Personal Computer;PC)またはワークステーション(Workstation)等のコンピュータを用いて構成される。
【0016】
以下では、第1種類のデータをデータXと称し、第2種類のデータをデータYと称する。また、第1種類目標データと第2種類目標データとが組み合わせられた目標値のサンプルデータを目標データと称する。目標データの個数をn(nは正の整数)として、第1種類目標データ全体のベクトル表現を目標データXnと表記し、第2種類目標データ全体のベクトル表現を目標データYnと表記する。また、目標データXnの要素をX1、・・・、Xnと表記し、目標データYnの要素をY1、・・・、Ynと表記する。このように、分析装置100は、データXi(iは、1≦i≦nの整数)とデータYiとが一対一に対応付けられた目標データ(従って、X-Y平面にプロット可能な目標データ)を取得する。
【0017】
目標データXnおよびYnは特定の種類のデータに限定されず、いろいろなデータとすることができる。
例えば、目標データXnの要素は、分析対象を構成している構成要素の状態を表すものであってもよい。目標データYnの要素は、分析対象に関してセンサ等で観測可能な状態を表すものであってもよい。例えばユーザが、製造工場の生産性を分析したい場合、目標データXnは、当該製造工場における各設備の稼働状況を表すものであってもよい。観測データYnは、複数の設備によって構成されるラインにて製造される製品の個数を表すものであってもよい。
分析対象、および、目標データは、上述した例に限定されず、たとえば、加工工場における設備であってもよいし、ある施設を建設する場合における建設システムであってもよい。
【0018】
分析装置100は、目標データXnおよびYnと、シミュレータサーバ900が提供するシミュレータr(x,θ)と、パラメータθについて仮設定された事前分布(Prior)である分布π(θ)とを与えられて、データXとデータYとの関係性分析を行う。分布π(θ)は、例えば分析装置100のユーザが、シミュレーション対象に関して有する知識に応じた精度で設定する。
【0019】
シミュレータサーバ900は、シミュレータr(x,θ)を提供する。シミュレータサーバ900が提供するシミュレータr(x,θ)は、パラメータθの値の設定、および、変数xへのデータXの値の入力を受けて、データYの値を出力する。一般的な関係性分析では微分可能な関数がモデルとして用いられるのに対し、分析装置100では、シミュレータr(x,θ)のモデルの関数を微分できる必要はない。例えば、シミュレータr(x,θ)が、シミュレータサーバ900のように分析装置100以外の装置によって管理され、分析装置100が、この装置にデータXの値とパラメータθの値とを送信してデータYの値を受信する形態であってもよい。
あるいは、分析装置100が、分析装置100自らの内部にシミュレータr(x,θ)を備えていてもよい。この場合、シミュレータr(x,θ)がブラックボックス化されているなど、分析装置100にとってシミュレータの回帰関数が未知であってもよい。
【0020】
図2は、シミュレータによる回帰関数の設定例を示す図である。
図2では、横軸はX座標(データXの座標)を示し、縦軸はY座標(データYの座標)を示す。なお、以下の説明においては、説明の便宜上、回帰関数という言葉を用いて説明するが、必ずしも一般的な(数学的な)「回帰」を表しているものに限定されない。たとえば、モデルが不明確である場合も含めて「回帰」にて表すとする。
線L11は、理想モデルを示す。ここでいう理想モデルは、目標データのデータXとデータYとの関係を最もよく表すモデルである。例えば、理想モデルは、目標データをもっとも高精度に曲線近似する。ここでは、理想モデルの関数をy=R(x)とする。
図2の例では、目標データが点P11のように丸で示されている。線L11は、丸で示される目標データを曲線近似している。
上述したように、理想モデル(線L11)は、必ずしも、数学的な関数(たとえば、一次関数、二次関数、指数関数、ガウス関数)を用いて表されているとは限らず、xと、yとの関係性を便宜的に示したものである。さらには、理想モデルが実際に表現される必要はない。以降、説明の便宜上、関数という言葉を用いるが、関数という言葉を、関係性を表すものという意味で用いる。
【0021】
線L12は、シミュレータの入出力であるxおよびyに関して数学的な回帰分析を行い、その結果得られた回帰関数の例を示す。シミュレータサーバ900が提供するシミュレータr(x,θ)は、パラメータθの値の設定を受けると、例えば、線L12に例示されるような数学的な回帰関数に従うデータYを出力する。言い換えると、この状態でデータXの値の入力を受けると、シミュレータr(x,θ)は、入力されたデータXの値に対応するデータYの値を出力する。これは、観測対象が工場であるという例の場合、シミュレータに入力されたデータX(例えば、設備の状態)と、出力されたデータY(例えば、あるラインの製造数)との間には、統計的に当該回帰関数に従う関係性があるということを表す。
【0022】
分析装置100は、目標データに基づいて、目標データに対応するパラメータ値を算出し、算出したパラメータ値をシミュレータに設定する。これにより、シミュレータは、データXの値の入力に対してデータYの値を出力する。すなわち、パラメータ値の設定により、シミュレータがシミュレーションを実行可能になる。
分析装置100にとって、シミュレータによる回帰関数は未知でよい。
【0023】
入出力部110は、データの入出力を行う。特に、入出力部110は、目標データを取得する。例えば、入出力部110は、通信装置を備え、他の装置と通信を行ってデータを送受信する。また、入出力部110が、通信装置に加えて、或いは代えて、キーボードおよびマウス等の入力デバイスを備え、ユーザ操作によるデータの入力を受け付けるようにしてもよい。
記憶部170は、各種データを記憶する。記憶部170は、分析装置100が備える記憶デバイスを用いて構成される。
【0024】
制御部180は、分析装置100の各部を制御して各種処理を実行する。制御部180は、分析装置100が備えるCPU(Central Processing Unit、中央処理装置)が、記憶部170からプログラムを読み出して実行することで構成される。
パラメータサンプルデータ算出部181は、パラメータθに関して仮設定された分布π(θ)に基づいて、パラメータθのサンプルデータを複数算出する。分布π(θ)は、ガウス分布に従う分布であってもよいし、ある数値区間における一様乱数を用いて設定されてもよい。但し、分布π(θ)は、これらの例に限定されない。上記のように、パラメータθは、シミュレータr(x,θ)のパラメータである。シミュレータr(x,θ)は、第1種類のデータ(データX)の値の入力を受けて第2種類のデータ(データY)の値を出力する。
【0025】
第2種類サンプルデータ取得部182は、第1種類目標データ(目標データXn)とパラメータθのサンプルデータとをシミュレータr(x,θ)に入力して、パラメータθのサンプルデータ毎に第2種類のサンプルデータ(データYのサンプルデータ)を取得する。
パラメータ値算出部183は、第2種類目標データ(目標データYn)と、第2種類サンプルデータ取得部182が取得した第2種類のサンプルデータ(データYのサンプルデータ)との差異に基づいてパラメータθのサンプルデータの各々に対する重みを算出し、得られた重みを用いてパラメータθの値を算出する。
【0026】
パラメータ値算出部183が算出するパラメータθの値は、目標データが示す目標値を実現するための条件を示す。例えば、組立装置と検査装置とが動作する製品組み立て工程で、単位時間当たりの製品生産量の目標値をデータXとし、データXが示す個数の製品の出荷時間の目標値をデータYとする。また、組立装置の作業時間と、検査装置の作業時間とを、それぞれシミュレータのパラメータとする。分析装置100がパラメータをチューニングして、シミュレータが、単位時間当たりの製品生産量の目標値(データX)の入力に対して、製品の出荷時間の目標値(データY)を出力するようになった場合、パラメータ値は、これらの目標値を実現するための、組立装置の作業時間および検査装置の作業時間を示している。
また、パラメータ値算出部183が算出するパラメータθの値は、分析装置100がパラメータθの適切な値(データXとデータYとの関係を模擬するための値)として決定する値である。
【0027】
図3は、第1実施形態に係る分析装置100が行う処理の手順の例を示すフローチャートである。
(ステップS11)
パラメータサンプルデータ算出部181は、パラメータθの事前分布(分布π(θ))に基づいてパラメータθのサンプルデータθ
<1>
jを生成する。<1>は、事前分布に基づくデータであることを示す。
生成するデータの数をm(mは正の整数)とし、jを1≦j≦mの整数として、θ
<1>
jは式(1)のように示される。
【0028】
【0029】
dθは、パラメータθの次元数を示す。
式(1)に示されるように、θ<1>
jは、dθ次元の実数として示され、分布π(θ)に従う。この時点では最適なパラメータ値は不明であり、例えばユーザが、得られている情報に基づいてパラメータθの分布を推定し、事前分布π(θ)として登録しておく。
ステップS11の後、処理がステップS12へ進む。
【0030】
(ステップS12)
第2種類サンプルデータ取得部182は、ステップS11で得られたサンプルデータθ<1>
j毎に、目標データXnに対応するサンプルデータY<1>n
jを取得する。第2種類サンプルデータ取得部182は、θ<1>
jとXnとをシミュレータr(x,θ)に入力してY<1>n
jを取得する。第2種類サンプルデータ取得部182は、サンプルデータθ<1>
j毎に、n個(目標データXnの要素数と同数)の要素を有するサンプルデータY<1>n
jを取得する。目標データXnの要素と、サンプルデータY<1>n
jの要素とが一対一に対応付けられ、X-Y平面にプロット可能である。
Y<1>n
jは、式(2)のように示される。
【0031】
【0032】
式(2)に示されるように、Y<1>n
jは、n次元の実数として示され、シミュレータr(x,θ)の学習モデルp(y|x,θ)に目標データXnおよびサンプルデータθ<1>
jを入力した分布p(y|Xn,θ<1>
j)に従う。
ステップS12の後、処理がステップS13へ進む。
【0033】
(ステップS13)
パラメータ値算出部183は、ステップS12で得られたY<1>n
jと、目標データYnとに基づいて、θ<1>
j毎に重みを算出し、重み付け平均する。
重み付け平均で得られるパラメータ値θ<2>は、式(3)のように示される。<2>は、Y<1>n
jとYnとの比較に基づく重みを反映済みのデータであることを示す。
【0034】
【0035】
重みwjは、式(4)のように示される。
【0036】
【0037】
kは、Y<1>n
jとYnとの近さ(ノルム)を算出する関数である。kとしてガウシアンカーネルを用いることができ、式(5)のように示される。
【0038】
【0039】
パラメータ値算出部183は、Y
<1>n
jとY
nとが近いほど、サンプルデータθ
<1>
jに対する重みを大きくする。すなわち、パラメータ値算出部183は、尤度が高いサンプルデータθ
<1>
j(目標データY
nを近似する精度が高いサンプルデータθ
<1>
j)に対する重みを大きくする。
ステップS13の後、分析装置100は、
図3の処理を終了する。
【0040】
分析装置100が、パラメータ値算出部183が決定した重みを用いて、シミュレータにおけるパラメータを更新するようにしてもよい。このような処理を行うことによって、第2種類のサンプルデータに対して予測精度が高いシミュレーションを行うことができる。
パラメータ値算出部183が算出したパラメータ値が、シミュレータが目標データを高精度に近似するパラメータ値となっている場合、このパラメータ値は、目標データが示す目標値を実現するための条件を示している。シミュレータが目標データを高精度に近似するとは、目標データのうち第1種類目標データをシミュレータに入力した場合に、シミュレータの出力値が、その目標データの第2種類目標データに近いことである。
【0041】
以上のように、パラメータサンプルデータ算出部181は、第1種類のデータ(データX)の値の入力を受けて第2種類のデータ(データY)の値を出力するシミュレータr(x,θ)のパラメータθに関して仮設定された分布π(θ)に基づいて、パラメータθのサンプルデータθ<1>
jを複数算出する。第2種類サンプルデータ取得部182は、第1種類目標データXnとパラメータθのサンプルデータθ<1>
jとをシミュレータr(x,θ)に入力して、パラメータθのサンプルデータθ<1>
j毎に第2種類のサンプルデータY<1>n
jを取得する。パラメータ値算出部183は、第2種類目標データYnと、算出された第2種類のサンプルデータY<1>n
jとの差異に基づいて、パラメータθのサンプルデータθ<1>
jの各々に対する重みを算出し、得られた重みを用いてパラメータθの値θ<2>を算出する。
【0042】
パラメータ値算出部183が算出したパラメータ値が、シミュレータが目標データを高精度に近似するパラメータ値となっている場合、このパラメータ値は、目標データが示す目標値を実現するための条件を示している。
分析装置100は、このパラメータ値をユーザに提示することで、ユーザが示す目標値に対して、その目標値を実現するための条件をユーザに提示できる。
【0043】
また、分析装置100では、シミュレータのパラメータθのサンプルデータθ<1>
jを生成し、生成したサンプルデータθ<1>
jをシミュレータに入力して評価することで、モデルの関数を微分する必要なしにパラメータθの値を決定することができる。分析装置100によればこの点で、関係性分析について、モデルの関数を微分できない場合や、モデルが不明な場合であっても対応可能である。
【0044】
<第2実施形態>
第1実施形態では、パラメータθの推定値がd
θ次元の実数値で求まる。これに対し、第2実施形態では、パラメータθの推定値を分布で求める例について説明する。
図4は、第2実施形態に係る分析装置の機能構成の例を示す概略ブロック図である。
図4に示す構成は、パラメータ値算出部183が、カーネル平均算出部191と、カーネル平均対応パラメータ算出部192と、パラメータ予測分布算出部193と、第2種類予測分布データ算出部194とを備える点で、
図1の場合と異なる。それ以外は、
図1の場合と同様である。
【0045】
カーネル平均算出部191は、第1種類目標データXnと、第2種類サンプルデータ取得部182が取得した第2種類のサンプルデータY<1>n
jとの下でのパラメータθの事後分布を示すカーネル平均を算出する。
カーネル平均対応パラメータ算出部192は、カーネル平均算出部191が算出したカーネル平均に基づくパラメータθのサンプルデータを算出する。
パラメータ予測分布算出部193は、カーネル平均算出部191が算出したカーネル平均に基づくパラメータθのサンプルデータを用いてパラメータθの予測分布のカーネル表現を算出する。
第2種類予測分布データ算出部194は、パラメータ予測分布算出部193が算出したパラメータの予測分布のカーネル表現を用いて、第2種類のデータ(データY)の予測分布に従うサンプルデータを算出する。
【0046】
図5は、第2実施形態に係る分析装置100が行う処理の手順の例を示すフローチャートである。
図5のステップS21~S22は、
図3のステップS11~S12と同様である。ステップS22の後、処理がステップS23へ進む。
【0047】
(ステップS23)
カーネル平均算出部191は、カーネル平均を求める。
上述した式(3)は、カーネル平均を求める式と捉えて式(6)のように表すことができる。カーネル平均算出部191は、式(6)に基づいてカーネル平均μ^θ|XYを求める。
【0048】
【0049】
重みwjは、式(7)のように示される。
【0050】
【0051】
上付きのTは、行列またはベクトルの転置を示す。
kyは、式(8)のように示される。
【0052】
【0053】
kyとして、式(9)で示されるガウシアンカーネル関数(Gaussian Kernel Function)を用いる。
【0054】
【0055】
Gはグラム行列(Gramm Matrix)を示し、式(10)のように示される。
【0056】
【0057】
カーネル平均μ^θ|XYは、XおよびYの元でのθの事後分布をカーネル平均埋め込み(Kernel Mean Embeddings)により再生核ヒルベルト空間(Reproducing Kernel Hilbert Space;RKHS)上で表現したものに該当する。
ステップS23の後、処理がステップS24へ進む。
【0058】
(ステップS24)
カーネル平均対応パラメータ算出部192は、パラメータθについて、カーネル平均μ^θ|XYに基づくサンプルデータ{θ<3>
1,・・・,θ<3>
m}(mはサンプル数を示す正の整数)を求める。<3>は、カーネル平均に基づくデータであることを示す。
カーネル平均に基づくサンプルデータは、カーネルハーディング(Kernel Herding)の手法を用いて帰納的に求めることができる。この場合、jを0≦j≦m(mはサンプル数を示す正の整数)として、カーネル平均対応パラメータ算出部192は、式(11)に基づいて、サンプルデータθ<3>
j+1を算出する。
【0059】
【0060】
argmaxθhj(θ)は、hj(θ)の値を最大にするθの値を示す。
hjは、式(12)により再帰的に示される。
【0061】
【0062】
式(12)のμには、ステップS23で得られたカーネル平均μ^θ|XYを入力する。また、hjの初期値h0を、h0:=μ^θ|XYと設定する。
Hは再生核ヒルベルト空間を示す。
ステップS24で得られるサンプルデータ{θ<3>
1,・・・,θ<3>
m}には、事前分布に基づくサンプルデータY<1>n
jと目標データYnとの近さ(ノルム)に応じた重み付けが反映されている。
ステップS24の後、処理がステップS25へ進む。
【0063】
(ステップS25)
パラメータ予測分布算出部193は、シミュレータr(x,θ)に目標データXnおよびサンプルデータθ<3>
jを入力して、分布p(y|Xn,θ<3>
j)に従う{θ<3>
j,Y<3>n
j}をシミュレーションにより算出する。
ステップS25の後、処理がステップS26へ進む。
【0064】
(ステップS26)
パラメータ予測分布算出部193は、ステップS25で得られたサンプルデータ{θ<3>
j,Y<3>n
j}を用いて、データYの予測分布(Predictive Distribution)のカーネル表現ν^y|YXを算出する。
予測分布のカーネル表現ν^y|YXは、カーネルサムルール(Kernel Sum Rule)を用いて算出することができる。この場合、予測分布p(y|Xn,Yn)は、式(13)のように示される。
【0065】
【0066】
予測分布p(y|Xn,Yn)のカーネル表現ν^y|YXは、式(14)のように示される。
【0067】
【0068】
v1、・・・、vmは、式(15)のように示される。
【0069】
【0070】
グラム行列Gθ<3>は、式(16)のように示される。
【0071】
【0072】
グラム行列Gθ<3>θは、式(17)のように示される。
【0073】
【0074】
δmは、逆行列の計算を安定化させるための係数である。
Iは単位行列を示す。
ステップS26の後、処理がステップS27へ進む。
【0075】
(ステップS27)
第2種類予測分布データ算出部194は、ステップS26で得られた予測分布のカーネル表現ν^y|YXを用いて、予測分布に基づくサンプルデータY<4>n
jを求める。
<4>は、予測分布のカーネル表現に基づくデータであることを示す。
ステップS27でも、ステップS24の場合と同様、カーネルハーディングの手法を用いて帰納的にサンプルデータを求めることができる。ステップS27では、式(18)に基づいてサンプルデータを算出する。
【0076】
【0077】
argmaxyhj(y)は、hj(y)の値を最大にするyの値を示す。
h’jは、式(19)により再帰的に示される。
【0078】
【0079】
式(19)のνにはステップS26で得られた予測分布のカーネル表現ν^y|YXを入力する。また、h’jの初期値h’0を、h’0:=ν^y|YXと設定する。
ステップS27の後、処理がステップS28へ進む。
【0080】
(ステップS28)
第2種類予測分布データ算出部194は、ステップS24で得られたサンプルデータ{θ
<3>
1,・・・,θ
<3>
m}から、パラメータθの分布を求める。例えば、第2種類予測分布データ算出部194は、パラメータθの分布がガウス分布など特定の分布に従うと仮定し、サンプルデータから平均値および分散など分布の特徴量を算出する。
あるいは、分析装置100が、ステップS24で得られたパラメータのサンプルデータをそのままユーザに提示する(例えば、グラフで表示する)ようにしてもよい。ユーザは、パラメータのサンプルデータそのものを参照することで、信頼区間、および、カーネル平均対応パラメータ算出部192が算出したパラメータそのものの信頼性を、より高精度に判断することができる。また、例えばパラメータの分布が多峰的である場合、または、パラメータの分布が非対称な場合など、特定の分布でパラメータのサンプルデータを捉えられない場合、分析装置100が、パラメータのサンプルデータをそのままユーザに提示することで、ユーザは、パラメータの分布を把握し得る。
また、第2種類予測分布データ算出部194が、パラメータのサンプルデータに加えて、あるいは代えて、ステップS27で得られたデータYのサンプルデータY
<4>n
jの分布を求めるようにしてもよい。
ステップS28の後、分析装置100は、
図5の処理を終了する。
【0081】
以上のように、カーネル平均算出部191は、第1種類目標データXnと、第2種類サンプルデータ取得部182が取得した第2種類のサンプルデータY<1>n
jとの下でのパラメータθの事後分布を示すカーネル平均μ^θ|XYを算出する。カーネル平均対応パラメータ算出部192は、カーネル平均算出部191が算出したカーネル平均μ^θ|XYに基づくパラメータθのサンプルデータ{θ<3>
1,・・・,θ<3>
m}を算出する。パラメータ予測分布算出部193は、パラメータθのサンプルデータ{θ<3>
1,・・・,θ<3>
m}を用いてデータYの予測分布のカーネル表現ν^y|YXを算出する。第2種類予測分布データ算出部194は、パラメータ予測分布算出部193が算出したデータYの予測分布のカーネル表現ν^y|YXを用いて、第2種類のデータ(データY)の予測分布に従うサンプルデータY<4>n
jを算出する。
【0082】
このように、分析装置100がサンプルデータを生成することで、サンプルデータからデータの分布を求めることができる。分析装置100が、データの分布を求めるようにしてもよい。あるいは、分析装置100がサンプルデータをユーザに提示し、ユーザがデータの分布を求めるようにしてもよい。
このように、分析装置100によれば、ユーザは、目標データを実現するための条件(パラメータ値)について、その値を知るだけでなく、分布(例えば分散)も知ることができる。これにより、ユーザは、分析装置100が提示する条件に対して、目標値を実現するためにどの程度の余裕分を見込むかについても検討できる。
【0083】
<第3実施形態>
第3実施形態では、分析装置が、共変量シフト(Covariate Shift)に対応する場合について説明する。共変量シフトとは、訓練時とテスト時とで入力の分布が異なるが入出力関数は変わらないことである。ここでは、目標データのデータX(第1種類目標データ)の分布と、関係性分析対象(分析したい範囲)のデータXの分布とが異なるが理想モデルは変わらない場合を共変量シフトとして扱う。目標データのデータXの分布をq0(x)と表記し、関係性分析対象のデータXの分布をq1(x)と表記する。
【0084】
図6は、共変量シフトの例を示す図である。
図6で、横軸はX座標(データXの座標)を示し、縦軸はY座標(データYの座標)を示す。
線L21は、理想モデルを示す。ここでは、理想モデルの関数をy=R(x)とする。
また、点P22のように丸で示されるデータ、点P23のように十字で示されるデータのいずれも理想モデルに基づいて生成されている。丸で示されるデータを丸データと称し、十字で示されるデータを十字データと称する。
【0085】
図6の例では、データにノイズが含まれており、丸データ、十字データのいずれも、線L21の近傍にプロットされている。
一方、丸データと十字データとでは、x軸方向の分布が異なる。丸データが
図6の左右に広く分布しているのに対し、十字データは、
図6の左側に偏って分布している。この分布の違いから、丸データの場合と十字データの場合とで回帰関数が異なる。例えば直線回帰を行う場合、丸データの回帰直線は線L22となり、十字データの回帰直線は線L23となる。
【0086】
このように、理想モデルが同じであっても分布の違いから回帰関数が異なる場合がある。例えば、得られた目標データが丸データである場合、この目標データ(丸データ)に基づいて回帰関数を求めると線L22が得られる。一方、ユーザが、十字データの分布の場合について関係性分析を行いたい場合、線L22を回帰関数としたのでは精度が低く、線L23を回帰関数として求めたい。
そこで、分析装置100は、目標データのデータXの分布と関係性分析を行いたい範囲のデータXの分布との比較に基づいて目標データに重みづけを行い、関係性分析を行いたい範囲のデータXの分布に対応するパラメータθの値を求める。
【0087】
例えば、ユーザは、いろいろなデータXの値に対して(すなわち、第1種類目標データのいろいろなパターンに対して)、それぞれの場合のデータYの目標値(第2種類目標データ)を決めておく。製品組立工程の例の場合、ユーザは、受注が多い時期や少ない時期など、いろいろな状況を想定して、単位時間当たりの製品生産量(データX)毎に、出荷時間の目標値(データY)を決めておく。
分析装置100は、いろいろなデータXの値について、そのデータXの値とそのデータXの値に対して設定されたデータYの目標値との組み合わせを目標データとして使用する。
【0088】
そして、ユーザは、状況に応じてデータXの目標値を設定する。製品組立工程の例の場合、ユーザは、現在の受注状況に応じて、単位時間当たりの製品生産量の目標値を決定する。
分析装置100は、設定されたデータXの目標値、および、そのデータXの目標値に対応付けて定められたデータYの目標値をシミュレータが高精度に近似できるパラメータ値を算出する。
【0089】
分析装置100は、データXの全範囲に均等に注目するのではなく、ユーザが目標値に設定したデータXの値の部分に重点的に注目して、パラメータ値を算出する。ユーザが目標値に設定したデータXの値の部分が、関係性分析対象に該当する。また、分析装置100は、データXの値に応じた重みを用いることで、ユーザが目標値に設定したデータXの値の部分に重点的に注目する。
【0090】
第3実施形態にかかる分析システムの構成および分析装置100の構成は、第1実施形態の場合(
図1)と同様である。第3実施形態では、パラメータ値算出部183が行う処理が、第1実施形態の場合と異なる。第3実施形態では、パラメータ値算出部183は、第2種類目標データY
nと、第2種類のサンプルデータY
<1>n
jとの差異、および、第1種類目標データX
nが従う第1分布と、第1種類のデータの分布であって関係を求めたい領域を示す第2分布との関係に基づいて、パラメータのサンプルデータの各々に対する重みを算出し、得られた重みを用いてパラメータの値を算出する。
第1実施形態では、パラメータ値算出部183は、目標データY
nと、サンプルデータY
<1>n
jとの近さで示される、パラメータのサンプルデータθ
<1>
jの尤度に基づく重みを算出している。これに対し、第3実施形態では、パラメータ値算出部183は、サンプルデータθ
<1>
jの尤度に加えて、目標データの分布d
1(x)への一致度合いに基づいてサンプルデータθ
<1>
jの各々を重み付けする。
【0091】
図7は、第3実施形態に係る分析装置100が行う処理の手順の例を示すフローチャートである。
図7のステップS31~S32は、
図3のステップS11~S12と同様である。ステップS32の後、処理がステップS33へ進む。
【0092】
(ステップS33)
パラメータ値算出部183は、パラメータのサンプルデータθ
<1>
j毎に重みを算出し、重み付け平均する。
図3のステップS12では、パラメータ値算出部183は、サンプルデータY
<1>n
jと、目標データY
nとに基づいて、θ
<1>
j毎に重みを算出する。これに対し、ステップS33では、パラメータ値算出部183は、サンプルデータY
<1>n
jおよび目標データY
nに加えて、さらに、目標データX
nの分布q
0(x)および回帰を求めたい領域を示す分布q
1(x)に基づいて重みを算出する。
重み付け平均で得られるパラメータ値θ
<5>は、式(20)のように示される。<5>は、Y
<1>n
j、Y
n、q
0(x)およびq
1(x)に基づく重みを反映済みのデータを示す。
【0093】
【0094】
重みw’jは、式(21)のように示される。
【0095】
【0096】
k’は、Y<1>n
jとYnとの近さ(ノルム)を算出し、分布q1(x)への一致度合いを加味する関数である。k’としてガウシアンカーネルを変形した式を用いることができ、式(22)のように示される。
【0097】
【0098】
βiは、Xnの各要素の分布q1(x)への一致度合いを示す関数であり、式(23)のように示される。
【0099】
【0100】
白丸の演算子は、アダマール積(Hadamard Product)、すなわち、行列またはベクトルの要素毎の積を示す。
ステップS13の後、分析装置100は、
図7の処理を終了する。
【0101】
以上のように、パラメータサンプルデータ算出部181は、第1種類のデータ(データX)の値の入力を受けて第2種類のデータ(データY)の値を出力するシミュレータr(x,θ)のパラメータθに関して仮設定された分布π(0)に基づいて、パラメータθのサンプルデータθ<1>
jを複数算出する。第2種類サンプルデータ取得部182は、第1種類目標データXnとパラメータθのサンプルデータθ<1>
jとをシミュレータr(x,θ)に入力して、パラメータθのサンプルデータθ<1>
j毎に第2種類のサンプルデータY<1>n
jを取得する。パラメータ値算出部183は、第2種類目標データYnと、算出された第2種類のサンプルデータY<1>n
jとの差異、および、第1種類目標データXnが従う第1分布q0(x)と、第1種類のデータの分布であって関係を求めたい領域を示す第2分布q1(x)との関係に基づいて、パラメータθのサンプルデータの各々に対する重みを算出し、得られた重みを用いてパラメータθの値を算出する。
これにより、分析装置100は、共変量シフトに対応して、より高精度に関係性分析を行うことができる。従って分析装置100は、ユーザが示した目標値を実現するための条件(パラメータ値)を、より高精度に算出することができる。すなわち、分析装置100によれば、状況に応じて目標値が変化することに対応して、目標値を実現するための条件をユーザに提示できる。
【0102】
<第4実施形態>
第3実施形態では、パラメータθの推定値がd
θ次元の実数値で求まる。これに対し、第4実施形態では、パラメータθの推定値を分布で求める例について説明する。
第4実施形態に係る分析システムの構成および分析装置100の構成は、第2実施形態の場合(
図4)と同様である。第4実施形態では、パラメータ値算出部183が行う処理が、第1実施形態の場合と異なる。第3実施形態では、パラメータ値算出部183は、第2種類目標データY
nと、第2種類のサンプルデータY
<1>n
jとの差異、および、第1種類目標データX
nが従う第1分布と、第1種類のデータの分布であって関係を求めたい領域を示す第2分布とに基づいて、パラメータのサンプルデータの各々に対する重みを算出し、得られた重みを用いてパラメータの値を算出する。
【0103】
図8は、第4実施形態に係る分析装置100が行う処理の手順の例を示すフローチャートである。
ステップS41~S42は、
図2のステップS11~S12と同様である。
ステップS42の後、処理がステップS43へ進む。
【0104】
(ステップS43)
カーネル平均算出部191は、カーネル平均を求める。
上述した式(20)は、カーネル平均を求める式と捉えて式(24)のように表すことができる。カーネル平均算出部191は、式(24)に基づいてカーネル平均μ^θ<6>|XYを求める。<6>は、分布q1(x)への適合度合いに基づく重み付け済みのデータであることを示す。
【0105】
【0106】
重みw<6>
jは、式(25)のように示される。
【0107】
【0108】
k<6>
y(Yn)は、式(26)のように示される。
【0109】
【0110】
グラム行列G<6>は、式(27)のように示される。
【0111】
【0112】
k<6>
y(Yn,Yn’)は、式(28)のように示される。
【0113】
【0114】
式(28)は、重み付けされたカーネル関数に該当する。
カーネル平均μ^θ<6>|XYは、XおよびYの下でのθの事後分布に、分布q1(x)への一致度合いに基づく重みづけをしたものを、カーネル平均埋め込みにより再生核ヒルベルト空間上で表現したものに該当する。
ステップS43の後、処理がステップS44へ進む。
【0115】
(ステップS44)
カーネル平均対応パラメータ算出部192は、パラメータθ<6>について、カーネル平均μ^θ<6>|XYに基づくサンプルデータ{θ<6>
1,・・・,θ<6>
m}(mはサンプル数を示す正の整数)を求める。
カーネル平均に基づくサンプルデータは、カーネルハーディングの手法を用いて帰納的に求めることができる。この場合、カーネル平均対応パラメータ算出部192は、jを0≦j≦m(mはサンプル数を示す正の整数)として、式(29)に基づいて、サンプルデータθ<6>
j+1を算出する。
【0116】
【0117】
argmaxθhj(θ)は、hj(θ)の値を最大にするθの値を示す。
hjは、式(30)により再帰的に示される。
【0118】
【0119】
式(30)のμには、ステップS43で得られたカーネル平均μ^θ<6>|XYを入力する。また、hjの初期値h0を、h0:=μ^θ<6>|XYと設定する。
Hは再生核ヒルベルト空間を示す。
ステップS24で得られるサンプルデータ{θ<6>
1,・・・,θ<6>
m}には、事前分布に基づくサンプルデータY<1>n
jと目標データYnとの近さに応じた重み付け、および、分布q1(x)への一致度合いに基づく重み付けが反映されている。
ステップS44の後、処理がステップS45へ進む。
【0120】
(ステップS45)
パラメータ予測分布算出部193は、学習モデルp(y|x,θ)に目標データXnおよびサンプルデータθ<6>
jを入力した分布p(y|Xn,θ_mcv
j)に従う{θ<6>
j,Y<6>n
j}を、シミュレーションにより算出する。
ステップS45の後、処理がステップS26へ進む。
【0121】
(ステップS46)
パラメータ予測分布算出部193は、ステップS45で得られたサンプルデータ{θ<6>
j,Y<6>n
j}を用いて、分布q1(x)に対応するデータYの予測分布のカーネル表現ν^y|YXを算出する。
予測分布のカーネル表現ν^y|YXは、カーネルサムルールを用いて算出することができる。この場合、予測分布p(y|X<6>
n,Y<6>
n)は、式(31)のように示される。
【0122】
【0123】
予測分布p(y|Xn,Yn)のカーネル表現ν^y|XYは、式(32)のように示される。
【0124】
【0125】
v1、・・・、vmは、式(33)のように示される。
【0126】
【0127】
グラム行列Gθ<6>は、式(34)のように示される。
【0128】
【0129】
グラム行列Gθ<6>θは、式(35)のように示される。
【0130】
【0131】
δmは、逆行列の計算を安定化させるための係数である。
Iは単位行列を示す。
ステップS46の後、処理がステップS47へ進む。
【0132】
(ステップS47)
第2種類予測分布データ算出部194は、ステップS46で得られた予測分布のカーネル表現ν^y|YXを用いて、予測分布Y<6>n
jのサンプルデータを求める。
ステップS47でも、ステップS44の場合と同様、カーネルハーディングの手法を用いて帰納的にサンプルデータを求めることができる。ステップS47では、式(36)に基づいてサンプルデータを算出する。
【0133】
【0134】
argmaxyh’j(y)は、h’j(y)の値を最大にするyの値を示す。
h’jは、式(37)により再帰的に示される。
【0135】
【0136】
式(37)のνにはステップS46で得られた予測分布のカーネル表現ν^y|YXを入力する。また、h’jの初期値h’0を、h’0:=ν^y|YXと設定する。
ステップS47の後、処理がステップS48へ進む。
【0137】
(ステップS28)
第2種類予測分布データ算出部194は、ステップS44で得られたサンプルデータ{θ
<6>
1,・・・,θ
<6>
m}から、パラメータθの分布を求める。例えば、第2種類予測分布データ算出部194は、パラメータθの分布がガウス分布など特定の分布に従うと仮定し、サンプルデータから平均値および分散など分布の特徴量を算出する。
あるいは、分析装置100が、ステップS44で得られたサンプルデータをそのままユーザに提示する(例えば、グラフで表示する)ようにしてもよい。ユーザは、サンプルデータそのものを参照することで、信頼区間およびデータそのものの信頼性を、より高精度に判断することができる。また、例えばデータの山が複数ある場合または非対称な分布の場合など、特定の分布でサンプルデータを捉えられない場合、分析装置100が、サンプルデータをそのままユーザに提示することで、ユーザは、データの分布を把握し得る。
また、第2種類予測分布データ算出部194が、パラメータのサンプルデータに加えて、あるいは代えて、ステップS47で得られたデータYのサンプルデータY
<6>n
jの分布を求めるようにしてもよい。
ステップS48の後、分析装置100は、
図8の処理を終了する。
【0138】
以上のように、カーネル平均算出部191は、第1種類目標データXnと、第2種類サンプルデータ取得部182が取得した第2種類のサンプルデータY<1>n
jとの下でのパラメータθの事後分布を示すカーネル平均μ^θ|XYを算出する。カーネル平均対応パラメータ算出部192は、カーネル平均算出部191が算出したカーネル平均μ^θ|XYに基づくパラメータθのサンプルデータ{θ<6>
1,・・・,θ<6>
m}を算出する。パラメータ予測分布算出部193は、パラメータθのサンプルデータ{θ<6>
1,・・・,θ<6>
m}を用いてデータYの予測分布のカーネル表現ν^y|YXを算出する。第2種類予測分布データ算出部194は、パラメータ予測分布算出部193が算出した予測分布のカーネル表現ν^y|YXを用いて、第2種類のデータ(データY)の予測分布に従うサンプルデータY<6>n
jを算出する。
【0139】
このように、分析装置100がサンプルデータを生成することで、サンプルデータからデータの分布を求めることができる。分析装置100が、データの分布を求めるようにしてもよい。あるいは、分析装置100がサンプルデータをユーザに提示し、ユーザがデータの分布を求めるようにしてもよい。
【0140】
このように、分析装置100によれば、ユーザは、目標データを実現するための条件(パラメータ値)について、その値を知るだけでなく、分布(例えば分散)も知ることができる。これにより、ユーザは、分析装置100が提示する条件に対して、目標値を実現するためにどの程度の余裕分を見込むかについても検討できる。
【0141】
次に、分析装置100の動作実験について説明する。
図9は、目標値設定対象の組立工程の例を示す図である。
図9に示す組立工程では、組立装置が、上側部品、下側部品、および2つのねじの4つの部品を組み立てて製品を生成する。組立装置が組み立てた製品は検査装置に搬入される。検査装置は、製品が4つ搬入されると検査を行う。
【0142】
この組立工程で、単位時間当たりの製品の生産量をデータXとし、X個(データXの値)の製品の出荷時間をデータYとする。また、パラメータの数は2とし、組立装置の作業時間をθ
1、検査装置の作業時間をθ
2とする。
図10は、得られたXとYの関係を示す図である。
図10のグラフの横軸はデータXを示し、縦軸はデータYを示す。また、点P31のような丸で目標データが示されている。
線L31は、関係性分析の結果得られたXとYの関係を示す線である。
【0143】
線L31が階段状になっているのは、検査装置が、製品が4つ搬入されてから検査を行うことによる待ち時間が生じているものと考えられ、XとYとの関係を高精度に求められている。従って、パラメータθ1およびθ2は、目標値を実現するための条件を高精度に示している。
【0144】
図11は、実験で得られたパラメータの値を示す図である。
図11のグラフの横軸はパラメータθ
1を示し、縦軸はパラメータθ
2を示す。
点P31は、パラメータの真の値を示す。ここでのパラメータの真の値は、目標値を実現するためのパラメータ値として予め想定されたパラメータ値であり、いわば、この実験における答である。
点P32は、実験で得られたパラメータの値を示す。点P32は点P31に近く、パラメータ値を適切に算出できている。
【0145】
図12は、共変量シフトの実験におけるパラメータ値の設定例を示す図である。
上述した組立工程のシミュレーションの実験で、Xの値が110を超えると、θ
1、θ
2共に値が大きくなる(組立および検査に時間を要する)ように、真のパラメータ値を設定する。
【0146】
図13は、実験で得られたXとYの関係を示す図である。
図13のグラフの横軸はデータXを示し、縦軸はデータYを示す。また、点P41のような丸で目標データが示されている。
目標データの分布は、q
0(X)=N(X|100,10)と、X=100を中心に分布している。これに対し、予測したい領域(目標値を実現するための条件を知りたい領域)は、q1(X)=N(X|120,10)と、X=120の場合について予測したい(目標値を実現するための条件を知りたい)ものとする。
【0147】
線L41は、共変量シフトの処理を行わない場合に得られるXとYの関係を示す線である。線L42は、共変量シフトを行った場合に得られるXとYの関係を示す線である。
共変量シフトを行わない場合の線L41が、X=100付近のデータを精度よく近似しているのに対し、共変量シフトを行った場合の線L42は、X=120付近のデータを精度よく近似している。このように、共変量シフトに対応した結果を得られた。この場合のパラメータ値は、ユーザが希望するX=120付近で目標値を実現するための条件を示している。
また、
図10の場合と同様、階段状の線を得られており、この点でもXとYとの関係を高精度に求められている。
【0148】
図14は、共変量シフトの実験で得られたパラメータの値を示す図である。
図11のグラフの横軸はパラメータθ
1を示し、縦軸はパラメータθ
2を示す。
点P51は、パラメータの真の値を示す。点P52は、共変量シフトによるパラメータの真の値を示す。点P51および点P52のうち、点P52の方が、いわば、この実験における答である。
点P53は、共変量シフトで得られたパラメータの値を示す。また、点P54等により、カーネルハーディングで得られたパラメータ値の分布が示されている。
【0149】
点P53は、点P52に近く、パラメータ値を適切に算出できている。
また、カーネルハーディングで得られたパラメータ値の分布は、縦方向の分布が大きい。これにより、パラメータθ1の値の影響よりもパラメータθ2の値の影響の方が大きいことが示されている。また、カーネルハーディングで得られたパラメータ値の分布は、左肩上がりとなっている。これにより、パラメータθ1の値を改善すれば、多少の効率の改善は見込まれることが示されている。
このように、分析装置100が求めるパラメータ値の分布を参照して、ボトルネック解析等の感度解析を行うことができる。
【0150】
次に、
図15を参照して本発明の実施形態の構成について説明する。
図15は、本発明の実施形態に係る分析装置の構成の例を示す図である。
図15に示す分析装置10は、パラメータサンプルデータ算出部11と、第2種類サンプルデータ取得部12と、パラメータ値算出部13とを備える。
【0151】
かかる構成にて、パラメータサンプルデータ算出部11は、第1種類のデータの入力を受けて第2種類のデータを出力するシミュレータのパラメータに関して仮設定された分布に基づいて、前記パラメータのサンプルデータを複数算出する。第2種類サンプルデータ取得部12は、前記第1種類のデータについての目標値を示す第1種類目標データと前記パラメータのサンプルデータとを前記シミュレータに入力して、前記パラメータのサンプルデータ毎に前記第2種類のサンプルデータを取得する。パラメータ値算出部13は、前記第2種類のデータについての目標値を示す第2種類目標データと、算出された前記第2種類のサンプルデータとの差異に基づいて前記パラメータのサンプルデータの各々に対する重みを算出し、得られた重みを用いて、前記第1種類目標データおよび前記第2種類目標データに応じた前記パラメータの値を算出する。
【0152】
パラメータ値算出部13が算出したパラメータ値が、シミュレータが目標データを高精度に近似するパラメータ値となっている場合、このパラメータ値は、目標データが示す目標値を実現するための条件を示している。
分析装置10は、このパラメータ値をユーザに提示することで、ユーザが示す目標値に対して、その目標値を実現するための条件をユーザに提示できる。
【0153】
何れかの実施形態で、パラメータ値算出部(パラメータ値算出部183またはパラメータ値算出部13)によって算出されたパラメータの値(すなわち、目標値を実現するパラメータの値)に基づき、当該パラメータの値が表す状態を決定してもよい。各パラメータは、たとえば、対象システムにおける構成要素に関する状態を数値的に表しているため、当該処理によって、対象システムにおける構成要素に関して、状態を求めることができる。すなわち、当該分析装置は、対象システム全体に関する目標値に基づき、各構成要素について目標値を実現するための状態を決定することができる。当該処理によれば、各構成要素に関する処理と、当該処理によって実現される状態とが関連付けされた情報を用いて、各構成要素に関して決定された状態から、各構成要素が行う処理の計画を作成することもできる。
【0154】
なお、制御部180の機能の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0155】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0156】
この出願は、2018年6月7日に出願された日本国特願2018-109879を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【0157】
本発明は、分析装置、分析方法および記録媒体に適用してもよい。
【符号の説明】
【0158】
100 分析装置
110 入出力部
170 記憶部
180 制御部
181 パラメータサンプルデータ算出部
182 第2種類サンプルデータ取得部
183 パラメータ値算出部
191 カーネル平均算出部
192 カーネル平均対応パラメータ算出部
193 パラメータ予測分布算出部
194 第2種類予測分布データ算出部