JP7007243B2 - 異常検知システム - Google Patents

異常検知システム Download PDF

Info

Publication number
JP7007243B2
JP7007243B2 JP2018127570A JP2018127570A JP7007243B2 JP 7007243 B2 JP7007243 B2 JP 7007243B2 JP 2018127570 A JP2018127570 A JP 2018127570A JP 2018127570 A JP2018127570 A JP 2018127570A JP 7007243 B2 JP7007243 B2 JP 7007243B2
Authority
JP
Japan
Prior art keywords
detection model
abnormality
abnormality detection
operation data
anomaly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018127570A
Other languages
English (en)
Other versions
JP2020008997A (ja
JP2020008997A5 (ja
Inventor
慶行 但馬
和也 門田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018127570A priority Critical patent/JP7007243B2/ja
Priority to US17/256,070 priority patent/US11892826B2/en
Priority to PCT/JP2019/021407 priority patent/WO2020008760A1/ja
Publication of JP2020008997A publication Critical patent/JP2020008997A/ja
Publication of JP2020008997A5 publication Critical patent/JP2020008997A5/ja
Application granted granted Critical
Publication of JP7007243B2 publication Critical patent/JP7007243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/245Classification techniques relating to the decision surface
    • G06F18/2451Classification techniques relating to the decision surface linear, e.g. hyperplane
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、異常検知システムに係り、特に、計算機やコントローラ、機器・設備等からなるシステムの安定運用のために、故障や障害等の異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価するのに好適な異常検知システムに関する。
工場などの産業システム、化学プラント、鉄道や電力などの社会インフラシステムなど、多くのシステムは、複数の計算機、コントローラ、機器・設備から構成されている。このようなシステムでは、システムの機能が停止すると経済的にも社会的にも甚大な被害を及ぼす可能性がある。そのため、システムの機能が停止しないように、故障や障害を迅速に発見・対応したり、未然に予知し保全することが重要である。昨今では、計算機やコントローラ、機器・設備等から多くの稼動データが得られるようになってきたため、機器・設備、あるいは、システムの正常時の挙動を統計的手法に基づいて、異常やその予兆を検知する方法がとられるようになってきた。
このようなプラントなどの設備における異常予兆検知については、例えば、特許文献1がある。特許文献1に記載の設備状態監視システムでは、多様な正常状態を持つ場合においても、正常を異常と判定する誤報の発生を防止し、異常判定の根拠の説明や、異常予兆と事象の関連付けを可能とするため、設備から出力されるイベント信号をもとに運転状態別にモード分割し、モード毎に正常モデルを作成し、モード毎に学習データの十分性をチェックする。そして、その結果に応じて設定したしきい値を用いて異常識別を行うようにしている。
一方、システムを計測している場合には、起動、終了、キャリブレーションなどわずかしかデータを収集できない稼働状態と、定常運転など多くのデータを収集できる稼働状態とがある。このような複数の稼働状態が混合された稼働データでは、低密度またはマイノリティな正常時の稼働データは、高密度またはマジョリティな正常時の稼働データと比較して、相対的に異常スコアが高くなる傾向があり、誤検知の原因となっている。ここで、低密度、高密度は、単位時間あたりに、どの程度その稼働データの値をとりうるかを示す量であり、マイノリティは、その稼働データの値を取りうる度数が少ないこと、マジョリティは、その稼働データの値を取りうる度数が多いことをいう。
特開2015-172945号公報
特許文献1に記載された技術は、イベント信号をもとに(システムの稼働状態を)モード分割するということを基本思想にしている。
しかしながら、特許文献1に記載の設備状態監視方法では、そもそもイベント信号が得られない場合の異常検知の手法については、考慮されておらず、イベント信号が得られない場合には、この異常検知の手法は適用できすることができない。また、イベント信号を使って、正しくモードを分割できない場合、誤検知が解消されない可能性がある。
本発明の目的は、設備の稼働状態を監視するにあたり、複数の稼働状態で出力された正常時データに対して、稼働状態を分割するためのデータが得られない、あるいは、正しく分割できない場合であっても、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価することのできる異常検知システムを提供することにある。
本発明は異常検知システムの構成は、好ましくは、監視対象となる設備の稼働データに基づいて、設備の異常またはその予兆を検知する異常検知システムであって、設備から稼働データを収集する機器と、稼働データから構築される異常検知モデルに基づいて、設備の異常またはその予兆を検知する情報処理装置とを有し、情報処理装置は、稼働データを収集する手段と、稼働データから異常検知モデルを学習する手段と、稼働データと異常検知モデルから、個々の稼働データに対して異常スコアを算出する手段とを有し、稼働データから異常検知モデルを学習する手段は、異常検知モデルの内で、その異常検知モデルの要素のばらつきが小さい異常検知モデルを学習するようにしたものである。
本発明によれば、設備の稼働状態を監視するにあたり、複数の稼働状態で出力された正常時データに対して、稼働状態を分割するためのデータが得られない、あるいは、正しく分割できない場合であっても、故障や障害といった異常あるいはその予兆の誤検知を少なくし、システムの状態を正確に評価することのできる異常検知システムを提供することができる。
異常検知システムのシステム構成図である。 データ管理サーバ、クライアント端末、コントローラなどを実現する情報処理装置のハードウェア構成図である。 稼働データの一例を示す図である。 監視単位定義データの一例を示す図である。 モデルデータの一例を示す図である。 異常検知結果データの一例を示す図である。 異常検知システムの処理全体の概要を示すフローチャートである。 異常検知システムの学習フェーズを示すフローチャートである。 異常検知システムの監視フェーズを示すフローチャートである。 監視画面の一例を示す図である。
以下、本発明に係る一実施形態を、図1ないし図10を用いて説明する。
先ず、発明を理解するために、本発明の一実施形態に係る異常検知システムの概略について説明する。
本発明の一実施形態に係る異常検知システムは、工場などの産業システム、化学プラント、鉄道や電力などの社会インフラシステムなどのシステムの機能が停止しないように、故障や障害を迅速に発見・対応、あるいは、未然に予知し保全するためのシステムである。
異常検知システムの処理は、正常または正常であることが期待される稼動データ(以下、単に「正常時の稼働データ」という)から、異常検知モデルを構築する学習フェーズと、監視時に稼働データと異常検知モデルを用いて異常スコアを算出し、ユーザに通知および関連情報を表示する監視フェーズとに分けられる。
学習フェーズでは、先ず、各機器・設備から収集した稼動データから、異常検知モデルを学習する。異常検知モデルには、様々な機械学習のモデルを採用できるが、本実施形態では、k近傍法をベースとしたモデルを用いた例を説明する。なお、他の機械学習や統計のモデルを用いることもできる。学習処理では、第一に、正常時の稼働データを訓練データとして、最初のk近傍法に基づく異常検知モデルを学習する。k近傍法は、怠惰学習(lazy learning)と呼ばれ、その性質上、取り込んだデータを加工せずに、単にメモリに訓練データを記憶するだけである。
次に、訓練データに対してブートストラップサンプリングを行い新たな訓練データを1個または複数作成する。ここで、ブートストラップサンプリングとは、対象とするn個のデータから、重複を許してn個のデータを抽出する統計のサンプリング手法である。次に、作成した訓練データを使って新たな異常検知モデルを1個または複数作成する。元の異常検知モデルと新たに作成した異常検知モデルを組み合わせて作成した異常検知モデル(「アンサンブルモデル」という)が、元の異常検知モデルに比べ、異常スコアの分散が小さい場合、アンサンブルモデルをもとの異常検知モデルに置き換える。本実施形態では、組み合わせる具体的な方法として重み付き線形和による方法を用いる。その際、組み合わせのバランス(重み)はラインサーチ等によって最良なものを探索して決める。このような処理を所定回数繰り返し、分散が小さい異常検知モデルを構成する。なお、異常スコアの分散は、ばらつきを与える一指標であって、他の指標、例えば、四分位範囲(IQR:InterQuartle Range)等を用いてもよい。
監視フェーズでは、監視時の稼働データと異常検知モデルを用いて異常スコアを算出する。そして、所定の閾値を超えた場合、異常あるいは異常の予兆が発生したと判断してユーザに異常状況を通知する。その際、最初の異常検知モデルと、最終的な異常検知モデルとの異常スコアの解離具合を合わせて提示する。これによって、システムは、ユーザに対して、低密度またはマイノリティな正常時の稼働データに基づく検知結果であったのか、高密度またはマジョリティな正常時の稼働データに基づく検知結果であったのかの示唆を与えることができる。
なお、本実施形態では異常検知モデルを組み合わせる方法の一例として、重み付き線形和による方法としたが、他の方法で組み合わせてもよい。また、アンサンブルモデルは検知処理をする際に組み合わせた異常検知モデルの数だけ計算する必要がある。そこで、アンサンブルモデルを使って別のモデルを学習してもよい。例えば、アンサンブルモデルの訓練データセットに対する異常スコアを回帰モデル(ある二つの変数について、統計的手法による推計式で表すモデル)で学習するいわゆる自己教示学習(self-taught learning)を行ってもよい。また、個々のアンサンブルモデルを構成するデータセットをそのモデルの重みに応じてサンプリングすることにより訓練データを作成し、それを使って異常検知モデル構築してもよい。このようにすることで、同様な性質を持ち、かつ、比較的、計算量が軽量となる異常検知モデルを再構成することができる。
次に、図1および図2を用いて一実施形態に係る異常検知システムの構成について説明する。
本実施形態に係る異常検知システム1は、図1に示されるように、設備10と、コントローラ11と、データ管理サーバ12と、クライアント端末13を備えている。
設備10は、工場などの生産ラインなどであり、センサやアクチュエータを備えている。センサは、例えば、加速度センサ、温度センサ、圧力センサなどである。コントローラ11は、設備10のセンサやアクチュエータを制御し、また異常検知処理を行う。データ管理サーバ12は、設備10からアップロードされる稼働データのデータ管理や、異常検知モデルの学習を行うサーバ装置である。クライアント端末13は、異常または異常の予兆に関する情報をユーザに表示して提示する装置である。
異常検知システム1の構成要素は、相互に、LAN(Local Area Network)等のネットワークで接続されている。なお、本実施形態では構成要素がLANで接続されるとしたが、インターネットなどのグローバルネットワーク経由で接続されていてもよい。また、図1に示した構成は一例であって、要素数は増減してもよく、一つの構成要素が複数の機能を担うようにしてもよい。例えば、データ管理サーバ12の役割をコントローラが担ってもよい。また、ネットワーク構成も、本実施形態のように一つのネットワークで接続されている場合に限らず、さらに階層分けされてネットワーク構成となっていてもよい。なお、本実施形態では設備10が監視対象となる場合について説明するが、コントローラ11や、他の計算機が監視対象となってもよい。
異常検知システム1のコントローラ11は、収集部111、検知部112、ローカルデータ管理部113の各機能部を備える。
収集部111は、設備10から稼働データを収集する機能部である。検知部112は、稼働データから異常スコアを算出する機能部である(詳細は、後述)。ローカルデータ管理部113は、収集した稼働データを管理して、アクセスする方法を提供する機能部である。
異常検知システム1のデータ管理サーバ12は、集配部121、学習部122、統合データ管理部123を備える。
集配部121は、各コントローラ11のローカルデータ管理部113からデータを収集する機能部である。データ学習部122は、稼働データを用いて異常検知モデルを構築(学習)する機能部である。統合データ管理部123は、各コントローラ11のローカルデータ管理部113に格納された稼働データを集約して、サーバ側で管理し、アクセスする方法を提供する機能部である。
異常検知システム1のクライアント端末13は、表示部131を備える。表示部131は、異常または異常の予兆に関する情報をユーザに表示する機能部である。
次に、図1および図2を用いて異常検知システムの各構成要素の機能部とハードウェアの対応について説明する。
異常検知システムの各構成要素は、図2に示されるような一般的な情報処理装置で実現できる。
一般的な情報処理装置は、CPU(Central Processing Unit)501が、ROM(Read Only Memory)502、RAM(Read Access Memory)503、外部記憶装置504、通信I/F(Interface)505、外部入力装置506、外部出力装置507からなる。
CPU501は、RAM503上のプログラムを実行し、装置の各部を制御するプロセッサである。ROM502は、書き換え不可能な半導体記憶装置である。RAM503は、一時的にプログラムとデータを保持する半導体記憶装置である。外部記憶装置504は、データ、プログラムを保持する大容量の磁気記憶装置または半導体記憶装置である。通信I/F505は、外部のネットワークの通信を制御する装置である。外部入力装置506は、マウスやキーボード等のユーザがデータを入力するための装置である。外部出力装置507は、液晶表示装置(LCD:liquid Cristal Display)などの表示装置やデータ印刷するプリンタなどの装置である。
コントローラ11の収集部111、検知部112、ローカルデータ管理部113は、各機能を実現するプログラムとして、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行される。
また、同様に、異常検知システム1のデータ管理サーバ12の集配部121、学習部122、統合データ管理部123は、各機能を実現するプログラムとして、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行される。
さらに、クライアント端末13の表示部131は、表示プログラムが、ROM502に保持されるか、外部記憶装置504にインストールされ、RAM503上にロードされて、CPU501により実行され、液晶表示装置などの表示装置に表示される。
次に、図3ないし図6を用いて異常検知システムで使用されるデータ構造について説明する。
稼働データ100は、コントローラ11が設備10から収集するデータであり、ローカルデータ管理部113で管理されるデータであり、具体的には、例えば、設備10に取り付けられたセンサ値や設備10に送られる制御信号に関するデータである。稼働データ100は、図1に示されるように、日時101と、項目名102と、値103の各項目を有する。日時101は、稼働データが発生した日時、または、収集された日時である。項目名102は、稼働データを識別するための名称であり、例えば、センサ番号や制御信号番号である。値103は、その日時、その項目に関する稼働データの値である。
なお、データ管理サーバ12の統合データ管理部123が管理する稼働データも内容は同様で、個々のコントローラ11のローカルデータ管理部113の稼働データ100を統合したものある。
監視単位定義データ200は、各異常検知モデルを構成するために使うデータを定義するデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。監視単位定義データ200は、図4に示されるように、モデルID201と、項目名202の各項目を有する。モデルID201は、異常検知モデルを一意に識別するためのIDである。項目名202は、指定した項目名が異常検知モデルを構成するデータとなる。例えば、図4に示した上から1行目~3行目(カラム名の行は除く)は、モデルIDが1001の異常検知モデルについて記載しており、コントローラ1.温度と、コントローラ1.圧力、コントローラ2.電流値によって、異常検知モデルが構成されることを表している。なお、異常検知モデルを構成する際には、ある時刻における一つまたは複数のデータによって構成してもよいし、複数時刻のデータ、すなわち、時系列データを用いてもよい。
モデルデータ300は、異常検知モデルを表すデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。モデルデータ300は、モデルID301と、サブモデルID302と、モデルパラメータ303と、重み304の各項目を有する。モデルID301は、異常検知モデルを一意に識別するためのIDである。サブモデルID302は、各異常検知モデル(各アンサンブルモデル)を構成する異常検知モデルのサブモデルを一意に識別するためのIDである。なお、ID=0のときが、初期の異常検知モデルで、サブモデルIDが1、2、3と段階的に組み合わされる異常検知モデルである。一方、サブモデルIDが-1は、アンサンブルモデルを再構成した異常検知モデルを表すことにする(詳細は、後述)。モデルパラメータ303は、各異常検知モデルを表現するパラメータである。k近傍法による異常検知は、前述のとおり訓練データを記憶しておくだけであるため、モデルパラメータ303は、また、各異常検知モデルの訓練データとなる。重み304は、合成(アンサンブル)する際の各異常検知モデルの重要度を表す。
異常検知結果データ400は、異常検知の結果を表すデータであり、コントローラ11のローカルデータ管理部113、および、データ管理サーバ12の統合データ管理部123で管理されるデータである。異常検知結果データ400は、日時401と、モデルID402と、初期異常スコア403と、異常スコア404の各項目を有する。日時401は、異常またはその予兆があるか田舎の検知処理を行った日時を表す。モデルID402は、異常検知モデルを一意に識別するためのIDである。初期異常スコア1D403は、サブモデルID302が0のときの異常検知モデルを使って算出した異常スコアである。異常スコア403は、サブモデルID302に-1が存在しない場合には、アンサンブルモデルを使って算出した異常スコア、存在する場合には、サブモデルID302が-1の異常検知モデル、すなわち再構成された異常検知モデルを使って算出された異常スコアである。
次に、図7ないし図9を用いて異常検知システムの処理について説明する。
先ず、図7を用いて異常検知システムの処理全体の概要について説明する。
先ず、コントローラ11の収集部111が、設備10、コントローラ11の双方またはその一方から、正常時の稼働データ100を収集し、ローカルデータ管理部113に格納する(S101)。なお、本実施形態では収集部111が集めるデータの周期は一定であるものとする。周期が一定でない場合は、補間等によって周期を調整した稼働データに変換し格納する。
次に、データ管理サーバ12の集配部121が、各コントローラ11のローカルデータ管理部113に格納された稼働データ100を集約し、データ管理サーバ12の統合データ管理部123に格納する(S102)。
次に、データ管理サーバ12の学習部122が、監視単位定義データ200で項目名がモデルIDと対応づいている稼働データ100を用いて異常検知モデルを構築(学習)する(S103)。なお、本処理に先立って、適切な監視単位定義データ200が登録されており、モデルIDと稼働データ100の対応づけがなされているものとする。なお、異常検知モデルを構築(学習)する処理については、後に詳細に説明する。
そして、学習処理の結果であるモデルデータ300を、データ管理サーバ12の統合データ管理部123に登録する。
最後に、データ管理サーバ12の集配部121が、統合データ管理部123のモデルデータ300を各コントローラ11に配信し、本処理を終了する(S104)。なお、本実施形態では、稼働データをそのまま用いたが、稼働データ100にローパスフィルターをかけたり、正規化したりといった前処理を実施してもよい。
次に、図8を用いて異常検知モデルの構築(学習)処理について詳細に説明する。
まず、データ管理サーバ12の学習部122が、LOF(Local Outlier Factor)等に代表される外れ値検知(Outlier Detection)手法を用いて外れ値を除去する(S201)。例えば、稼働データの1%は外れ値であるとみなして、LOFのスコアの上位1%を得るような稼働データを削除する。このようにして、本異常検知手法が外れ値も含めて異常スコアのばらつきを小さくするように異常検知モデルを構築する結果、検知性能が劣化することを避けることができる。特に、ランダムなノイズが含まれる場合には有用である。ただし、外れ値を除去する必要がないようなデータでは、本ステップを省略してもよい。
次に、データ管理サーバ12の学習部122が、正常時の稼働データを訓練データとして、k近傍法に基づく初期の異常検知モデルを作成する(S202)。訓練データをX={X_i|i=1,2,3,…,N}とし、Nearest(X,x,k)を訓練データXにおける要素xと要素xのk番目の近傍点との距離(xのk近傍距離)とするとき、初期の異常検知モデルの異常スコアSは、以下の(式1)で与えられる。このとき、訓練データX0が、図5に示したサブモデルID302が0のときのモデルパラメータ1D303に対応することになる。なお、本実施形態では、k番目までのk近傍距離の相加平均を異常スコアに用いたが、k番目のk近傍距離だけを用いてもよい。また、他の統計や機械学習に基づく異常検知のモデルを用いてもよい。なお、距離計算がボトルネックとなる場合は、バイナリハッシングや直積量子化法(PQ:Product Quantization)などの距離計算を近似する手法を使ってもよい。これによって、距離計算の負荷を大幅に軽減できる。
Figure 0007007243000001
次に、データ管理サーバ12の学習部122が、時刻を表す変数tに1を設定する(S203)。
次に、データ管理サーバ12の学習部122が、訓練データに対してブートストラップサンプリングによって、新たな訓練データXを作成する(S204)。その際、時刻t-1における異常スコアをSt-1として、以下の(式2(で与えられる確率P(x)に従ってサンプリングする。ここで、x,x∈Xt-1、Xt-1は、Xの前の訓練データであり、(式2)の分母の総和のインデックスjは、全てのXt-1の要素を動くものとする。すなわち、異常スコアが高いものほど高い確率でサンプリングする。この処理により、後述の処理で効率よくばらつきを小さくする新しい異常検知モデルの作成を可能とする。なお、本実施形態では、単純に異常スコアの比率を用いてサンプリングを行ったが、ランダム分布などほかの分布に基づいてサンプリングしてもよい。また、サンプリングを行う場合、既存の稼働データから抽出するだけでなく、補間値あるいは推定値を用いてもよい。例えば、SMOTE(Synthetic Minority Over-sampling Technique、近傍点を使った補間を含む)などのオーバーサンプリング手法や、稼働データからGAN(Generative Adversarial Networks)等の生成モデルを学習し、そこからサンプリングする手法を用いたりしてもよい。これによって、稼働データに含まれない情報を含む異常検知モデルを構築でき、その結果、検知性能を向上できる場合がある。
Figure 0007007243000002
次に、データ管理サーバ12の学習部122が、訓練データXを用いて新たな異常検知モデルを作成する(S205)。この手順はS205と同様である。この異常検知モデルの異常スコアSnewは、以下の(式3)で与えられる。ここで、なお、距離計算がボトルネックとなる場合は、バイナリハッシングや直積量子化法(PQ)などの距離計算を近似する手法を使ってもよい。これによって距離計算の負荷を大幅に軽減できる。
Figure 0007007243000003
次に、データ管理サーバ12の学習部122が、時刻t-1の異常検知モデルと、新たに作成した異常検知モデルを組み合わせて、ばらつき(分散)の小さい時刻tの異常検知モデルを作成する(S206)。この異常検知モデルの異常スコアSは時刻t-1の異常検知モデルと、新たに作成した異常検知モデルの重み付き線形和で与えられる。Sは以下の式で与えられる。ここで、αは、0から1までの範囲を適当な刻み幅(例えば、0.01)でラインサーチし、もっともS(X_i)(i=1,2,…,N)のばらつき(分散)が小さいαを選択する。なお、本実施形態では範囲を0から1、刻み幅を0.01としたが、よりほかの範囲や刻み幅でもよい。また、前述のとおり、ばらつきを評価する尺度として本実施形態では分散を用いるが四分位範囲(IQR)等を用いてもよい。
Figure 0007007243000004
次に、データ管理サーバ12の学習部122が、時刻を表す変数tをインクリメントして、t+1を設定する(S207)。
次に、データ管理サーバ12の学習部122が、終了条件を満たしているかを判定する(S208)。本実施形態ではtが所定値Tを上回ったとき、終了条件を満たすものする。判定の結果、終了条件を満たしていなければ(S208:NO)、S204に戻り、終了条件を満たしていれば(S208:YES)、S209に進む。なお、本実施形態ではtが所定値Tを上回ったとき、終了条件を満たすものとしたが、他の終了条件を設定してもよい。例えば、分散が所定の値以下となる、分散が初期の異常検知モデルの10%未満となる等であってよい。
S208において、終了条件が満たされている場合、データ管理サーバ12の学習部122が、時刻tの異常検知モデルを構成する訓練データ群の重み付きサンプリングによって、新たな訓練データを作成する(S209)。より具体的には、時刻tの異常検知モデルを構成する訓練データを重み(t=0は1(固定)、t>0は各時点のα、これをαとするに)基づいて、どの訓練データを選択し、さらにその訓練データからランダムに1点データ(要素)を抽出するという手順を繰り返す。ここで、X,X,…,Xから、x∈X(h=0,1,…,T)をとる確率Q(x)は、以下の(式5)で表される。
Figure 0007007243000005
なお、この重みαが、図5に示したモデルデータ300の重み1D304に対応する。この手順を繰り返すことにより、低密度またはマイノリティな正常時の稼働データと、高密度またはマジョリティな正常時の稼働データとの異常スコアのばらつきが小さくなっていく。
最後に、データ管理サーバ12の学習部122が、S208で作成した訓練データを用いて異常検知モデルを作成して本処理を終了する(S210)。
なお、この異常検知モデルは、前述のように、サブモデルID302が-1(アンサンブルモデルを再構成した異常検知モデル)となる。
以上の手順により、異常スコアのばらつきが小さい異常検知モデルを構成できる。また、S209、S210のステップの処理によって、最後の時刻の異常検知モデルに近く、しかも、計算量的に軽量な異常検知モデルを構成できる。なお、これらのステップは不要であれば、実施しなくてもよい。その場合は、最後の時刻の異常検知モデルを用いて、以降のS210における異常検知モデルを作成すればよい。
なお、上記処理フローは機械学習分野でのアンサンブル学習におけるブースティングに類似した手順をとっている。すなわち、一つずつモデルを追加していく手順をとっている。これに対し、アンサンブル学習におけるバギングのように、適切なサンプリングのための分布を設定した上で、複数の訓練データをサンプリングし、その数だけの異常検知モデルを作成し、線形和をとることで異常スコアを算出することもできる。
次に、図9を用いて異常検知システムの監視フェーズの処理について説明する。なお、この監視フェーズの処理に先立って、予め設備10における稼働データが収集されているものとする。
まず、コントローラ11の検知部112が、サブモデル1D302が0、すなわち、最初の異常検知モデルを使って初期の異常スコア(「初期異常スコア」という)を算出する(S301)。
次に、コントローラ11の検知部112が、サブモデル1D302が-1、すなわち、最後の異常検知モデルを使って異常スコアを算出する(S302)。なお、サブモデル1D302が-1となる異常検知モデルがない場合、前述の(式4)の異常スコアを算出したときと同様の手順で異常スコアを算出する。
次に、コントローラ11の検知部112が、初期異常スコア、異常スコアを異常検知結果データ400に登録する。また、コントローラ11の検知部112が、データ管理サーバ12の集配部121を介して、データ管理サーバ12の統合データ管理部123にも同様のデータを登録する(S303)。
次に、コントローラ11の検知部112が、異常スコアがあらかじめ定めた閾値より大きいか否かを判定する(S304)。閾値より異常スコアが大きい場合には(S304:YES)、S305に進む。そうでない場合には(S304:NO)、本処理を終了する。
S304で閾値より異常スコアが大きい場合には、コントローラ11の検知部112が、クライアント端末13の表示部131に異常があったことを通知する。これを受けて、クライアント端末13の表示部131が、稼働データ100や異常検知結果データ400といった異常の状況を知るための情報をユーザに提示する(S305)。
なお、本実施形態では閾値は、予め定めているものとしたが、学習フェーズにおいて、データ管理サーバ12の学習部122が正常時の稼働データや、手に入る場合は異常時の稼働データを使って統計手法に基づき自動設定してもよい。例えば、正常時の稼働データを二つに分けて、片方でデータを学習し、もう片方で異常スコアを算出し、その最大値を閾値とするなどをしてもよい。
次に、図10を用いて異常検知システムの提供するユーザインターフェースについて説明する。
監視画面600は、クライアント端末13の表示部131が異常検知システムのユーザに提示し。稼働データや異常スコアなどに関する情報を表示し、設備10の監視をおこなうために提供する画面である。監視画面600は、図10に示されるように、モデル選択コンボボックス601、稼働データ表示ペイン602、異常スコア表示ペイン603、初期異常スコア表示ペイン604、スコア比率表示ペイン605を備える。
モデル選択コンボボックス601には、異常検知結果データ400のモデルID402に対応するモデルIDが候補に表示される。ユーザがここで選んだモデルIDに対応した情報が、稼働データ表示ペイン602、異常スコア表示ペイン603、初期異常スコア表示ペイン604、スコア比率表示ペイン605に表示される。なお、ユーザが操作しなくても、S304で異常が検知された場合には、ユーザに注意を促すために、自動的にモデルが選択されデータが表示されるものとする。
稼働データ表示ペイン602には、選択されたモデル1Dに関する時系列データが表示される。表示されているグラフの横軸は時間、縦軸は値を示している。複数の変数がある場合、タブ602a、タブ602b、タブ602cによって、切り替えて表示することができる。図10に示した例では、停止状態から起動状態(枠602x2あたり)を経て、定常運転状態になり、途中異常な箇所があり(枠602x1あたり)を経て、終了状態(枠602x3あたり)、停止状態に戻るような稼働データの例となっている。
異常スコア表示ペイン603には、選択されたモデルIDの異常検知モデルによって算出された異常スコアと閾値が表示される。表示されているグラフの横軸は時間、縦軸は異常スコアを示している。閾値を超え、かつ、例外パターンに合致していない箇所は強調表示される。ユーザはこのペインの情報を見ることにより、異常やその予兆が発生しているかどうかを把握することができる。
初期異常スコア表示ペイン604には、選択されたモデルIDの異常検知モデルによって算出された初期異常スコアと閾値が表示される。表示されているグラフの横軸は時間、縦軸は異常スコアを示している。閾値を超え、かつ、例外パターンに合致していない箇所は強調表示される。
スコア比率表示ペイン605には、選択されたモデルIDの異常検知モデルによって算出された初期異常スコアと異常スコアについて、初期異常スコアに対する異常スコアの比率(スコア比率=異常スコア/初期異常スコア)が表示される。表示されているグラフの横軸は時間、縦軸はスコア比率を示している。前記の初期異常スコア表示ペイン604の初期異常スコアと、スコア比率を見ることにより、ユーザは低密度もしくはマイノリティな箇所を把握できる。例えば、図10の破線枠602x2、602x3の箇所に対応するスコア比率が小さくなっている。これは、この部分にあたるシステムの起動状態や終了状態などが、停止状態や定常運転状態に比べマイノリティであることを示している。すなわち、本実施形態では、マイノリティの部分の初期異常スコアに対して、異常スコアは、あまり異常としては捉えていないことを示している。したがって、ユーザは、システムの異常を分析するにあたり、スコア比率が小さくなっている箇所を注視することにより、訓練データが足りていない箇所の示唆を得ることができる。
以上に説明したように、本実施形態によれば、異常スコアが異常検知モデルを学習したときに用いた、正常または正常であることが期待される稼働データ(正常時の稼働データ)に対して、低密度またはマイノリティな正常時の稼働データと、高密度もしくはマジョリティな正常時の稼働データとの異常スコアのばらつきが小さくなっていった結果、低密度もしくはマイノリティな正常時の稼働データを誤検知することが少なくなり、全体として誤検知や失報を少なく抑えることができる。
また、初期異常スコアと異常スコアを比較することでどういった稼働データが低密度もしくはマイノリティであるかを把握できるようになり、訓練データの充足をユーザが判断することができる。
10……設備
11……コントローラ
111…収集部
112…検知部
113…ローカルデータ管理部
12……データ管理サーバ
121…集配部
122…学習部
123…統合データ管理部
13……クライアント端末
131…表示部

Claims (9)

  1. 監視対象となる設備の稼働データに基づいて、設備の異常またはその予兆を検知する異常検知システムであって、
    前記設備から稼働データを収集する機器と、
    前記稼働データから構築される異常検知モデルに基づいて、設備の異常またはその予兆を検知する情報処理装置とを有し、
    前記情報処理装置は、
    前記稼働データを収集する手段と、
    前記稼働データから異常検知モデルを学習する手段と、
    前記稼働データと異常検知モデルから、個々の稼働データに対して異常スコアを算出する手段とを有し、
    前記稼働データから異常検知モデルを学習する手段は、前記異常検知モデルの内で、その異常検知モデルの要素のばらつきが小さい異常検知モデルを学習し、
    前記稼働データから異常検知モデルを学習する手段は、複数の異常検知モデルから生成する異常検知モデルの異常スコアを、重み付き線形和によって合成することを特徴とする異常検知システム。
  2. 前記異常検知モデルの要素のばらつきは、前記異常検知モデルの要素の異常スコアの分散または四分位範囲であることを特徴とする請求項1記載の異常検知システム。
  3. 前記稼働データから異常検知モデルを学習する手段は、初期の異常検知モデルを設定し、逐次的に異常検知モデルから異常スコアのばらつきが小さい異常検知モデルを再構成することを特徴とする請求項1記載の異常検知システム。
  4. 逐次的に新たな異常検知モデルを追加する際、所定探索範囲内で異常検知モデルの異常スコアの最もばらつきが小さい組み合わせ方を探索し、それを異常検知モデルの異常スコアの合成に用いることを特徴とする請求項1記載の異常検知システム。
  5. 前記異常検知モデルは、k近傍距離に基づく異常検知モデルであることを特徴とする請求項1記載の異常検知システム。
  6. 前記稼働データから異常検知モデルを学習する手段は、複数の異常検知モデルから新たな異常検知モデルを生成するにあたり、複数の異常検知モデルから稼働データをサンプリングして新たな異常検知モデルを生成することを特徴とする請求項1記載の異常検知システム。
  7. 前記稼働データから異常検知モデルを学習する手段は、前記異常スコアの大きい異常検知モデルに対して、大きな確率でサンプリングすることを特徴とする請求項6記載の異常検知システム。
  8. 前記稼働データから異常検知モデルを学習する手段は、ランダム分布に基づいてサンプリングするか、補間値あるいは推定値を用いてサンプリングするか、稼働データから生成モデルを学習し、そこからサンプリングするかのいずれかでサンプリングすることを特徴とする請求項6記載の異常検知システム。
  9. さらに、初期の異常検知モデルの異常スコアと、再構成された異常検知モデルの異常スコアの比率を表示する手段とを有することを特徴とする請求項1記載の異常検知システム。
JP2018127570A 2018-07-04 2018-07-04 異常検知システム Active JP7007243B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018127570A JP7007243B2 (ja) 2018-07-04 2018-07-04 異常検知システム
US17/256,070 US11892826B2 (en) 2018-07-04 2019-05-29 Anomaly detection system
PCT/JP2019/021407 WO2020008760A1 (ja) 2018-07-04 2019-05-29 異常検知システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018127570A JP7007243B2 (ja) 2018-07-04 2018-07-04 異常検知システム

Publications (3)

Publication Number Publication Date
JP2020008997A JP2020008997A (ja) 2020-01-16
JP2020008997A5 JP2020008997A5 (ja) 2020-12-17
JP7007243B2 true JP7007243B2 (ja) 2022-01-24

Family

ID=69059582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018127570A Active JP7007243B2 (ja) 2018-07-04 2018-07-04 異常検知システム

Country Status (3)

Country Link
US (1) US11892826B2 (ja)
JP (1) JP7007243B2 (ja)
WO (1) WO2020008760A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7087908B2 (ja) * 2018-10-24 2022-06-21 オムロン株式会社 制御装置
US11620180B2 (en) * 2018-11-29 2023-04-04 Vmware, Inc. Holo-entropy adaptive boosting based anomaly detection
US11409995B2 (en) * 2019-08-28 2022-08-09 Nxp B.V. Anomaly detection by classifying past behavior
US11308366B2 (en) * 2019-10-28 2022-04-19 MakinaRocks Co., Ltd. Method for determining optimal anomaly detection model for processing input data
JP7318612B2 (ja) * 2020-08-27 2023-08-01 横河電機株式会社 監視装置、監視方法、および監視プログラム
JPWO2022202324A1 (ja) * 2021-03-22 2022-09-29
CN113219499A (zh) * 2021-04-07 2021-08-06 中铁第四勘察设计院集团有限公司 位置时间序列的异常探测方法、装置及计算机存储介质
CN114039837B (zh) * 2021-11-05 2023-10-31 奇安信科技集团股份有限公司 告警数据处理方法、装置、***、设备和存储介质
CN114926061B (zh) * 2022-05-31 2023-02-24 深圳市润鹏华通创新科技有限公司 一种基于云计算的智慧社区能源监管***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013025367A (ja) 2011-07-15 2013-02-04 Wakayama Univ 設備状態監視方法およびその装置
JP2013218725A (ja) 2013-06-19 2013-10-24 Hitachi Ltd 異常検知方法及び異常検知システム
JP2015172945A (ja) 2009-08-28 2015-10-01 株式会社日立製作所 設備状態監視方法およびその装置
JP2015184693A (ja) 2014-03-20 2015-10-22 日本電気株式会社 医薬品有害事象抽出方法及び装置
WO2017094267A1 (ja) 2015-12-01 2017-06-08 株式会社Preferred Networks 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法
JP6313516B1 (ja) 2017-03-30 2018-04-18 三菱総研Dcs株式会社 情報処理装置、情報処理方法およびコンピュータプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5955985A (ja) * 1982-09-27 1984-03-31 株式会社ニチベイ ブラインド
FR2939170B1 (fr) * 2008-11-28 2010-12-31 Snecma Detection d'anomalie dans un moteur d'aeronef.
JP5301310B2 (ja) 2009-02-17 2013-09-25 株式会社日立製作所 異常検知方法及び異常検知システム
JP5431235B2 (ja) 2009-08-28 2014-03-05 株式会社日立製作所 設備状態監視方法およびその装置
US11379726B2 (en) * 2018-11-02 2022-07-05 Intuit Inc. Finite rank deep kernel learning for robust time series forecasting and regression
US11797550B2 (en) * 2019-01-30 2023-10-24 Uptake Technologies, Inc. Data science platform
US11586853B2 (en) * 2020-02-17 2023-02-21 Wipro Limited System and method of validating multi-vendor Internet-of-Things (IoT) devices using reinforcement learning
US20220044133A1 (en) * 2020-08-07 2022-02-10 Sap Se Detection of anomalous data using machine learning
US11842204B2 (en) * 2021-03-26 2023-12-12 Microsoft Technology Licensing, Llc Automated generation of early warning predictive insights about users
DE102021124254A1 (de) * 2021-09-20 2023-03-23 Festo Se & Co. Kg Maschinelles Lernverfahren zur Leckageerkennung in einem pneumatischen System
US20230229738A1 (en) * 2022-01-19 2023-07-20 Optum Services (Ireland) Limited Unsupervised anomaly detection machine learning frameworks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015172945A (ja) 2009-08-28 2015-10-01 株式会社日立製作所 設備状態監視方法およびその装置
JP2013025367A (ja) 2011-07-15 2013-02-04 Wakayama Univ 設備状態監視方法およびその装置
JP2013218725A (ja) 2013-06-19 2013-10-24 Hitachi Ltd 異常検知方法及び異常検知システム
JP2015184693A (ja) 2014-03-20 2015-10-22 日本電気株式会社 医薬品有害事象抽出方法及び装置
WO2017094267A1 (ja) 2015-12-01 2017-06-08 株式会社Preferred Networks 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法
JP6313516B1 (ja) 2017-03-30 2018-04-18 三菱総研Dcs株式会社 情報処理装置、情報処理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
US11892826B2 (en) 2024-02-06
JP2020008997A (ja) 2020-01-16
WO2020008760A1 (ja) 2020-01-09
US20210224599A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
JP7007243B2 (ja) 異常検知システム
JP7017861B2 (ja) 異常検知システムおよび異常検知方法
US10914608B2 (en) Data analytic engine towards the self-management of complex physical systems
JP5647627B2 (ja) 異常パターンの発見
CN110647414A (zh) 具有异常检测的改善的模拟功能安全
CN110865929A (zh) 异常检测预警方法及***
KR20200131549A (ko) 인공지능 모델을 이용한 상품 판매량 예측 방법, 장치 및 시스템
CN111045894B (zh) 数据库异常检测方法、装置、计算机设备和存储介质
US11115295B2 (en) Methods and systems for online monitoring using a variable data
JP2018128855A (ja) イベント解析装置、イベント解析システム、イベント解析方法、イベント解析プログラム、および記録媒体
WO2018071005A1 (en) Deep long short term memory network for estimation of remaining useful life of the components
US9208209B1 (en) Techniques for monitoring transformation techniques using control charts
KR20140041766A (ko) 예측 및 예지를 위한 순차적 커널 회귀 모델링 방법
US11657121B2 (en) Abnormality detection device, abnormality detection method and computer readable medium
US20210223765A1 (en) Malfunction detection device, malfunction detection method, malfunction detection program, and recording medium
CN112380044B (zh) 数据异常检测方法、装置、计算机设备和存储介质
Zapater et al. Runtime data center temperature prediction using Grammatical Evolution techniques
KR20150038356A (ko) 유전적 프로그래밍을 이용한 잔여 유효 수명의 추정
US11675643B2 (en) Method and device for determining a technical incident risk value in a computing infrastructure from performance indicator values
CN112486970A (zh) 一种用于电力设备的运行状态评估方法及装置
CN111898247A (zh) 滑坡位移预测方法、设备及存储介质
EP4174601A1 (en) System, apparatus and method for monitoring condition of an asset in technical installation
CN116997867A (zh) 用于预测技术设施的运行的方法和***
EP3093770A2 (en) System and method for the creation and detection of process fingerprints for monitoring in a process plant
EP4075297A1 (en) Machine learning-based interactive visual monitoring tool for high dimensional data sets across multiple kpis

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220106

R150 Certificate of patent or registration of utility model

Ref document number: 7007243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150