IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・コミュニケーションズ株式会社の特許一覧

特開2023-173391分析装置、分析方法及び分析プログラム
<>
  • 特開-分析装置、分析方法及び分析プログラム 図1
  • 特開-分析装置、分析方法及び分析プログラム 図2
  • 特開-分析装置、分析方法及び分析プログラム 図3
  • 特開-分析装置、分析方法及び分析プログラム 図4
  • 特開-分析装置、分析方法及び分析プログラム 図5
  • 特開-分析装置、分析方法及び分析プログラム 図6
  • 特開-分析装置、分析方法及び分析プログラム 図7
  • 特開-分析装置、分析方法及び分析プログラム 図8
  • 特開-分析装置、分析方法及び分析プログラム 図9
  • 特開-分析装置、分析方法及び分析プログラム 図10
  • 特開-分析装置、分析方法及び分析プログラム 図11
  • 特開-分析装置、分析方法及び分析プログラム 図12
  • 特開-分析装置、分析方法及び分析プログラム 図13
  • 特開-分析装置、分析方法及び分析プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173391
(43)【公開日】2023-12-07
(54)【発明の名称】分析装置、分析方法及び分析プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20231130BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022085619
(22)【出願日】2022-05-25
(71)【出願人】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】藤原 大悟
(72)【発明者】
【氏名】小山 和輝
(72)【発明者】
【氏名】泉谷 知範
(72)【発明者】
【氏名】切通 恵介
(72)【発明者】
【氏名】大川内 智海
(57)【要約】
【課題】複雑なデータの因果関係を容易に分析すること。
【解決手段】抽出部131は、それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する。抽出部131は、JIT法によりK近傍データを抽出する。探索部134は、近傍データの集合に因果探索の手法を適用し、特徴量間の因果を探索する。探索部134は、抽出されたデータにLiMGAMのアルリズムを適用し、特徴量間の因果関係を表す線形方程式を得る。
【選択図】図4
【特許請求の範囲】
【請求項1】
それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する抽出部と、
前記近傍データの集合に因果探索の手法を適用し、前記特徴量間の因果を探索する探索部と、
を有することを特徴とする分析装置。
【請求項2】
前記探索部は、前記特徴量間の関係を表す線形の方程式を求めることを特徴とする請求項1に記載の分析装置。
【請求項3】
前記探索部は、前記特徴量のそれぞれを、前記特徴量のうちの少なくともいずれかに係数を掛けた値と、ノイズとの和によって表すことを特徴とする請求項1に記載の分析装置。
【請求項4】
前記探索部による探索結果を、自然言語の文章又は有向グラフによって出力する出力部をさらに有することを特徴とする請求項1に記載の分析装置。
【請求項5】
分析装置によって実行される分析方法であって、
それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する抽出工程と、
前記近傍データの集合に因果探索の手法を適用し、前記特徴量間の因果を探索する探索工程と、
を含むことを特徴とする分析方法。
【請求項6】
それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する抽出ステップと、
前記近傍データの集合に因果探索の手法を適用し、前記特徴量間の因果を探索する探索ステップと、
をコンピュータに実行させることを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分析装置、分析方法及び分析プログラムに関する。
【背景技術】
【0002】
製造業における時系列データ解析の需要は高く、その応用範囲は品質予測、設備の異常、故障検知、運転の自動化等多岐にわたる。
【0003】
実問題では、単に予測及び異常検知等における機械学習モデルの平均的精度を上げるだけでなく、その判断根拠を示したりシステムの構造を同定する説明可能AI(XAI:Explainable Artificial Intelligence)の需要が高い。特にプラント等においては、事故発生時の経済面及び安全面でのリスクを鑑みるとXAIは非常に重要である。
【0004】
ここで、XAIの中でもデータからシステムの構造及び特徴量間の因果関係を求める、因果探索と呼ばれる分野がある。
【0005】
一般に因果関係が事前に不明な場合、特定の変数のみを操作したランダム化比較試験(RCT:Randomized Controlled Trial)等の対照実験により因果関係が推定される。しかし、現実の多くの場合このような実験を行うのは困難である。
【0006】
実験が困難な場合にデータのみから因果関係を同定する枠組みが、統計的因果探索である。因果探索の時系列データへの応用も近年盛んに研究されている(例えば、非特許文献1を参照)。
【0007】
統計的因果推論の枠組みのもと、因果関係を利用することで、他の変数とは無関係にある変数を変化させた時(介入)、どのようにデータ全体に影響が出るかを知ることができる(介入効果推定)(例えば、非特許文献2を参照)。
【0008】
これらの技術により、プラントにおいて材料投入量を逆算して最適化したり、他にも経営判断等後の意思決定に判明した因果関係を反映することも可能である。
【0009】
一方で、時系列等の実応用で現れるデータは、従来の時系列解析、因果探索の手法で仮定されていた理想的な条件が崩れている場合が多い。
【0010】
例えば時系列解析においては多くのモデルで定常性が仮定されている。これは、解析対象の時系列データが、時間に依存するトレンド成分及び季節成分を含まず、システムのダイナミクス及び状態も時間によらず一定であることを意味する。しかし、実際の時系列データは、温度変化による季節性を持ったセンサ値のずれ、生産量の変更等運転条件の離散的な状態変化、プラントの経年劣化によるトレンド成分等を持っている。
【0011】
そういった時系列データ又は複雑非線形データの予測問題に対応するための技術として、Just-In-Timeモデルが提案されている(例えば、非特許文献8を参照)。Just-In-Timeモデルによれば、過去履歴データから現在の状態に近いサンプルのみを抜き出して随時学習することで、分布変化や複雑な非線形性に追従することができる。
【0012】
また、因果探索に関してはいくつかの手法が知られており、代表的なものの1つにLiNGAM(Linear Non-Gaussian Acyclic Model)がある(例えば、非特許文献3、4を参照)。LiNGAMでは、因果関係を表現する構造方程式に線形モデルが仮定されている。一方で、非線形因果探索の手法も知られている(例えば、非特許文献5、6、7を参照)。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】Hyvarinen, A., Zhang, K., Shimizu, S., and Hoyer, P. O.: Estimation of a structural vector autoregression model using non-gaussianity., Journal of Machine Learning Research, Vol. 11, No. 5 (2010)
【非特許文献2】Pearl, J.: 統計的因果推論 (2009)
【非特許文献3】Shimizu, S., Hoyer, P. O., Hyvarinen, A., Kerminen, A., and Jordan, M.: A linear non-Gaussian acyclic model for causal discovery., Journal of Machine Learning Research, Vol. 7, No. 10 (2006)
【非特許文献4】Shimizu, S., Inazumi, T., Sogawa, Y., Hyvarinen, A., Kawahara, Y., Washio, T., Hoyer, P. O., and Bollen, K.: DirectLiNGAM: A direct method for learning a linear non-Gaussian structural equation model, The Journal of Machine Learning Research, Vol. 12, pp. 1225-1248 (2011)
【非特許文献5】Hoyer, P., Janzing, D., Mooij, J. M., Peters, J., and Scholkopf, B.: Nonlinear causal discovery with additive noise models, Advances in neural information processing systems, Vol. 21, pp. 689-696 (2008)
【非特許文献6】Peters, Jonas and Mooij, Joris M and Janzing, Dominik and Scholkopf, Bernhard: Causal discovery with continuous additive noise models, Journal of Machine Learning Research, Vol. 15, pp. 2009-2053 (2014)
【非特許文献7】Zheng, X., Aragam, B., Ravikumar, P. K., and Xing, E. P.: Dags with no tears: Continuous optimization for structure learning, Advances in Neural Information Processing Systems, Vol. 31, (2018)
【非特許文献8】山本茂:Just-In-Time 予測制御: 蓄積データに基 づく予測制御, 計測と制御, Vol. 52, No. 10, pp. 878-884 (2013)
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、従来の技術では、複雑なデータの因果関係を容易に分析することができない場合があるという問題がある。
【0015】
これは、前述の通り、時系列等の実応用で現れるデータにおいて、従来の因果探索の手法で仮定されていた理想的な条件が崩れている場合が多いためである。
【0016】
例えば、実際にはプラント等で発生する物理現象の多くは非線形であり、データに線形を仮定する従来手法では限定的な近似としてしか因果関係を捉えることができない。
【0017】
一方で、非線形因果探索の手法も知られているが、これらの非線形因果探索手法のデメリットとして、必ずしも非線形関数で表された因果関係の解釈は容易でないこと、計算コストの問題、時系列拡張において非定常データへの有効性が保証されないこと等がある。
【課題を解決するための手段】
【0018】
上述した課題を解決し、目的を達成するために、分析装置は、それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する抽出部と、前記近傍データの集合に因果探索の手法を適用し、前記特徴量間の因果を探索する探索部と、を有することを特徴とする。
【発明の効果】
【0019】
本発明によれば、複雑なデータの因果関係を容易に分析することができる。
【図面の簡単な説明】
【0020】
図1図1は、分析装置の概要を説明する図である。
図2図2は、経時による予測モデルの精度低下を説明する図である。
図3図3は、JIT-LiNGAMによる因果探索の方法を説明する図である。
図4図4は、分析装置の構成例を示す図である。
図5図5は、履歴DBの一例を示す図である。
図6図6は、予測対象と訓練用データの関係を説明する図である。
図7図7は、特徴量間の因果関係の一例を示す図である。
図8図8は、分布シフトを説明する図である。
図9図9は、JIT-LiNGAMのアルゴリズムの一例を示す図である。
図10図10は、分析結果を表示する画面の一例を示す図である。
図11図11は、訓練処理の流れを示すフローチャートである。
図12図12は、予測処理の流れを示すフローチャートである。
図13図13は、因果探索処理の流れを示すフローチャートである。
図14図14は、分析プログラムを実行するコンピュータの構成例を示す図である。
【発明を実施するための形態】
【0021】
以下に、本願に係る分析装置、分析方法及び分析プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0022】
[第1の実施形態]
[第1の実施形態の構成]
図1に示すように、分析装置10は、プラントにおける製品の生産工程の管理及び制御を行うためのシステムに含まれる。プラントには、化学製品を生産するための化学プラントが含まれる。
【0023】
図1に示すように、分析装置10は、プラント20aからセンサデータ等を受け取る。そして、分析装置10は、受け取ったデータを基に、操作推奨値を予測するための予測モデルの訓練、訓練済みの予測モデルを使った操作推奨値の予測、及び予測モデルに関する特徴量間の因果の探索(因果分析)を行う。
【0024】
分析装置10は、プラント20aにおいて実際にオペレータが行った操作を予測モデルに学習させることで、模倣学習を行う。
【0025】
例えば、予測モデルは、特定の工程において、過去にオペレータが投入した原材料の投入量を学習する。そして、予測モデルは、操作推奨値として原材料の投入量を出力する。オペレータは、予測モデルの出力に従って原材料の投入量を設定することで、過去のオペレータの操作を模倣することができる。
【0026】
このような模倣学習を行う予測モデルにより、プラントの運転支援だけでなく、オペレータの技術伝承、操作の最適化、ひいては操作の完全自動化が実現可能になる。
【0027】
また、因果分析結果は、XAI(説明可能AI)の実現において重要である。予測モデルはAIの一種であり、ブラックボックス化されているため、通常、各特徴量がどのように扱われているかを外部から直感的な態様で把握することは困難である。
【0028】
例えば、プラントにおいては、予測モデルで使用される特徴量間の因果をユーザ(プラントのオペレータ、又は管理等の担当者等)が確認しておくことで、機器の損傷リスクの低減、及び不安感の低減を図ることができる。
【0029】
分析装置10は、操作推奨値及び因果分析結果を、ユーザが使用する端末装置21に対して出力する。ユーザ(特にオペレータ)は、操作推奨値に従ってプラント20bを操作する。また、ユーザは、端末装置21を介して因果分析の結果を確認することができる。
【0030】
分析装置10は、サーバ、パーソナルコンピュータ等の情報処理装置である。また、端末装置21は、パーソナルコンピュータ、タブレット型端末及びスマートフォン等の情報処理装置である。
【0031】
なお、プラント20bはプラント20aと同一であってもよいし、同様の構成及び機能を持つ異なるプラントであってもよい。
【0032】
ここで、因果分析の重要性について説明する。前述の通り、RCTのような実験により因果関係を推定することが望ましい場合があるが、現実の多くの場合このような実験を行うのは困難である。このため、データのみから因果関係を推定する必要がある。なお、データ間の因果関係は、DAG(Directed Acyclic Graph)、SCM(Structural Causal Model)等によって表現される。
【0033】
また、データ間の相関関係(相関係数、回帰係数)を推定する相関分析は、因果分析よりも容易に実施可能である。一方で、相関分析には、シンプソンのパラドックスが発生すること、及び疑似相関の把握が困難であること、といった問題がある。
【0034】
ここで、図2に示すように、経時によりデータの性質が変化し、予測モデルの予測精度が低下する場合がある。図2は、経時による予測モデルの精度低下を説明する図である。
【0035】
例えば、ある年の冬に、ある生産物の目標生産量が500トンであったとする。そして、その時点で分析装置10は、予測モデルにオペレータの操作を学習させたものとする。
【0036】
その半年後、季節は夏になり、生産物の目標生産量が100トンに変化していたものとする。この場合、半年前と季節を含む条件が変化しているため、学習済みの予測モデルから出力される操作推奨値は、最適な操作値からかい離している場合がある。また、図2に示した季節及び目標生産量以外にも、プラント自体の劣化等もかい離の要因として考えられる。
【0037】
このような経時による予測モデルの精度低下の対策として、JITモデル(例えば、非特許文献8を参照)がある。
【0038】
実施形態では、JITモデルの手法(以下、JIT法)を因果分析に適用する。これにより、因果関係が非定常かつ非線形な時系列データに対しても、局所的な因果関係を容易に分析することができる。
【0039】
分析装置10は、JIT法を因果探索手法であるLiNGAMに適用した手法を用いる。なお、このような手法を、ここではJIT-LiNGAMと呼ぶ。図3は、JIT-LiNGAMによる因果探索の方法を説明する図である。
【0040】
図3に示すように、分析装置10は、分析の対象となる入力データ51の近傍データ52を、JIT法を用いて抽出する。そして、分析装置10は、抽出した近傍データ52の特徴量間の因果関係を線形と仮定し、因果探索を行う(LiNGAM)。
【0041】
図4を用いて、分析装置10について詳細に説明する。図4は、分析装置の構成例を示す図である。
【0042】
分析装置10は、予測モデルの訓練処理、予測モデルを使った予測処理、及び予測モデルに関する特徴量間の因果を探索する因果探索処理を行う。
【0043】
図4に示すように、分析装置10は、通信部11、記憶部12及び制御部13を有する。
【0044】
通信部11は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部11はNIC(Network Interface Card)である。
【0045】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。
【0046】
記憶部12は、分析装置10で実行されるOS(Operating System)や各種プログラムを記憶する。記憶部12は、予測モデル情報121及び履歴DB122を記憶する。
【0047】
予測モデル情報121は、予測モデルを構築するためのパラメータ等の情報である。例えば、モデルがニューラルネットワークである場合、予測モデル情報121は、各層の重み及びバイアスである。
【0048】
履歴DB122は、プラント20aから取得したデータが時刻とともに格納されたDBである。図5は、履歴DBの一例を示す図である。また、履歴DB122は、全てのデータの一部を、時間窓により切り出したデータ集合であってもよい。
【0049】
図5に示すように、履歴DB122は、時刻、温度、圧力、CO濃度及び設定値を含む。
【0050】
温度、圧力、CO濃度は、予測モデルの説明変数に相当する。また、設定値は、予測モデルの目的変数に相当する。なお、因果探索の対象となる特徴量には、説明変数及び目的変数のいずれが含まれていてもよい。
【0051】
また、例えば、温度、圧力、CO濃度は、プラント20aの各所に設置されたセンサのセンサ値である。なお、時刻は、温度、圧力、CO濃度が取得された時刻を示すタイムスタンプである。
【0052】
設定値は、オペレータの操作によって設定される値である。設定値は、実際に設定された値を正規化した値であってもよい。設定値は機器の操作内容を特定するための値である。例えば、設定値は、原材料の投入量に対応する。
【0053】
例えば、図5には、時刻「2021/11/5 13:30:01」における温度が「40℃」であり、圧力が「501hPa」であり、CO濃度が「700ppm」であり、設定値が「0.2」であることが示されている。
【0054】
制御部13は、分析装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
【0055】
また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、抽出部131、予測部132、更新部133、探索部134及び表示制御部135を有する。
【0056】
抽出部131は、履歴DB122に含まれるデータの中から、入力データの近傍のデータ集合を抽出する。履歴DB122は、それぞれが複数の特徴量を持つデータの一例である。
【0057】
入力データは分析対象のデータとしてあらかじめ指定されたデータであり、履歴DB122の1つ以上のレコードに相当する。例えば、入力データは、現在時刻に対応するレコードであってもよいし、因果の全体象を知るために指摘される複数のレコードであってもよい。
【0058】
また、履歴DB122の各レコードは、特徴量を要素とする多次元ベクトルとみなすことができる。抽出部131は、レコード間の近さを測定する指標(例えば、ユークリッド距離、マハラノビス距離又はコサイン類似度)を基に、近傍データを抽出する。
【0059】
予測部132は、予測モデル情報121から構築した予測モデルに、説明変数を入力することにより目的変数を計算する。
【0060】
例えば、予測部132は、予測モデルに、履歴DB122の温度、圧力、及びCO2濃度を入力し、設定値を出力させる(予測処理)。
【0061】
更新部133は、予測モデルのパラメータを更新する。
【0062】
例えば、更新部133は、予測モデルによって出力された設定値と、実際にオペレータが設定した設定値との差分が最小化されるように、予測モデルのパラメータ、すなわち予測モデル情報121を更新する(訓練処理)。
【0063】
図6は、予測対象と訓練用データの関係を説明する図である。時刻t-1までのデータである訓練用データは、履歴DB122の設定値が登録済みのレコードである。例えば、更新部133は、訓練用データを使って予測モデルの更新を行う。
【0064】
時刻tのデータは予測対象のデータであり、設定値が未登録のデータである。予測部132は、予測処理において、予測対象のデータの設定値を予測する。
【0065】
探索部134は、抽出部131によって抽出された入力データの近傍データを用いて、特徴量間の因果を探索する。探索部134は、近傍データの集合に因果探索の手法を適用し、特徴量間の因果を探索する。また、例えば、探索部134は、因果探索の結果を、DAGとして出力する。
【0066】
図6に示すように、データ全体では、特徴量間の因果関係が非常に複雑になる場合がある。図7は、特徴量間の因果関係の一例を示す図である。
【0067】
以降の説明では、特徴量をx、x、x及びxのように表す。図7の例では、xとxとの間の因果関係は、x=-sin(2x)+e(ただし、eはノイズ)のように表される。このように、図7の例では特徴量間の因果関係はいずれも非線形である。
【0068】
さらに、特徴量間の因果関係は、分布シフトを起こす場合がある。図8は、分布シフトを説明する図である。
【0069】
図8の横軸及び縦軸は、それぞれ異なる特徴量に対応する。図8には、大きく2つの分布が現れている。このように、特徴量間の因果関係は、1つの分布で表現できるとは限らない。
【0070】
これに対して、探索部134は、非線形構造方程式に基づく因果関係を、近傍データを用いて線形モデルで近似する。
【0071】
まず、ノイズを加法的なものに制限したANM(Additive Noise Model)と呼ばれる非線形構造方程式モデルを考える。ANMでは、特徴量xは(1)式のように表される。Pは特徴量の数である。
【0072】
【数1】
【0073】
(1)式の特徴量をまとめたベクトルは、(2)式のように表される。
【0074】
【数2】
【0075】
ただし、ここではeは各iに関して独立な非ガウスノイズとし、平均ゼロを仮定する。入力データに相当する要求点x(q)近傍の領域B(x(q),ε)={x|d(x,x(q))<ε}において、テイラー展開より、(3)式が導かれる。J(・)はヤコビ行列である。
【0076】
【数3】
【0077】
要求点x(q)近傍の領域B(x(q),ε)による切断分布内で、(3)式の両辺の期待値を取ると、(4)式のようになる。ただし、直上にバーが付されたx及びeは、それぞれx及びeの期待値である。なお、要求点x(q)近傍の領域B(x(q),ε)は、抽出部131によって抽出される。
【0078】
【数4】
【0079】
(3)式と(4)式の両辺の引き算をすると、(5)式が得られる。
【0080】
【数5】
【0081】
(5)式は、LiNGAMにおける線形構造方程式モデルとみなすことができる。探索部134は、LiMGAMのアルゴリズムを踏襲することで(5)式を解き、行列J(x(q))を求める。
【0082】
なお、(5)式のx~(xの直上に~)及びe~(eの直上に~)は、データの中心化によるサンプル近似によって求めることができる。
【0083】
これまでの説明を踏まえ、実施形態における抽出部131及び探索部134の処理は、図9のアルゴリズムによって表される。図9は、JIT-LiNGAMのアルゴリズムの一例を示す図である。
【0084】
図9に示すように、アルゴリズムには、蓄積データD{x(t)|t=1,…,T-1}、要求点x(q)=x(T)、距離関数d(・,・)、近傍数Kが入力される。
【0085】
蓄積データDは、履歴DB122に蓄積されたデータである。要求点x(q)は、入力データとして指定されたデータであり、履歴DB122の1つのレコードに相当する。距離関数dは、ベクトル間のユークリッド距離、マハラノビス距離、又はコサイン類似度を計算するための関数である。近傍数Kは、近傍データに含まれるデータの数である。なお、距離関数dは、上記の例に限られず、データ間の距離を計算可能な関数であればよい。
【0086】
アルゴリズムは、行列J(x(T))を出力する。行列J(x(T))によれば、DAGを構築することができる。
【0087】
抽出部131は、蓄積データDから、要求点x(q)との距離d(x(t),x(q))が近い順にK個のデータの集合(近傍集合)を抽出する(手順1)。
【0088】
探索部134は、近傍集合に中心化を行い、中心化済みの集合を得る(手順2)((3)式、(4)式及び(5)式に相当する処理)。
【0089】
さらに、探索部134は、手順2で得た集合に含まれるデータでLiNGAMの学習を行う。すなわち、探索部134は、線形構造方程式の解(行列J(x(T))の要素)を求める。
【0090】
これにより、探索部134は、特徴量間の関係を表す線形の方程式を求める。例えば、探索部134は、特徴量のそれぞれを、特徴量のうちの少なくともいずれかに係数を掛けた値と、ノイズとの和によって表す。
【0091】
表示制御部135は、探索部134による探索の結果を、因果分析結果として出力する。例えば、表示制御部135は、図10に示すような画面を端末装置21に出力させる。図10は、分析結果を表示する画面の一例を示す図である。このように、表示制御部135は、探索部134による探索結果を、有向グラフによって出力する。
【0092】
図10に示すように、表示制御部135は、因果分析結果表示画面に、特徴量の一覧を表示させる。図10の例では、「x:設定値、x:温度、x:圧力、x:CO濃度」が表示される。
【0093】
また、表示制御部135は、因果分析結果表示画面に、特徴量間の因果を表すグラフ(DAG)及び各特徴量間の因果関係を表す線形の方程式を表示させる。図10の例では、xと他の特徴量との間の因果関係がx=0.8x+1.5x+e(ただし、eはノイズ)と示されている。
【0094】
さらに、表示制御部135は、因果分析結果表示画面に、因果分析の結果に応じたメッセージを表示させる。例えば、表示制御部135は、探索部134による探索結果を、自然言語の文章によって出力する。表示制御部135は出力部の一例である。
【0095】
図10の例では、「温度から圧力に対して強い正の因果がある」といったメッセージが示されている。これにより、因果分析結果を、直感的かつ簡易な態様でユーザに説明することが可能になる。
【0096】
さらに、因果分析の結果を利用して、適正な因果関係となるようにプラントの制御を行うことができる。また、因果分析の結果は、予測モデルに入力される特徴量を選択する変数選択にも利用可能である。
【0097】
[第1の実施形態の処理の流れ]
図11を用いて、分析装置10による訓練処理の流れを説明する。図11は、訓練処理の流れを示すフローチャートである。
【0098】
図11に示すように、まず、分析装置10は、履歴DB122からから入力データの近傍のデータを抽出する(ステップS101)。
【0099】
そして、分析装置10は、抽出したデータを用いてモデルの訓練を行う(ステップS102)。なお、分析装置10は、履歴DB122の全てのデータを用いてモデルの訓練を行ってもよい。
【0100】
図12を用いて、分析装置10による予測処理の流れを説明する。図12は、予測処理の流れを示すフローチャートである。
【0101】
図12に示すように、まず、分析装置10は、入力データをモデルに入力して出力データを計算する(ステップS201)。
【0102】
そして、分析装置10は、得られた出力データを基に、推奨値を提示する(ステップS202)。例えば、分析装置10は、モデルによって出力された設定値を基に、推奨設定値を提示する。
【0103】
図13を用いて、分析装置10による因果探索処理の流れを説明する。図13は、因果探索処理の流れを示すフローチャートである。
【0104】
図13に示すように、まず、分析装置10は、履歴DB122から入力データの近傍データを抽出する(ステップS301)。例えば、分析装置10は、入力データとの間のユークリッド距離が近い順にK個のデータを抽出する。
【0105】
そして、分析装置10は、抽出したデータに含まれる変数間(特徴量間)の因果を探索する(ステップS302)。例えば、分析装置10は、LiNGAMにより、変数間の因果関係を表す線形法定式を求める。
【0106】
分析装置10は、得られた因果関係を提示する(ステップS303)。例えば、分析装置10は、DAGによって因果関係を提示してもよいし、自然言語のメッセージによって因果関係を提示してもよい。
【0107】
[第1の実施形態の効果]
これまで説明してきたように、抽出部131は、それぞれが複数の特徴量を持つデータの中から、指定されたデータの近傍データの集合を抽出する。探索部134は、近傍データの集合に因果探索の手法を適用し、特徴量間の因果を探索する。
【0108】
これにより、実施形態によれば、複雑なデータの因果関係を容易に分析することができる。
【0109】
探索部134は、特徴量間の関係を表す線形の方程式を求める。例えば、探索部134は、特徴量のそれぞれを、特徴量のうちの少なくともいずれかに係数を掛けた値と、ノイズとの和によって表す。
【0110】
これにより、因果関係が非線形であったり、分布シフトを起こしていたりする場合であっても、特徴量間の局所的な因果関係を線形方程式で表すことができる。
【0111】
表示制御部135は、探索部134による探索結果を、自然言語の文章又は有向グラフによって出力する。これにより、因果関係の分析結果を、ユーザは容易に理解することができる。
【0112】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。なお、プログラムは、CPUだけでなく、GPU等の他のプロセッサによって実行されてもよい。
【0113】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0114】
[プログラム]
一実施形態として、分析装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置には、タブレット型端末、スマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0115】
また、分析装置10は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析処理に関するサービスを提供するサーバとして実装することもできる。例えば、サーバは、要求点の指定を入力とし、分析結果(例えば、隣接行列)を出力とする分析サービスを提供するサーバ装置として実装される。この場合、サーバは、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0116】
図14は、分析プログラムを実行するコンピュータの構成例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0117】
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0118】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、分析装置10の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、分析装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0119】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020は、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した実施形態の処理を実行する。
【0120】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0121】
10 分析装置
11 通信部
12 記憶部
13 制御部
20a、20b プラント
21 端末装置
51 入力データ
52 近傍データ
121 予測モデル情報
122 履歴DB
131 抽出部
132 予測部
133 更新部
134 探索部
135 表示制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14