以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態に係るデータ抽出方法またはデータ分析システムは、複数の状態を識別するための有効な条件が未知の段階で、複数の状態が混在するデータ群から有意なデータの存在する領域を抽出する。
本実施形態は、例えば製造工場、倉庫、店舗などの各種施設または装置における、いわゆるIoTを利用した性能監視システム、性能監視方法、性能監視装置に適用することができる。
本実施形態では、二つ以上の状態が混在するデータ系列(即ち、データ群)に対して、前記データの値、および前記データから所定の方法により算出される値の少なくとも一方の分布を算出し、抽出対象領域に多く含まれる値の範囲を推測し、前記データを2以上の領域に分割し、前記範囲に含まれる値を多く含む分割領域を抽出する。
これにより本実施形態によれば、分析対象データに係わる実稼動領域の長さ、波形の形状、周波数特性などの状態を識別するための情報を必要とせずに、データ系列から有意データの領域を抽出することができる。
本実施形態は、例えば以下のように表現することもできる。
「表現1」
二つ以上の状態が混在する一つ以上のデータ系列から、有意なデータの領域の抽出を行うデータ抽出方法であり、
前記データの値、または前記データから所定の方法により算出される値の少なくとも一方の分布に対して、
抽出対象領域に多く含まれる値の範囲を推測するステップと、
前記範囲の値を多く含む領域を抽出するステップと
を有するデータ抽出方法。
「表現2」
表現1に記載されたデータ抽出方法であり、
前記データ系列毎に、
入力されたデータの値、および前記データから所定の方法により算出される値の少なくとも一方に対して、
値の分布を算出するステップと、
前記算出した各分布を基に、上閾値、および下閾値を算出するステップと、
入力されたデータを二つ以上の領域に分割し、前記分割された各領域において前記算出した上閾値を上回るデータの含有割合、および下閾値を下回るデータの含有割合の合計を算出するステップと、
前記分割された各領域において算出された前記二つの含有割合の合計が所定の閾値を上回るときに、該領域が抽出対象であると判定するステップと、
前記系列毎の判定結果を基に最終的な抽出対象領域を判定するステップと、
前記判定の結果を出力するステップと
を備えるデータ抽出方法。
「表現3」
表現2に記載されたデータ抽出方法であり、
前記データの領域分割、および領域の抽出判定を、データの分割数を所定の方法により増加して繰り返し実行するステップと、
現在の抽出対象領域を一回前の抽出対象領域と比較するステップと、
前記比較により、抽出対象部分の一致割合が所定の閾値を超えたときにデータの分割、および領域の抽出判定を終了し、終了したときの抽出対象領域を抽出対象であると判定するステップと
を備える表現1に記載したデータ抽出方法。
「表現4」
表現3に記載されたデータ抽出方法であり、
前記上閾値、および下閾値の算出方法が、前記データの値の分布の、上位から所定の割合に位置する値を上閾値として算出し、下位から所定の割合に位置する値を下閾値として算出するものであり、
前記所定の割合、前記含有割合の合計の閾値、および抽出対象部分の一致割合の閾値について、それぞれの範囲を指定して各閾値の組合せを一つ以上生成するステップと、
前記生成した各組合せに対して、表現3に示す方法で抽出対象領域を決定するステップと、
前記決定された各抽出対象領域を基に、各閾値の組合せの推薦順位を算出するステップと、
を備えるデータ抽出方法。
「表現5」
表現4に記載されたデータ抽出方法であり、
前記推薦順位を、連続する抽出領域の長さ、非抽出領域の値の分布、抽出領域の発生間隔、および分析対象データに占める抽出領域の割合の中から、一つ以上の情報を基に算出するデータ抽出方法。
「表現6」
表現3に記載されたデータ抽出方法であり、
一つ以上の階層を有する状態が混在する一つ以上のデータ系列に対して、
第一階層の状態を識別して前記状態毎にデータの抽出を行うステップと、
前記識別された状態から一以上の状態を選択し、前記選択したそれぞれの状態に対して、該状態として抽出されたデータから表現3に示す方法で抽出対象領域を決定するステップと、
を備えるデータ抽出方法。
「表現7」
二つ以上の状態が混在する一つ以上のデータ系列に対して、
前記データを各状態に識別して前記識別した状態毎にデータを抽出する方法であり、
前記データから所定の単位領域毎の代表値を算出するステップと、
前記算出した代表値を基に各単位領域の状態を識別するステップと、
前記識別した状態毎にデータを抽出するステップと、
前記分類された一つ以上の状態を選択し、前記選択したそれぞれの状態に対して、該状態として抽出されたデータの単位領域を二つ以上の領域に分割して各分割領域の代表値を算出するステップと、
前記単位領域内の各分割領域の代表値の最大値と最小値の差分を算出するステップと、
前記算出した差分を基に差分の閾値を算出するステップと、
前記各分割領域に対して、前記差分が前記差分の閾値を超えたときに該単位領域を変動領域と判定するステップと
を備えるデータ抽出方法。
「表現8」
表現7に記載のデータ抽出方法であり、
前記差分の閾値の算出方法が、
前記単位領域毎に算出した前記差分を昇順に整列するステップと、
前記昇順に整列された差分を前後に分割して分割区間毎に近似線を算出するステップと、
前記分割区間毎に算出された近似線との残差平方和を算出するステップと
算出された残差平方和の合計を算出するステップと、
前記昇順に整列された差分の前後の分割割合を変化させ、前記残差平方和の和が最小となる割合を検出するステップと、
前記検出した割合に従い、前記差分の閾値を算出するステップと、
を備えるデータ抽出方法。
「表現9」
表現7に記載のデータ抽出方法であり、
前記識別された一つ以上の状態のそれぞれに対して、該状態として抽出されたデータの代表値の分布を基に、前記代表値が前記分布の上位、または下位の所定の割合に含まれる単位領域を検出するステップと、
検出された該単位領域のうち、前記変動領域と判定されていない単位領域を外れ値と判定するステップと
を備えるデータ抽出方法。
「表現10」
二つ以上の状態が混在する一つ以上のデータ系列から、有意なデータの領域の抽出を行う分析システムであり、
前記データ系列毎に、前記データの値、または前記データから所定の方法により算出される値の少なくとも一方に対して、
値の分布を算出する機能と、
前記算出した分布を基に、上閾値、および下閾値を算出する機能と、
入力されたデータを二つ以上の領域に分割し、前記分割された各領域において前記算出した上閾値を上回るデータの含有割合、および下閾値を下回るデータの含有割合の合計を算出する機能と、
前記分割された各領域において算出された前記二つの含有割合の合計が所定の閾値を上回るときに、該領域が抽出対象であると判定する機能と、
前記系列毎の判定結果を基に最終的な抽出対象領域を判定する機能と、
判定結果を出力する機能と
を備える分析システム。
「表現11」
表現10に記載された分析システムであり、
前記データの領域分割、および領域の抽出判定を、データの分割数を所定の方法により増加して繰り返し実行する機能と、
現在の抽出対象領域を一回前の抽出対象領域と比較する機能と、
前記比較により、抽出対象部分の一致割合が所定の閾値を超えたときにデータの分割、および領域の抽出判定を終了し、現在の抽出対象領域を抽出対象であると判定する機能とを備える分析システム。
「表現12」
表現11に記載された分析システムであり、
一つ以上の階層を有する状態が混在する一つ以上のデータ系列に対して、
第一階層の状態を識別して前記状態毎にデータの抽出を行う機能と、
前記識別された状態から一つ以上の状態を選択し、前記選択した各状態に対して、該状態として抽出されたデータから表現3に示す方法で抽出対象領域を決定する機能と、
を備える分析システム。
「表現13」
表現11に記載された分析システムであり、
前記領域の抽出判定を行ったデータを学習データとして、前記データの分割、および領域の抽出判定を終了したときの分割数を基に分割領域の大きさを算出する機能と、
前記データの抽出を行った領域とは異なる領域の分析対象データを、前記算出した分割領域の大きさに従って分割する機能と、
前記分割した各分割領域において、前記算出した上閾値を上回るデータの含有割合、および下閾値を下回るデータの含有割合の合計を算出する機能と、
前記各分割領域において算出された前記二つの含有割合の合計が所定の閾値を上回るときに、該分割領域が抽出対象であると判定する機能と、
前記系列毎の判定結果を基に最終的な抽出対象領域を判定する機能と、
判定結果を出力する機能と
を備える分析システム。
「表現14」
表現13に記載された分析システムであり、
前記学習データから抽出されたデータ領域のデータの波形を学習する機能と、
前記分析対象データから抽出されたデータ領域のデータの波形を比較する機能と、
前記比較の結果を基に異常の有無を判定する機能と、
前記異常の有無の判定結果を出力する機能と
を備える分析システム。
図1~図16を用いて第1実施例を説明する。本実施例では、例えばプレス機に設置された荷重センサなどから得られるデータのように、実稼動領域(即ち、材料に実際に圧力を掛けている領域)では値の変動が大きく、その他の領域では値の変動が小さいデータ系列から、有意なデータ(即ち、実稼動領域)を抽出する例を説明する。
図1に、データ分析システム1の概要(即ち、データ抽出処理の概要)を示す。時系列データ11は、同じ動作を繰り返す製造機器等に設置されたセンサから収集された測定データであり、同じ波形111が繰り返し出現する。
データ分析システム1は、まず時系列データ11から学習期間を指定して学習データ112を抽出する(S1)。データ分析システム1は、学習データ112内の測定値の密度分布12を算出し、予め設定された下位A%(121)および上位B%(122)となる、下閾値Thaおよび上閾値Thbを算出する(S2)。
データ分析システム1は、学習データ112をk個のウインドウ13に分割する(S3)。データ分析システム1は、i番目のウインドウ13(W[i])において、測定値X<Tha、または測定値X>Thbとなる測定値Xの割合が、予め定められた割合(C%)以上となる場合に、そのウインドウ13(W[i])を抽出対象として抽出する。
本実施例では、測定値X<Tha、または測定値X>Thbとなる測定値Xの割合が、予め定められた割合(C%)以上となる領域を、実稼動領域に対応する領域であると推定して抽出する(S3)。図1(S3)において、両端に矢印を有する線分で示された領域は、実稼動領域に対応する測定値であり、繰り返して出現している。データ分析システム1は、この実稼動領域に対応するパターンに属する測定値がウインドウ内の測定値に占める割合(含有割合)を算出し、下位A%領域の含有割合と上位B%領域の含有割合との合計が所定の含有割合閾値C%を越えるウインドウを抽出する。
また、データ分析システム1は、各測定日時における測定値の傾きを算出して同様の抽出処理を行い、測定値または傾きのいずれかによりウインドウを抽出してもよい。すなわち、データ分析システム1は、データ群としての時系列データを、測定値に基づいて分析することもできるし、測定値の傾きに基づいて分析することもできるし、測定値と測定値の傾きの両方に基づいて分析することもできる。
以下、図2から図16を用いて、本実施例の詳細を説明する。図2は、本実施例におけるデータ分析システム1を含むシステム例を示す。
データ分析システム1は、例えばデータ分析装置102、データ格納装置101、および入出力装置104を含んでいる。分析対象105またはその周辺には、センサ103が設置されている。そして、データ格納装置101、データ分析装置102、入出力装置104、センサ103は、通信ネットワーク107を介して接続されている。これにより、データ分析システム1は、センサ103から測定データを収集して分析する。
通信ネットワーク107は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、イントラネット、専用線、携帯電話網、光ファイバ等の、有線または無線の通信基盤により構成される。
分析対象105は、例えば、製品の製造工場等に設けられている工作機械や製造装置(例えば、プレス機、NC工作機械、ロボットアーム、成形機、加硫機、3次元プリンタなど)である。分析対象105は、工作機械または製造装置に限らず、例えば、電車、電車に関連する設備、自動改札機、自動チェックイン機、現金自動機、照明装置、内燃機関、エレベータ、エスカレータ、空調装置、トイレ、炊飯器、電子レンジなどでもよい。分析対象105は、必ずしも通信ネットワーク107に接続されていなくてもよい。
センサ103は、例えば分析対象105に設けられてもよいし、分析対象105の近傍に設けられてもよい。データ分析システム1は、分析対象105に連動する他の装置(不図示)に設けられたセンサ103を利用することもできる。
センサ103の種類は問わない。センサ103は例えば、電流センサ、振動センサ、電圧センサ、周波数センサ、温度センサ、湿度センサ、圧力センサ、位置検知センサ、速度センサ、加速度センサ、ひずみセンサ、騒音センサ、照度センサ等である。
データ格納装置101は、例えば通信ネットワーク107を介してセンサ103から出力されるデータを取得する装置である。以下、データ格納装置101が取得するデータ(即ち、センサデータ)のことを取得データと称する。この取得データは「データ群」または「データ系列」の例であり、測定データと呼ぶこともできる。ただし、取得データは、時系列のデータに限定されない。
データ格納装置101は、取得データを格納している。データ格納装置101は、データ分析装置102からの要求に応じて、要求されたデータをデータ分析装置102へ送信する。
データ分析装置102は、センサ103から取得されたセンサデータ(本実施例では時系列データ)に対して後述の抽出処理を行うことにより、有意データ(即ち実稼動期間のデータ)を抽出する。
入出力装置104は、ユーザがデータ格納装置101およびデータ分析装置102にアクセスするためのユーザインタフェースを提供する。ユーザは、入出力装置104を介して、データ格納装置101およびデータ分析装置102に対して、データ入力や各種設定、および抽出処理を行うことができる。
ユーザは、入出力装置104を介して、データ格納装置101およびデータ分析装置102が出力する情報を参照したり取得したりすることができる。なお、データ格納装置101およびデータ分析装置102の入出力は、それぞれが有する入力デバイスおよび出力デバイスを介して行われてもよい。
入出力装置104は、通信ネットワーク108を介して、例えば診断システム106などと接続されてもよい。通信ネットワーク108と通信ネットワーク107とは同一ネットワークとして構成されてもよい。
データ格納装置101、データ分析装置102、および入出力装置104は、いずれも情報処理装置である。これらは独立したハードウェアであってもよいし、これらのうちの二つ以上が共通のハードウェアで構成されていてもよい。またこれらの装置は、それぞれ、その全部または一部が、例えばクラウドシステムにおけるクラウドサーバのような仮想的な情報処理資源を用いて構成されていてもよい。
図3は、データ分析装置102、データ格納装置101、および入出力装置104の各装置として用いることが可能な情報処理装置1000のハードウェア構成例である。図3に示すように、情報処理装置1000は、例えばプロセッサ1001、主記憶装置1002、補助記憶装置1003、入力装置1004、出力装置1005、および通信装置1006を備える。これらは図示しないバス等の通信手段を介して互いに通信可能に接続されている。
プロセッサ1001は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成される。プロセッサ1001が、主記憶装置1002に格納されているコンピュータプログラムを読み出して実行することにより、データ分析装置102、データ格納装置101、および入出力装置104の様々な機能が実現される。
主記憶装置1002は、コンピュータプログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、および不揮発性半導体メモリ等である。
補助記憶装置1003は、例えば、ハードディスクドライブ、SSD(Solid State Drive)、光学式記憶媒体(即ち、CD(Compact Disc)、およびDVD(Digital Versatile Disc)等)、ストレージシステム、ICカード(Integrated Circuit Card)、SDメモリカード、等の記録媒体の読取/書込装置、およびクラウドサーバの記憶領域等である。補助記憶装置1003に格納されているコンピュータプログラムやデータは、主記憶装置1002に随時読み込まれる。
入力装置1004は、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力デバイス等である。出力装置1005は、ユーザに処理経過や処理結果等の各種情報を提供するユーザインタフェースである。出力装置1005は、例えば、画面表示装置(即ち、液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、音声出力装置(即ち、スピーカ等)、印字装置等である。なお、例えば、情報処理装置1000が、通信装置1006を介して他の装置との間で情報を入出力してもよい。
通信装置1006は、LANやインターネット等の通信手段を介した他の装置との間の通信を実現する有線方式または無線方式の通信インタフェースである。通信装置1006は、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Bus)モジュール、シリアル通信モジュール等である。
なお、データ格納装置101、データ分析装置102、および入出力装置104が備える各種機能は、例えば、プロセッサ1001が、主記憶装置1002に読みだされているコンピュータプログラム(補助記憶装置1003から主記憶装置1002に読み出されるコンピュータプログラムを含む。)を実行することにより実現される。
図4に、データ格納装置101が備える主な機能、およびデータ格納装置101が記憶する主なデータを示す。
データ格納装置101は、データ記録機能1011およびデータ読出し機能1012を備えており、測定データ20を記録する。データ記録機能1011は、センサ103から受信したデータを測定データ20へ記録する。データ読出し機能1012は、データ分析装置102から指定されたデータを測定データ20から読出して、データ分析装置102へ送信する。
図5に、測定データ20の一例を示す。データ格納装置101およびデータ分析装置102が記録する各データは、例えばテーブル形式で記録される。測定データ20は、例えば、センサ識別子201、測定日時202、および測定値203の各項目を有するレコードを記録する。
センサ識別子201には、センサ103の識別子が記録される。センサ識別子201は、測定を行ったセンサ103を特定するための情報である。センサ識別子201は例えば、センサ103が設置されている建物の名前、階、部屋番号、装置名称や、センサ種類、通し番号などが単一で、または組み合わされて生成された識別子でもよい。測定日時202には、データの測定された日時が記録される。日時は必要に応じ、時間、分、秒、または秒未満の単位まで記録してもよい。測定値203には、センサ103が測定した値が記録される。
図6に、データ分析装置102が備える主な機能、およびデータ分析装置102が記憶する主なデータを示す。
データ分析装置102は、例えばデータ抽出機能1021、パラメータ設定機能1022、結果表示機能1023、およびデータ前処理機能1024を備えている、データ分析装置102は、例えば代表値データ21、抽出ウインドウデータ22、一致割合算出データ23、抽出波形データ24、およびデータ抽出条件25を記録する。
後述の実施例において、抽出フラグ履歴データ26と、モード識別機能1025と、状態監視機能1026とが使用される。
データ抽出機能1021は、入力されたデータから有意なデータを抽出する。パラメータ設定機能1022は、データ抽出に使用するパラメータを設定するための画面31(図15で後述)を生成して、出力装置1005または入出力装置104に表示する。パラメータ設定機能1022は、入力装置1004または入力装置205から上述の画面を介して、各種パラメータの入力を受け付ける。
結果表示機能1023は、データ抽出結果を出力装置1005または入出力装置104に表示する。データ前処理機能1024は、データ格納装置101から受信した測定データに前処理を行う。前処理とは、例えば、所定の単位時間当たりの平均値や中間値、または実効値等の算出である。以下では、前処理により得られた値を代表値と呼ぶ。データ前処理機能1024は、算出された代表値の傾きを算出することもできる。代表値と代表値の傾きとは、「所定値」の例である。
代表値データ21は、データ前処理機能1024により算出された代表値と代表値の傾きとを記録する。抽出ウインドウデータ22、一致割合算出データ23、および抽出波形データ24は、後述するデータ抽出処理の際に算出されたデータを記録する。
データ抽出条件25は、パラメータ設定機能1022により受付けたパラメータと、データ抽出機能1021により算出された各パラメータとを記録する。
図7に、代表値データ21の一例を示す。代表値データ21は、例えばセンサ識別子211、測定日時212、代表値213、および傾き214を記録する。センサ識別子211は、図5に示すセンサ識別子201と同じである。測定日時212は、単位時間に対する代表測定日時を記録する。代表測定日時とは、例えば、単位時間の始点の日時、終点の日時、または中間の日時などである。代表値213および傾き214は、それぞれデータ前処理機能1024により算出された代表値、および代表値の傾きを記録する。
図8は、抽出ウインドウデータ22の一例を示す。抽出ウインドウデータ22は、例えばウインドウ番号221、開始日時222、終了日時223、およびウインドウ抽出フラグ224を含む。
図9は、一致割合算出データ23の一例を示す。一致割合算出データ23は、例えば測定日時231、前回抽出フラグ232、今回抽出フラグ233、および一致フラグ234を含む。
図10は、抽出波形データ24の一例を示す。抽出波形データ24は、例えば抽出波形番号241、最大値242、最小値243、差分244、および長さ245を含む。図8,9,10の詳細は、後述のデータ抽出処理において説明する。
図11は、データ抽出条件25の一例を示す。データ抽出条件25は、例えば最大分割回数251、最大分割数252、一致割合253、測定値254(上位選択割合、下位選択割合、および含有割合)、傾き255(上位選択割合、下位選択割合、および含有割合)を含むことができる。これらの条件項目251~255には、パラメータ設定機能1022により受け付けられた各パラメータが記録される。結果256は、データ抽出機能1021により算出された結果の一部を記録する。
図12は、データ抽出シーケンスの一例を示す。なお、センサ103とデータ格納装置101間、およびデータ格納装置101とデータ分析装置102間の通信は、通信ネットワーク107を介して行われるが、図12では簡単のため通信ネットワーク107は省略する。
センサ103は、予め設定された間隔で分析対象105について測定し(S11)、測定結果(例えば、センサ識別子、測定日時、および測定値を含む)をデータ格納装置101へ送信する(S12)。
データ格納装置101のデータ記録機能1011は、センサ103から受信したデータを測定データ20の一部として記録する(S13)。センサ103による測定とデータ記録機能1011による測定データの記録とは、センサ103とデータ記録機能1011により、随時実行される。
一方、パラメータ設定機能1022は、データ抽出設定画面31を出力装置1005に表示させる(S14)。データ分析システム1を利用するユーザは、入力装置1004からデータ抽出設定画面31にデータ抽出に使用する情報を入力する。パラメータ設定機能1022は、入力装置1004から入力されたデータ抽出指示を受付け(S15)、入力された各種パラメータをデータ抽出条件25に記録する(S16)。
そして、パラメータ設定機能1022は、指示された学習期間のデータをデータ格納装置101に要求する(S17)。データ格納装置101のデータ読出し機能1012は、データ要求を受けると測定データ20から該当データを読出し(S18)、データ分析装置102へ送信する(S19)。
データ前処理機能1024は、データ格納装置101から学習データを受信すると、所定のデータ前処理を行い、代表値と代表値の傾きとを算出する(S20)。ここで代表値とは、予め定められた単位時間毎に算出される値であり、例えば、平均値、中間値、または実効値などである。代表値として、移動平均などを用いてもよい。
測定値をそのまま代表値として使用してもよいし、前処理済みのデータが入力されてもよい。データ抽出機能1021は、後述するデータ抽出処理を行う(S21)。結果表示機能1023は出力装置1005に抽出結果を表示する(S22)。上記の一連の処理において、入力および出力は、入出力装置104を介して行われてもよい。
図13は、図12中のデータ抽出処理S21の一例を示すフローチャートである。データ抽出機能1021は、代表値と代表値の傾きとの密度分布をそれぞれ算出し(S211)、データ抽出条件25に記録された測定値および傾きについての、下位の選択割合および上位の選択割合を基に、代表値の下閾値Tha1および上閾値Thb1と、傾きの下閾値Tha2および上閾値Thb2とをそれぞれ算出する(S212)。下位の選択割合と上位の選択割合とは、代表値と傾きとで異なってもよい。
データ抽出機能1021は、カウンタNを”1”に設定し、分割数Kを予め設定された初期値”k0”に設定し、一致割合算出データ23の前回抽出フラグ232をすべて”0”に設定する(S213)。
データ抽出機能1021は、後述の領域抽出処理を行い、一致割合算出データ23の今回抽出フラグ233を更新する(S214)。データ抽出機能1021は、一致割合算出データ23の各日時231の前回抽出フラグ232と今回抽出フラグ233とを比較し、両フラグが一致していれば一致フラグ234に”1”を設定し、両フラグが非一致であれば一致フラグ234に”0”を設定する(S215)。
データ抽出機能1021は、一致割合を算出し(S216)、算出された一致割合と予め定められた値D%とを比較する(S217)。データ抽出機能1021は、一致割合が閾値D%より大きければ(S217:YES)抽出箇所を決定し(S221)、一致割合および分割数Kをデータ抽出条件25に記録し、学習データ長を分割数Kで除算することによりウインドウサイズを算出し、データ抽出条件25に記録する(S222)。
データ抽出機能1021は、一致割合が閾値D%以下と判定された場合(S217:NO)、カウンタNを”1”だけインクリメントすると共に、分割数Kに予め定められた倍率Rを乗算することにより、新たな分割数Kを算出する(S218)。
データ抽出機能1021は、更新されたカウンタNおよび分割数Kを、それぞれ最大分割回数N_maxおよび最大分割数K_maxと比較する(S219)。データ抽出機能1021は、カウンタKが最大分割回数N_maxを超えているか、あるいは、分割数Kが最大分割数K_maxを超えている場合(S219:NO)、ステップS221へ進んで抽出箇所を決定する。
これに対し、データ抽出機能1021は、カウンタKが最大分割回数N_max以下であり、かつ、分割数Kも最大分割数K_max以下である場合(S219:YES)、一致割合算出データ23の前回抽出フラグ232を今回抽出フラグ233で上書きし(S220)、領域抽出処理(S214)へ戻る。このように、有意なデータの領域であると抽出される箇所が変化しなくなるまで(即ち、一致割合がD%を超えるまで)、分割数Kを段階的に増加させる。これにより、適切な分割数Kを用いて、有意データの領域を特定することができる。
図14は、図13中の領域抽出処理S214の一例を示すフローチャートである。データ抽出機能1021は、学習期間をK個のウインドウに分割し(S2140)、ウインドウ変数iに”1”を設定する(S2141)。
データ抽出機能1021は、ウインドウW[i]内の代表値Yに対して、代表値Yが下閾値Tha1未満となる割合(Ar1)と、代表値Yが上閾値Thb1を超える割合(Br1)とをそれぞれ算出する(S2142)。
データ抽出機能1021は、ウインドウW[i]内の傾きZに対して、傾きZが下閾値Tha2未満となる割合(Ar2)と、傾きZが上閾値Thb2を超える割合(Br2)とをそれぞれ算出する(S2143)。
データ抽出機能1021は、「Ar1+Br1>C1」または「Ar2+Br2>C2」のいずれか一方でも満たす場合(S2144:YES)、抽出ウインドウデータ22において、ウインドウ番号(即ちi)とウインドウW[i]の開始日時および終了日時とを記録し、ウインドウW[i]の抽出フラグに”1”を記録する(S2145)。
一方、データ抽出機能1021は、「Ar1+Br1>C1」または「Ar2+Br2>C2」のいずれも満たさない場合(S2144:NO)、抽出ウインドウデータ22において、ウインドウ番号(即ちi)とウインドウW[i]の開始日時および終了日時とを記録し、ウインドウW[i]の抽出フラグに”0”を記録する(S2146)。
データ抽出機能1021は、変数iを”1”だけインクリメントし(S2147)、変数iが分割数K以下であれば(S2148:NO)、ステップS2142へ戻る。
データ抽出機能1021は、変数iが分割数Kより大きければ(S2148:YES)、抽出ウインドウデータ22のウインドウ抽出フラグ224に従い、一致割合算出データ23の今回抽出フラグ233を更新する(S2149)。
具体的には、データ抽出機能1021は、ウインドウW[i]のウインドウ抽出フラグ224が”1”であれば、ウインドウW[i]の開始日時222から終了日時223までに含まれる日時について、一致割合算出データ23の対応する測定日時231の今回抽出フラグ233を1に設定し、ウインドウ抽出フラグ224が”0”ならば今回抽出フラグ233を”0”に設定する。
なお、ステップS2149において今回抽出フラグ233を更新する前に、ノイズを除去してもよい。ノイズ除去の方法としては、例えば、抽出ウインドウの連続数が短い場合(例えば連続数が”1”の場合)は、該ウインドウを非抽出に変更する方法、または、その逆の方法がある。さらに、ノイズ除去のために、連続して抽出された複数のウインドウで構成される領域について、抽出領域の最大値と最小値との差分が小さい領域を対象外にしたり、抽出領域の長さが短い領域を対象外にしたりしてもよい。
図15は、データ抽出設定画面31の一例を示す。図15では、「部」および「指定欄」という文言を省略して示している。
学習データ指定部310は、センサ指定欄および範囲指定欄を有する。ユーザは、学習データ指定部310を通じて、センサ103と学習データの範囲(即ち、開始日時、および終了日時)とを指定する。なお、本実施例では、センサ103を一つだけ指定する場合を説明するが、二つ以上のセンサを指定することもできる。
データ前処理部311では、データ前処理の方法と単位時間とを指定する。例えば、前処理方法が平均値であり、単位時間が1秒である場合を説明する。この場合の前処理では、1秒毎に平均値を算出し、算出された平均値を代表値として用いる。なお、前処理の方法と単位時間とは、ユーザが数値を直接入力することで指定してもよいし、プルダウンメニューに用意された値の中からユーザが選択してもよい。なお、前処理済みのデータを使用する場合に備えて、例えば、「前処理なし」の選択肢をプルダウンメニューに含めてもよい。
パラメータ設定部312では、データ抽出処理において使用する各種パラメータを設定する。最大分割数指定欄313と最大分割回数指定欄314と一致割合指定欄315とは、それぞれ図13のステップS219のK_maxおよびN_maxと、ステップS217の閾値D%とに相当する。
測定値指定欄316に含まれる上位選択割合および下位選択割合は、図13のステップS212において、測定値の密度分布から、上閾値Thb1および下閾値Tha1をそれぞれ算出するための割合である。含有割合は、図14のステップS2144の含有割合閾値C1を示す。
傾き指定欄317は、測定値指定欄316と同様に構成される。すなわち、ユーザは、傾き指定欄317において、上閾値Thb2および下閾値Tha2をそれぞれ算出するための割合、及び含有割合閾値C2をそれぞれ指定することができる。
画面31には、各パラメータのデフォルト値が表示されていてもよいし、上述のようにプルダウンメニューから値を選択可能でもよい。ユーザが決定ボタン318を押すことにより、上述のパラメータがデータ分析装置102へ入力される。ユーザがキャンセルボタン319を押すことにより、キャンセルされる。
図16は、データ抽出結果表示画面32の一例を示す。図16では、「表示部」、「欄」、「部」という文言を省略して示している。
データ抽出パラメータ表示部320では、データ抽出設定において設定された各パラメータを設定条件欄321に、データ抽出処理により得られた結果(即ち、分割数、ウインドウサイズ、および一致割合)を結果欄322にそれぞれ表示する。表示内容は、図16に示す例よりも多くてもよいし、少なくてもよい。例えば、抽出領域の長さの平均値などが表示されてもよいし、図16に示す項目の一部だけが表示されてもよい。
データ抽出グラフ表示部323は、データ抽出処理により抽出されたデータ領域を可視化する。抽出領域と非抽出領域とを、色、太さ、線種(例えば、実線、破線、および点線など)などで区別してデータ抽出グラフを作成してもよい。
マージン指定部324は、有意データとして抽出された領域の前後にマージンを付加するためのものである。ユーザは、例えば、データ抽出グラフ表示部323に表示されたグラフに基づいて、マージンを設定してもよい。図16では、理解のために、マージンを設定できる様子を矢印で示している。この矢印は、実際の画面32では表示させないことができる。
マージンの単位としては、ウインドウ、または秒を用いることができる。ユーザは、決定ボタン325またはキャンセルボタン326の押下により、マージンを決定したり、キャンセルしたりすることができる。
本実施例では、センサ103により測定されたデータは、データ格納装置101に格納された後、データ抽出処理の開始時に、データ分析装置102によりデータ格納装置101から読み出された。これに代えて、例えば、センサ103により測定されたデータは外部記憶メディア(不図示)に格納されてもよい。データ分析装置102は、外部記憶メディアから測定データを読み出して、有意データを抽出することもできる。測定データは、センサ103からデータ分析装置102へ直接送信されてもよい。前処理済みのデータがデータ分析装置102に入力されてもよい。
このように構成される本実施例によれば、従来技術のように有意データの特徴に基づく抽出条件を設定する必要がなく、測定データそのものから自動的に有意データの範囲を特定し、有意データを容易かつ正確に抽出することができる。これにより、本実施例のデータ分析システム1は、ユーザの使い勝手も向上する。
図17~図24を用いて第2実施例を説明する。本実施例を含む以下の各実施例では、第1実施例との差異を中心に述べる。第1実施例では、各パラメータ(即ち、測定値および傾きについての、上位割合、下位割合、ウインドウ内での含有率、及び一致割合)を固定して有意データを抽出した。本実施例では、最適なパラメータを自動的に選択する。
図17は、データ抽出設定画面31の備えるパラメータ設定部312Aである。本実施例では、一致割合315Aと、測定値316Aおよび傾き317Aの、上位選択割合と下位選択割合と含有割合とを、範囲および刻み幅で指定する。
本実施例では、各パラメータの値を、指定された範囲内で指定された刻み幅で変化させながら、有意データを抽出する。本実施例では、指定範囲内で指定幅ずつ変化する各パラメータの網羅的組合せに基づいて、有意データを抽出する。これにより、本実施例では、パラメータの最適な組合せを自動的に検出して選択することができる。
図18は、データ抽出条件25Aである。本実施例では、データ抽出条件25Aは、各パラメータ(即ち、設定条件)を変動させることにより得られる組合せを、試行番号257Aと共に設定条件258Aへ記録する。
指定された各設定条件で有意データの抽出を行い、得られた結果を結果256Aに記録する。結果256Aには、分割数、ウインドウサイズ、一致割合(結果)、抽出した有意領域長の分散、非抽出箇所の測定値の分散、及び抽出割合などを記録する。
図19は、本実施例で使用する抽出ウインドウデータ22Aの一例を示す。本実施例の抽出ウインドウデータ22Aは、図8で述べた抽出ウインドウデータ22に対して、試行番号225Aを追加している。試行番号225Aの値は、他の図面における試行番号(図18の試行番号257A、図20の試行番号246A、図21の試行番号261、図24の試行番号331)と共通する。試行番号を介することにより、設定条件とウインドウ抽出結果(抽出フラグ224A)とを結びつけることができる。
図20は、本実施例における抽出波形データ24Aの一例を示す。抽出ウインドウデータ22Aと同様に、本実施例の抽出波形データ24Aは、図10で示した抽出波形データ24に試行番号246Aを追加することにより、設定条件と抽出した波形のデータとを結び付けて記録する。
図21は、抽出フラグ履歴データ26を示す一例である。抽出フラグ履歴データ26は、一致割合算出データ23の今回抽出フラグ233の履歴であり、設定条件(即ち、試行番号261)毎に抽出箇所を記録する。
図22は、最適パラメータを選択する処理の一例を示すフローチャートである。データ抽出機能1021は、各パラメータをパラメータ設定部312Aにより指定された範囲で変化させることにより、パラメータの組合せ(即ち、設定条件の組合せ。以下、条件組合せと記す。)を生成し、データ抽出条件25Aの試行番号257Aおよび設定条件258Aに記録する(S301)。試行番号257Aは、データ抽出条件組合せの識別子であり、数字に限定しない。以下、データ抽出条件の組合せのことを、条件組合せまたは組合せと呼ぶ場合がある。
データ抽出機能1021は、データ抽出処理が実施されていない条件組合せを一つ選択し(S302)、データ抽出処理(S303)を行い、抽出ウインドウデータ、抽出波形データ、および抽出フラグ履歴データを更新し、データ抽出条件25Aの結果欄へ記録する(S304)。ステップS303でのデータ抽出処理は、図13で述べたデータ抽出処理S21と同様であるため、これ以上の記載は省略する。
データ抽出機能1021は、パラメータの全組合せに対してデータ抽出処理が終了したか否かを確認し(S305)、未処理の組合せがあれば(S305:NO)、ステップS302へ戻り、未処理の組合せを一つ選択する。
全てのパラメータの組合せに対してデータ抽出処理が終了すると(S305:YES)、データ抽出機能1021は、後述する推薦順位算出処理を実行し(S306)、最適パラメータ選択処理を終了する。
図23のフローチャートは、図22で示した推薦順位算出処理S306の例を示す。データ抽出機能1021は、抽出箇所の長さの分散(即ち、抽出波形の長さの分散)が、予め設定された長さ閾値V_lenよりも小さくなる設定条件を抽出する(S3061)。データ抽出機能1021は、抽出された設定条件の中で、非抽出箇所の測定値の分散が小さい順に推薦順位を付与する(S3062)。
抽出波形の長さの分散を制限することにより、繰り返し出現する波形をほぼ同じ長さで抽出する設定条件を選択することができる。一方、非抽出箇所の分散が小さい組合せを選ぶことにより、波形(即ち、測定値や傾きの変化の大きい有意データ領域)を漏れなく抽出することができる。
分析対象105である機器または装置などの特徴などから、波形の大まかな長さや発生間隔などが事前に得られる場合もある。この場合は、想定される抽出割合を算出し、データ抽出処理により得られた抽出割合と比較して、近い順に推薦順位を付与してもよい。または、想定される抽出割合とデータ抽出処理により得られた抽出割合とが近い順に、上位の組合せを予め設定された件数だけ選択し、選択された組合せの中から、非抽出箇所の測定値の分散が小さい順に推薦順位を付与してもよい。または、抽出箇所の発生間隔を基に推薦順位を算出したり、これらの条件に重みを付けて総合的に推薦順位を付与したりしてもよい。
図24は、データ抽出結果の表示画面の一例である。この画面には、データ抽出パラメータ33について、全ての組合せを試行した結果が示されている。この画面には、試行番号331、選択欄332、推薦順位表示欄333、設定条件表示部334、結果表示部335、ボタン336~338が表示される。図24では、「欄」、「表示欄」、「ボタン」という文言を省略している。
図24の画面では、データ抽出条件25Aに記録された内容を、最適パラメータ選択処理により算出された推薦順位333と共に表示する。画面に選択欄332を設けることもできる。ユーザは、表示結果を参考にして選択欄332を使用することにより、パラメータの組合せを選択することができる。
推薦順位の全ての組合せのうち上位の組合せ(即ち、評価のよい組合せ)や、選択欄332で選択された組合せなどを、ハイライトなどで強調表示してもよい。
データ抽出グラフを一括表示させるボタン336を設けることにより、ユーザは、一度の操作で、各条件組合せのデータ抽出グラフ323を一括表示させることができる。さらに、試行番号331の各番号にリンクを設定し、ユーザが試行番号を選択すると、図16に示すデータ抽出結果32や、その一部分が表示させるようにしてもよい。
このように構成される本実施例によれば、あらかじめ指定した範囲内で各パラメータを所定量ずつ変化させることにより、パラメータの組合せを網羅的に生成し、生成された各組合せについてデータ抽出処理を自動的に実行し、その結果を表示する。したがって、本実施例によれば、抽出箇所を可視化して、最適なパラメータの組合せを容易に選択することができ、第1実施例よりもさらに使い勝手が向上する。
本実施例によれば、データ抽出時の設定条件を可変にして有意データの抽出を行うため、分析対象105の種類等に基づく異なる特徴を有する時系列データについても、柔軟に対応することができ、有意データを的確に抽出することができる。
なお、本実施例では、パラメータ設定部312Aにおいて、ユーザが各パラメータの範囲を個別に手動で指定する例を示したが、これに代えて、予め各パラメータの範囲が設定されてもよい。これにより、ユーザによるパラメータの範囲指定を省略できる。
図25を用いて第3実施例を説明する。前記各実施例では、有意データの領域(以下、有意領域とも呼ぶ)は測定値の変化が激しく、有意データ以外のデータの領域では測定値の変化が小さい時系列データについて、有意領域を抽出する場合を説明した。本実施例では、有意領域の抽出が困難な時系列データにおいて、同時に計測された他の時系列データを用いて、波形の区切りを検出する方法を説明する。
図25は、同時に計測された二つの時系列データを示す。「データ群」としてのデータ系列DAでは、同じ波形が繰り返し出現するが、常に変化が大きく、有意領域の抽出は難しい。このようなケースにおいて、データ系列DAに関連して変化する他のデータ系列DBのデータ抽出結果を用いることにより、データ系列DAから有意領域を抽出する。図25では、データ系列を「系列」と略記している。
データ系列DAとデータ系列DBとが同時に発生する場合、データ系列DBは、データ系列DAに関連して変化するデータ列であると推定してもよい。データ系列DA,DB間に相関がない場合は、さらに別のデータ系列を参考にすればよい。
他のデータ系列として、第1実施例または第2実施例で述べた有意領域の抽出が容易なデータ(即ち、図25に示すデータ系列DB)が存在する場合、前記各実施例にしたがってデータ系列DBの有意領域を抽出する。そして、データ系列DBの有意領域のうち予め定められた所定位置(例えば、先頭、または最大値を取る箇所など)を、波形の区切りであると定義する。
これにより、抽出対象箇所が連続しており、有意領域の波形の抽出が困難なケース(データ系列DA)においても、波形の区切りを検出することができる。この結果、本実施例では、動作周期Tc1~Tc3の一周期の長さ、波形の形、または周波数特性などの情報を事前に必要とすることなく、データの周期毎の分割や抽出が可能になる。
図26を用いて第4実施例を説明する。本実施例では、同時に計測された複数のデータ系列DC,DDについて、それぞれ単独で第1実施例または第2実施例により有意データの領域を抽出した後に、それぞれの抽出結果を統合することにより、新たな有意領域を抽出する例を説明する。
図26は、同時に計測された二つの時系列データ(データ系列DC,データ系列DD)を示す。領域Ac1および領域Ac2は、データ系列DCについて前記各実施例で述べたいずれかの方法により抽出された有意領域である。同様に、領域Ad1および領域Ad2は、データ系列DDについて前記各実施例で述べたいずれかの方法により抽出された有意領域である。以下の説明では、各領域Ac1,Ac2を領域Acと、各領域Ad1,Ad2を領域Adと、領域Aa1,Aa2を領域Aaと、それぞれ呼ぶ場合がある。
ここで、新たな有意領域Aaを、一方のデータ系列DCから抽出された有意領域Acと他方のデータ系列DDから抽出された有意領域Adとの和(即ち、OR)として定義する。
本実施例において、データ系列DCは、例えばあるシステムの温度や回転数などであり、データ系列DDは、例えばデータ系列DCに示す温度や回転数が上がることにより動き始める装置(例えばアームなど)に付されたセンサから得られる時系列データ(例えば加速度など)である。
データ系列DCの抽出領域Acとデータ系列DDの抽出領域Adを包含して最終的な抽出領域Aaとすることにより、例えば、一方のデータ系列DCに対応する分析対象105の動作だけでなく、他方のデータ系列DDに対応する分析対象105(例えばアーム)の動作開始時間なども監視することができ、より柔軟にデータを分析したり、監視したりすることができる。
複数のデータ系列から最終的な有意領域Aaを抽出する方法は、各データ系列の抽出領域Ac,AdのORを取る方法に限らない。例えば、各データ系列の抽出領域Ac,AdのANDを取る方法、または多数決により抽出するなどの方法を用いて最終的な有意領域Aaを抽出してもよい。
新たな有意領域Aaを抽出する際に、必ずしも測定した全てのデータ系列を用いる必要はない。相関が既知であるデータ系列を選択し、選択されたデータ系列を基に新たな有意領域を抽出してもよい。
このように構成される本実施例も第3実施例と同様の作用効果を奏する。さらに、本実施例によれば、複数のデータ系列を総合的に解析することができるため、より柔軟なデータ分析を行うことができる。
図27を用いて第5実施例を説明する。本実施例では、複数の次元におけるデータ抽出について説明する。
図27は、2次元のデータの例(例えば、画像など)14を示す。例えば画像データでは、任意の画素がそれぞれRGBの3つの色成分の数値で示される。そこで、本実施例では、RGBの3系列について、値の分布をそれぞれ作成する。そして、RGBの3系列のデータについてそれぞれ、第1実施例と同様に、下位A%となる下閾値Thaと上位B%となる上閾値Thbとを算出する。
本実施例では、例えば、画像の領域をX軸方向およびY軸方向にそれぞれK個ずつに分割して得られる2軸のウインドウW[i,j]について、各ウインドウが抽出対象であるか否かを判定する。さらに、分割数Kを徐々に増やし、画素の抽出箇所の一致割合がD%を超えたときに、抽出領域であると判定する。ここで、iおよびjは、1以上、K以下の整数である(1≦i≦K,1≦j≦K)。
第4実施例で述べたと同様に、RGB3系列のデータの抽出結果からAND、OR、または多数決などで、最終的な抽出対象を決定してもよい。RGBの値の代わりに、画素の濃度値を用いて抽出してもよい。
傾きの値の分布を基にした分析は省略してもよい。画素毎に、RGBの値または濃度の各系列について、X軸方向およびY軸方向に傾きを算出し、傾きが大きい画素を多く含むウインドウを抽出箇所であると判定してもよい。
本実施例に第2実施例を適用して、指定された範囲内で網羅される組合せの中から最適なパラメータを自動検索してもよい。
データ前処理において、隣接する二つ以上の画素を含む単位領域を設定し、単位領域毎に代表値を算出し、代表値を基に分析してもよい。
X軸方向の分割数とY軸方向の分割数とは一致してもよいし、異なってもよい。
本実施例においては2次元におけるデータ抽出の例を示したが、3次元以上のデータについても、同様に拡張可能である。また、1次元のデータにおいても、軸は必ずしも時間軸である必要はない。このように構成される本実施例によれば、多次元のデータについても有意領域を抽出することができる。
図28を用いて第6実施例を説明する。第4実施例では、二つ以上のデータ系列を組み合わせて、動作周期の区切りを検出する方法を説明した。本実施例では、有意領域の抽出が難しいデータ系列において、そのデータ系列単独で動作周期の区切りを自動検出する方法を説明する。
図28は、データ系列の例および抽出方法を模式的に示す。本実施例のデータ抽出機能は、第1実施例と同様に、学習データの測定値の分布を基に、下位A%となる下閾値Thaを算出する。
データ抽出機能は、学習データをK個のウインドウに分割し、測定値が下閾値Tha未満となる割合が閾値C%以上のウインドウ13Aを抽出する。そして、データ抽出機能は、第1実施例と同様の処理により、分割数Kを徐々に増加させることにより抽出領域を決定する。
データ抽出機能は、各抽出領域から、例えば最低値を検出し、最低値を記録した箇所を動作周期の区切りと定義する。各抽出領域の始点、終点、または中間点などを動作周期の区切りであると定義してもよい。
データ抽出機能は、第2実施例と同様に、下位A%,含有割合C%、および一致割合D%の最適値や推奨順位を算出してもよい。最適値の算出では、例えば、区切り位置の間隔の分布を取り、標準偏差が小さい順に、推奨順序を決定してもよい。また、下位A%のデータを抽出する代わりに、上位B%のデータを抽出することにより、動作周期の区切りを検出してもよい。
このように構成される本実施例によれば、第1実施例の方法による有意データの抽出が困難なデータ系列の場合でも、そのデータ系列だけで動作周期の区切りを検出することができる。
図29~図35を用いて第7実施例を説明する。第1実施例および第2実施例では、測定値の変化が大きい領域を有意データとして抽出した。本実施例では、時系列データの中に、二つ以上の状態(例えば、電源ON,電源OFFなど。以下、モードと記す)が混在するケースにおけるデータのモード識別方法を示す。
図29に、二つ以上のモードが混在するデータの例を示す。本実施例のデータ11は、電源OFF(M1)(以下、OFFモードM1と記す)と、電源ONかつ待機中(M2)(以下、待機モードM2と記す)と、電源ONかつ稼動中(M3)(以下、稼動モードM3と記す)の合計3つのモードを含む。
一般的に、各モード間には、測定値が変化していく過渡期15-1,15-2(区別せずに過渡期15と呼ぶことがある)が存在する。本実施例に示されるように、二つ以上のモードが混在するデータ11に対して第1実施例または第2実施例で述べたデータ抽出処理を実行すると、分析精度が下がり、期待する結果が得られない可能性がある。したがって、稼動モードM3に属するデータを抽出してから、第1実施例または第2実施例で述べたデータ抽出を行うことが望ましい。
そこで、本実施例では、以下に述べる方法により、データ11に含まれる各モードを識別し、過渡期15を検出する。本実施例のデータ分析装置102は、モード識別機能1025を用いる。
図30は、モード識別処理S31の一例を示すフローチャートである。例えば、図12に示すデータ抽出シーケンスにおける代表値算出(S20)の後に本処理を行い、稼動モードM3の領域を抽出した後で、データ抽出処理(S21)を行ってもよい。
モード識別機能1025は、データ11に対して、予め設定された単位時間毎に代表値を算出する(S311)。なお、本実施例における単位時間は、第1実施例,第2実施例で用いられた単位時間と一致してもよいし、異なってもよい。
モード識別機能1025は、算出された代表値を用いて、クラスタリング(例えば、k-means)することにより、各単位時間のモードを識別する(S312)。モード識別機能1025は、後述の過渡期検出処理(S313)、および外れ値検出処理(S314)を実施し、処理を終了する。
図31は、過渡期検出処理S313の一例を示すフローチャートである。過渡期15とは、或るモードから他のモードへの遷移中の状態である。したがって、過渡期15における測定値は、遷移前のモードで多く見られる値から、遷移後のモードで多く見られる値へと変化する。このため、過渡期15に属する単位時間内では、測定値が変化する。
モード識別機能1025は、クラスタリングされた各モードから、過渡期検出処理が未処理のモードを一つ選択する(S3131)。モード識別機能1025は、選択されたモードに分類された各単位時間をさらにN個に分割し、各分割領域の代表値を算出する(S3132)。ここでNは、予め設定された2以上の整数である。
モード識別機能1025は、単位時間毎に、分割領域の代表値の最大値と最小値とを検出し、その差分を算出する(S3133)。
モード識別機能1025は、過渡期閾値Thtを算出する(S3134)。モード識別機能1025は、単位時間毎に差分が過渡期閾値Thtを超えているか判定する(S3135)。モード識別機能1025は、差分が過渡期閾値Thtより大きければ(S3135:YES)、過渡期フラグを設定する(S3136)。モード識別機能1025は、差分が過渡期閾値Tht以下の場合(S3135:NO)、ステップS3136をスキップしてステップS3137へ進む。
モード識別機能1025は、全てのモードについて過渡期抽出処理が終了したか否かを判定し(S3137)、未処理のモードがあれば(S3137:NO)、ステップS3131へ戻る。全て処理済であれば(S3137:YES)、本処理を終了する。
図32に、ステップS3132およびステップS3133の処理を模式的に示す。測定データ11を単位時間tu毎にN分割し、分割された領域毎に代表値を算出し、最大値Maxと最小値Minとの差分Δdを算出する。
図33は、過渡期閾値Thの算出方法の一例を示す。モード識別機能1025は、ステップS3133で得られた差分を昇順に整列させる。安定期は、密度が高く、差分は緩やかに増加する。過渡期は、密度が低く、差分は急激に増加する。このため、図33(1)のグラフに示すように、傾きのゆるい区間と、傾きの急な区間とが得られる。
図33(3)に示すように、昇順に整列された差分のうち前半X%が安定期17に含まれ、後半(100-X)%が過渡期15に含まれると考える。これにより、安定期17および過渡期15それぞれに差分の近似線(安定期近似線L1、および過渡期近似線L2)を算出する。
近似線の算出方法には、例えば、最小二乗法がある。安定期17および過渡期15のそれぞれで、算出された近似線(L1およびL2)と実際の差分の残差平方和とを算出し、二つの残差平方和の合計を算出する。図33(2)に示すように、安定期17の割合X%を変化させて残差平方和の合計を算出し、残差平方和の合計が最小となる割合X%を算出する。その割合X%における安定期17の差分の最大値と過渡期の差分の最小値との平均を取り、この平均値を過渡期閾値Thtと定義する。
図34は、過渡期閾値Thtの算出方法の別の一例を示す。本例では、最大値と最小値の差分を算出する際に、その出現順も考慮し、最小値が先に出現していれば正の符号を差分に付し、最小値が後に出現していれば負の符号を差分に付す。
算出された符号付差分値yの分布から、平均値mおよび標準偏差σを算出し、符号付差分が3σ区間に含まれれば(即ち、符号付差分値yと、平均値mとの差の絶対値を標準偏差σで除した値が3以下であれば)安定期と判定し、3σ区間に含まれなければ過渡期と判定する。
この例では、過渡期閾値Thtは、上限閾値(m+3σ)および下限閾値(m-3σ)の2つとなる。したがって、ステップS3135の判定は、条件「m-3σ<y<m+3σ」を満たすか否かで判定される。その条件を満たす場合は安定期と判定され、満たさない場合は過渡期と判定される。なお、本例の3σ区間は一例であり、2σや4σ区間でもよい。
図35は、外れ値検出処理の一例を示すフローチャートである。モード識別機能1025は、外れ値検出処理が未処理のモードを一つ選択し(S3141)、選択されたモードに分類された単位時間の代表値の分布を算出する(S3143)。
ステップS3143に先だって、データからあらかじめ過渡期のデータを除去してもよい(S3142)。
モード識別機能1025は、各単位時間について、代表値が予め定めた範囲内に含まれるか否かを判定し(S3144)、代表値が予め定めた範囲に含まれず(S3144:NO)、さらに該単位時間が過渡期でない場合(S3145:NO)に、外れ値であると判定し、外れ値フラグを設定する(S3146)。
モード識別機能1025は、全てのモードについて外れ値検出処理が終了したか否かを判定し(S3147)、未処理のモードがあれば(S3147:NO)、ステップS3141へ戻り、全てのモードについて処理が終了していれば(S3147:YES)、外れ値検出処理を終了する。
ステップS3144の判定は、例えば、図34に示す過渡期の判定と同様に、代表値が3σ区間に含まれるか否かで判定することができる。
このように構成される本実施例によれば、二つ以上のモードが混在し、かつ過渡期が存在するデータ群の場合も、各モードの識別、過渡期の検出、および外れ値の検出が可能になる。
さらに、本実施例では、外れ値を検出する場合に、過渡期を外れ値から除外しているため、過渡期を外れ値であると誤判定する可能性を抑制できる。なお、モードの識別結果、過渡期フラグ、外れ値フラグなどは、単位時間と関連付けて、図示しないデータテーブルに記憶してもよい。
なお、本実施例においては単位時間を更に分割して分割領域毎に代表値を算出し、算出した代表値の最大値と最小値の差をもって単位領域の差分と定義したが、単位領域が小さい、又は測定値をそのまま代表値として用いる場合などで、かつ単位領域が隣接していれば、図31のステップS3132、及びS3133の処理の代わりに、隣り合う単位領域の代表値の差分を算出し、この差分を用いて過渡期の検出を行っても良い。
第1実施例または第2実施例で述べた有意領域の抽出処理を実施する前に、本実施例によるモード識別を行うことにより、抽出処理の対象とする期間が限定される。したがって、抽出処理の効率および精度が向上する。
本実施例を単独で用いた場合、モード毎にデータを抽出することにより、モード毎に適した分析することができ、分析精度が向上する。さらに、本実施例では、過渡期を各モードから分離することができるため、分析精度が向上する。さらに、本実施例では、外れ値を検出できるため、異常や異常予兆の検知が可能になる。本実施例は、例えば、複数の状態が混在するモードを少なくとも一つ備えるデータ群のうち、選択されたモードに含まれる各状態のうち選択された状態に対応する領域を抽出するデータ抽出方法またはデータ分析システムとして表現することもできる。
第7実施例では、単一のデータ系列についてモードを識別し、過渡期および外れ値を検出する例を説明した。本実施例では、二つ以上のデータ系列に対して、モード識別と過渡期と外れ値の検出とを行う方法を説明する。これらの処理は、図30に示すモード識別処理S31に従う。
本実施例では、データ系列の数をn(nは1以上の整数)とする。モード識別機能1025は、単位時間毎に各データ系列の代表値を算出し、n次元の代表値を算出する。次に、モード識別機能1025は、算出された代表値を用いてクラスタリングすることにより、単位時間毎にモードを識別する。
モード識別機能1025は、データ系列毎に前述の過渡期検出処理に従って過渡期であるか判定し、いずれかの系列で過渡期と判定された単位時間を過渡期と判定する。
モード識別機能1025は、データ系列毎に前述の外れ値検出処理に従って外れ値を判定し、いずれかの系列で外れ値と判定された単位時間を外れ値と判定する。
なお、外れ値の判定においては、モード毎に、該モードのデータの中心を算出し、各単位時間の代表値と中心からの距離との分布を算出する。中心からの距離が前述の距離の分布の3σ区間から外れ、かつ、過渡期ではない場合、外れ値であると判定してもよい。モード毎の中心は、例えば、系列毎に、該モードに属するデータの平均を求め、これを中心とすることができる。
本実施例によれば、二つ以上のデータ系列が存在する時も、各モードを識別し、過渡期および外れ値を検出することができる。
第1実施例および第2実施例では、学習データから有意領域を抽出する例について説明した。本実施例では、抽出した有意領域を学習し、さらに、学習データとは異なる期間のデータから有意データを抽出する方法と、異常および異常予兆の検知(以下、異常検知と記す)を行う方法とを説明する。本実施例では、データ分析装置102は、状態監視機能1026を有する。
データ抽出機能1021は、第1実施例または第2実施例で述べた方法により、学習データから有意データを抽出する。これにより、有意データからなる波形を抽出すると共に、データ抽出に必要な各パラメータ(即ち、上下閾値およびウインドウサイズ(W)など)が決定される。
データ抽出機能1021は、入力データをサイズWのウインドウに分割し、第1実施例に示すデータ抽出処理により有意データを抽出する。これにより、学習期間以外のデータにおいても、有意データが抽出される。
状態監視機能1026は、学習データから抽出された有意データを基に、一つ以上の波形を学習し、参照波形を生成する。状態監視機能1026は、データ抽出機能1021によって抽出された学習期間以外の有意データの波形を参照波形と比較することにより、異常を検出する。
波形の比較方法としては、例えば、DTW(Dynamic Time Warping)がある。DTWでは、伸縮のある二つの波形の類似度を算出することができる。状態監視機能1026は、波形の類似度が予め設定した閾値よりも低い時に、異常と判定する。
このように構成される本実施例によれば、予め有意データの抽出条件を設定することなく、学習期間以外のデータにおいても有意データの抽出が可能になる。また、監視対象期間のデータに対して、有意データの抽出、および異常検知が可能になる。
以上、本発明について実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることができる。
また上記の各構成、機能、および処理手段などは、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサが夫々の機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、またはICカード、SDカード、DVD等の記録媒体に置くことができる。
また各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
また以上に説明した情報処理装置の各機能、各データベースの配置形態は一例に過ぎない。各機能、および各データベースの配置形態は、各情報処理装置がハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述した各データベースの構成は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
また以上に説明したデータの記録形態は、テーブル構造に限るものではなく、夫々のデータを適切に関連付けて記憶できればよく、キュー構造やリスト構造等、他の構造で記録されてもよい。また値の記録方法として数値の他に、数式等を用いてもよい。また夫々のテーブルに記録される各項目は、用途に応じて異なってもよく、例として記載した項目に限定されない。またデータは複数の情報処理装置に分散配置されていてもよい。
また以上において、要素の数(例えば、個数、数値、量、および範囲等)に言及する場合、とくに明示した場合および原理的に明らかに特定の数に限定される場合等を除いて、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
また以上の説明において、その構成要素(例えば、各機能、データベース、および要素ステップ等)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。
また以上に示した各処理は、リアルタイム処理に限らず、バッチ処理として実行されてもよい。
また以上に示した各実施形態は夫々を独立して適用してもよいし、複数の実施形態の全部または一部を組み合せて適用してもよい。
また、分析対象例として、工場の機器をあげたが、必ずしも工場の機器や装置に限るものではなく、例えば、線路に設置したセンサ(例えば振動センサや騒音センサなど)から、電車が通過中のデータを抽出する、または電車の車輪に設置したセンサから、線路の継ぎ目を通過する際のデータを抽出するなど、工場以外の用途への適用も考えられる。
また、各実施例においてはセンサを使用してデータを収集する例を示したが、センサの使用に限定する必要はなく、例えば、サーバ負荷のように、センサを使用せずに収集した値や、画像データなどを対象としてもよい。さらに、時間軸によるデータだけでなく、多次元の軸(例えば空間軸)を持つデータについても有意領域の抽出が可能である。
本実施形態には、以下に示すようにコンピュータプログラムまたはコンピュータプログラムを記録した記録媒体という技術思想も含まれている。
すなわち、「計算機を、複数の状態が混在する一つ以上のデータ群から有意なデータの存在する領域を抽出するデータ分析システムとして機能させるためのコンピュータプログラムであって、
取得されたデータ群について、前記データ群から直接または間接に得られる所定値の分布を算出する機能と、
前記算出された所定値の分布のうち、抽出対象の状態に対応する所定値の範囲を算出する機能と、
前記データ群の中から、前記算出された範囲に含まれる所定値を所定量以上含む領域を抽出対象領域として判定する機能と、
前記判定された抽出対象領域を含む情報を出力する機能と、
を前記計算機上に実現するためのコンピュータプログラム。」