(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-18
(45)【発行日】2024-01-26
(54)【発明の名称】パターン抽出方法、及び、パターン抽出装置
(51)【国際特許分類】
G06F 17/18 20060101AFI20240119BHJP
G05B 23/02 20060101ALI20240119BHJP
【FI】
G06F17/18 Z
G05B23/02 301Z
(21)【出願番号】P 2019206445
(22)【出願日】2019-11-14
【審査請求日】2022-03-31
(73)【特許権者】
【識別番号】522318900
【氏名又は名称】株式会社日立オートメーション
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】但馬 慶行
(72)【発明者】
【氏名】高橋 由泰
(72)【発明者】
【氏名】藤井 清隆
(72)【発明者】
【氏名】山崎 正裕
(72)【発明者】
【氏名】佐藤 健治
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2010-139346(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/18
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
学習に用いる時系列データを収集する工程と、
前記時系列データを前処理する工程と、
前記時系列データを蓄積する工程と、
前記時系列データに対して抽出対象となる抽出区間と抽出対象ではない非抽出区間とを受け付ける工程と、
前記抽出区間と前記非抽出区間と、そのどちらも割り当てられていない未指定区間に対して互いに異なる識別子を与える工程と、
前記時系列データと予め定められた窓幅に基づきサブシーケンス集合を生成する工程と、
前記識別子に基づいて各サブシーケンスを抽出するか否かを表す値
である窓出力を生成する工程と、
前記窓幅を入力とし前記窓出力の予測値を生成する抽出判定モデルを前記サブシーケンス集合と前記
窓出力に基づい
て学習する工程と、
学習した前記抽出判定モデルを蓄積する工程と、
パターン抽出対象となる時系列データを収集する工程と、
前記パターン抽出対象となる時系列データと前記窓幅に基づきパターン抽出対象となるサブシーケンス集合を生成する工程と、
前記
蓄積された抽出判定モデルに基づき、各サブシーケンス
を抽出するか否かを表す値である窓出力の予測値を生成する工程と、
前記予測値に基づき時系列データの各要素を抽出するか否かを決定する工程と、
抽出すると判定された時間的に連続する要素の列をパターンとして抽出する工程と、を備えることを特徴とするパターン抽出方法。
【請求項2】
請求項1に記載のパターン抽出方法において、
前記識別子に基づいて各サブシーケンスを抽出するか否かを表す値を生成する工程は、前記抽出区間、前記非抽出区間、前記未指定区間に対して数値を割り当て、それら数値の演算と定められた閾値θとの大小関係によって各サブシーケンスを抽出するか否かを表す値を生成することを特徴とするパターン抽出方法。
【請求項3】
請求項2に記載のパターン抽出方法において、
前記識別子に基づいて各サブシーケンスを抽出するか否かを表す値を生成する工程は、前記割り当てられた数値の平均もしくは中央値があらかじめ定められた閾値θ以上の場合は抽出することを表す値を生成し、そうでない場合は抽出しないことを表す値を生成することを特徴とするパターン抽出方法。
【請求項4】
請求項1に記載のパターン抽出方法において、
前記時系列データを前処理する工程は、複数の属性の時系列データに関し、各時系列データを正規化し、それらを足し合わせて新たな時系列データを作成することを特徴とするパターン抽出方法。
【請求項5】
請求項1に記載のパターン抽出方法において、
前記時系列データに対して抽出対象となる抽出区間と抽出対象ではない非抽出区間とを受け付ける工程は、すでに抽出区間もしくは非抽出区間が登録された区間に対して、追加の入力に従い、その区間単位で区間全体の平行移動、左端の平行移動、右端の平行移動することを特徴とするパターン抽出方法。
【請求項6】
請求項1に記載のパターン抽出方法において、
前記時系列データに対して抽出対象となる抽出区間と抽出対象ではない非抽出区間とを受け付ける工程は、すでに抽出区間もしくは非抽出区間が登録された区間に対して、その区間を中心に拡大・縮小表示することができることを特徴とするパターン抽出方法。
【請求項7】
請求項1に記載のパターン抽出方法において、
前記時系列データに対して抽出対象となる抽出区間と抽出対象ではない非抽出区間とを受け付ける工程は、その工程の最中に入力された抽出区間と非抽出区間に基づいて抽出判定モデルを学習し、その結果を参考情報として提示することを特徴とするパターン抽出方法。
【請求項8】
請求項1に記載のパターン抽出方法において、
前記パターンとして抽出した結果に基づく分析結果を提示する工程を有し、
該分析結果を提示する工程は、指定された抽出判定モデルと対応する時系列データに関して、抽出されたパターンの発生回数と集計単位となる時間に基づいてグラフを生成し提示することを特徴とするパターン抽出方法。
【請求項9】
請求項1に記載のパターン抽出方法において、
前記パターンとして抽出した結果に基づく分析結果を提示する工程を有し、
該分析結果を提示する工程は、指定された開始点を表す抽出判定モデルと終了点を表す抽出判定モデルとそれら対応する時系列データに関して、開始点を表す抽出判定モデルから得られたパターンと終了点を表す抽出判定モデルから得られたパターンの間の時間と集計単位となる時間に基づいてグラフを生成し提示することを特徴とするパターン抽出方法。
【請求項10】
請求項1に記載のパターン抽出方法において、
前記時系列データと予め定められた窓幅に基づきサブシーケンス集合を生成する工程は、サブシーケンス内に抽出区間と非抽出区間のどちらか片方もしくは両方が予め定めた比率以上含まれるサブシーケンスの集合からサンプリングした集合と、前記比率未満のサブシーケンスの集合からサンプリングした集合の和集合をもとに学習に用いるサブシーケンス集合を生成することを特徴とするパターン抽出方法。
【請求項11】
時系列データから所定の可変長な部分系列を抽出するパターン抽出装置であって、
解析対象となる時系列データを格納する記憶部と、
制御部と、
前記格納された時系列データを表示する表示部を備え、
前記制御部は、
時系列データ管理機能により、前記記憶部に格納された時系列データを管理し、
ラベリング機能により、前記時系列データにおける指定された範囲に、パターンの抽出区間もしくはパターンの非抽出区間を指定するベースラベルを登録し、
モデル学習機能により、前記ラベリング機能で登録された前記抽出区間及び前記非抽出区間と前記ベースラベルが登録されていない区間である未指定区間とに対して、互いに異なる識別子を与え、前記指定された範囲の時系列データを部分系列に分割し、前記部分系列に与えられた複数の前記識別子に基づいて、前記部分系列を抽出するか否かを表すラベルを前記部分系列に対して生成し、
前記識別子を入力とし前記ラベルの予測値を生成する識別モデルを前記部分系列と前記ラベルに基づいて学習し、
部分系列判別機能により、前記時系列データ管理機能で管理された時系列データもしくは新たに入力された時系列データを分割した部分系列に対して、前記識別モデルを適用して、前記部分系列ごとの抽出及び非抽出を判定し、
抽出箇所決定機能により、前記部分系列判別機能によって判定された抽出及び非抽出結果に基づいて、もとの時系列データから抽出すべき可変長の部分系列を判定することを特徴とするパターン抽出装置。
【請求項12】
請求項11に記載のパターン抽出装置において、
前記モデル学習機能は、前記ラベリング機能で登録された前記抽出区間及び前記非抽出区間と前記ベースラベルが登録されていない未指定区間とに対して数値を設定し、それら数値の演算によって与えられる値と定められた閾値θとの大小関係によって部分系列に対する抽出及び非抽出を決定することを特徴とするパターン抽出装置。
【請求項13】
請求項12に記載のパターン抽出装置において、
前記モデル学習機能は、前記ラベリング機能で得られた前記非抽出区間に-1、前記未指定区間に0、前記抽出区間に1を与え、
部分系列における所定区間の平均もしくは中央値が、あらかじめ定められた閾値θ以上の場合は抽出対象のラベルを生成し、前記閾値θ未満である場合は非抽出のラベルを生成することを特徴とするパターン抽出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列データからパターンを抽出する技術に関する。
【背景技術】
【0002】
昨今IoTや人工知能の発展に伴い、製造分野では、現場に設置された設備の時系列データを分析してより効率的な工場の運用を実現しようとしている。例えば、不良などの異常が発生する際の設備の挙動に関するセンサの値などのパターン(時系列データの部分系列)を予め調べておき、製造時にそのパターンが起きていないかを監視することで製品の品質を維持するとともに、不良がよく発生している箇所の調査と改善によって製造効率を向上させる取り組みがなされている。
【0003】
その一方、工場の設備から得られるデータの収集・分析は容易ではない。例えば、サンプリング周期が1秒のセンサの場合、1日8万件以上、1年3000万件以上のデータ件数となる。当然ながら、工場の設備はいくつもあり、その設備ごとに複数のセンサを備えているため総データ件数はさらに多くなる。したがって、分析者が直感的な操作によって時系列データから所望のパターンを抽出し、集計等によって分析するための手段の実現が求められている。
【0004】
これに対し、特許文献1では、波形画面上の所望の位置を指定する位置指定手段と、この位置指定手段で指定された位置に前記検索ゾーンを表示する検索ゾーン設定手段を提供することで指定した波形と似た過去の波形を検索する方法が開示されている。この技術を活用することで、直感的な操作によって過去にあったパターンと類似するパターンを抽出することが可能となる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1記載の技術では抽出したいパターンと類似する過去のパターンをもとに検索を行っているので、抽出したくないパターンの情報を活用できない。このため、抽出したいパターンの付近のデータは、たとえ抽出したくないパターンであったとしても抽出する可能性が高いという課題がある。
【0007】
また、特許文献1記載の技術では指定したパターンをもとに抽出している。このため、例えば、ある設備の起動動作のパターンと終了動作のパターンを一つのパターンとして集計したい場合、起動動作のパターンと終了動作のパターンをそれぞれ抽出した後で別途結合してから集計する必要があるなど手間を要するという課題がある。
【0008】
本発明は上記を鑑みてなされたものであって、時系列データから直感的な操作によって、より複雑な形状のパターンを抽出することを、目的とする。
【課題を解決するための手段】
【0009】
本発明は、その一例を挙げるならば、パターン抽出方法であって、学習に用いる時系列データを収集する工程と、時系列データを前処理する工程と、時系列データを蓄積する工程と、時系列データに対して抽出対象となる抽出区間と抽出対象ではない非抽出区間とを受け付ける工程と、抽出区間と非抽出区間と、そのどちらも割り当てられていない未指定区間に対して互いに異なる識別子を与える工程と、時系列データと予め定められた窓幅に基づきサブシーケンス集合を生成する工程と、識別子に基づいて各サブシーケンスを抽出するか否かを表す値を生成する工程と、サブシーケンス集合と抽出するか否かを表す値に基づいてサブシーケンスを抽出するか否かを識別する抽出判定モデルを学習する工程と、作成した抽出判定モデルを蓄積する工程と、パターン抽出対象となる時系列データを収集する工程と、パターン抽出対象となる時系列データと窓幅に基づきパターン抽出対象となるサブシーケンス集合を生成する工程と、抽出判定モデルに基づき、各サブシーケンスの予測値を生成する工程と、予測値に基づき時系列データの各要素を抽出するか否かを決定する工程と、抽出すると判定された時間的に連続する要素の列をパターンとして抽出する工程を備える。
【発明の効果】
【0010】
本発明によれば、時系列データから直感的な操作によって、より複雑な形状のパターンを抽出することが可能なパターン抽出方法、及び、パターン抽出装置を提供できる。
【図面の簡単な説明】
【0011】
【
図1】実施例1におけるパターン抽出システムの構成図および機能構成図である。
【
図2】実施例1における産業用PC及びコントローラのハードウェア構成である。
【
図3】実施例1における産業用PCのデータ管理部が管理する時系列データである。
【
図4】実施例1における産業用PCのデータ管理部が管理する訓練用入出力データである。
【
図5】実施例1における産業用PCのデータ管理部が管理する訓練用サブシーケンス窓出力集合である。
【
図6】実施例1における産業用PCのデータ管理部が管理する結果データである。
【
図7】実施例1における学習フェーズの全体処理フロー図である。
【
図8】実施例1における0/1データに対する前処理の概念図である。
【
図9】実施例1における抽出判定モデル学習の詳細フロー図である。
【
図10】実施例1における抽出分析フェーズの処理フロー図である。
【
図11】実施例1におけるユーザが抽出区間と非抽出区間に関する情報を入力するために使用するラベリング画面である。
【
図12】実施例1における
図11でのプレビューボタンを押すことで遷移するプレビュー画面である。
【
図13】実施例2におけるパターン発生回数分析条件設定画面である。
【
図14】実施例2におけるパターン発生回数分析結果表示画面である。
【
図15】実施例3におけるパターン間時間分析条件設定画面である。
【
図16】実施例3におけるパターン間時間分析結果表示画面である。
【発明を実施するための形態】
【0012】
以下、適宜図面を参照しながら本発明の実施例を説明する。
【実施例1】
【0013】
本実施例では、連続稼働するプラントの設備の時系列データに関するパターン抽出方法、及び、パターン抽出装置について説明する。
【0014】
図1は、本実施例におけるパターン抽出システムの構成図および機能構成図である。
図1において、パターン抽出システムは、産業用PC10と、製造等を行う設備11と、産業用のコントローラ12とを備える。コントローラ12同士は制御ネットワーク13で接続される。制御ネットワーク自体は、EtherCAT(Ethernet for Control Automation Technology)などで構成される。一方、産業用PC10とコントローラ12は情報ネットワーク14で接続される。情報ネットワーク14自体はLAN(Local Area Network)で構成される。なお、Webを介して接続されてもかまわない。また、上記構成要素は一例であって、要素数は増減してもよい。例えば、産業用PC10が複数台あってもかまわないし、ユーザ15の操作端末を分離させてもよい。産業用PC10の役割をクラウド上のサーバが代替するような構成でもかまわない。また、昨今のコントローラにはLinux(登録商標)が搭載されている。そこで、そのようなコントローラ12が産業用PC10の役割を代替するような構成でもかまわない。 この場合、そのコントローラを制御ネットワーク13のみで構成要素を接続してもかまわないし、
図1と同様に情報ネットワーク14で接続してもかまわない。
【0015】
産業用PC10は、その機能構成として、収集部101、ラベリング部102、学習部103、抽出部104、画面管理部105、データ管理部106を有する。
【0016】
図2は、本実施例における産業用PC10及びコントローラ12のハードウェア構成である。
図2において、産業用PC10及びコントローラ12は、CPU(Central Processing Unit)1H101が、ROM(Read Only Memory)1H102もしくは外部記憶装置1H104に格納されたプログラムをRAM(Read Access Memory)1H103に読み込み、通信I/F(Interface)1H105、マウスやキーボード等に代表される外部入力装置1H106、ディスプレイなどに代表される外部出力装置1H107を制御することで実現される。
【0017】
図3は、本実施例における、産業用PC10のデータ管理部106が管理する時系列データ1D1を示す図である。
図3において、時系列データ1D1は、設備11からコントローラ12を介して収集される設備11に取り付けられたセンサや、コントローラ12から収集される設備11へ出力された制御指示に関する時系列のデータである。本実施例では、日時1D101と、設備1温度1D102と、設備1電流1D103と、設備2電流A1D104と、設備2電流B1D105と、を少なくとも備える。
【0018】
なお、本実施例では収集時点でその収集間隔が一定(1秒)となっているものとする。複数のサンプリング周期がある場合は、サンプリング周期ごとにデータを分けるなどによって対応できる。また、本実施例では時系列データは前記のような項目を備えるものとしたが、その他のデータがあってもよいし、前記した項目の一部の項目のみを備えたものであってもよい。
【0019】
また、
図4は、本実施例における、産業用PC10のデータ管理部106が管理する訓練用入出力データ1D2を示す図である。
図4において、訓練用入出力データ1D2は、収集された時系列データ1D1のうち抽出判定モデルの学習に使う訓練データの元データであって、日時1D201と、抽出判定モデルの入力に対応する訓練用入力1D202と、抽出判定の出力に対応する訓練用出力1D203を少なくとも備える。なお、本実施例では訓練用入力1D202は一つだけであるが複数であってもかまわない。
【0020】
訓練用出力1D203は、ユーザから受け付けた、時系列データの抽出対象となる区間を表す情報(抽出区間と呼ぶ)と、抽出対象ではない区間を表す情報(非抽出区間と呼ぶ)と、そのどちらもが割り当てられていない区間(未指定区間と呼ぶ)に対してベースラベルとして数値(1、-1、0)を割り当てるものとする。なお、その他の値を割り当ててもかまわない。
【0021】
また、
図5は、本実施例における、産業用PC10のデータ管理部106が管理する訓練用サブシーケンス窓出力集合1D3を示す図である。
図5において、訓練用サブシーケンス窓出力集合1D3は、抽出判定モデルの学習に用いる訓練データであって、日時1D301と、抽出判定モデルの教師入力となる基底1~基底3(1D302~1D304)と、抽出判定モデルの教師出力となる窓出力1D305を少なくとも備える。ここで、窓出力とは、上記時系列データに割り当てた数値と閾値θに基づき、時系列データの予め定めた窓幅τのサブシーケンスを抽出するか否かを表す値であり、0が非抽出、1が抽出である。また、サブシーケンス集合と窓出力集合を合わせてサブシーケンス窓出力集合と呼ぶ。また、基底の数は窓幅τに一致する。本実施例では窓幅τおよび基底の数を3とするものとするが、30といった他の値などでもかまわない。
【0022】
また、
図6は、本実施例における、産業用PC10のデータ管理部106が管理する結果データ1D4を示す図である。
図6において、結果データ1D4は、パターン抽出対象となる時系列データと、抽出判定モデルによって得られる各時刻のデータを抽出すべきか否かを表すデータならびにそのデータを得るための途中データであって、日時1D401と、予測出力となる窓出力1D402と、窓出力1D402に基づいて算出される抽出フラグ1D403と、抽出フラグ1D402に基づいて算出される補正済み抽出フラグ1D404を少なくとも備える。
【0023】
次に、
図7、
図8、
図9を参照して本実施例における訓練用の時系列データの受付から抽出判定モデルの学習までの流れ(以降、学習フェーズと呼ぶ)の処理フローを説明する。
【0024】
図7は、本実施例における学習フェーズの全体処理フロー図である。
図7において、まず、産業用PC10の収集部101が、設備11、コントローラ12から抽出判定モデルの学習に用いる時系列データ1D1を収集する(ステップ1F101)。
【0025】
次に、産業用PC10の収集部101が、収集した時系列データ1D1に正規化、高周波ノイズの除去などの前処理を施して、データ管理部106に蓄積する(ステップ1F102)。なお、ベルトコンベヤのモータを駆動させているインバーターの電流値のようにほとんど出力が0か一定値(2000mA等)を取るようなデータ(本実施例ではこれを0/1データと呼ぶ)に対しては、
図8で示すように、 連続する工程の0/1データ(1X101、1X102、1X103)の和を取ることで合成データ(1X104)を生成することでパターンが見られるように前処理する。
【0026】
次に、画面管理部105が、データ管理部106に蓄積した訓練用に用いる時系列データ1D1の一部をユーザ15に提示する(ステップ1F103)。
次に、画面管理部105が、ユーザ15から抽出区間と非抽出区間に関する情報を受け付ける(ステップ1F104)。
【0027】
次に、ラベリング部102が、抽出区間と非抽出区間に関する情報に基づいて訓練用入出力データ1D2を生成し、データ管理部106に格納する(ステップ1F105)。
【0028】
次に、学習部103が、訓練用の入出力データ1D2に基づいて抽出判定モデルを学習する(ステップ1F106)。なお、学習処理について後述にて詳しく説明する。
【0029】
最後に、学習部103が、作成した抽出判定モデルをデータ管理部106に格納し、処理を終了する(ステップ1F107)。
【0030】
図9は、本実施例における抽出判定モデル学習(ステップ1F106)の詳細処理フロー図である。
図9において、まず、学習部103が、訓練用入出力データ1D2から、窓幅τに基づいて、出力に抽出区間もしくは非抽出区間を含むサブシーケンス窓出力集合と出力に抽出区間も非抽出区間も含まないサブシーケンス窓出力集合を生成する(ステップ1F201)。双方のサブシーケンス集合のデータ項目は訓練用サブシーケンス窓出力集合1D3に準ずる。例えば、
図4の訓練用入出力データ1D2の2019/4/1 9:30:25に対応する基底は、1時刻前と1時刻後の値を用いて[1440、1460、1670]とする。一方窓出力は、閾値θを0として、対応する窓内の訓練用出力1D203の平均が閾値以上の場合1、そうでない場合は0とする。すなわち、
図5に示すように、9:30:25に対応する窓出力1D305は、-1+(-1)+1=-1<θ(=0)より0が割り当てられることとなる。 なお、本実施例では平均によって代表値を求めたが、中央値、基底の位置に基づく重み付き平均値など他の演算による値を用いてもよい。
【0031】
また、サブシーケンス内に抽出区間と非抽出区間のどちらか片方もしくは両方が予め定めた比率(例えば10%)以上含まれるサブシーケンスの集合を抽出区間もしくは非抽出区間を含むサブシーケンス窓出力集合として、その比率未満のサブシーケンスの集合を抽出区間も非抽出区間も含まないサブシーケンス窓出力集合としてもよい。これにより、サブシーケンス内に抽出区間と非抽出区間のどちらか片方もしくは両方が予め定めた比率以上含まれるサブシーケンスの集合からサンプリングした集合は多めに、その比率未満のサブシーケンスの集合からサンプリングした集合は少なめにサンプリングすることで、あまり抽出には役立たないことが予想される未指定区間だけのサブシーケンスを使った学習を行わないようにすることができる。
【0032】
次に、学習部103が、出力に抽出区間もしくは非抽出区間を含むサブシーケンス窓出力集合からサブシーケンス窓出力をサンプリングする(ステップ1F202)。
次に、学習部103が、出力に抽出区間もしくは非抽出区間を含まないサブシーケンス窓出力集合からサブシーケンス窓出力をサンプリングする(ステップ1F203)。
【0033】
次に、学習部103が、先の2ステップのサンプリングで得た2つのサブシーケンス窓出力集合の和集合である訓練用サブシーケンス窓出力集合1D3生成する(ステップ1F204)。
【0034】
最後に、学習部103が、訓練用サブシーケンス窓出力集合1D3に基づき抽出判定モデルを学習し、データ管理部106に作成した抽出判定モデルを格納する(ステップ1F205)。ここで抽出判定モデルはニューラルネットワークであるとし、学習は逆誤差伝搬法を用いるものとする。なお、本実施例ではニューラルネットワークを用いたが他の機械学習のモデル、例えばSVM(Sapport vector machine)や勾配ブースティングなどを用いてもよい。
【0035】
次に、本実施例における、パターン抽出対象となる時系列データの受付から、パターン抽出を行ってその分析結果を提示するまでの流れ(以降、抽出分析フェーズと呼ぶ)の処理フローを説明する。
図10は、本実施例における抽出分析フェーズの処理フロー図である。
図10において、まず、産業用PC10の収集部101が、設備11、コントローラ12からパターン抽出対象となる時系列データ1D1を収集する(ステップ1F301)
次に、産業用PC10の収集部101が、収集したパターン抽出対象となる時系列データ1D1に対してステップ1F102同様の前処理を施して、データ管理部106に蓄積する(ステップ1F302)。
【0036】
次に、抽出部104が、データ管理部106に蓄積したパターン抽出対象となる時系列データ1D1からパターン抽出対象となるサブシーケンス集合を生成する(ステップ1F303)。
【0037】
次に、抽出部104が、パターン抽出対象となるサブシーケンス集合と、データ管理部106に格納した抽出判定モデルを用いて窓出力の予測値(結果データ1D4の予測窓出力1D402)を生成する(ステップ1F304)。
【0038】
次に抽出部104が、閾値φと予測窓出力1D402に基づいて抽出フラグ1D403を算出する(ステップ1F305)。ここで、閾値φを0.5とする。抽出フラグは窓内の予測窓出力の値が閾値以上であれば1、そうでなければ0とする。例えば、
図6の結果データ1D4の2019/4/2 9:30:25の場合、予測窓出力1D402は0.658>φ(=0.5)であるため、抽出フラグ1D403は1となる。この処理によって、サブシーケンス単位での抽出/非抽出の結果から時系列データの要素単位での抽出/非抽出に置き換えている。なお、本実施例では、前記の通り、一つのサブシーケンスの結果を一つの時系列データの要素に対応づけるようにしたが、複数のサブシーケンスの結果を一つの時系列データの要素に対応づけるようにしてもよい。
【0039】
次に、抽出フラグ1D403を一つの時系列のデータであるとしてローパスフィルタをかけた結果を補正済み抽出フラグ1D404として生成する(ステップ1F306)。この処理によって、極端に短いパターンが抽出されないようにすることができる。
次に、補正済み抽出フラグに関して、抽出すると判定された時間的に連続する要素の列をパターンとして抽出する(ステップ1F307)。
【0040】
最後に、ユーザ15から分析の設定情報を受け付け、抽出したパターンをもとに分析結果を作成しユーザ15に提示し処理を終了する(ステップ1F308)。なお、分析方法ならびに分析結果を表すグラフについては後述にてユーザインターフェースに関する図面を交えて詳しく説明する。
【0041】
以上のように、本実施例では、学習フェーズとして、まず、産業用PC10は、設備11に取り付けられたセンサから得られる時系列データを訓練用の時系列データとしてコントローラ12が制御ネットワーク13を介して収集する。次に、収集した時系列データに対して正規化や複数の時系列データの統合といった前処理を施し蓄積する。次に、前処理が施された時系列データに関して、ユーザ15から抽出区間と、非抽出区間とを受け付ける。次に、時系列データの抽出区間、非抽出区間、そのどちらもが割り当てられていない未指定区間に対して数値(1、-1、0)を割り当てる。次に、予め定めた窓幅τのサブシーケンスの集合を生成する。次に、各サブシーケンスについて、時系列データに割り当てた数値と閾値θに基づきそのサブシーケンスを抽出するか否かを表す窓出力を生成する。直感的には、サブシーケンスに含まれる抽出区間が多ければ抽出、非抽出区間が多ければ非抽出、未指定区間は考慮しない、という方針を取ることで抽出か否かを決定する。その簡単な方法は割り当てられた数値の平均が閾値θを0として、θ以上のとき抽出、そうでないとき非抽出とする。次に、サブシーケンス窓出力集合に基づいてサブシーケンスを抽出するか否かを識別する抽出判定モデルを学習する。ここで、抽出判定モデルは、入力が窓幅τのベクトル、出力が抽出するか否かを表す2値となる識別モデルとなっている。したがって、一般的な機械学習のモデルが利用できる。最後に、作成した抽出判定モデルを蓄積する。
【0042】
また、本実施例では、抽出分析フェーズとして、まず、産業用PC10は、設備11に取り付けられたセンサから得られる時系列データをパターン抽出対象となる時系列データとしてコントローラ12が制御ネットワーク13を介して収集する。次に、収集した時系列データに対して正規化や複数の時系列データの統合といった前処理を施し蓄積する。次に、予め定めた窓幅τのサブシーケンスの集合を生成する。次に、前記のサブシーケンス集合に抽出判定モデルを適用することで各サブシーケンスを抽出するか否か判定する。この段階ではサブシーケンス単位で抽出するか否かが決定されている状況であって時系列データの要素単位で抽出するか否かは決定されていない。そこで、次に、サブシーケンス単位での抽出/非抽出の結果から時系列データの各要素を抽出するか否かを決定する。本実施例ではサブシーケンスの中央に対応する時刻の要素を抽出するものする。次に、抽出すると判定された時間的に連続する要素の列をパターンとして抽出する。最後に、このパターンを分析した結果をユーザに提示する。
【0043】
図11は、本実施例における、ユーザ15が抽出区間と非抽出区間に関する情報を入力するために使用するユーザインターフェースであり、産業用PC10の画面管理部105が使用するラベリング画面1G1である。
【0044】
図11において、ラベリング画面1G1は、データ項目選択メニュー1G101と、窓幅入力ボックス1G102と、閾値θ入力ボックス1G103と、グラフエリア1G104と、次ボタン1G105と、前ボタン1G106と、拡大ボタン1G107と、縮小ボタン1G108と区間タイプ選択ラジオボタン1G109と、削除ボタン1G110と、全体左移動ボタン1G111と、全体右移動ボタン1G112と、左端左移動ボタン1G113と、左端右移動ボタン1G114と、右端左移動1G115と、右端右移動ボタン1G116と、プレビューボタン1G117と、モデル名入力ボックス1G118と、OKボタン1G119を備える。
【0045】
データ項目選択メニュー1G101からデータ項目を選ぶことで、抽出区間と非抽出区間を指定する時系列データの項目を選択できる。これが訓練用入出力データ1D2の訓練用入力1D202となる。その上で、窓幅と閾値θをそれぞれ、窓幅入力ボックス1G102と、閾値θ入力ボックス1G103に入力することで設定できる。
【0046】
指定された時系列データの項目は、グラフエリア1G104に表示される。次ボタン1G105を押すことでより新しいデータ、前ボタン1G106を押すことでより古いデータを時間帯へと移動させることができる。また、拡大ボタン1G107と、縮小ボタン1G108ボタンを用いることで、グラフエリア1G104に表示される時系列データの表示倍率を変更することができる。なお、その拡大・縮小は、抽出区間もしくは非抽出区間が登録された区間に対して、その区間を中心に拡大・縮小する。
【0047】
時系列データを読み込んだ当初はすべての区間が抽出も非抽出も指定されていない状況となっている。そのため、ユーザ15が抽出区間と非抽出区間に関する情報を入力する際は、先だって抽出区間か非抽出区間かのどちらかを入力するかを区間タイプ選択ラジオボタン1G109で選択する。
図11の例では抽出区間が選択された状態となっている。この状況下で、グラフエリア1G104を一度クリックすると開始点が、もう一度クリックすると終了点が設定され、その間の区間が指定された区間タイプの訓練用入出力データ1D2の訓練用出力1D203が割り当てられる。
図11の例では、抽出区間1G104a、非抽出区間1G104bが割り当てられた状態となっている。また、
図11の例ではそれ以外の区間(便宜上図右側を1G104cとしているが、抽出区間1G104a、非抽出区間1G104bに含まれないすべての区間)は未指定区間となっている。
【0048】
さらに一度作成した抽出区間もしくは非抽出区間を微調整するために以下の手段が提供される。以下の処理は、グラフエリア1G104上で作成された抽出区間もしくは非抽出区間をクリックして選択状態としてから行うものとする。まず、区間を選択した状態で削除ボタン1G110を押すと、その区間を削除し、未指定区間に戻すことができる。次に、区間を選択した状態で全体左移動ボタン1G111あるいは全体右移動ボタン1G112を押すことで、区間全体を左右に移動させることができる。一方、左端左移動ボタン1G113あるいは左端右移動ボタン1G114を押すことで、区間の左端だけを左右に移動させることができる。同様に、右端左移動1G115あるいは右端右移動ボタン1G116を押すことで、区間の右端だけを左右に移動させることができる。これらの機能を用いることで、ユーザ15は柔軟に区間を設定することができる。
【0049】
また、プレビューボタン1G117を押すことでその時点で指定されている抽出区間もしくは非抽出区間の情報をもとに抽出判定モデルを学習し、表示しているデータに適用したときの結果を確認することができる。この確認内容については後述する。
【0050】
最後に、登録した抽出区間もしくは非抽出区間を使って作成する抽出判定モデルのモデル名をモデル名入力ボックス1G118に入力し、OKボタン1G119を押すことで訓練用入出力データ1D2がデータ管理部106に格納され、後段の処理が随時行われるようになる。
【0051】
図12は、本実施例におけるユーザインターフェースであり、
図11でのプレビューボタン1G117を押すことで遷移するプレビュー画面1G2である。
図12において、プレビュー画面1G2は、グラフエリア1G201と、次ボタン1G202と、前ボタン1G203と、拡大ボタン1G204と、縮小ボタン1G205と、閉じるボタン1GG206を備える。
【0052】
グラフエリア1G201には、
図11のグラフエリア1G104と同様に時系列データや、ユーザ15が登録した区間の情報(1G201a)が表示される。また、次ボタン1G202を押すことでより新しいデータ、前ボタン1G203を押すことでより古いデータの時間帯へと移動させることができる。また、拡大ボタン1G204と、縮小ボタン1G204ボタンを用いることで、グラフエリア1G104に表示される時系列データの表示倍率を変更することができる。なお、その拡大・縮小は、抽出区間に対して、その区間を中心に拡大・縮小する。
【0053】
また、抽出判定モデルを使って抽出と判定された予測抽出区間がグラフの下側に帯(1G201b)で表示される。これによって、ユーザは登録した区間によってどのようなパターンが抽出されるのか確認することができる。
【0054】
十分に確認できたら、閉じるボタン1G206を押すことで
図11のラベリング画面1G1に戻ることができる。
【0055】
以上のように、本実施例によれば、時系列データに対して抽出対象となる区間を表す情報だけでなく、抽出対象ではない区間の情報を用いて抽出判定を行うので、抽出対象となる区間に抽出対象ではない区間が隣接した場合でも抽出対象となる区間のみを抽出することが可能となる。また、学習によって抽出判定モデルを構築しているため、抽出区間のサブシーケンスの形状が大きく異なっているものが複数ある場合であっても、それらをすべて抽出することが可能となる。さらに、利用者は時系列データに対して抽出対象となる区間を表す情報と抽出対象ではない区間の情報を指定するだけで所望のパターンの抽出および分析が可能となる。
【実施例2】
【0056】
本実施例は、実施例1で示した、学習フェーズ、及び、抽出分析フェーズを用いた具体例として、パターン発生回数分析について説明する。
【0057】
図13は、本実施例における、産業用PC10の画面管理部105が使用するパターン発生回数分析の条件を設定するパターン発生回数分析条件設定画面1G3である。
図13において、パターン発生回数分析条件設定画面1G3は、集計単位選択メニュー1G301と、モデル選択エリア1G302と、表示期間設定メニュー1G303と、表示ボタン1G304を備える。
【0058】
集計単位選択メニュー1G301は、パターン発生回数の集計単位を選択する。本実施例では1時間、半日、1日、7日、14日、1ヶ月のなかから選択できる。
【0059】
モデル選択エリア1G302は、内部にモデル名選択メニュー1G301a、追加ボタン1G302b、削除1G302c、モデルリスト1G302dを備える。モデル名選択メニュー1G301aはデータ管理部106に管理されている抽出判定モデルから1つのモデルを選択できる。この状態で、追加ボタン1G302bを押すことで選択したモデルがモデルリスト1G302dに追加できる。
図13では、チョコ停パターン、緊急処理パターン、手動停止パターンの3つの抽出判定モデルが登録されている。一方、モデルリスト1G302dに追加済みのモデルを選択した状態で削除ボタン1G302cを押すことでモデルリスト1G302dからアイテムを削除することができる。
【0060】
表示期間設定メニュー1G303は、表示期間を設定する。本実施例では、最近1日、3日、7日、14日、1ヶ月、3か月、6か月、1年のなかから選択できる。
【0061】
表示ボタン1G304を押すと、後述するパターン発生回数分析結果表示画面1G4が表示される。
【0062】
図14は、
図13の表示ボタン1G304を押すことで遷移するパターン発生回数分析結果表示画面1G4である。
図14において、パターン発生回数分析結果表示画面1G4は、各モデルごとのパターン発生回数(抽出回数)の集計結果のヒストグラムが表示される。
図14の例では、前記したチョコ停パターン、緊急処理パターン、手動停止パターンの3つの抽出判定モデルに対応する3つのヒストグラム(1G4a、1G4b、1G4c)が表示される。この表示結果を確認することで、ユーザ15は、チョコ停など異常やその事前事象を客観的に把握できるようになる。
【実施例3】
【0063】
本実施例は、実施例1で示した、学習フェーズ、及び、抽出分析フェーズを用いた具体例として、パターン間時間分析について説明する。
【0064】
図15は、本実施例における、産業用PC10の画面管理部105が使用するパターン間時間分析の条件を設定するパターン間時間分析条件設定画面1G5である。
図15において、パターン間時間分析条件設定画面1G5は、集計単位選択メニュー1G501と、開始モデル選択メニュー1G502と、終了モデル選択メニュー1G503と、表示期間設定メニュー1G504と、表示ボタン1G505を備える。
【0065】
集計単位選択メニュー1G501はパターン間時間の集計単位を選択する。本実施例では1時間、半日、1日、7日、14日、1ヶ月のなかから選択できる。
【0066】
開始モデル選択メニュー1G502と終了モデル選択メニュー1G503は、開始となるパターンと終了となるパターンに対応する抽出判定モデルを選択する。
図15では、操作開始パターンと操作終了パターンが選択されている。
【0067】
表示期間設定メニュー1G504は、表示期間を設定する。本実施例では、最近1日、3日、7日、14日、1ヶ月、3か月、6か月、1年のなかから選択できる。
【0068】
表示ボタン1G505を押すと、後述するパターン間時間分析結果表示画面が表示される。
【0069】
図16は、
図15の表示ボタン1G505を押すことで遷移するパターン間時間分析結果表示画面1G6である。
図16において、パターン間時間分析結果表示画面1G6は、選択した開始と終了の抽出判定モデルの間の時間の集計結果に関する折れ線グラフを表示する。
図16では、操作開始パターンと操作終了パターンに関する抽出判定モデルに関するパターン間時間が表示される。この表示結果を確認することで、例えば徐々に製造に関わる設備やプロセスが劣化してきている様子をとらえることができる。
【0070】
以上実施例について説明したが、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【符号の説明】
【0071】
10:産業用PC、11:設備、12:コントローラ、101:収集部、102:ラベリング部、103:学習部、104:抽出部、105:画面管理部、106:データ管理部、1H101:CPU、1G1:ラベリング画面、1G2:プレビュー画面、1G3:パターン発生回数分析条件設定画面、1G4:パターン発生回数分析結果表示画面、1G5:パターン間時間分析条件設定画面、1G6:パターン間時間分析結果表示画面。