(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
本発明の実施形態は、プリプロセッサと異常予兆診断処理部を含む異常予兆診断装置あるいは異常予兆診断システムである。その実施形態の例として、プリプロセッサと異常予兆診断処理部は、プロセッサとメモリを備えた一般的なコンピュータであって、プログラムにしたがって処理するソフトウェアの実装であってもよいし、一般的なコンピュータではなく専用のハードウェアの実装であってもよい。
【0012】
また、コンピュータに専用のハードウェアを組み込み、ソフトウェアの実装とハードウェアの実装を組み合せて実装してもよい。プリプロセッサは、異常予兆診断処理部の前処理として外部接続されてもよいし、他のデータ処理と兼用されるモジュールとして外部接続されてもよい。以下、実施形態について図面を用いて説明する。
【0013】
以下の実施形態では、センサデータとドメイン知識(情報)から変数と関係式で構成される物理モデルを構築し、物理モデルに診断用センサデータを代入し、変数値と関係式のパラメータを診断する例を説明する。
【0014】
図1は、異常予兆診断システムの例を示す図である。
図1に示すように、異常予兆診断システムは、異常予兆診断処理部2と、その前処理であるプリプロセッサ1と、多次元センサ3を備える。多次元センサ3は、多次元のセンサデータを時系列に出力するセンサであり、異常予兆診断システムの外にあってもよい。
【0015】
プリプロセッサ1は、前処理部11、潜在変数追加部12、潜在変数選択部13、グルーピング処理部14、関係式推定処理部15、物理モデル表示部16、ユーザ修正処理部17、物理単位抽出部18、および潜在変数生成部19を備える。プリプロセッサ1と異常予兆診断処理部2は、1つの異常予兆診断装置であってもよい。
【0016】
まず、多次元センサ3は、時系列のセンサデータを前処理部11に送信する。前処理部11では、後の相関係数計算などの処理のために、センサデータのノイズ除去、外れ値除去、あるいは正規化などの処理を行う。
【0017】
潜在変数追加部12は、前処理部11の出力するセンサデータと、潜在変数生成部19の出力する潜在変数を追加し、その潜在変数の値を計算する。潜在変数は、センサデータに含まれておらず、直接に観測されるデータではないが、センサデータを関連して装置の状態を反映するモデルには存在する変数である。
【0018】
本実施例での潜在変数は、センサデータと非線形関数の組み合せである。例えば、SIN(センサX+センサY)×センサZは、センサXとセンサYとセンサZのデータ、および三角関数のSIN( )と加算の+と乗算の×で表現される関数の組み合せである。
【0019】
なお、潜在変数の生成において、センサデータと非線形関数の組み合せで生成した変数は候補潜在変数であり、予め設定された基準で候補潜在変数から選択された変数や物理的意味が確認された候補潜在変数が潜在変数である。
【0020】
センサデータは物理単位抽出部18にも送信され、物理単位抽出部18が抽出した物理単位を用いて、潜在変数生成部19が潜在変数を生成する。この処理は、多次元センサ3のセンス対象(診断対象)の装置の物理特徴を反映する可能性が高い変数を生成するための処理であり、物理モデルの診断性能を改善するための処理である。
【0021】
多次元センサ3の出力するセンサデータに物理単位の情報が含まれないときは、物理単位抽出部18と潜在変数生成部19の処理がスキップされてもよい。潜在変数追加部12は、潜在変数が生成された場合、潜在変数生成部19で生成された潜在変数を追加するが、生成されなかった場合、センサデータと他の非線形関数の組み合せによる潜在変数を追加する。
【0022】
潜在変数選択部13は、複数のセンサデータと潜在変数データの中でのペア間相関係数を計算する。相関係数の計算対象は、センサデータとセンサデータのペア、センサデータと潜在変数データのペア、および潜在変数データと潜在変数データのペアであり、相関係数はペア間の相関の強さを評価するための指標となる。
【0023】
相関係数の計算式は限定されるものではないが、代表的な計算式はピアソン計算法によるものである。例えば、2つのデータの組からなるデータ列{(xi,yi)}(i=1,・・・,n)が与えられたとき、相関係数は以下のように求められる。
【0024】
R=Σ((xi−xa)×(yi−ya))/(SQRT(Σ(xi−xa)
2)・SQRT(Σ(yi−ya)
2))
ここで、Rは相関係数値、xaはi=1〜nにおけるxiの平均値、yaはi=1〜nにおけるyiの平均値、Σはi=1〜nに対する和を求めること、SQRTは平方根を求めることを表わす。相関係数は変数間の線形関係を評価するものであるが、潜在変数を追加することより、非線形の相関関係と複数センサ間の相関関係の両方が評価されてもよい。
【0025】
なお、潜在変数選択部13は、センサデータおよび他の潜在変数と相関が弱い潜在変数を除去してもよい。この除去は、次のグルーピング処理部14の前処理となり、相関が強い潜在変数を選択することにもなる。相関に基づいて、潜在変数以外にセンサデータが選択されてもよい。
【0026】
グルーピング処理部14は、計算した相関係数に階層クラスタリング法を適用し、相関の強さによって、関連するセンサデータの変数と潜在変数をグループに分割する。グループに分割した結果によって、センサデータを含むグループに属さず、センサデータのどれとも関連しない潜在変数を除去してもよい。
【0027】
ここでの階層クラスタリング法は、所定指標(例えば、相関があるかどうか)に基づいて対象(例えば、変数)を複数のグループに分割する。この例では、センサデータあるいは潜在変数は、同じグループにあるセンサデータあるいは潜在変数のいずれかと相関が強いが、異なるグループにあるセンサデータおよび潜在変数とは相関は弱い。
【0028】
このように相関の弱い潜在変数を除去するためのものであるから、同じグループにあるセンサデータと潜在変数のいずれとも相関が強いとは限らず、異常予兆診断によく使用されるクラスタリング法(例えば、K−MEANS法)のような変数のデータの空間分布によってデータを分割する方法とは異なる。
【0029】
関係式推定処理部15は、各グループに対して多変数線形回帰解析(重回帰分析)を行い、各グループの変数間の関係式を求める。潜在変数があるため、線形解析を行っても非線形の関係式が得られる。センサデータの変数と潜在変数、関係式、および相関係数をまとめて記録し物理モデルとする。
【0030】
物理モデル表示部16は、物理モデルのセンサデータ、潜在変数、および関係式を画面に表示し、ユーザの操作で潜在変数を確認、修正、あるいは除去するためのユーザインターフェイスである。
【0031】
そして、ユーザ修正処理部17では、物理モデル表示部16における修正あるいは除去にしたがって、潜在変数の追加条件を生成したり、潜在変数を除去したりするための情報を、潜在変数追加部12に送信する。
【0032】
ユーザ修正処理部17から受信した情報に応じて、潜在変数追加部12から物理モデル表示部16までが処理を再実行し、ユーザの修正を物理モデルに反映する。最後に、ユーザの修正が反映された物理モデルは、診断用センサデータが代入され、その結果が異常予兆診断処理部2に送信される。
【0033】
図2は、多次元時系列のセンサデータの例を示す図である。センサデータには、データを計測した時刻情報21、および多次元センサ3の各センサのデータである計測値22〜25が含まれる。計測値22は圧力の情報であり、計測値23は温度の情報であり、計測値24は電流の情報であり、計測値25は電圧の情報である。
【0034】
センサデータは、これら以外に物理量、センサの物理単位、あるいはセンサIDの情報を含んでもよいし、含まなくてもよい。
図2に示すように、計測値22〜25の多次元のデータが、時刻情報21にしたがった時系列のデータとなっている。
【0035】
計測値22〜25は、多次元センサ3での計測値以外に、例えばネットワーク経由で収集されたデータ、あるいは人間が入力したデータが記録されてもよい。また、この例で時刻情報21は、「YYYY/MM/DD HH:MM:SS」のフォーマットで示したが、他のフォーマットであってもよいし、他の時間を表す情報(例えば、稼働開始から経たサイクル数)であってもよい。
【0036】
計測値22〜25に示したような様々なセンサデータに対して、前処理部11はセンサデータのフォーマットなどを統一する。例えば、センサによって時刻情報21のフォーマットが異なる場合、時刻を秒の単位で統一することにより、時刻情報21の値を実数に変換してもよい。
【0037】
前処理部11は、時刻によって欠落したデータや定義範囲以外のデータがあれば、そのデータを補足または除去してもよい。例えば、統計手法(移動平均、正規分布など)を用いて、センサデータにあるノイズや外れ値を除去してもよい。このために、各センサデータを平均値が「1」、標準偏差が「0」のような正規分布に従うデータに変換してもよい。
【0038】
図3は、潜在変数の例を示す図である。
図3に示した時刻情報31とセンサデータ32〜34は、
図2に示した時刻情報21と計測値22〜24にそれぞれ対応し、センサデータ32のセンサのセンサIDは「X」であり、センサデータ33のセンサのセンサIDは「Y」であり、センサデータ34のセンサのセンサIDは「Z」である。
【0039】
潜在変数35〜38のように、潜在変数追加部12は、センサデータ32〜34に基づいて、センサデータと非線形関数の組み合せで潜在変数を追加する。ここで、「F」は非線形関数であり、同じ非線形関数Fであっても、非線形関数Fの引数をセンサデータ32〜34の組み合せとすることにより、複数の潜在変数35〜38が得られる。
【0040】
例えば、潜在変数35の「F(X,X)」の「X」はセンサIDであり、非線形関数Fの2つの引数がセンサデータ32であることを示す。このように、1つの非線形関数Fに同じ引数を複数個適用してもよい。潜在変数36〜38は、異なる引数を適用した例である。
【0041】
例えば、潜在変数39の「SIN(X)」のように他の非線形関数(三角関数のSIN、指数関数のEXPなど)を適用し、様々な潜在変数を生成してもよい。
図3にはいくつかの潜在変数の例だけを示すが、多くの潜在変数を生成することが好ましい。多くの潜在変数を生成することにより、センス対象となる装置の中に存在する非線形の関係を表すことができる可能性が高まる。
【0042】
しかし、非常に多くの潜在変数(センサデータと非線形関数の組み合せ)を計算すれば、計算に非常に長い時間がかかる場合もあり、非常に多くの潜在変数を追加すると、後の処理でも非常に大きな負担になり、後の処理の精度に影響を与える可能性もある。
【0043】
そこで、センス対象の装置の状態は、実際には、非常に多くの潜在変数の中の一部だけしか反映せず、その潜在変数は物理的原理にしたがうと考えられるため、物理単位抽出部18と潜在変数生成部19が潜在変数の追加の前に、物理的原理にしたがう潜在変数を生成し、無用な潜在変数の生成を抑止して大量な計算を回避する。
【0044】
プリプロセッサ1は、
図4に示すように、センサID41、物理量42、および物理単位43の対応表を備えている。センサID41は各センサを識別するためのIDであり、物理量42は、センサID41で特定されるセンサが計測する物理量の種類であって、例えば「電圧」、「電流」、あるいは「電力」である。
【0045】
物理単位43は、物理量の種類の値を表すための単位であって、例えば「電圧」は「V」(ボルト)であり、「電流」は「A」(アンペア)であり、「電力」は「W」(ワット)である。
【0046】
物理単位抽出部18は、多次元センサ3からセンサデータを入力すると、センサデータに含まれるセンサIDあるいは物理量を抽出して、物理単位を抽出する。
図4に示した時刻情報21、計測値25、および計測値24は、
図2に示したセンサデータである。
図4の例では、計測値46として「電力」も追加されている。
【0047】
ここで、入力されたセンサデータから物理量を抽出し、対応表の物理量42で一致するセンサID41と物理単位43を抽出する。なお、入力されたセンサデータからセンサID41が抽出できる場合、対応表のセンサID41で一致する物理量42と物理単位43を抽出してもよい。
【0048】
物理単位抽出部18が抽出した物理単位から潜在変数を生成する例について
図5を用いて説明する。プリプロセッサ1は、物理単位51と非線形関数52の対応情報を含む非線形関数リストを備えている。潜在変数生成部19は、物理単位抽出部18から物理単位を入力すると、入力された物理単位と一致する物理単位51を特定し、その非線形関数52を抽出する。
【0049】
図5において抽出された物理単位43が「A」であれば、物理単位51の「A」で一致する非線形関数52として「F(A,V)」と「F(A,A)」などが抽出される。抽出された1つの非線形関数の引数の物理単位に対応するセンサが存在するのであれば、その非線形関数と、その物理単位のセンサデータとにより、1つの潜在変数を生成する。
【0050】
すなわち、「F(A,V)」の「A」と「V」は、センサID41が「Y」と「X」のセンサとして存在するため、非線形関数の引数をセンサID41に置き換えられて、「F(Y,X)」の潜在変数が生成される。「F(A,A)」も同じように「F(Y,Y)」の潜在変数が生成される。
【0051】
そして、「F(A,H)」(「H」の物理量は、時間)については、「H」に対応するセンサが存在しないため、「F(A,H)」に対応する潜在変数は生成されない。潜在変数生成部19は、生成された潜在変数を潜在変数55とし、センサID53および物理量54と対応付ける。センサID53と物理量54は、センサID41と物理量42にそれぞれ対応する。
【0052】
図5の例では、非線形関数52の例として「F」の一種類しか示していないが、非線形関数52には複数種類に非線形関数が含まれてもよい。特に、センス対象の装置の物理的原理にしたがう引数を含む非線形関数、あるいは物理的原理にしたがう非線形関数が好ましい。
【0053】
例えば、「V」(「電圧」)が変化すると「A」(「電流」)も変化する物理的原理が存在するのであれば、「V」と「A」を含む非線形関数が好ましく、変化の関係に物理的原理が存在するのであれば、その関係が反映する非線形関数が好ましい。
【0054】
また、この例では、センサID、物理量、あるいは物理単位が、センサデータから抽出されると説明したが、ユーザの操作により抽出されてもよい。ユーザ入力は、非線形関数52以外に、潜在変数55が直接入力されてもよい。物理単位抽出部18は物理単位の代わりに物理量を抽出し、潜在変数生成部19は物理単位51と非線形関数52の引数の代わりに物理量を使用してもよい。
【0055】
図6は、潜在変数生成部19の処理フローの例を示す図である。先ず、潜在変数生成部19は、
図5に示したセンサID41と物理量42と物理単位43の対応表を取得し、物理単位51と非線形関数52の非線形関数リストを取得する(ステップ61)。なお、センサデータにセンサIDと物理量と物理単位の情報が含まれるのであれば、対応表を、物理単位抽出部18が作成してもよい。
【0056】
潜在変数生成部19は、対応表のセンサID41に含まれるセンサIDの中で未選択のセンサIDを1つ選択し、選択されたセンサIDに対応する物理単位43を抽出する(ステップ62)。抽出された物理単位に一致する物理単位51の非線形関数52の中から、未抽出の非線形関数を抽出する(ステップ63)。
【0057】
潜在変数生成部19は、抽出された非線形関数の引数に含まれる物理単位と一致する物理単位43に対応するセンサID41を探索する(ステップ64)。この探索において見つからなかった場合、見つからなかったセンサは欠損センサであるから、次のステップ65をスキップしてステップ66へ進む。なお、抽出された非線形関数の引数が物理量であれば、計測値22〜25を探索してもよい。
【0058】
ステップ64の探索において見つかった場合、潜在変数生成部19は、見つかったセンサIDを非線形関数の引数にして、潜在変数55に記録する(ステップ65)。ここで、ステップ63で抽出された非線形関数に複数の引数が存在する場合は、それらの引数に対するセンサIDを見つけて記録する。
【0059】
なお、センサID53と物理量54は、ステップ62において選択されたセンサIDのセンサID41と物理量42がコピーされてもよいし、ステップ61において取得されたセンサID41と物理量42がコピーされてもよい。また、センサID53と物理量54に加えて物理単位が含まれてもよい。
【0060】
潜在変数生成部19は、ステップ62において抽出された物理単位に一致する物理単位51の非線形関数52に含まれる非線形関数の抽出が完了したかを判定し(ステップ66)、完了せず、未抽出の非線形関数が残っていると判定すると、ステップ63へ戻り、完了したと判定すると、ステップ67へ進む。
【0061】
潜在変数生成部19は、ステップ61において取得された対応表のセンサID41に含まれるセンサIDの選択が完了したかを判定し(ステップ67)、完了せず、未選択のセンサIDが残っていると判定すると、ステップ62へ戻り、完了したと判定すると、潜在変数生成を終了する。
【0062】
ステップ65で潜在変数55に記録された潜在変数は、潜在変数生成部19から潜在変数追加部12へ出力される。潜在変数追加部12は、潜在変数生成部19から潜在変数を受信すれば、その潜在変数をセンサデータに追加する。
【0063】
センサデータは既に説明したように時系列のデータである。このため時系列のセンサデータを用いて、潜在変数の値を時系列に計算する。計算により得られた潜在変数の値は、センサデータと同じフォーマットに統一される。すなわち、センサデータと潜在変数が時系列で併合されて、新たなデータセットが作成される。
【0064】
以下では、この新たなデータセットを非線形データセットと呼ぶ。また、非線形データセットの中のセンサデータと潜在変数との両方を、非線形データセットの変数と呼ぶ。潜在変数追加部12は、非線形データセットを潜在変数選択部13に送信する。
【0065】
潜在変数追加部12は、潜在変数生成部19から受信した潜在変数以外に、センサデータと非線形関数の組み合せで潜在変数を生成してもよい。例えば、センサIDがWとYのセンサと、非線形関数Gとの組み合せで、センサの物理量や物理単位と関係なく、G(W,W)、G(W,Y)、G(Y,Y)のような(候補)潜在変数を生成してもよい。
【0066】
センサの数と非線形関数の次数によって、生成した潜在変数の数と複雑度が変わる。例えば、センサIDがX、Y、Z、V、およびWのセンサと5次多項式を用いて生成した潜在変数は、G(X、Y、Z、V、W)のような複雑な変数を含まるし、組み合せの数が多くなる。センサの数と非線形関数の次数は、物理モデルの複雑度と精度に影響するので、後でさらに説明する。なお、非線形関数Gは、非線形関数リストとは別の関数表に、予め登録されていてもよい。
【0067】
潜在変数選択部13は、非線形データセットの変数間の相関を計算し、この計算の結果は相関係数マトリックスとなる。本実施例では、既に説明したピアソン相関係数を計算するが、他の相関係数計算や他の変数間関連性を評価するパラメータが使用されてもよい。
【0068】
相関係数の計算は、2つのセンサの多くのデータを使用して1つ相関係数を計算することも可能であるが、センサのデータは時系列であるため、時刻の流れに沿って、予め設定された時刻から、予め設定された期間あるいは個数のデータを使用し、その時刻における相関係数を計算する。この時刻は複数であって、複数の相関係数が計算されてもよい。
【0069】
その後の処理では、特定の時刻の相関係数が使用されてもよいし、安定性のために隣接の複数時刻の相関係数の平均値が使用されてもよい。また、他の潜在変数およびセンサデータのいずれとも相関の低い潜在変数は、除去されてもよい。潜在変数選択部13は、計算された相関係数のデータをグルーピング処理部14に送信する。
【0070】
図7は、グルーピング処理の例を示す図である。この例で、「A」、「B」、「C」、および「D」は4つの非線形データセットの変数である。これら変数の時系列データを用いて相関係数を計算した結果を相関係数マトリックス71に示す。
【0071】
この相関係数マトリックス71に基づいて、変数がグルーピング72され、複数のグループ73〜74に分割される。なお、既に説明したように、「E」のような他の「A」〜「D」との相関係数が低い潜在変数79は、グルーピング処理の負荷軽減のため、潜在変数選択部13により除去されているとする。この除去は、予め設定された閾値(例えば0.05)に基づいてもよい。
【0072】
この例では、階層クラスタリング法により変数が複数のグループ73〜74に分割される。階層クラスタリング法は、最も近い(関連する)組み合せから順番にグループにしていく手法であって、途中の過程を階層のように表示することができ、最終的に樹形図を生成できる。以下、樹形図の生成例を説明する。
【0073】
グルーピング処理部14は、まず、相関係数マトリックス71の各相関係数に対して、
相違度=1−|相関係数|
を計算し、相関係数を相違度に変換する。
【0074】
次に、グルーピング処理部14は、「A」〜「D」の変数ペアの中で、相違度が一番低い値となる(一番近似している)変数ペアを抽出し、変数ペアの「A」と「C」との間にリンク75を設定する。この例では、「A」と「C」との相違度は「0.2」である。
【0075】
そして、リンク75、「B」、および「D」の変数ペアの中で、相違度が一番低い値となる変数ペアを抽出し、変数ペアのリンク75と「B」との間にリンク76を設定する。ここで、リンク75と「B」の相違度は、「B」とリンク75を構成する「A」および「C」のそれぞれとの相違度の最小値で計算される。「B」と「A」の相違度が0.4であり、「B」と「C」の相違度が0.3であるため、リンク75と「B」の相違度は「0.3」となる。
【0076】
さらに、リンク76と「D」の変数ペアを抽出し、リンク76と「D」との間にリンク77を設定する。この例ではリンク76と「D」との相違度は「0.7」である。以上で、相関係数マトリックス71に含まれる非線形データセットの変数がリンクされ、リンク75〜77を含む樹形図が得られる。
【0077】
変数を分割するために、相関があるかどうかを決める閾値78が設定される。例えば、閾値78が「0.6」に設定されれば、グルーピング処理部14は、相違度が「0.6」以上のリンク77は関連がないと判定し、リンク77が設定された変数の組み合せ(リンク)や変数を別のグループに分割する。
【0078】
これにより、「A」、「B」、および「C」はグループ73にグルーピングされ、「D」はグループ74にグルーピングされて、2つのグループ73〜74に分割される。
【0079】
以上の説明では、階層クラスタリング法の一手法を使用したが、他の手法を使用してもよい。例えば、変数の組み合せとの相違度計算には、最短距離法を使用したが、ウォード法や群平均法などを使用してもよい。また、階層クラスタリング法以外に、変数間の関連による順番で、変数を分割する他の方法を使用してもよい。
【0080】
また、相違度を計算したが、相違度の代わりに相関係数を使用してもよい。相関係数を使用する場合は、相関係数の絶対値を計算したり、相関係数の二乗を計算したりして、相関係数の高いペアにリンクが設定されてもよい。
【0081】
図8は、グルーピング処理部14の処理フローの例を示す図である。グルーピング処理部14は、非線形データセットの変数間の相関係数を取得し、取得した相関係数を変数間の相違度に変換する(ステップ81)。そして、変数と変数、および変数とリンクの中で、変換された相違度の一番低いペアを1つ抽出する(ステップ82)。
【0082】
グルーピング処理部14は、抽出されたペアにリンクを設定して(ステップ83)、非線形データセットの変数へのリンク設定が完了したかを判定し(ステップ84)、リンクが設定されていない変数が残っており、完了していないと判定すると、ステップ82へ戻り、完了したと判定するとステップ85へ進む。
【0083】
グルーピング処理部14は、予め設定された閾値と、ステップ83で設定されたリンクの相違度のそれぞれとを比較して、閾値より低い相違度のリンクを抽出し、抽出されたリンクだけで組み合される変数をグループとする(ステップ85)。これにより、非線形データセットの変数は、複数のグループに分割され、そのグルーピングの結果は、関係式推定処理部15へ送信される。
【0084】
図9は、変数関係式を推定する例を示す図である。関係式推定処理部15は、重回帰分析を用いて線形関係式の係数を求める。ここでの関係式が線形であるが、前に説明したように、変数に非線形の変数が追加されているため、実際には非線形の関係を表現することができる。
【0085】
まず、関係式推定処理部15は、グルーピングの結果を用いて、重回帰分析の対象となる変数(目的変数)と説明変数の表を作成する。すなわち、グルーピングの結果に含まれる変数「A」〜「D」を1つずつ選択して、選択された変数を変数91とし、グループ73〜74の中で、選択された変数と同じグループに含まれる他の変数を説明変数92とする。
【0086】
例えば、グループ73に含まれる「A」が変数91とされると、「A」と同じグループに含まれる「B」と「C」が説明変数92となり、
図9に示すとおりの表となる。
【0087】
重回帰分析は、複数の説明変数を用いて、線形関係式により1つの変数を表現するための分析である。例えば、説明変数92に含まれる「B」と「C」を用いて変数91の「A」を表現するときに、
A=βB+γC+ε
という線形関係式で表現するために係数βとγとεを求める分析である。
【0088】
関係式推定処理部15は、変数91の「B」と「C」についても、重回帰分析により係数を求め、ここではそれぞれを係数β
B、γ
B、εと係数β
C、γ
C、εとする。これにより変数91の「A」〜「C」が線形関係式で表現される。変数91の「D」については、グループ74に他の変数が無いため、線形関係式も無い。
【0089】
そして、関係式推定処理部15は、物理モデル93を作成する。物理モデル93は、変数、線形関係式、および係数から構成される。例えば、変数としては、「A」が「センサ」、「B」が「センサ」、「C」が「潜在変数」、「D」が「センサ」というように、それぞれの変数に対応するセンサIDと変数の種類が記録される。
【0090】
線形関係式としては、「A」、「B」、「C」を表現する線形関係式が、係数の値も含めて記録される。係数としては、相関係数の計算結果が記録される。関係式推定処理部15は、物理モデル93を物理モデル表示部16と異常予兆診断処理部2へ送信する。
【0091】
図10は、関係式推定処理部15の処理フローの例を示す図である。関係式推定処理部15は、グルーピング処理部14のグルーピングの結果から変数と説明変数の表を作成する(ステップ101)。そして、作成した表から未選択の変数を1つ選択し(ステップ102)、選択した変数に対して、変数と説明変数の線形関係式の係数を重回帰分析法で求める(ステップ103)。
【0092】
関係式推定処理部15は、作成した表からの変数の選択が完了したかを判定し(ステップ104)、表に未選択の変数が残っており、選択が完了していないと判定すると、ステップ102へ戻り、選択が完了したと判定すると、線形関係式の作成は終了したため、ステップ105へ進み、作成した線形関係式、変数、係数の情報をまとめて物理モデルを生成し(ステップ105)、関係式推定処理を終了する。
【0093】
既に説明したように、物理モデルの複雑度と精度は、2つのパラメータであるセンサの数と非線形関数の次数が影響する。多いセンサと高い次数の非線形関数とを組み合せることで、複雑な潜在変数を生成することができ、センス対象の装置の複雑な物理現象を表現することができるようになる。
【0094】
この場合、物理モデルの精度は上がるが、計算時間が指数関数的に増加する。この重要なパラメータを設定するために、本実施例では、まず簡単な設定で物理モデルが生成され、物理モデルの精度が評価され、そして精度の要求が満たされるようにパラメータが調整される。
【0095】
例えば、最初は潜在関数を含むセンサ数が2に設定され、非線形関数(多項式)の次数が2に設定される。その設定を用いて、以上で説明したように物理モデルを生成する。そして、生成した物理モデルにセンサデータを代入し、予測した変数の時系列と実測の時系列の差を用いて物理モデルの精度が評価される。評価された精度に応じて、センサ数と非線形関数の次数が増加される。
【0096】
例えば、センサ数が3に設定され、非線形関数の次数が3に設定される。この設定された値は、ユーザ修正処理部17から潜在変数追加部12に送信され、物理モデルの再生成を行う。この処理により、簡単な物理モデルから複雑で精度の高い物理モデルを得ることが可能になる。
【0097】
図11は、物理モデルを表示する画面の例を示す図である。画面1101に「物理モデル」の領域1110、「物理モデル修正」の領域1120、「計算パラメータ設定」の領域1130、および「時間設定」の領域1140の4つがあり、以下で順番に説明する。
【0098】
「物理モデル」の領域1110は、変数、関係式、相関係数を含む物理モデルをグラフで表示する。
図11の例では、変数が「A」、「B」、「C」、「D」で表示され、それらの表示の隣の「詳細」ボタン1111がクリックされたことを検出すると、各変数に関する詳細情報が表示される。例えば、「A」の「詳細」ボタンがクリックされたことを検出すると、変数「A」の構成データ、線形関係式の係数などが表示される。
【0099】
変数の周囲の円1112でグループが表示される。変数と変数は直線1113でリンクされて、直線1113の幅は変数間の相関の強さを表し、直線1113の濃度または色は相関係数の安定性を表す。相関係数の安定性は、時刻の経過に対する安定性であり、相関係数の予め設定された変動閾値内の状態が、予め設定された時間より長い時間を継続していると判定されると、直線が濃く表示されてもよい。
【0100】
この「物理モデル」の表示は、物理モデルの構成を簡単に理解できるようにするための表示である。これに対して、以下で説明するように、ユーザの操作を受け付けて物理モデルを修正することも可能にする。
【0101】
「物理モデル修正」の領域1120は、変数、相関係数、関係式に関する修正を受け付ける。「変数追加」ボタン1121は、潜在変数あるいはセンサデータの変数を追加するためのボタンである。「変数追加」ボタン1121がクリックされたことを検出すると、非線形関数あるいはセンサIDの入力を受け付けてもよい。
【0102】
これにより、ユーザの経験によって、非線形関数(EXP(A×D))のような潜在変数を追加することができる。また、センサデータがあれば、新しいセンサを追加することもできる。
【0103】
「変数削除」ボタン1122は、不要なセンサデータあるいは潜在変数の変数を削除するためのボタンである。「変数削除」ボタン1122がクリックされたことを検出すると、変数の「A」などの入力を受け付けてもよい。これにより、例えば、稼働時間のような時間をカウントするだけの変数があれば、その変数を除去することができる。
【0104】
「非線形関数追加」ボタン1123は、個別の変数(潜在変数)を追加することではなく、複数種類のセンサデータに適用できる非線形関数を追加するためのボタンである。「非線形関数追加」ボタン1123がクリックされたことを検出すると、非線形関数の入力を受け付けてもよい。これにより、センス対象の装置によっては、特別な関数を使用する場合に対応することができる。
【0105】
「相関係数修正」ボタン1124は、相関係数を修正するためのボタンである。「相関係数修正」ボタン1124がクリックされたことを検出すると、修正する対象と相関係数の値の入力を受け付けてもよい。相関係数が修正されると、「物理モデル」に表示された直線1113の幅に反映されてもよい。
【0106】
「関係式修正」ボタン1125は、線形関係式の係数を修正するためのボタンである。「関係式修正」ボタン1125がクリックされたことを検出すると、修正する対象と係数の値の入力を受け付けてもよい。「関係式追加」ボタン1126は、線形関係式を追加するためのボタンである。「関係式追加」ボタンがクリックされたことを検出すると、説明変数と係数を含む式の入力を受け付けてもよい。
【0107】
「計算パラメータ設定」の領域1130は、相関係数の閾値と非線形関数の次数に関する設定を受け付ける。「相関評価閾値」のスライダ1131は、
図7を用いて説明したグルーピングのための相関係数の閾値を設定するためのスライダである。この「相関評価閾値」のスライダ1131により0.4に設定されたことを検出すると、相関係数が0.4未満の変数ペアは相関がないと判定される。
【0108】
「関数の複雑性」のスライダ1132は、非線形関数の中の変数の個数を設定するためのスライダである。この「関数の複雑性」のスライダ1132により設定される変数の個数が多くなれば、複雑な潜在変数となるが、非線形関数の計算時間が長くなる。
【0109】
例えば、複雑性が2に設定されると、F(X,Y)あるいはF(Y,Z)のように2個のセンサデータを含む潜在変数が作成されるが、複雑性が5に設定されれば、F(V,W,X,Y,Z)のような5個のセンサデータを含む潜在変数が作成される。センス対象の装置の構成や計算時間などに応じて、複雑性が調整されてもよい。
【0110】
「物理モデル修正」の領域1120と「計算パラメータ設定」の領域1130で受け付けられた修正は、物理モデルの作成に影響を与えるため、修正に基づいて再計算して物理モデルを再作成する必要がある。このため、受け付けられた修正は、ユーザ修正処理部17により、条件式に変換される。
【0111】
ユーザ修正処理部17は、修正からの条件式への変換として、例えば、(EXP(A))を変数に追加する場合、(+EXP(A))のようなスクリプト1行に変換して記録する。変数のBを削除する場合、(−B)のようなスクリプト1行に変換して記録する。また、変数のDと変数のEの相関係数を修正する場合、(CC(D,E)=0.8)のようなスクリプト1行に変換して記録する。
【0112】
以上のように、受け付けた修正を条件式に変換して記録し、その記録の結果(以下では修正リストと呼ぶ)を、ユーザ修正処理部17は潜在変数追加部12に送信する。潜在変数追加部12から物理モデル表示部16までの処理は、既に説明した処理の繰り返しであるが、再計算のために各処理の実行の前あるいは後に修正リストを確認する。
【0113】
例えば、潜在変数追加部12が潜在変数追加後に、修正リストを参照し、変数を追加するスクリプトがある場合は、スクリプトにしたがって変数が追加される。また、潜在変数選択部13が相関係数を計算した後、修正リストを参照し、相関係数を設定するスクリプトがある場合は、スクリプトにしたがって相関係数を上書きする。このようにして、受け付けられた修正が反映される。
【0114】
「時間設定」の領域1140は、物理モデルを作成するために解析の対象となるセンサデータの時間に関する設定を受け付ける。「解析期間」のスライダ1141は、解析の対象となる期間の開始の時刻と終了の時刻を設定するためのスライダである。
【0115】
例えば、ユーザが午前中のセンサデータで物理モデルを作成するため、「解析期間」のスライダ1141により「8:10:00」と「11:50:00」に設定されたことを検出すると、
図2、3に示したセンサデータの時刻情報21、31の中で、「8:10:00」から「11:50:00」までが、物理モデルを作成するための解析対象となる。
【0116】
「解析周期」のスライダ1142は、「解析期間」のスライダ1141により設定された期間の中での解析周期を設定するためのスライダである。例えばピアソン計算法により相関係数を算出する場合、既に説明したように{(xi,yi)}(i=1,・・・,n)が計算の対象となり、i=1からi=nまでの時間が「解析期間」のスライダ1141に設定される期間と一致する必要はない。
【0117】
そこで、「解析周期」のスライダ1142により、例えば10分と設定されたことを検出すると、「解析期間」のスライダ1141で設定された期間の開始の時刻から10分周期の繰り返しで、物理モデルが作成される。
【0118】
例えば、「8:10:00」から8:20:00までに含まれるセンサデータをi=1からi=nまでのセンサデータとして相関係数が算出されて物理モデルが作成され、8:20:00から8:30:00までに含まれるセンサデータを新たなi=1からi=nまでのセンサデータとして相関係数が算出されて次の物理モデルが作成される。
【0119】
「解析期間」のスライダ1141は、開始の時刻と終了の時刻に加えて、表示すべき物理モデルの時刻のスライダを含んでもよい。開始の時刻から終了の時刻までの期間の中で、表示すべき物理モデルの時刻が設定されたことを検出すると、設定された時刻を含む解析周期のセンサデータを用いて作成された物理モデルが、「物理モデル」の領域1110に表示されてもよい。
【0120】
なお、「時間設定」の領域1140は設けられず、「解析期間」、「解析周期」、および表示すべき物理モデルの時刻は、予め設定された固定の時刻であってもよい。また、「時間設定」の領域1140が設けられて、「解析周期」が設定されると、物理モデルの作成に影響を与える。
【0121】
このため、「物理モデル修正」の領域1120と「計算パラメータ設定」の領域1130で受け付けられた修正と同じように、設定された「解析周期」に基づいて再計算して物理モデルを再作成するように、ユーザ修正処理部17が、「解析周期」を条件式へ変換し、潜在変数追加部12に送信する。
【0122】
図12は、物理モデルを用いて異常診断する例を示す図である。センス対象の装置の状態が異常かどうかを判定するために、関係式推定処理部15により作成された物理モデル93を異常予兆診断処理部2に送信する。物理モデル93の送信は、時刻情報1201の各時刻の物理モデルの送信であってもよく、各時刻の物理モデルは、潜在変数1202、線形関係式の係数1203、および相関係数1204などであってもよい。
【0123】
図12の例において、潜在変数1202を「C」としているが、これに限定されるものではなく、他の変数であってもよく、線形関係式の係数1203を「β」としているが、これに限定されるものではなく、他の係数であってもよい。また、相関係数1204は複数であってもよい。
【0124】
一般的に、異常予兆診断は過去の正常なセンサデータを用いて、正常なセンサデータのクラスタを学習し、現在のセンサデータと正常なセンサデータのクラスタを比較することで、異常があるかどうかを判定する。
【0125】
例えば、
図13に示すように、それぞれがセンサデータである変数の「A」と「B」があり、「A」と「B」の正常なセンサデータを2次元のグラフとすると、正常分布は円形のクラスタ1301で表現することができる。また、クラスタ1301の円形の中心、あるいはクラスタ1301に含まれるセンサデータの重心が、点1302となる。
【0126】
診断の対象がセンサデータ1303であると、点1302からセンサデータ1303までの距離1304が計算され、その計算された距離1304が異常度を表す。異常度は、閾値1307を超えると故障発生値1308へ至る可能性が高いことを示す尺度であるので、距離1304は異常度1305へ変換され、時刻の経過にしたがって変化し、閾値1307を超えた点1306において、異常と診断(検出)される。
【0127】
「A」と「B」との例は、2次元のセンサデータであり、クラスタ1301も1つであるが、さらに多くのセンサデータと潜在変数を用いて、3次元以上で複数のクラスタに基づいて診断が行われてもよい。
【0128】
センサデータと潜在変数だけでなく、相関係数が用いられてもよい。この場合は、変数の「A」と「B」に加えて、相関係数の「R」が用いられて、3次元のグラフとなってもよく、クラスタ1301は球形となり、3次元での距離1304が異常度を表すことになる。
【0129】
異常予兆診断の精度を向上するために、センサデータ、潜在変数、および相関係数でなく、物理モデルが用いられてもよい。各時刻のセンサデータは、その時刻のセンス対象の装置の状態を反映するが、各時刻の物理モデルはさらに精確に装置の状態を反映する可能性がある。
【0130】
例えば、
図12に示したように、センサデータなどの変数と相関係数に加えて、線形関係式の係数も用いられる。予め設定された時間(例えば10分間)毎に、線形関係式の係数が計算されて物理モデルが生成され、複数の係数のそれぞれも正常な係数との異常度が計算されて、異常であるかどうかが判定されてもよい。
【0131】
また、正常な物理モデルの線形関係式の説明変数に、各時刻の診断対象のセンサデータと潜在変数が代入されて、(目的)変数が算出され、算出された(目的)変数に対応するセンサデータあるいは潜在変数であって、その時刻の診断対象のセンサデータあるいは潜在変数と、算出された(目的)変数とが比較されて、異常であるかどうかが判定されてもよい。
【0132】
以上で説明したように、センサデータから潜在変数が生成されるため、物理モデルを構成する線形関係式は、センサデータの変数のみならず、多くの変数で表されることが可能になる。このような線形関係式を生成できるため、物理モデルの精度を向上することも可能になる。また、潜在変数を非線形関数で生成するため、線形関数式でも非線形の関係を表現できる。
【0133】
潜在変数が生成されることにより、多くの変数が生成されると、線形関係式の生成の処理負荷が増大するが、変数間の相関関係に基づいて変数が選択されるため、処理負荷の増大を抑えることが可能になる。また、相関関係に基づいて変数がグループに分割され、グループ毎に線形関係式が生成されるため、線形関係式の生成において影響の少ない変数の分析を除外できる。
【0134】
変数の生成が十分でない場合であっても、ユーザの操作により、変数を修正することも可能であり、物理モデルの精度をさらに向上することも可能になる。正常な物理モデルが診断に使用されることにより、複数の変数の影響を統合して判定することが可能になる。
時系列のセンサデータが入力されるプリブロセッサにおいて、センサデータと物理単位とが関連付けられた対応表と、物理単位と非線形関数とが関連付けられたリストと、センサデータを取得し、前記対応表に基づいて、取得されたセンサデータから物理単位を特定する物理単位抽出部と、前記リストに基づいて、前記物理単位抽出部で特定された物理単位から非線形関数を特定し、特定された非線形関数へセンサデータを適用するための潜在変数を生成する潜在変数生成部と、時系列のセンサデータを取得して変数とし、前記潜在変数生成部で生成された潜在変数へ、取得された時系列のセンサデータを適用して時系列のデータを生成して変数とし、取得された時系列のセンサデータへ生成された時系列のデータを追加して、複数の変数のデータセットを生成する潜在変数追加部と、前記潜在変数追加部で生成されたデータセットの変数間の関係を分析し、線形関係式を生成する関係式推定処理部と、を備える。