(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024155704
(43)【公開日】2024-10-31
(54)【発明の名称】異常診断装置、異常診断方法及びプログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241024BHJP
G01M 99/00 20110101ALI20241024BHJP
【FI】
G05B23/02 302T
G01M99/00 Z
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023209354
(22)【出願日】2023-12-12
(31)【優先権主張番号】P 2023069366
(32)【優先日】2023-04-20
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】長田 悠人
(72)【発明者】
【氏名】村上 賢哉
(72)【発明者】
【氏名】鈴木 聡
(72)【発明者】
【氏名】高橋 貴範
(72)【発明者】
【氏名】吉見 浩一郎
(72)【発明者】
【氏名】徳増 匠
【テーマコード(参考)】
2G024
3C223
【Fターム(参考)】
2G024AD33
2G024BA27
2G024FA06
2G024FA15
3C223AA01
3C223AA02
3C223AA05
3C223BA01
3C223CC01
3C223DD01
3C223EB01
3C223FF03
3C223FF04
3C223FF22
3C223FF26
3C223FF35
3C223GG01
3C223HH02
(57)【要約】
【課題】複数の異常診断モデルを用いる異常診断の効率化を実現すること。
【解決手段】本開示の一態様による異常診断装置は、対象の状態を表すデータを取得する取得部と、前記対象の複数の正常状態をそれぞれモデル化した複数の異常診断モデルの中から1つ以上の異常診断モデルを選択する選択部と、前記選択部によって選択された1以上の異常診断モデルと、前記取得部によって取得されたデータとに基づいて、前記対象の異常度を算出する算出部と、前記算出部によって算出された異常度に基づいて、前記対象が異常か否かを診断する診断部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
対象の状態を表すデータを取得する取得部と、
前記対象の複数の正常状態をそれぞれモデル化した複数の異常診断モデルの中から1つ以上の異常診断モデルを選択する選択部と、
前記選択部によって選択された1以上の異常診断モデルと、前記取得部によって取得されたデータとに基づいて、前記対象の異常度を算出する算出部と、
前記算出部によって算出された異常度に基づいて、前記対象が異常か否かを診断する診断部と、
を有する異常診断装置。
【請求項2】
前記選択部は、
前記複数の異常診断モデルの各々の代表点と前記データとの距離をそれぞれ算出し、前記距離が最も小さい1つの異常診断モデルを選択する、請求項1に記載の異常診断装置。
【請求項3】
前記選択部は、
前記複数の異常診断モデルの各々の代表点と前記データとの距離をそれぞれ算出し、前記距離が予め決められた距離以内である1つ以上の異常診断モデルを選択する、請求項1に記載の異常診断装置。
【請求項4】
前記選択部は、
前記複数の異常診断モデルの各々の代表点と前記データとの距離をそれぞれ算出し、前記距離が小さい順に予め決められた1以上の個数の異常診断モデルを選択する、請求項1に記載の異常診断装置。
【請求項5】
前記選択部は、
前記複数の異常診断モデルをM(k)(ただし、Kを異常診断モデルの総数として、k=1,・・・,K)、異常診断モデルM(k)の代表点をr(k)、前記データをxとして、k=1,・・・,Kに対して、前記代表点r(k)と前記データxとの距離d(x,r(k))をそれぞれ算出し、
前記異常診断モデルM(k)の作成に用いられた学習用データのデータ数を|D(k)|として、前記距離d(x,r(k))と、前記データ数|D(k)|の逆数との積に基づいて、前記1つ以上の異常診断モデルを選択する、請求項1に記載の異常診断装置。
【請求項6】
前記選択部は、
前記距離d(x,r(k))と、前記データ数|D(k)|の逆数と、前記異常診断モデルM(k)の作成に用いられた学習用データの散らばり具合を表すスコアとの積に基づいて、前記1つ以上の異常診断モデルを選択する、請求項5に記載の異常診断装置。
【請求項7】
前記選択部は、
前記積が最も小さい1つの異常診断モデル、又は、前記積が予め決められた閾値以内である1つ以上の異常診断モデル、又は、前記積が小さい順に予め決められた1以上の個数の異常診断モデル、を選択する、請求項5又は6に記載の異常診断装置。
【請求項8】
前記選択部は、
前記複数の異常診断モデルの各々の代表点をノードとするkd木を用いて、前記kd木によって分割された複数の領域のうち、前記データが属する領域の境界上にある1以上の代表点にそれぞれ対応する1以上の異常診断モデルを選択する、請求項1に記載の異常診断装置。
【請求項9】
前記選択部は、
前記データが属する領域の境界上にある1以上の代表点のうち、前記データとの距離が最も小さい代表点に対応する異常診断モデルを選択する、請求項8に記載の異常診断装置。
【請求項10】
対象の状態を表すデータを取得する取得手順と、
前記対象の複数の正常状態をそれぞれモデル化した複数の異常診断モデルの中から1つ以上の異常診断モデルを選択する選択手順と、
前記選択手順によって選択された1以上の異常診断モデルと、前記取得手順によって取得されたデータとに基づいて、前記対象の異常度を算出する算出手順と、
前記算出手順によって算出された異常度に基づいて、前記対象が異常か否かを診断する診断手順と、
をコンピュータが実行する異常診断方法。
【請求項11】
対象の状態を表すデータを取得する取得手順と、
前記対象の複数の正常状態をそれぞれモデル化した複数の異常診断モデルの中から1つ以上の異常診断モデルを選択する選択手順と、
前記選択手順によって選択された1以上の異常診断モデルと、前記取得手順によって取得されたデータとに基づいて、前記対象の異常度を算出する算出手順と、
前記算出手順によって算出された異常度に基づいて、前記対象が異常か否かを診断する診断手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異常診断装置、異常診断方法及びプログラムに関する。
【背景技術】
【0002】
各種プラント(例えば、石油化学プラント、発電プラント、鉄鋼プラント、食品プラント等)や各種設備、機器、装置等を対象として、複数の異常診断モデルを用いる異常診断技術が従来から知られている。例えば、特許文献1には、複数の動作モードが存在するプラントを対象として、動作モード毎に異常診断モデルを作成した上で、各異常診断モデルによる異常診断の結果を総合する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、例えば、特許文献1等に記載されている従来技術では、複数の異常診断モデルをすべて用いて異常診断の結果を得ている。このため、異常診断モデル数が多い場合には、異常診断のための計算量が膨大となることがある。
【0005】
本開示は、上記の点に鑑みてなされたもので、複数の異常診断モデルを用いる異常診断の効率化を実現することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様による異常診断装置は、対象の状態を表すデータを取得する取得部と、前記対象の複数の正常状態をそれぞれモデル化した複数の異常診断モデルの中から1つ以上の異常診断モデルを選択する選択部と、前記選択部によって選択された1以上の異常診断モデルと、前記取得部によって取得されたデータとに基づいて、前記対象の異常度を算出する算出部と、前記算出部によって算出された異常度に基づいて、前記対象が異常か否かを診断する診断部と、を有する。
【発明の効果】
【0007】
複数の異常診断モデルを用いる異常診断の効率化を実現することができる。
【図面の簡単な説明】
【0008】
【
図1】第一の実施形態に係る異常診断装置のハードウェア構成の一例を示す図である。
【
図2】第一の実施形態に係る異常診断装置の機能構成の一例を示す図である。
【
図3】第一の実施形態に係るモデル学習処理の一例を示すフローチャートである。
【
図4】第一の実施形態に係る異常診断処理の一例を示すフローチャートである。
【
図5】異常診断モデルの選択方法の一例を示す図(その1)である。
【
図6】異常診断モデルの選択方法の一例を示す図(その2)である。
【
図7】第二の実施形態に係る異常診断装置の機能構成の一例を示す図である。
【
図8】第二の実施形態に係るモデル学習処理の一例を示すフローチャートである。
【
図9】kd木による領域分割の一例を示す図である。
【
図11】第二の実施形態に係る異常診断処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態として、第一及び第二の実施形態について説明する。以下の各実施形態では、各種プラント(例えば、石油化学プラント、発電プラント、鉄鋼プラント、食品プラント等)や各種設備、機器、装置等を対象として、複数の異常診断モデルを用いる異常診断を効率的に行うことができる異常診断装置10について説明する。また、以下では、一例として、これら複数の異常診断モデルとして、多変量統計的プロセス管理(MSPC:Multivariate Statistical Process Control)の手法(参考文献1)によって作成される正常モデルを想定する。ただし、これは一例であって、異常診断モデルはMSPCの手法によって作成される正常モデルに限られるものではなく、任意の異常診断手法によって作成されるモデルであってもよい。例えば、異常診断モデルとして、Isolation Forestや1-class SVM等といった機械学習手法によって作成される機械学習モデルを用いることも可能である。
【0010】
以下の各実施形態に係る異常診断装置10には、正常状態における対象の運転データから複数の異常診断モデルを作成する「モデル学習処理」と、対象の現在の運転データと異常診断モデルから対象の異常有無を診断する「異常診断処理」とを実行する。一般に、モデル学習処理はオフライン、異常診断処理はオンラインで実行されるが、これに限られるものではなく、例えば、モデル学習処理がオンライン中に異常診断処理のバックグラウンドで実行されてもよい。特に、異常診断モデルの追加等を行う場合等に、モデル学習処理がオンライン中に異常診断処理のバックグラウンドで実行されてもよい。
【0011】
運転データは「サンプルデータ」とも呼ばれるが、以下では、異常診断モデルの作成に用いられる運転データのことを「学習用データ」、学習用データの集合を「学習用データ集合」と呼ぶことにする。また、異常有無の診断に用いられる運転データのことを「診断用データ」と呼ぶことにする。
【0012】
なお、対象には各種センサが設置されており、これらのセンサによって当該対象の状態を表す物理量が計測され、各運転データ(各学習用データ、各診断用データ)はそれらの物理量の計測値で構成される。運転データを構成する各計測値が表す物理量又はその物理量の計測値が格納される変数は「プロセス変数」又は「状態変数」とも呼ばれる。以下では、運転データを構成する計測値が表す物理量又はその物理量の計測値が格納される変数を「状態変数」と呼ぶことにする。状態変数としては様々なものが挙げられるが、例えば、温度、圧力、流量等が挙げられる。
【0013】
以下、運転データを構成する状態変数の数をNとして各状態変数をxn(1≦n≦N)と表し、運転データを縦ベクトルで表現してx=(x1,・・・,xN)Τと表す。また、運転データxが得られた時刻tを明示する場合は、x(t)=(x1(t),・・・,xN(t))Τと表す。ここで、Τは転置を表す記号である。
【0014】
また、学習用データ集合に含まれるi番目の学習用データをx(i)と表し、学習用データ集合をD={x(i)|i=1,・・・,I}と表すことにする。ここで、Iは学習用データ集合Dに含まれる学習用データ数|D|である。
【0015】
[第一の実施形態]
まず、第一の実施形態について説明する。
【0016】
<異常診断装置10のハードウェア構成例>
第一の実施形態に係る異常診断装置10のハードウェア構成例を
図1に示す。
図1に示すように、第一の実施形態に係る異常診断装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続される。
【0017】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、異常診断装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0018】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0019】
通信I/F104は、異常診断装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の不揮発性の記憶装置である。プロセッサ108は、例えば、CPU(Central Processing Unit)等の各種演算装置である。
【0020】
なお、
図1に示すハードウェア構成は一例であって、異常診断装置10のハードウェア構成はこれに限られるものではない。例えば、異常診断装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0021】
<異常診断装置10の機能構成例>
第一の実施形態に係る異常診断装置10の機能構成例を
図2に示す。
図2に示すように、第一の実施形態に係る異常診断装置10は、モデル学習部201と、異常診断部202とを有する。これら各部は、例えば、異常診断装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、第一の実施形態に係る異常診断装置10は、モデル記憶部203を有する。モデル記憶部203は、例えば、補助記憶装置107の記憶領域等により実現される。ただし、モデル記憶部203は、例えば、異常診断装置10と通信ネットワークを介して接続されるデータベースサーバの記憶領域等により実現されてもよい。
【0022】
モデル学習部201は、モデル学習処理を実行する。ここで、モデル学習部201には、学習用データ取得部211と、分類部212と、学習部213と、保存部214とが含まれる。学習用データ取得部211は、学習用データ集合Dを取得する。分類部212は、学習用データ取得部211によって取得された学習用データ集合Dに含まれる各学習用データを或る所定の基準で分類した複数のサブ学習用データ集合を作成する。学習部213は、サブ学習用データ集合毎に、そのサブ学習用データ集合を用いて異常診断モデルを作成する。また、学習部213は、各異常診断モデルの代表点を計算する。保存部214は、学習部213によって作成された各異常診断モデルとそれらの代表点とをモデル記憶部203に保存する。
【0023】
異常診断部202は、異常診断処理を実行する。ここで、異常診断部202には、診断用データ取得部221と、モデル選択部222と、診断部223と、出力部224とが含まれる。診断用データ取得部221は、診断用データを取得する。モデル選択部222は、モデル記憶部203に記憶されている複数の異常診断モデルの中から異常診断に利用する1つ以上の異常診断モデルを選択する。診断部223は、モデル選択部222によって選択された1つ以上の異常診断モデルにより対象の異常診断を行う。出力部224は、診断部223による異常診断の結果を所定の出力先に出力する。
【0024】
モデル記憶部203は、複数の異常診断モデルとこれら複数の異常診断モデルの各々の代表点とを記憶する。なお、モデル記憶部203には、異常診断モデル及びその代表点だけでなく、その異常診断モデルの作成に用いられたサブ学習用データ集合に関する様々な情報(例えば、サブ学習用データ集合に含まれる学習用データの数等)が記憶されてもよい。
【0025】
<処理の詳細>
以下、第一の実施形態に係る異常診断装置10が実行するモデル学習処理と異常診断処理の詳細についてそれぞれ説明する。
【0026】
≪モデル学習処理≫
第一の実施形態に係るモデル学習処理について、
図3を参照しながら説明する。以下では、学習用データ集合Dが異常診断装置10に与えられたものとする。
【0027】
まず、モデル学習部201の学習用データ取得部211は、与えられた学習用データ集合Dを取得する(ステップS101)。なお、学習用データ取得部211は、例えば、対象の運転データが格納されるデータベースサーバ等から学習用データ集合Dを取得してもよい。
【0028】
次に、モデル学習部201の分類部212は、上記のステップS101で取得された学習用データ集合Dに含まれる各学習用データを或る所定の基準で分類した複数のサブ学習用データ集合を作成する(ステップS102)。ここで、各学習用データの分類に用いられる基準としては様々な基準が考えられるが、分類部212は、例えば、以下の分類基準1~分類基準3の1つ以上により各学習用データを分類すればよい。
【0029】
・分類基準1
対象が各種プラントである場合、そのプラントで生産又は製造される物の種類、生産又は製造に用いられる原材料の種類、生産又は製造に用いられる原材料の種類及び割合等によって学習用データを分類する。例えば、対象が或る薬品を製造している場合に、或る原材料の含有率に応じて、学習用データ集合Dに含まれる各学習用データを複数のサブ学習用データ集合に分類する等である。なお、例えば、薬品中の或る原材料の含有率(濃度)等は、学習用データに含まれる或る状態変数の値によって特定可能である。
【0030】
・分類基準2
日時、時期、季節等に応じて学習用データを分類する。例えば、学習用データ集合Dに含まれる各学習用データの時刻tに対応する季節(春、夏、秋、冬)によって4つのサブ学習用データ集合に分類する等である。
【0031】
・分類基準3
対象が各種プラントである場合、特許文献1と同様に、プラントの動作モードによって学習用データを分類する。例えば、プラントの動作モードとして動作モード1~動作モード3の3つが存在する場合、各学習用データが得られたときの動作モードによって3つのサブ学習用データ集合に分類する等である。なお、学習用データがいずれの動作モードのときに得られたかは、プラントの動作モードを特定するための補助情報(例えば、プラントの動作モードとその稼働時間帯とを対応付けたカレンダ情報等)により特定可能である。
【0032】
ただし、上記の分類基準1~分類基準3はいずれも一例であって、各学習用データの分類に用いられる基準はこれらに限られるものではなく、学習用データ集合Dに含まれる各学習用データを複数のサブ学習用データに分類することが可能な基準であれば、適宜、任意の基準を用いることが可能である。例えば、学習用データ間の類似度を表す尺度(例えば、コサイン類似度等)を導入し、この類似度によって各学習用データが分類されてもよい。また、類似度によって各学習用データを分類する際には、例えば、k-means法等といった既知のクラスタリング手法が用いられてもよい。
【0033】
以下、上記のステップS102でK個のサブ学習用データ集合D1,・・・,DKが作成されたものとして、k番目のサブ学習用データ集合をD(k)={x(i)|i∈I(k)}とする。ここで、I(k)はk番目のサブ学習用データ集合D(k)に含まれる学習用データの番号(インデックス)の集合である。
【0034】
次に、モデル学習部201の学習部213は、サブ学習用データ集合D(k)(k=1,・・・,K)毎に、当該サブ学習用データ集合D(k)を用いて、MSPCの手法によってk番目の異常診断モデルM(k)を作成する(ステップS103)。これにより、対象の正常状態をそれぞれモデル化したK個の異常診断モデルM(1),・・・,M(K)が作成される。
【0035】
次に、モデル学習部201の学習部213は、各異常診断モデルM(k)の作成に用いられたサブ学習用データ集合D(k)を用いて、各異常診断モデルM(k)の代表点を計算する(ステップS104)。以下、異常診断モデルM(k)の代表点をr(k)とする。このとき、学習部213は、例えば、以下の平均値、中央値又は最頻値のいずれかを代表点r(k)とすればよい。
【0036】
・平均値
サブ学習用データ集合D(k)={x(i)|i∈I(k)}に含まれる学習用データの平均値を代表点r(k)とする。すなわち、x(i)=(x1
(i),・・・,xN
(i))Τ∈D(k)を用いて、状態変数xn(n=1,・・・,N)毎にxn
(i)(i∈I(k))の平均値μnを求め、r(k)←(μ1,・・・,μN)とする。
【0037】
・中央値
サブ学習用データ集合D(k)={x(i)|i∈I(k)}に含まれる学習用データの中央値を代表点r(k)とする。すなわち、x(i)=(x1
(i),・・・,xN
(i))Τ∈D(k)を用いて、状態変数xn(n=1,・・・,N)毎にxn
(i)(i∈I(k))の中央値mnを求め、r(k)←(m1,・・・,mN)とする。
【0038】
・最頻値
サブ学習用データ集合D(k)={x(i)|i∈I(k)}に含まれる学習用データの最頻値を代表点r(k)とする。すなわち、x(i)=(x1
(i),・・・,xN
(i))Τ∈D(k)を用いて、状態変数xn(n=1,・・・,N)毎にxn
(i)(i∈I(k))の最頻値mn'を求め、r(k)←(m1',・・・,mN')とする。
【0039】
そして、モデル学習部201の保存部214は、上記のステップS103で作成された異常診断モデルM(1),・・・,M(K)と、上記のステップS104で計算された代表点r(1),・・・,r(K)とをモデル記憶部203に保存する(ステップS105)。なお、このとき、保存部214は、異常診断モデルM(k)の作成に用いられたサブ学習用データ集合D(k)に関する様々な情報を当該異常診断モデルM(k)及び代表点r(k)と対応付けてモデル記憶部203に保存してもよい。例えば、保存部214は、サブ学習用データ集合D(k)に含まれる学習用データ数|D(k)|を異常診断モデルM(k)及び代表点r(k)と対応付けてモデル記憶部203に保存してもよい。また、例えば、保存部214は、サブ学習用データ集合D(k)に含まれる学習用データの散らばり具合を表すスコアS(k)(例えば、分散共分散行列の対角成分の積等)を異常診断モデルM(k)及び代表点r(k)と対応付けてモデル記憶部203に保存してもよい。
【0040】
≪異常診断処理≫
第一の実施形態に係る異常診断処理について、
図4を参照しながら説明する。以下では、診断用データxが異常診断装置10に与えられたものとする。なお、
図4のステップS201~ステップS204は、例えば、診断用データxが異常診断装置10に与えられる毎に繰り返し実行される。
【0041】
まず、異常診断部202の診断用データ取得部221は、与えられた診断用データxを取得する(ステップS201)。なお、診断用データ取得部221は、例えば、対象の運転データが格納されるデータベースサーバ等から診断用データxを取得してもよい。
【0042】
次に、異常診断部202のモデル選択部222は、モデル記憶部203に記憶されている複数の異常診断モデルの中から異常診断に利用する1つ以上の異常診断モデルを選択する(ステップS202)。ここで、異常診断に利用する1つ以上の異常診断モデルの選択方法としては様々な方法が考えられるが、モデル選択部222は、例えば、以下の選択方法1~選択方法5のいずれかにより1つ又は複数の異常診断モデルを選択すればよい。
【0043】
・選択方法1
診断用データxと各代表点r(k)との距離d(x,r(k))をそれぞれ求め、距離d(x,r(k))の値が最も小さい代表点r(k)に対応する異常診断モデルM(k)を選択する。これにより、診断用データxと代表点r(k)との距離が最も近い1つの異常診断モデルM(k)が選択される。
【0044】
・選択方法2
診断用データxと各代表点r(k)との距離d(x,r(k))をそれぞれ求め、距離d(x,r(k))の値が予め決められた距離R以内の代表点r(k)に対応する異常診断モデルM(k)を選択する。これにより、診断用データxと代表点r(k)との距離が予め決められた距離R以内の1つ以上の異常診断モデルM(k)が選択される。なお、距離Rは少なくとも1つの異常診断モデルM(k)が選択されるように適切な値に設定されているものとする。
【0045】
ここで、一例として、N=3であり、異常診断モデルM
(1)~M
(20)が存在するときに、選択方法2によって異常診断モデルを選択する場合を
図5に示す。
図5に示す例では、d(x,r
(5))≦R、d(x,r
(6))≦R、d(x,r
(10))≦R、d(x,r
(13))≦Rであり、4つの異常診断モデルM
(5)、M
(6)、M
(10)、M
(13)が選択される。
【0046】
・選択方法3
診断用データxと各代表点r(k)との距離d(x,r(k))をそれぞれ求め、距離d(x,r(k))の値が小さい順にL個の代表点r(k)に特定し、これらL個の代表点r(k)にそれぞれ対応するL個の異常診断モデルM(k)を選択する。これにより、診断用データxと代表点r(k)との距離が近い順にL個の異常診断モデルM(k)が選択される。なお、Lは予め決められた1以上の整数である。
【0047】
ここで、一例として、N=3であり、異常診断モデルM
(1)~M
(20)が存在するときに、選択方法3によって異常診断モデルを選択する場合を
図6に示す。
図6に示す例では、L=5であり、5つの異常診断モデルM
(13)、M
(10)、M
(5)、M
(6)、M
(16)が選択される。
【0048】
・選択方法4
モデル記憶部203に保存されている学習用データ数|D(k)|を用いて、d(x,r(k))/|D(k)|をそれぞれ求め、上記の選択方法1~選択方法3において、d(x,r(k))の代わりに、d(x,r(k))/|D(k)|を用いて1つ又は複数の異常診断モデルM(k)を選択する。これにより、学習用データ数も考慮して1つ以上の異常診断モデルを選択することができる。なお、異常診断モデルの作成に用いられた学習用データの数はその異常診断モデルの信頼性に影響があると考えられるため、この選択方法4は、異常診断モデルの信頼性を考慮した選択方法であるともいえる。
【0049】
・選択方法5
モデル記憶部203に保存されているスコアS(k)(つまり、サブ学習用データ集合D(k)に含まれる学習用データの散らばり具合を表すスコア)を用いて、S(k)×d(x,r(k))/|D(k)|をそれぞれ求め、上記の選択方法1~選択方法3において、d(x,r(k))の代わりに、S(k)×d(x,r(k))/|D(k)|を用いて1つ又は複数の異常診断モデルM(k)を選択する。なお、異常診断モデルの作成に用いられた学習用データの散らばり具合はその異常診断モデルの信頼性に影響がある(より具体的には、異常診断モデルの作成に用いられた学習用データの密度が高い方がその異常診断モデルの信頼性が高い)と考えられるため、この選択方法5は、選択方法4と同様に異常診断モデルの信頼性を考慮した選択方法であるともいえる。
【0050】
なお、上記の選択方法1~選択方法5で用いる距離dは特定の距離に限定されるものではなく、任意の距離を用いることが可能である。例えば、ユークリッド距離、マンハッタン距離、マハラノビス距離等を用いることが可能である。これにより、学習用データ数とその散らばり具合も考慮して1つ以上の異常診断モデルを選択することができる。
【0051】
以下、上記のステップS202で選択された異常診断モデルをM(k)(k∈W)とする。ここで、Wは、上記のステップS202で選択された異常診断モデルの番号(インデックス)の集合である。
【0052】
次に、異常診断部202の診断部223は、診断用データxと、上記のステップS202で選択された1つ以上の異常診断モデルM(k)(k∈W)とを用いて、対象の異常診断を行う(ステップS203)。ここで、診断部223は、例えば、|W|=1であるか否かに応じて、以下により異常診断を行えばよい。
【0053】
・|W|=1である場合
診断用データxと異常診断モデルM(k)とを用いて異常度a(例えば、Q統計量やT2統計量等)を求め、当該異常度aが予め決められた閾値を超えている場合は異常、そうでない場合は異常でないと診断する。
【0054】
・|W|≧2である場合
診断用データxと、各異常診断モデルM(k)(k∈W)の各々とを用いて、異常度a(k)(例えば、Q統計量やT2統計量等)を求め、各異常度a(k)(k∈W)の平均値を求める。そして、この平均値が予め決められた閾値を超えている場合は異常、そうでない場合は異常でないと診断する。なお、例えば、異常度a(k)(k∈W)の中央値(ただし、|W|が偶数である場合は、例えば、|W|/2番目に値が大きい異常度と(|W|+1)/2番目に値が大きい異常度との平均値)が予め決められた閾値を超えている場合は異常、そうでない場合は異常でないと診断してもよい。
【0055】
なお、上記のステップS203では異常度a(k)としてQ統計量又はT2統計量のいずれか一方を求める場合を想定しているが、Q統計量とT2統計量の両方を異常度として求めてもよい。この場合、|W|=1のときはQ統計量及びT2統計量の両方がいずれも閾値を超えている場合は異常、そうでない場合は異常でないと診断すればよい。同様に、|W|≧2のときはQ統計量の平均値とT2統計量の平均値がいずれも閾値を超えている場合は異常、そうでない場合は異常でないと診断すればよい。
【0056】
このように、上記のステップS202で選択された|W|個の異常診断モデルM(k)(k∈W)を用いて対象の異常診断が行われる。このため、例えば、K個すべての異常診断モデルM(k)によって対象の異常診断を行う場合と比較して、効率的に異常診断(つまり、比較的短時間で異常診断)を行うことができる。
【0057】
そして、異常診断部202の出力部224は、上記のステップS203における異常診断の結果を予め決められた所定の出力先に出力する(ステップS204)。なお、所定の出力先は特定の出力先に限定されるものではないが、例えば、異常診断装置10と通信ネットワークを介して接続される端末装置のディスプレイでもよいし、表示装置102でもよいし、補助記憶装置107でもよい。その他にも、例えば、対象を制御する制御機器等に対して異常診断の結果が出力されてもよい。対象を制御する制御機器等に対して異常診断の結果が出力されることにより、例えば、この制御機器等が異常診断の結果に基づいて対象を制御することが可能になる。
【0058】
<第一の実施形態のまとめ>
以上のように、第一の実施形態に係る異常診断装置10は、複数の異常診断モデルのうち、一部の異常診断モデルを用いて、診断用データから対象の異常診断を行うことができる。これにより、すべての異常診断モデルを用いて異常診断を行う場合と比較して、異常診断に要する計算時間が短縮され、効率的な異常診断を行うことが可能になる。
【0059】
[第二の実施形態]
次に、第二の実施形態について説明する。第一の実施形態では、複数の異常診断モデルの中から異常診断に利用する1つ以上の異常診断モデルを選択する際に、診断用データと各代表点と距離を求める必要がある。このため、特に異常診断モデルの総数Kが大きい場合、異常診断に利用する1つ以上の異常診断モデルを選択する際の計算コストが大きいという問題がある。
【0060】
そこで、第二の実施形態では、kd木と呼ばれるデータ構造を用いて、異常診断に利用する1つ以上の異常診断モデルを効率的に選択する場合について説明する。
【0061】
なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素についてはその説明を省略する。
【0062】
<異常診断装置10の機能構成例>
第二の実施形態に係る異常診断装置10の機能構成例を
図7に示す。
図7に示すように、第二の実施形態に係る異常診断装置10のモデル学習部201には、第一の実施形態で説明した保存部214の代わりに保存部214Aが含まれると共に、木構造作成部215が更に含まれる。また、第二の実施形態に係る異常診断装置10の異常診断部202には、第一の実施形態で説明したモデル選択部222の代わりにモデル選択部222Aが含まれる。更に、第二の実施形態に係る異常診断装置10は、第一の実施形態で説明したモデル記憶部203の代わりにモデル記憶部203Aを有する。なお、モデル記憶部203Aは、例えば、補助記憶装置107の記憶領域等により実現される。ただし、モデル記憶部203Aは、例えば、異常診断装置10と通信ネットワークを介して接続されるデータベースサーバの記憶領域等により実現されてもよい。
【0063】
木構造作成部215は、各異常診断モデルの代表点を用いて、各代表点をノードとするkd木を作成する。保存部214Aは、学習部213によって作成された各異常診断モデルとそれらの代表点と木構造作成部215によって作成されたkd木とをモデル記憶部203Aに保存する。
【0064】
モデル選択部222Aは、モデル記憶部203Aに記憶されている複数の異常診断モデルの中から異常診断に利用する1つ以上の異常診断モデルを選択する。このとき、モデル選択部222Aは、モデル記憶部203Aに記憶されているkd木を用いて、異常診断に利用する1つ以上の異常診断モデルを選択する。
【0065】
モデル記憶部203Aは、複数の異常診断モデルとこれら複数の異常診断モデルの各々の代表点とkd木とを記憶する。なお、モデル記憶部203Aには、異常診断モデル、その代表点、及びkd木だけでなく、その異常診断モデルの作成に用いられたサブ学習用データ集合に関する様々な情報(例えば、サブ学習用データ集合に含まれる学習用データの数等)が記憶されてもよい。
【0066】
<処理の詳細>
以下、第二の実施形態に係る異常診断装置10が実行するモデル学習処理と異常診断処理の詳細についてそれぞれ説明する。
【0067】
≪モデル学習処理≫
第二の実施形態に係るモデル学習処理について、
図8を参照しながら説明する。以下では、学習用データ集合Dが異常診断装置10に与えられたものとする。なお、
図8のステップS301~ステップS304は、
図3のステップS101~ステップS104とそれぞれ同様であるため、その説明を省略する。
【0068】
ステップS304に続いて、モデル学習部201の木構造作成部215は、ステップS304で計算された代表点r(1),・・・,r(K)を用いて、各代表点r(k)をノードとするkd木を作成する(ステップS305)。木構造作成部215は、2つの状態変数xi,xjを選択した上で、この2つの状態変数xi,xjと、代表点r(1),・・・,r(K)とを用いて、既知のkd木作成アルゴリズムにより、各代表点r(k)をノードとするkd木を作成すればよい。kd木作成アルゴリズムでは、状態変数xiと状態変数xjとに関して、領域内で中央値となる代表点の選択と、その代表点による領域分割とが交互に実行されることにより、kd木が作成される。なお、2つの状態変数xi,xjは予め決められていてもよい。
【0069】
一例として、K=7、r
(k)=(r
1
(k),・・・,r
N
(k))としたときのkd木による領域分割の例を
図9に示す。
図9に示す例では、まず、状態変数x
iに関して中央値となる代表点r
(4)が選択され、x
i≦r
i
(4)を満たす領域と、x
i>r
i
(4)を満たす領域とに分割される。次に、x
i≦r
i
(4)を満たす領域内で、状態変数x
jに関して中央値となる代表点r
(3)が選択され、x
i≦r
i
(4)かつx
j≦r
j
(3)を満たす領域と、x
i≦r
i
(4)かつx
j>r
j
(3)を満たす領域とに分割される。同様に、x
i>r
i
(4)を満たす領域内で状態変数x
jに関して中央値となる代表点r
i
(6)が選択され、x
i>r
i
(4)かつx
j≦r
j
(6)を満たす領域と、x
i>r
i
(4)かつx
j>r
j
(6)を満たす領域とに分割される。次に、x
i≦r
i
(4)かつx
j≦r
j
(3)を満たす領域内で、状態変数x
iに関して中央値となる代表点r
(2)が選択され、x
i≦r
i
(4)かつx
j≦r
j
(3)かつx
i≦r
i
(2)を満たす領域と、x
i≦r
i
(4)かつx
j≦r
j
(3)かつx
i>r
i
(2)を満たす領域とに分割される。同様に、x
i≦r
i
(4)かつx
j>r
j
(3)を満たす領域内で、状態変数x
iに関して中央値となる代表点r
(1)が選択され、x
i≦r
i
(4)かつx
j>r
j
(3)かつx
i≦r
i
(1)を満たす領域と、x
i≦r
i
(4)かつx
j>r
j
(3)かつx
i>r
i
(1)を満たす領域とに分割される。同様に、x
i>r
i
(4)かつx
j≦r
j
(6)を満たす領域内で、状態変数x
iに関して中央値となる代表点r
(5)が選択され、x
i>r
i
(4)かつx
j≦r
j
(6)かつx
i≦r
i
(5)を満たす領域と、x
i>r
i
(4)かつx
j≦r
j
(6)かつx
i>r
i
(5)を満たす領域とに分割される。同様に、x
i>r
i
(4)かつx
j>r
j
(6)を満たす領域内で、状態変数x
iに関して中央値となる代表点r
(7)が選択され、x
i>r
i
(4)かつx
j>r
j
(6)かつx
i≦r
i
(7)を満たす領域と、x
i>r
i
(4)かつx
j>r
j
(6)かつx
i>r
i
(7)を満たす領域とに分割される。
【0070】
これにより、xi≦ri
(4)かつxj>rj
(3)かつxi≦ri
(1)を満たす領域V1と、xi≦ri
(4)かつxj≦rj
(3)かつxi≦ri
(2)を満たす領域V2と、xi≦ri
(4)かつxj>rj
(3)かつxi>ri
(1)を満たす領域V3と、xi≦ri
(4)かつxj≦rj
(3)かつxi>ri
(2)を満たす領域V4と、xi>ri
(4)かつxj>rj
(6)かつxi≦ri
(7)を満たす領域V5と、xi>ri
(4)かつxj≦rj
(6)かつxi≦ri
(5)を満たす領域V6と、xi>ri
(4)かつxj>rj
(6)かつxi>ri
(7)を満たす領域V7と、xi>ri
(4)かつxj≦rj
(6)かつxi>ri
(5)を満たす領域V8とに分割される。
【0071】
なお、或る状態変数に関して領域分割を行うの際に、その領域に含まれる代表点の数sが偶数である場合、その状態変数に関してs/2番目に大きい値を取る代表点を中央値となる代表点としてよいし、s/2+1番目に大きい値を取る代表点を中央値となる代表点としてよい。
【0072】
図9に示す領域分割により、
図10に示す構造のkd木が得られる。このkd木により、診断対象データx=(x
1,・・・,x
N)が与えられたときに、その診断対象データxが属する領域を求めることができる。このため、例えば、診断対象データxが属する領域の境界上に存在する1以上の代表点に対応する1以上の異常診断モデルを選択することができる。また、例えば、診断対象データxが属する領域の境界上に存在する1以上の代表点の中から診断対象データxと最も距離が近い代表点を選択した上で、その代表点に対応する異常診断モデルを選択することもできる。
【0073】
ステップS305に続いて、モデル学習部201の保存部214Aは、ステップS303で作成された異常診断モデルM(1),・・・,M(K)と、ステップS304で計算された代表点r(1),・・・,r(K)と、上記のステップS305で作成されたkd木とをモデル記憶部203Aに保存する(ステップS306)。なお、このとき、保存部214は、kd木によって分割される各領域を示す情報と、その領域の境界上に存在する1以上の代表点を示す情報とを対応付けてモデル記憶部203Aに保存してもよい。
【0074】
≪異常診断処理≫
第二の実施形態に係る異常診断処理について、
図11を参照しながら説明する。以下では、診断用データxが異常診断装置10に与えられたものとする。なお、
図11のステップS401、ステップS403~ステップS404は、
図4のステップS201、ステップS203~ステップS204とそれぞれ同様であるため、その説明を省略する。
【0075】
ステップS401に続いて、異常診断部202のモデル選択部222Aは、モデル記憶部203Aに記憶されているkd木を用いて、モデル記憶部203Aに記憶されている複数の異常診断モデルの中から異常診断に利用する1つ以上の異常診断モデルを選択する(ステップS402)。ここで、モデル選択部222Aは、例えば、以下の選択方法6又は選択方法7により1つ又は複数の異常診断モデルを選択すればよい。
【0076】
・選択方法6
kd木により診断用データxが属する領域を求め、その領域の境界上に存在する1以上の代表点に対応する1以上の異常診断モデルを選択する。
【0077】
例えば、
図9に示す領域分割がkd木により行われたものとする。このとき、kd木により診断用データxが領域V
5に属すると求められた場合、
図12に示すように、領域V
5の境界上の代表点はr
(4)、r
(6)、r
(7)となる。このため、異常診断モデルM
(4)、M
(6)、M
(7)が選択される。
【0078】
・選択方法7
kd木により診断用データxが属する領域を求め、その領域の境界上に存在する1以上の代表点の中から診断対象データxと最も距離が近い代表点を選択した上で、その代表点に対応する異常診断モデルを選択する。
【0079】
例えば、
図12に示すように、kd木により診断用データxが領域V
5に属すると求められ、領域V
5の境界上の代表点がr
(4)、r
(6)、r
(7)である場合、距離d(x,r
(4))、d(x,r
(6))、d(x,r
(7))の値をそれぞれ求め、その値が最も小さい代表点に対応する異常診断モデルを選択する。
図12に示す例では、距離d(x,r
(6))の値が最も小さいため、異常診断モデルM
(6)が選択される。
【0080】
<第二の実施形態のまとめ>
以上のように、第二の実施形態に係る異常診断装置10は、各異常診断モデルの代表点をノードとするkd木を作成した上で、このkd木を用いて、異常診断に利用する1つ以上の異常診断モデルを選択する。これにより、第一の実施形態と比較して計算コストが大幅に削減されるため、異常診断モデルの総数Kが大きい場合であっても、異常診断に利用する1つ以上の異常診断モデルを比較的短い計算時間で選択することが可能となる。
【0081】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【0082】
[参考文献]
参考文献1:加納 学,「多変量統計的プロセス管理」,インタネット<URL:http://manabukano.brilliant-future.net/research/report/Report2005_MSPC.pdf>
【符号の説明】
【0083】
10 異常診断装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 モデル学習部
202 異常診断部
203 モデル記憶部
203A モデル記憶部
211 学習用データ取得部
212 分類部
213 学習部
214 保存部
214A 保存部
215 木構造作成部
221 診断用データ取得部
222 モデル選択部
222A モデル選択部
223 診断部
224 出力部