JP2007114896A - 時系列データの保存及び抽出方法並びにプログラム - Google Patents

時系列データの保存及び抽出方法並びにプログラム Download PDF

Info

Publication number
JP2007114896A
JP2007114896A JP2005303683A JP2005303683A JP2007114896A JP 2007114896 A JP2007114896 A JP 2007114896A JP 2005303683 A JP2005303683 A JP 2005303683A JP 2005303683 A JP2005303683 A JP 2005303683A JP 2007114896 A JP2007114896 A JP 2007114896A
Authority
JP
Japan
Prior art keywords
data
time
tag
value
order
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.)
Granted
Application number
JP2005303683A
Other languages
English (en)
Other versions
JP4790371B2 (ja
Inventor
Kiyoshi Saito
潔 齋藤
Hirosuke Yamamoto
広祐 山本
Yuzo Shiogama
裕三 塩竈
Isao Abe
功 阿部
Yoshiyuki Nara
栄之 奈良
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.)
ARK JOHO SYSTEMS KK
Central Research Institute of Electric Power Industry
Original Assignee
ARK JOHO SYSTEMS KK
Central Research Institute of Electric Power Industry
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 ARK JOHO SYSTEMS KK, Central Research Institute of Electric Power Industry filed Critical ARK JOHO SYSTEMS KK
Priority to JP2005303683A priority Critical patent/JP4790371B2/ja
Publication of JP2007114896A publication Critical patent/JP2007114896A/ja
Application granted granted Critical
Publication of JP4790371B2 publication Critical patent/JP4790371B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データの個数が膨大な時系列データの保存及び抽出を効率的に行うことと共に短時間の突発的なデータの値の変動を表現すること並びにもともとのデータの取得間隔の変動に柔軟に対応することを可能とする。
【解決手段】時系列データを構成するデータ毎にデータのデータ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定し更にデータのデータ値に基づいて時間当たりの変化率を表す微分値を算出すると共にAタグとBタグとに基づく間引きタグ並びに微分値をデータと合わせて保存し、保存された複数のデータの中からデータ抽出間隔に基づいて設定された間引きタグの条件を満たす間引きタグを有するデータ並びにデータ変化率に基づいて設定された微分値の条件を満たす微分値を有するデータを抽出するようにした。
【選択図】図1

Description

本発明は、時系列データの保存及び抽出方法並びにプログラムに関する。さらに詳述すると、本発明は、例えば数万レコードを超えるような膨大な時系列データを保存して抽出する方法並びにプログラムに関する。
本明細書において、時系列データとは、時間の進行に伴うある量の観測値や統計値等の系列データであって時点が異なる複数個のデータの集合を意味するものとして用いている。また、時系列データを構成する各データのことを単にデータと呼ぶ。そして、データは、観測値や統計値等であるデータ値、及びデータ値が観測された時刻や算出された統計値に対応する時刻であるデータ時刻情報を少なくとも有する。
従来の時系列データの保存及び抽出の方法としては、例えば時系列データの保存方法及び時系列データベースシステム並びに時系列データの処理方法及び時系列データ処理システムがある(特許文献1)。
この時系列データの保存並びに処理方法は、図6に示すように、順次入力されるサンプリング周期ΔT0の時系列データa1,a2,a3,…をそのまま最下位のデータとして直列的に保存していく。そして、ΔT0よりも長い所定のサンプリング周期ΔT1が経過してn個のデータが蓄積されたときに、その期間のデータa1,a2,…,anの代表値b1を上位データとして別のファイル(上位の階層)に保存する。この処理を繰り返し、ΔT1よりも長い所定のサンプリング周期ΔT2が経過して上位の階層にk個のデータが蓄積されたときに、その期間のデータb1,b2,…,bkの代表値c1を更なる上位データとして別のファイル(更に上位の階層)に保存する。ここで、代表値としては、該当するサンプリング周期に含まれる時系列データの相加平均値や中間値等を算出して適用する。以上の処理を繰り返してサンプリング周期ΔTmの最上位データz1まで保存し、以降は時間の経過と共に順次この保存処理を繰り返していく。これにより、複数の異なるサンプリング周期(ΔT0,ΔT1,…,ΔTm)を有する時系列データがそれぞれ保存され、記録媒体において階層的な時系列データベースが構築される。なお、サンプリング周期や時系列データ群の数などは予め設定しておく。
また、時系列データに対してデータ読み出し要求が与えられて上述のように保存された階層的な時系列データベースからデータを読み出す際には、制御部に設けられたデータ読み出し制御手段として機能するデータ選択制御部によってどのサンプリング周期で読み出すことが最適かを判断し、同じくデータ読み出し制御手段として機能するデータ読み出し制御部によってその最適なサンプリング周期の時系列データのファイルにアクセスしてデータを読み出すものである。
特開2004−30599号
特許文献1の時系列データの保存並びに処理方法は、データの個数が異なる複数のデータ集合を作成し、時系列データの読み出し要求に対して適したデータ集合を読み出して提供するものである。しかしながら、元のデータ集合と比べてデータ数が少ない上位の階層のデータ集合を作成する際に、上位の階層のサンプリング周期に含まれる複数のデータの相加平均値や中間値等を算出して適用するようにしている。したがって、例えばデータの値が短時間のうちに変動し且つ短時間のうちに元の状態に戻るなどの突発的なデータの値の変動が起きていても、サンプリング周期に含まれる複数のデータの相加平均値や中間値を算出した場合にはその突発的なデータの値の変動が顕著に表れない場合がある。よって、短時間の突発的なデータの値の変動を表現することができない場合があるという問題がある。
また、特許文献1の方法では、時系列データの階層毎にデータファイルを作成するようにしている。したがって、時系列データの階層毎のデータを保存するための例えばデータサーバ等の保存装置やそれらの記録領域が必要であり、より多くの資源を必要とし効率的でないという問題がある。
更に、特許文献1の方法では、時系列データのサンプリング周期や作成する時系列データ群の数などは予め設定するようにしている。したがって、もともとのデータの取得間隔が不定期であったり途中で変化したりする場合にそのデータの取得間隔に合わせて柔軟に対応することができない場合があり、適切な階層別のデータ集合を作成することができないという問題がある。
そこで、本発明は、データの個数が膨大な時系列データの保存及び抽出を効率的に行うことができると共に短時間の突発的なデータの値の変動を表現することができ、更にもともとのデータの取得間隔の変動に柔軟に対応することができる時系列データの保存及び抽出方法並びにプログラムを提供することを目的とする。
かかる目的を達成するため、請求項1記載の時系列データの保存及び抽出方法は、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出方法において、データ毎にデータのデータ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定すると共にAタグとBタグとに基づく間引きタグをデータと合わせて保存し、保存された複数のデータの中からデータ抽出間隔に基づいて設定された間引きタグの条件を満たす間引きタグを有するデータを抽出するようにしている。
また、請求項4記載の時系列データの保存及び抽出プログラムは、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出を行う際に、少なくとも、データ毎にデータのデータ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定する手段、AタグとBタグとに基づく間引きタグをデータと合わせて保存する手段、保存された複数のデータの中からデータ抽出間隔に基づいて設定された間引きタグの条件を満たす間引きタグを有するデータを抽出する手段としてコンピュータを機能させるようにしている。
したがって、この時系列データの保存及び抽出方法並びにプログラムによると、時系列データを構成するデータ毎に時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを付与することにより、時刻のオーダー及び区切りの種類を適宜選択して元の時系列データの中から作業者が希望する時間間隔や作業者が希望する抽出データの個数に合わせてデータを抽出することができる。
また、請求項2記載の時系列データの保存及び抽出方法は、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出方法において、データ毎にデータのデータ値に基づいて時間当たりの変化率を表す微分値を算出すると共に微分値をデータと合わせて保存し、保存された複数のデータの中からデータ変化率に基づいて設定された微分値の条件を満たす微分値を有するデータを抽出するようにしている。
請求項5記載の時系列データの保存及び抽出プログラムは、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出を行う際に、少なくとも、データ毎にデータのデータ値に基づいて時間当たりの変化率を表す微分値を算出する手段、微分値をデータと合わせて保存する手段、保存された複数のデータの中からデータ変化率に基づいて設定された微分値の条件を満たす微分値を有するデータを抽出する手段としてコンピュータを機能させるようにしている。
したがって、この時系列データの保存及び抽出方法並びにプログラムによると、時系列データを構成するデータ毎に時間当たりの変化率を表す微分値を付与することにより、データ値の変化の大きさを適宜選択して元の時系列データの中から作業者が必要とするデータ値の変化が生じている期間のデータを抽出することができる。
更に、請求項3記載の時系列データの保存及び抽出方法は、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出方法において、データ毎にデータのデータ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定し更にデータのデータ値に基づいて時間当たりの変化率を表す微分値を算出すると共にAタグとBタグとに基づく間引きタグ並びに微分値をデータと合わせて保存し、保存された複数のデータの中からデータ抽出間隔に基づいて設定された間引きタグの条件を満たす間引きタグを有するデータ並びにデータ変化率に基づいて設定された微分値の条件を満たす微分値を有するデータを抽出するようにしている。
請求項6記載の時系列データの保存及び抽出プログラムは、時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する時系列データの保存及び抽出を行う際に、少なくとも、データ毎にデータのデータ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定する手段、データ毎にデータのデータ値に基づいて時間当たりの変化率を表す微分値を算出する手段、AタグとBタグとに基づく間引きタグ並びに微分値をデータと合わせて保存する手段、保存された複数のデータの中からデータ抽出間隔に基づいて設定された間引きタグの条件を満たす間引きタグを有するデータを抽出する手段、データ変化率に基づいて設定された微分値の条件を満たす微分値を有するデータを抽出する手段としてコンピュータを機能させるようにしている。
したがって、この時系列データの保存及び抽出方法並びにプログラムによると、請求項1及び2並びに請求項4及び5に記載の発明の作用を実現することができる。
以上説明したように、本発明の時系列データの保存及び抽出方法並びにプログラムによれば、時刻のオーダー及び区切りの種類を適宜選択して元の時系列データの中から作業者が希望する時間間隔や作業者が希望する抽出データの個数に合わせてデータを抽出することができるので、データの抽出間隔(若しくは階層)毎にデータファイルを作成する必要がなく、時系列データの保存のための資源を節約することができ、時系列データの保存及び抽出の効率の向上が可能である。更に、もともとのデータの取得間隔の変動に影響を受けることなく、作業者が希望する時間間隔に適確に対応してデータを抽出することが可能である。
また、データ値の変化の大きさを適宜選択して元の時系列データの中から作業者が必要とするデータ値の変化が生じている期間のデータを抽出することができるので、短時間の突発的なデータ値の変動に対応するデータを抽出することができ、元の時系列データが有する情報量を最大限活用してデータ利用の精確性の向上が可能である。
以下、本発明の構成を図面に示す最良の形態に基づいて詳細に説明する。
図1から図4に、本発明の時系列データの保存及び抽出方法の実施形態の一例を示す。
本発明の時系列データの保存及び抽出方法は、図1のフローに示すように、大きくは、時系列データの保存に関する処理としてデータを間引いて抽出するための間引きタグの設定(S1)、データへの間引きタグの付与(S2)及び短時間で大きい変化が起きているイベントデータの検出(S3)、並びに時系列データの抽出に関する処理として時系列データを利用するためのデータの抽出と合成(S4)からなる。
以下に、まず、時系列データの保存に関する処理(S1〜S3)について図2に示すフローに従って説明する。
最初に、間引きタグの設定(S1)について説明する。
間引きタグは時系列データからデータを間引いて抽出する際に利用するものであり、各データに一つの間引きタグを付与する。間引きタグは、時刻のオーダーの種類を表すAタグと、時刻のオーダーの中での区切り(以下適宜、時刻の区切りと表記する)の種類を表すBタグとで構成する。間引きタグは、各データを取得した時刻に対して付与するものであり、もともとのデータの取得間隔には依存しない。そのため、データの取得間隔が変動した場合にも柔軟に対応することができる。
本実施形態では、Aタグである時刻のオーダーの種類として、秒、分、時、日、月及び年を設定する(S1−1)。なお、後述するように、日、月、年も特定の時点を表すものとして定義することにより時刻のオーダーとして扱う。また、秒、分及び時は日本国の標準時刻を用い、日及び月は日本国の暦を用い、年は西暦を用いる。
なお、時刻のオーダーの種類は、前記の秒、分、時、日、月、年には限られず、時系列データの内容や種類により作業者が適当な時刻のオーダーの種類を設定する。例えば、時刻のオーダーの種類として前記に加えて週を設定しても良い。また、前記のうち作業者が不要と判断した時刻のオーダーの種類は設定しなくても良い。更に、もともとのデータの取得間隔よりも小さい時刻のオーダーの種類は設定しない。具体的には例えば、もともとのデータの取得間隔が1時間毎であれば秒オーダーや分オーダーは設定しない。
AタグもBタグも具体的には数値を用いて表す。本実施形態では、AタグもBタグも一桁の整数を用いて表す。
Aタグの値は、秒オーダーは0、分オーダーは1、時オーダーは2、日オーダーは3、月オーダーは4、年オーダーは5とする。また、以降では、Aタグの値が大きい方の時刻のオーダーの種類を上位の時刻のオーダーの種類と呼び、小さい方を下位の時刻のオーダーの種類と呼ぶ。具体的には例えば、分オーダーは、秒オーダーに対しては上位の時刻のオーダーの種類であり、時オーダーに対しては下位の時刻のオーダーの種類である。
次に、Bタグの設定(S1−2)について説明する。前記の通り、Bタグは時刻のオーダーの中での区切りの種類を表すものであり、時刻のオーダーの種類のそれぞれについて設定する。
本実施形態では、秒オーダーの中での区切りの種類は、1秒毎、5秒毎、10秒毎、20秒毎、30秒毎とする。また、分オーダーの中での区切りの種類は、1分毎、5分毎、10分毎、20分毎、30分毎とする。更に、時オーダーの中での区切りの種類は、1時間毎、2時間毎、3時間毎、4時間毎、6時間毎、12時間毎とする。
Bタグの値は、秒オーダーの中での区切りの種類については、1秒毎は0、5秒毎は1、10秒毎は2、20秒毎は3、30秒毎は4とする。また、分オーダーの中での区切りの種類については、1分毎は0、5分毎は1、10分毎は2、20分毎は3、30分毎は4とする。更に、時オーダーの中での区切りの種類については、1時間毎は0、2時間毎は1、3時間毎は2、4時間毎は3、6時間毎は4、12時間毎は5とする。また、以降では、時刻のオーダーの種類が同じもの同士でBタグの値が大きい方の時刻の区切りの種類を上位の時刻の区切りの種類と呼び、小さい方を下位の時刻の区切りの種類と呼ぶ。具体的には例えば、分オーダーについて、5分毎は、1分毎に対しては上位の時刻の区切りの種類であり、10分毎に対しては下位の時刻の区切りの種類である。
ここで、例えば秒オーダーの中での区切りの種類の5秒毎とは、5秒、10秒、15秒、20秒、25秒、30秒、35秒、40秒、45秒、50秒、55秒、60秒のことをいい、これらについては原則としてBタグの値は前記の通り1となる。しかしながら、複数の時刻の区切りの種類に該当する場合には、最も上位の時刻の区切りの種類を優先する。具体的には例えば、10秒は時刻の区切りの種類の5秒毎に該当すると共に10秒毎にも該当するので、より上位の時刻の区切りの種類である10秒毎を優先してBタグの値は2となる。また、20秒については、時刻の区切りの種類の5秒毎と10秒毎に該当し、更に20秒毎にも該当するので、最も上位の時刻の区切りの種類である20秒毎を優先してBタグの値は3となる。
また、ある時刻のオーダーの時刻の区切りに該当する時点がより上位の時刻のオーダーの種類の時刻の区切りにも該当する場合には、時刻のオーダーの種類をより上位の時刻のオーダーの種類とした上でその上位の時刻のオーダーの種類の中での時刻の区切りの種類を設定する。具体的には例えば、秒オーダーの60秒は時刻のオーダーの種類を分オーダーとした上で分オーダーの中での時刻の区切りの種類を設定する。そして更に秒オーダーの60秒が分オーダーの60分にも該当している場合には時刻のオーダーの種類を時オーダーとした上で時オーダーの中での時刻の区切りの種類を設定する。
以上の結果、秒オーダー、分オーダー、時オーダーのそれぞれのAタグの値とBタグの値は表1(A)、(B)、(C)の通りになる。
Figure 2007114896
更に、本実施形態では、日オーダーの中での区切りの種類は、1日毎、5日毎、10日毎、15日毎とする。また、月オーダーの中での区切りの種類は、1月毎、2月毎、3月毎、6月毎とする。更に、年オーダーの中での区切りの種類は、1年毎、2年毎、5年毎とする。なお、本実施形態では、年オーダーのBタグの設定には西暦の下一桁を用いる。
Bタグの値は、日オーダーの中での区切りの種類については、1日毎は0、5日毎は1、10日毎は2、15日毎は3とする。また、月オーダーの中での区切りの種類については、1月毎は0、2月毎は1、3月毎は2、6月毎は3とする。更に、年オーダーの中での区切りの種類については、1年毎は0、2年毎は1、5年毎は2とする。
以上の結果、日オーダー、月オーダー、年オーダーのそれぞれのAタグの値とBタグの値は表2(A)、(B)、(C)の通りになる。
Figure 2007114896
更に、1/10秒オーダー、1/100秒オーダー、1/1000秒オーダーについても間引きタグを設定する場合には、例えば表3(A)、(B)、(C)のように設定する。
Figure 2007114896
また、本実施形態では、Aタグ及びBタグの値並びに(式1)を用いて間引きタグを二桁の整数で表す。これにより、後述するように、間引きタグを用いてデータを抽出する際の指定が簡便になる。
G=a×10+b …(式1)
ここに、G:間引きタグの値、a:Aタグの値、b:Bタグの値。
なお、Aタグの値a並びにBタグの値bの桁数は一桁には限られず二桁以上であっても良く、間引きタグの値Gの桁数は三桁以上であっても良い。更に、Aタグの値aの桁数とBタグの値bの桁数は同じであっても異なっていてもどちらでも良い。ここで、Bタグの値bの桁数が一桁でない場合には(式1)をBタグの値bの桁数に合わせて適切に設定することにより間引きタグを任意の桁数の整数で表現することができる。具体的には例えば、Bタグの値bの桁数が二桁の場合には(式1)をG=a×100+bのように設定する。
以上述べた方法によって各データに二桁の整数からなる間引きタグを付与することにより作業者が必要とする時間間隔のデータのみを時系列データから抽出することができる。なお、以降では、間引きタグの値Gを基に元の時系列データから抽出したデータを間引きデータと呼ぶ。
具体的には例えば、間引きタグの値Gが10以上のデータを抽出すると1分間隔の間引きデータが得られ、間引きタグの値Gが12以上のデータを抽出すると10分間隔の間引きデータが得られる。また、間引きタグの値Gが13以上で且つ14でないデータを抽出すると20分間隔の間引きデータが得られる。
なお、本実施形態では、Aタグの値aとBタグの値bとから間引きタグの値Gを算出するようにしているが、間引きタグのAタグとBタグとしてそのまま利用するようにしても良い。この場合には例えば、Aタグの値aが1以上のデータを抽出すると1分間隔の間引きデータが得られ、Aタグの値aが1以上で且つBタグの値bが2以上のデータを抽出すると10分間隔の間引きデータが得られ、更にAタグの値aが1以上であってBタグの値が3以上で且つ4でないデータを抽出すると20分間隔の間引きデータが得られる。
ここで、本発明では、それぞれの時刻のオーダーの種類の時刻の区切りに対応するデータは特定の時点のデータとして定義する。本実施形態では、秒オーダーのデータは毎秒丁度の時点のデータ、分オーダーのデータは毎分丁度の時点のデータ、時オーダーのデータは毎時丁度の時点のデータとする。したがって具体的には、時オーダーの3時のデータは3時00分00秒丁度の時点のデータとなる。
更に、日オーダー、月オーダー、年オーダーのデータもそれぞれを特定の時点のデータとして定義する。本実施形態では、日オーダーのデータはその日の午前0時丁度の時点、月オーダーのデータはその月の1日(ついたち)午前0時丁度の時点、年オーダーのデータはその年の1月1日午前0時丁度の時点のデータとする。したがって具体的には、年オーダーの5年のデータは西暦の下一桁が5である年の1月1日午前0時丁度の時点のデータとする。
ここで、上記の特定の時点はオフセットを設定して一定時間だけずらすようにしても良い。上記の特定の時点をオフセットによりずらすことにより、データの規準となる特定の時点を個々のデータの取得状況に適応させることができる。具体的には例えば、時オーダーについてオフセットをプラス15分とし、時オーダーのデータを毎時15分丁度の時点のデータとしても良い。なお、オフセットは、分オーダーについてはプラス1〜59秒、時オーダーについてはプラス1〜59分、日オーダーについてはプラス1〜23時間、月オーダーについてはプラス1〜27日、年オーダーについてはプラス1〜11月の範囲の整数値で設定する。
続いて、データへの間引きタグの付与(S2)について説明する。
まず、間引きタグを付与するデータDの時刻TとデータDの直前に取得したデータDn−1の時刻Tn−1との中間の時刻Tn−1/2、並びにデータDの時刻TとデータDの直後に取得したデータDn+1の時刻Tn+1との中間の時刻Tn+1/2を算出する(S2−1、S2−2)。なお、時刻Tn−1/2から時刻Tn+1/2までをデータDの範囲と呼ぶ。また、本実施形態では、一番最初に取得したデータと一番最後に取得したデータについてはこのデータDの範囲が設定できないため間引きタグを付与していない。
具体例として、例えば、間引きタグを付与するデータDの時刻が14時44分であり、データDの直前に取得したデータDの時刻が14時41分でデータDの直後に取得したデータDの時刻が14時57分の場合には、データDの範囲は14時42分30秒から14時50分30秒までとなる。
続いて、データDの範囲に時刻の区切りが入っているか否かを判断する(S2−3)。そして、データDの範囲に時刻の区切りが入っている場合(S2−3;Yes)には次の処理(S2−4)に進む。一方、データDの範囲に時刻の区切りが入っていない場合(S2−3;No)には、データDには間引きタグを付与せずにデータDに対する間引きタグの付与の処理を終了する(S2−9)。
先の具体例では、データDの範囲の14時42分30秒から14時50分30秒までに分オーダーの時刻の区切りの14時45分及び14時50分並びに秒オーダーの時刻の区切りが入っている(S2−3;Yes)ので次の処理(S2−4)に進む。
データDの範囲に時刻の区切りが入っている場合(S2−3;Yes)には、データDの範囲に入っている時刻の区切りの種類のうち最も上位の時刻のオーダーの種類の中で最も上位の時刻の区切りの種類Sを選定する(S2−4)。そして、その時刻の区切りの種類Sの時刻の区切りSi・kを選定する(S2−5)。
先の具体例では、まず、データDの範囲に入っている時刻の区切りの種類の最も上位の時刻のオーダーの種類は分オーダーである。そして、分オーダーの時刻の区切り14時45分の時刻の区切りの種類は5分毎であり、時刻の区切り14時50分の時刻の区切りの種類は10分毎である。したがって、最も上位の時刻の区切りの種類として10分毎を選定する(S2−4)。そして、時刻の区切りとして14時50分を選定する(S2−5)。
なお、データDの範囲に最も上位の時刻の区切りの種類Sの時刻の区切りが複数個ある場合、具体的には例えば、時刻の区切りSi・kの直前の時刻の区切りSi・k−1や直後の時刻の区切りSi・k+1等がデータDの範囲にある場合には、それぞれについて以降のS2−6からS2−10までの処理を行う。そして、最終的に複数の間引きタグが付与され得る場合には、複数の間引きタグのそれぞれの時刻の区切りのうち時刻が最も早い時刻の区切りに対応する間引きタグを付与する。
次に、時刻の区切りの種類Sの時刻の区切りSi・kとその直前の時刻の区切りSi・k−1との中間の時刻Si・k−1/2、並びに時刻の区切りSi・kとその直後の時刻の区切りSi・k+1との中間の時刻Si・k+1/2を算出する(S2−6)。なお、時刻Si・k−1/2から時刻Si・k+1/2までを時刻の区切りSi・kの範囲と呼ぶ。
先の具体例では、時刻の区切りの種類10分毎の時刻の区切り14時50分の直前の時刻の区切りは14時40分で直後の時刻の区切りは15時00分であるので、時刻の区切り14時50分の範囲は14時45分から14時55分までとなる。
続いて、時刻の区切りSi・kの範囲に間引きタグを付与するデータDの時刻Tが入っているか否かを判断する(S2−7)。そして、時刻Tが入っている場合(S2−7;Yes)には、時刻の区切りSi・kの間引きタグの値GをデータDに付与する(S2−10)。
一方、時刻の区切りSi・kの範囲に時刻Tが入っていない場合(S2−7;No)には、データDの範囲に時刻の区切りの種類Sの下位の時刻の区切りの種類が入っているか否かを判断する(S2−8)。この際、時刻の区切りの種類Sの一つ下位の時刻の区切りの種類Si−1が入っているか否かを判断し、入っていない場合には更に一つ下位の時刻の区切りの種類Si−2が入っているか否かを判断するというように、時刻の区切りの種類として設定している全ての時刻の区切りの種類について上位から順に判断する。更に、ある時刻のオーダーの種類の中で設定している全ての時刻の区切りの種類についての判断に続いて一つ下位の時刻のオーダーの種類の中で設定している全ての時刻の区切りの種類について判断するというように、時刻のオーダーの種類として設定している全ての時刻のオーダーの種類について上位から順に時刻の区切りの種類が入っているか否かを判断する。
そして、データDの範囲に時刻の区切りの種類Sの下位の時刻の区切りの種類が入っている場合(S2−8;Yes)には、その時刻の区切りの種類の時刻の区切りを選定する処理(S2−5)に戻る。
一方、データDの範囲に下位の時刻の区切りの種類が入っていない場合(S2−8;No)には、データDには間引きタグを付与せずにデータDに対する間引きタグの付与の処理を終了する(S2−9)。
先の具体例では、時刻の区切り14時50分の範囲の14時45分から14時55分にデータDの時刻14時44分は入っていない(S2−7;No)。そこで、データDの範囲の14時42分30秒から14時50分30秒に時刻の区切りの種類10分毎の下位の時刻の区切りの種類が入っているか否かを判断すると(S2−8)、S2−4でみたように一つ下位の時刻の区切りの種類である5分毎が入っている(S2−8;Yes)のでその時刻の区切りの種類の時刻の区切りを選定する処理(S2−5)に戻る。
そして、時刻の区切りの種類5分毎の時刻の区切りは14時45分であり(S2−5)、直前の時刻の区切りは14時40分で直後の時刻の区切りは14時50分であるから時刻の区切りの範囲は14時42分30秒から14時47分30秒までとなる(S2−6)。そうすると時刻の区切りの範囲にデータDの時刻14時44分が入っている(S2−7;Yes)ので、データDは時刻のオーダーの種類が分で時刻の区切りの種類が5分毎となって間引きタグの値Gは11となる(S2−10)。
上記のS2−1からS2−10までの処理は時系列データを構成する全てのデータ毎に行う。なお、データへの間引きタグの付与は、既に取得済みでデータベース等に保存している時系列データに対して間引きタグを一括して後付けするようにしても良いし、データを新たに取得してデータベース等に保存する際に逐次的に間引きタグを付与するようにしても良い。
続いて、時系列データのうち短時間で大きい変化が起きているデータの検出(S3)について説明する。
長期間の時系列データを利用する際に単にデータを間引いて抽出するだけでは短時間でのデータの値の大きな変化を見落としてしまう可能性がある。具体的には、図4(A)に示すように、もともと図中の白丸と黒丸の時系列データが得られていた場合に、黒丸の間引きデータ2だけを抽出して白丸のデータ1をまったく使わないとすると短時間3におけるデータの値の大きな変化を見落としてしまうことになる。
そこで、本発明では、前述の間引きによるデータの抽出に加え、時系列データのうち短時間で大きい変化が起きているデータの抽出を行う。なお、以降では、短時間のうちにデータの値に大きな変化を引き起こす原因のことをイベントと呼び、イベントに対応して短時間で大きく変化している部分のデータのことをイベントデータと呼ぶ。したがって、ここでの処理はイベントデータを検出することである。
イベントデータの検出はデータの1階微分値や2階微分値を基に行う。そのため、まず、データの1階微分値や2階微分値を算出する(S3−1)。
具体的には、1階微分値を算出するデータをデータD、データDの直後に取得したデータをデータDn+1とすると、データDの1階微分値D'を(式2)により算出する。
D'=(Vn+1−V)/(Tn+1−T) …(式2)
ここに、D':データDの1階微分値、Vn+1:データDn+1の値、V:データDの値、Tn+1:データDn+1の時刻、T:データDの時刻。なお、時刻Tn+1やTの単位はもともとのデータの取得間隔に合わせて設定し、同一の単位とする。具体的には例えば、もともとのデータの取得間隔が数分間隔であればどちらも分とし、一日に一回の取得間隔であればどちらも日とする。
更に、データDn+1の直後に取得したデータをデータDn+2とすると、データDn+1の1階微分値D'n+1を(式3)により算出する。
D'n+1=(Vn+2−Vn+1)/(Tn+2−Tn+1) …(式3)
ここに、D'n+1:データDn+1の1階微分値、Vn+2:データDn+2の値、Vn+1:データDn+1の値、Tn+2:データDn+2の時刻、Tn+1:データDn+1の時刻。
そして、データDの2階微分値D''を(式4)により算出する。
D''=(D'n+1−D')/{(Tn+2−T)/2} …(式4)
ここに、D'':データDの2階微分値、D'n+1:データDn+1の1階微分値、D':データDの1階微分値、Tn+2:データDn+2の時刻、T:データDの時刻。
ここで、取得したデータには、イベントによるものではないが、例えば計測機器の計測誤差等によるノイズと呼ばれるデータの変動が含まれている場合がある。したがって、取得したデータの計測値をそのまま用いて1階微分値や2階微分値(以下適宜、単に微分値と表記する)を算出した場合、このノイズをイベントと誤認してしまうことも考えられる。そのため、データの微分値を算出する際に移動平均値を用いるようにしても良い。
具体的には、データDの直前に取得したデータをデータDn−1とすると、データDの移動平均値Mを(式5)により算出し、データDn+1の移動平均値Mn+1を(式6)により算出する。
=(Vn−1+V+Vn+1)/3 …(式5)
ここに、M:データDの移動平均値、Vn−1:データDn−1の値、V:データDの値、Vn+1:データDn+1の値。
n+1=(V+Vn+1+Vn+2)/3 …(式6)
ここに、Mn+1:データDn+1の移動平均値、V:データDの値、Vn+1:データDn+1の値、Vn+2:データDn+2の値。
そして、移動平均値を用いたデータDの1階微分値D'を(式7)により算出する。
'=(Mn+1−M)/(Tn+1−T) …(式7)
ここに、D':移動平均値を用いたデータDの1階微分値、Mn+1:データDn+1の移動平均値、M:データDの移動平均値、Tn+1:データDn+1の時刻、T:データDの時刻。
更に、データDn+2の直後に取得したデータをデータDn+3とすると、データDn+2の移動平均値Mn+2を(式8)により算出する。
n+2=(Vn+1+Vn+2+Vn+3)/3 …(式8)
ここに、Mn+2:データDn+2の移動平均値、Vn+1:データDn+1の値、Vn+2:データDn+2の値、Vn+3:データDn+3の値。
そして、移動平均値を用いたデータDn+1の1階微分値D'n+1を(式9)により算出する。
'n+1=(Mn+2−Mn+1)/(Tn+2−Tn+1) …(式9)
ここに、D'n+1:移動平均値を用いたデータDn+1の1階微分値、Mn+2:データDn+2の移動平均値、Mn+1:データDn+1の移動平均値、Tn+2:データDn+2の時刻、Tn+1:データDn+1の時刻。
そして、移動平均値を用いたデータDの2階微分値D''を(式10)により算出する。
''=(D'n+1−D')/{(Tn+2−T)/2} …(式10)
ここに、D'':移動平均値を用いたデータDの2階微分値、D'n+1:移動平均値を用いたデータDn+1の1階微分値、D':移動平均値を用いたデータDの1階微分値、Tn+2:データDn+2の時刻、T:データDの時刻。
そして、1階微分値、2階微分値、移動平均値を用いた1階微分値、移動平均値を用いた2階微分値(以降では、移動平均値を用いた微分値も含めて単に微分値と表記する)のうちのいずれか一つ若しくは二つ以上を算出し、算出した値をデータに付与する。
上記のS3−1の処理は時系列データを構成する全てのデータ毎に行う。ただし、例えば一番最初に取得したデータや一番最後に取得したデータ等について、微分値を算出するデータの前後のデータであって微分値の算出に必要なデータがない場合には微分値を付与しない。なお、データへの微分値の付与は、既に取得済みでデータベース等に保存している時系列データに対して微分値を一括して後付けするようにしても良いし、データを新たに取得してデータベース等に保存する際に逐次的に微分値を付与するようにしても良い。
次に、イベントの生起を判別するための閾値(以下、イベント判別閾値と表記する)を設定する(S3−2)。
イベント判別閾値はS3−1でデータ毎に付与した微分値を基にイベントの発生と終了を判別するための閾値であって、具体的には、微分値の絶対値がこの閾値以上になった場合にイベントが発生したと判別し、その後に微分値の絶対値がこの閾値未満になった場合にイベントが終了したと判別する。
イベント判別閾値は、例えば、データの内容や値の大きさ、或いは注目すべきイベントの種類とそのイベントに対応して想定されるデータの値の変化の大きさ等を考慮して作業者が適当なイベント判別閾値を設定する。
若しくは、S3−1で算出した微分値の統計情報を利用してイベント判別閾値を設定するようにしても良い。具体的には例えば、まず、時系列データを構成する全てのデータについて微分値を算出し、微分値の絶対値を大きい順に並べた微分値の順位データを作成する。そして、例えば作業者が微分値の絶対値が大きい上位10%を抽出したい場合には上位10%の順位に該当する微分値の絶対値をイベント判別閾値として設定するようにしても良い。
なお、イベントの検出のためには、データの1階微分値、2階微分値、移動平均値を用いた1階微分値、移動平均値を用いた2階微分値のいずれか一つのみを算出すると共にそのいずれか一つについてイベント判別閾値を設定するようにしても良いし、又は二つ以上の微分値を算出すると共にそれぞれについてイベント判別閾値を設定するようにしても良い。
以上の処理を行うことにより、図4の具体例の場合には、図4(B)に示すように、中黒二重丸のイベントデータ4を抽出することが可能となり、短時間3におけるデータの値の大きな変化を見落とすことなく時系列データを利用することが可能となる。
以上のS1−1からS3−2までの処理によりデータ毎に原則として間引きタグと微分値のどちらか一方又は両方が付与され、データ毎の間引きタグ並びに微分値としてデータと対応させて保存する(S3−3)ことにより、時系列データの保存に関する処理は終了する。
次に、時系列データの抽出に関する処理である時系列データを利用するための間引きデータ及びイベントデータの抽出とそれらデータの合成(S4)について図3に示すフローに従って説明する。
まず、時系列データの抽出期間を設定する(S4−1)。時系列データの抽出期間は、例えば、もともとの時系列データの収集期間や作業の目的に対応して必要とされる時系列データの期間を考慮して作業者が適当な期間を設定する。
そして、S2でデータ毎に付与した間引きタグの値Gに基づいて間引きデータの抽出を行う(S4−2、S4−3)。
時系列データから間引きデータを抽出するための間引きタグの条件は、例えば、作業者が必要とするデータの時間間隔に基づいて設定する。必要とするデータの時間間隔は、例えば、もともとの時系列データの取得間隔や作業の目的並びに時系列データの抽出期間等を考慮して作業者が適当なデータの時間間隔を決定する。そして、例えば、作業者が必要とするデータの時間間隔が10分間隔であれば間引きタグの条件として間引きタグの値Gが12以上であることを設定し、日毎のデータが必要であれば間引きタグの値Gが30以上であることを設定する。
また、S4−1で設定した時系列データの抽出期間と間引きデータとして抽出するデータ数の上限とから(式11)により算出した時間間隔Iを基に間引きタグの条件を設定するようにしても良い。
I=S/N …(式11)
ここに、I:時間間隔、S:時系列データの抽出期間、N:間引きデータとして抽出するデータ数の上限。なお、I及びSの単位は例えば[分]など時間の単位であって両者は同一の単位とする。
ここで、間引きデータとして抽出するデータ数の上限は、例えば、処理・加工等することができるデータ数の上限及びイベントデータとして抽出されるデータ数の想定に基づいて作業者が適当な間引きデータ数の上限を決定する。
そして、(式11)により算出した時間間隔I以上であって且つ最も小さい時刻の区切りの種類を選定する。
具体的には例えば、時系列データの抽出期間が1年間で、間引きデータとして抽出するデータ数の上限を5000個とした場合には、時系列データの抽出期間Sが525600[分]となるので(式11)から時間間隔Iは105.12[分]となる。したがって、表1の中から105.12[分]以上であって且つ最も小さい時刻の区切りの種類を選定すると2時間毎となる。よって、間引きタグの条件は、間引きタグの値Gが21以上で且つ22でないこととなる。
そして、データに付与した間引きタグの値Gが間引きタグの条件を満たす場合(S4−3;Yes)にはそのデータを抽出する(S4−6)。一方、間引きタグの値Gが間引きタグの条件を満たさない場合(S4−3;No)には次の処理(S4−4)に移る。
続いて、イベントデータの抽出をS3−1でデータ毎に付与した微分値とS3−2で設定したイベント判別閾値を比較することにより行う(S4−4)。
そして、微分値の絶対値がイベント判別閾値以上の場合(S4−4;Yes)にはそのデータを抽出する(S4−6)。一方、微分値の絶対値がイベント判別閾値未満の場合(S4−4;No)にはそのデータは抽出しない(S4−5)。
上記のS4−2からS4−6までの処理を時系列データを構成する全てのデータ毎に行い、間引きデータ及びイベントデータを抽出する。そして抽出した全てのデータを時刻順に並べる(S4−7)ことにより間引き条件に合致すると共にイベントに対応したデータが抽出された時系列データが得られ、時系列データの抽出に関する処理は終了する。
上述の時系列データの保存及び抽出方法は時系列データの保存及び抽出プログラム13をコンピュータ上で実行することによっても実現される。この実施の一例を以下に示す。
時系列データの保存及び抽出プログラム13を実行するための時系列データの保存及び抽出装置5の全体構成を図5に示す。時系列データの保存及び抽出装置5は、制御部6、記憶部7、入力部8、表示部9及びメモリ10を備え相互にバス等の信号回線により接続されている。また、時系列データの保存及び抽出装置5にはデータベース11及び保存用データベース12が通信回線等により接続されており、その通信回線等を介して相互にデータや制御指令等の信号の送受信(出入力)が行われる。
制御部6は 記憶部7に記憶されている時系列データの保存及び抽出プログラム13により時系列データの保存及び抽出装置5全体の制御並びに時系列データの保存及び抽出に係る演算を行うものであり、例えばCPUである。記憶部7は少なくともデータやプログラムを記憶可能な装置であり、例えばハードディスクである。入力部8は少なくとも作業者の命令を制御部6に与えるためのインターフェイスであり、例えばキーボードである。表示部9は制御部6の制御により文字や図形等の表示を行うものであり、例えばディスプレイである。メモリ10は制御部6が各種制御を実行する際に作業領域となるメモリ空間となる。データベース11や保存用データベース12は少なくともデータを記憶可能な装置であり、例えばデータサーバである。
時系列データの保存及び抽出装置5の制御部6は、時系列データの保存及び抽出プログラム13を実行することにより、データに付与する間引きタグを設定するタグ設定部6a、データの範囲の時刻を算出する第一の時刻算出部6b、データの範囲に時刻の区切りが入っているか否かを判断する第一の時刻の区切り判定部6c、最も上位の時刻のオーダーの種類の中で最も上位の時刻の区切りの種類を選定する選定部6d、時刻の区切りの範囲の時刻を算出する第二の時刻算出部6e、時刻の区切りの範囲にデータの時刻が入っているか否かを判断するデータの時刻判定部6f、データに間引きタグを付与するタグ付与部6g、データの範囲に下位の時刻の区切りの種類が入っているか否かを判断する第二の時刻の区切り判定部6h、データの微分値を算出する微分値算出部6i、イベント判別閾値を設定する閾値設定部6j、時系列データの中から間引きデータを抽出する間引きデータ抽出部6k、時系列データの中からイベントデータを抽出するイベントデータ抽出部6mが構成される。
なお、データベース11には、例えば各種の計測機器が計測した複数時点の計測データや演算機器が算出した複数時点の統計データが時系列データとして保管されている。そして、この時系列データを構成する各データにはデータ値とデータ時刻情報とが少なくとも含まれている。
まず、時系列データを保存する際(S1〜S3)の時系列データの保存及び抽出プログラム13の処理内容について説明する。
制御部6のタグ設定部6aは、Aタグ及びBタグの設定の内容を例えば入力部8により入力して予め記憶部7に記憶しておく(S1−1、S1−2)。更に、時刻のオーダーの種類毎の時刻の区切りの種類別に(式1)を用いて間引きタグの値Gを算出すると共に算出した間引きタグの値Gを記憶部7又はメモリ10に記憶する。なお、Aタグ及びBタグの設定の内容とは、時刻のオーダーの種類とその種類別のAタグの値、及び時刻のオーダーの種類毎の時刻の区切りの種類とその種類別のBタグの値である。
次に、制御部6の第一の時刻算出部6bは、データDn−1、D、Dn+1をデータベース11から読み込み(S2−1)、データDの範囲の時刻Tn−1/2と時刻Tn+1/2を算出する(S2−2)。そして、データDn−1、D、Dn+1をメモリ10に記憶すると共に算出した時刻Tn−1/2と時刻Tn+1/2を記憶部7又はメモリ10に記憶する。
続いて、制御部6の第一の時刻の区切り判定部6cは、記憶部7に記憶しているAタグ及びBタグの設定の内容及びS2−1で記憶部7又はメモリ10に記憶した時刻Tn−1/2と時刻Tn+1/2を読み込む。そして、データDの範囲である時刻Tn−1/2から時刻Tn+1/2の間に時刻の区切りが入っているか否かを判断する(S2−3)。
そして、データDの範囲に時刻の区切りが入っていない場合(S2−3;No)には、データDには間引きタグを付与せずにデータDに対する間引きタグの付与の処理を終了する(S2−9)。なお、この場合は、データDはタグが付与されない状態で保存用データベース12に保存される。
一方、データDの範囲に時刻の区切りが入っている場合(S2−3;Yes)には、制御部6の第一の時刻の区切り判定部6cの判定結果に基づき、制御部6の選定部6dは、データDの範囲に入っている時刻の区切りの種類のうち最も上位の時刻のオーダーの種類の中で最も上位の時刻の区切りの種類Sを選定する(S2−4)と共にその時刻の区切りの種類Sの時刻の区切りSi・kを選定する(S2−5)。そして、選定した時刻の区切りの種類S及び時刻の区切りSi・kを記憶部7又はメモリ10に記憶する。
次に、制御部6の第二の時刻算出部6eは、記憶部7に記憶しているAタグ及びBタグの設定の内容並びにS2−4及びS2−5で記憶部7又はメモリ10に記憶した時刻の区切りの種類S及び時刻の区切りSi・kを読み込む。そして、時刻の区切りSi・kの範囲の時刻Si・k−1/2と時刻Si・k+1/2を算出する(S2−6)。更に、算出した時刻Si・k−1/2及び時刻Si・k+1/2を記憶部7又はメモリ10に記憶する。
次に、制御部6のデータの時刻判定部6fは、S2−1でメモリ10に記憶したデータD並びにS2−6で記憶部7又はメモリ10に記憶した時刻Si・k−1/2及び時刻Si・k+1/2を読み込み、時刻の区切りSi・kの範囲である時刻Si・k−1/2から時刻Si・k+1/2の間にデータDの時刻Tが入っているか否かを判断する(S2−7)。
そして、時刻の区切りSi・kの範囲に時刻Tが入っている場合(S2−7;Yes)には、制御部6のデータの時刻判定部6fの判定結果に基づき、タグ付与部6gはS1−1・S1−2で記憶部7又はメモリ10に記憶した時刻のオーダーの種類毎の時刻の区切りの種類別の間引きタグの値Gの中から時刻の区切りSi・kの間引きタグの値Gを読み出してデータDの間引きタグの値とし(S2−10)、データD及び間引きタグの値Gを保存用データベース12に記憶する。なお、本実施形態では、間引きタグの付与が終了したデータを保存用データベース12に保存するようにしているが、もともとの時系列データが保管されているデータベース11に保存するようにしても良いし、時系列データの保存及び抽出装置5の記憶部7に保存するようにしても良い。
一方、時刻の区切りSi・kの範囲に時刻Tが入っていない場合(S2−7;No)には、制御部6の第二の時刻の区切り判定部6hは、記憶部7に記憶しているAタグ及びBタグの設定の内容及びS2−2で記憶部7又はメモリ10に記憶した時刻Tn−1/2と時刻Tn+1/2を読み込む。そして、データDの範囲である時刻Tn−1/2から時刻Tn+1/2の間に時刻の区切りの種類Sの下位の時刻の区切りの種類が入っているか否かを判断する(S2−8)。
そして、データDの範囲に下位の時刻の区切りの種類が入っている場合(S2−8;Yes)には、制御部6の第二の時刻の区切り判定部6hの判定結果に基づき、選定部6dがその時刻の区切りの種類の時刻の区切りを選定する処理(S2−5)に戻る。
一方、データDの範囲に下位の時刻の区切りの種類が入っていない場合(S2−8;No)には、データDには間引きタグを付与せずにデータDに対する間引きタグの付与の処理を終了する(S2−9)。なお、この場合は、データDはタグが付与されない状態で保存用データベース12に保存される。
時系列データの保存及び抽出プログラム13は上記のS2−1からS2−10までの処理をデータベース11に保管されている時系列データを構成する全てのデータ毎に行い、全てのデータについてS2−1からS2−10までの処理が終了した場合に間引きタグの付与の処理を終了する。
次に、制御部6の微分値算出部6iは、データDとDn+1をメモリ10又はデータベース11から読み込み、(式2)によりデータDの1階微分値D'を算出する。更にデータDn+2をデータベース11から読み込み、(式3)によりデータDn+1の1階微分値D'n+1を算出して(式4)によりデータDの2階微分値D''を算出する(S3−1)。
また、移動平均値を用いたデータDの1階微分値D'を算出する場合には、制御部6の微分値算出部6iは、データDn−1、D、Dn+1、Dn+2、Dn+3をメモリ10又はデータベース11から読み込み、(式5)によりデータDの移動平均値Mを算出すると共に(式6)によりデータDn+1の移動平均値Mn+1を算出して(式7)により移動平均値を用いたデータDの1階微分値D'を算出する。更に、(式8)によりデータDn+2の移動平均値Mn+2を算出すると共に(式9)により移動平均値を用いたデータDn+1の1階微分値D'n+1を算出して(式10)により移動平均値を用いたデータDの2階微分値D''を算出する(S3−1)。
そして、算出した微分値をデータDの微分値として保存用データベース12に保存する。なお、S3−1で算出する微分値の種類については、例えば、時系列データの保存及び抽出プログラム13上前述の全ての微分値を必ず算出するようにしても良いし、又は算出する微分値の種類の指定を要求する内容のメッセージをS3−1で処理する段階で表示部9に表示すると共に作業者の指定を入力部8を介して微分値算出部6iに与えるようにしても良い。
時系列データの保存及び抽出プログラム13は上記のS3−1の処理をデータベース11に保存されている時系列データを構成する全てのデータ毎に行い、全てのデータについてS3−1の処理が終了した場合に微分値の算出の処理を終了する。
次に、イベント判別閾値の設定(S3−2)について、微分値の統計情報を利用して閾値を設定する場合には、制御部6の閾値設定部6jは、保存用データベース12に保存されている時系列データを構成する全てのデータについて微分値を読み込み、微分値の絶対値を大きい順に並べたデータを作成する。そして、微分値の上位割合の順位に該当する微分値の絶対値をイベント判別閾値として設定し、設定したイベント判別閾値を記憶部7に記憶する。なお、微分値の上位割合は、例えば、予め入力部8により入力して記憶部7に記憶した値を読み込むようにしても良いし、又は微分値の上位割合の指定を要求する内容のメッセージをS3−2を処理する段階で表示部9に表示すると共に作業者が指定した値を入力部8を介して閾値設定部6jに与えるようにしても良い。
一方、イベント判別閾値の設定(S3−2)について、微分値の統計情報を利用しない場合には、例えば、イベント判別閾値を入力部8により入力して記憶部7に予め記憶しておくようにしても良いし、又はイベント判別閾値の指定を要求する内容のメッセージを後述するS4−4を処理する段階で表示部9に表示すると共に作業者が指定する値を入力部8を介して制御部6のイベントデータ抽出部6mに与えるようにしても良い。
以上のS1−1からS3−2までの処理によりデータ毎に原則として間引きタグと微分値のどちらか一方又は両方が付与され、データ毎の間引きタグ、微分値としてデータと対応させて保存用データベース12に保存する(S3−3)ことにより、時系列データの保存に関する処理は終了する。
続いて、上記により保存された時系列データを利用するためにデータを抽出及び合成する際(S4)の時系列データの保存及び抽出プログラム13の処理内容について説明する。
制御部6の間引きデータ抽出部6kは、時系列データの抽出期間Sの指定を要求する内容のメッセージを表示部9に表示すると共に作業者が指定する値を入力部8を介して入力する(S4−1)。そして、時系列データの抽出期間Sの値を記憶部7又はメモリ10に記憶する。
次に、制御部6の間引きデータ抽出部6kは、保存用データベース12に保存しているデータ毎のデータの値並びに間引きタグの値及び微分値を読み込み(S4−2)、間引きタグの値が間引きタグの条件を満たすか否かを判断する(S4−3)。ここで、間引きタグの条件の設定方法としては、例えば、以下の二つの方法が考えられる。
一つの方法は、まず、S4−1の時系列データの抽出期間Sの値の入力の後に間引きデータの時間間隔の指定を要求する内容のメッセージを表示部9に表示すると共に作業者が指定する時間間隔を入力部8を介して間引きデータ抽出部6kに与える。また、間引きデータ抽出部6kはS1−1・S1−2で記憶部7又はメモリ10に記憶した時刻のオーダーの種類毎の時刻の区切りの種類別の間引きタグの値Gを読み込む。そして、作業者の指定の時間間隔に合う間引きタグの値Gを選定して間引きタグの条件として設定する。
もう一つの方法は、まず、S4−1の時系列データの抽出期間Sの値の入力の後に間引きデータとして抽出するデータ数の上限Nの指定を要求する内容のメッセージを表示部9に表示すると共に作業者が指定する値を入力部8を介して間引きデータ抽出部6kに与える。また、間引きデータ抽出部6kはS4−1で記憶部7又はメモリ10に記憶した時系列データの抽出期間Sの値を読み込む。そして、間引きデータ抽出部6kは(式11)により時間間隔Iを算出する。更に、間引きデータ抽出部6kはS1−1・S1−2で記憶部7又はメモリ10に記憶した時刻のオーダーの種類毎の時刻の区切りの種類別の間引きタグの値Gを読み込み、時間間隔I以上であって且つ最も小さい時刻の区切りの種類の間引きタグの値Gを選定して間引きタグの条件として設定する。
そして、データの間引きタグの値が間引きタグの条件を満たす場合(S4−3;Yes)には、制御部6の間引きデータ抽出部6kはそのデータを抽出対象のデータとして記憶部7に記憶する(S4−6)。
一方、データの間引きタグの値が間引きタグの条件を満たさない場合(S4−3;No)には、制御部6の間引きデータ抽出部6kは保存用データベース12から読み込んだデータの値並びに間引きタグの値及び微分値を制御部6のイベントデータ抽出部6mに与える。
イベントデータ抽出部6mはデータの微分値がイベント判別閾値以上か否かを判断する(S4−4)。ここで、イベント判別閾値については、前述の通り、例えば、S3−2で記憶部7に記憶した微分値の統計情報に基づくイベント判別閾値を読み込むようにしても良いし、入力部8により入力して記憶部7に予め記憶しておいたイベント判別閾値を読み込むようにしても良いし、又はイベント判別閾値の指定を要求する内容のメッセージをS4−4を処理する段階で表示部9に表示すると共に作業者が指定する値を入力部8を介してイベントデータ抽出部6mに与えるようにしても良い。
そして、データの微分値の絶対値がイベント判別閾値以上の場合(S4−4;Yes)には、制御部6のイベントデータ抽出部6mはこのデータを抽出対象のデータとして記憶部7に記憶する(S4−6)。
一方、データの微分値の絶対値がイベント判別閾値未満の場合(S4−4;No)には、このデータを抽出対象のデータとはしないでこのデータについてのデータ抽出の処理を終了する(S4−5)。なお、この場合は、このデータは記憶部7には記憶されない。
時系列データの保存及び抽出プログラム13は上記のS4−2からS4−6までの処理を保存用データベース12に保存されている時系列データを構成する全てのデータ毎に行い、全てのデータについてS4−2からS4−6までの処理が終了した場合に時系列データの抽出の処理を終了する。
なお、このようにして保存用データベース12から抽出されて記憶部7に記憶された抽出データは、例えば、抽出データの推移の状況を表す折れ線グラフ等を描画するデータとして利用しても良いし、抽出データについての統計値を算出するデータとして利用しても良い。また更に、このように例えばグラフを描画したり統計値を算出したりする機能を本発明の時系列データの保存及び抽出プログラム13に追加するようにしても良い。
なお、上述の形態は本発明の好適な形態の一例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変形実施可能である。
本発明の時系列データの保存及び抽出方法並びにプログラムの実施形態の一例を説明するフローチャートである。 本実施形態の時系列データの保存に関する処理を説明するフローチャートである。 本実施形態の時系列データの抽出に関する処理を説明するフローチャートである。 本実施形態のデータの変化の状況を示す図である。 本実施形態の時系列データの保存及び抽出方法をプログラムを用いて実施する場合の時系列データの保存及び抽出装置の全体構成図である。 従来の時系列データの保存方法を説明する概念図である。
符号の説明
2 間引きデータ
4 イベントデータ
5 時系列データの保存及び抽出装置
6 制御部
7 記憶部
8 入力部
9 表示部
10 メモリ
11 データベース
12 保存用データベース
13 時系列データの保存及び抽出プログラム

Claims (6)

  1. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出方法において、前記データ毎に該データの前記データ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定すると共に前記Aタグと前記Bタグとに基づく間引きタグを前記データと合わせて保存し、該保存された複数のデータの中からデータ抽出間隔に基づいて設定された前記間引きタグの条件を満たす前記間引きタグを有する前記データを抽出することを特徴とする時系列データの保存及び抽出方法。
  2. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出方法において、前記データ毎に該データの前記データ値に基づいて時間当たりの変化率を表す微分値を算出すると共に該微分値を前記データと合わせて保存し、該保存された複数のデータの中からデータ変化率に基づいて設定された前記微分値の条件を満たす前記微分値を有する前記データを抽出することを特徴とする時系列データの保存及び抽出方法。
  3. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出方法において、前記データ毎に該データの前記データ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定し更に前記データの前記データ値に基づいて時間当たりの変化率を表す微分値を算出すると共に前記Aタグと前記Bタグとに基づく間引きタグ並びに前記微分値を前記データと合わせて保存し、該保存された複数のデータの中からデータ抽出間隔に基づいて設定された前記間引きタグの条件を満たす前記間引きタグを有する前記データ並びにデータ変化率に基づいて設定された前記微分値の条件を満たす前記微分値を有する前記データを抽出することを特徴とする時系列データの保存及び抽出方法。
  4. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出を行う際に、少なくとも、前記データ毎に該データの前記データ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定する手段、前記Aタグと前記Bタグとに基づく間引きタグを前記データと合わせて保存する手段、前記保存された複数のデータの中からデータ抽出間隔に基づいて設定された前記間引きタグの条件を満たす前記間引きタグを有する前記データを抽出する手段としてコンピュータを機能させるための時系列データの保存及び抽出プログラム。
  5. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出を行う際に、少なくとも、前記データ毎に該データの前記データ値に基づいて時間当たりの変化率を表す微分値を算出する手段、前記微分値を前記データと合わせて保存する手段、前記保存された複数のデータの中からデータ変化率に基づいて設定された前記微分値の条件を満たす前記微分値を有する前記データを抽出する手段としてコンピュータを機能させるための時系列データの保存及び抽出プログラム。
  6. 時系列データを構成する各データがデータ値とデータ時刻情報を少なくとも有する前記時系列データの保存及び抽出を行う際に、少なくとも、前記データ毎に該データの前記データ時刻情報に基づいて時刻のオーダーの種類を表すAタグ及び時刻のオーダーの中での区切りの種類を表すBタグを決定する手段、前記データ毎に該データのデータ値に基づいて時間当たりの変化率を表す微分値を算出する手段、前記Aタグと前記Bタグとに基づく間引きタグ並びに前記微分値を前記データと合わせて保存する手段、前記保存された複数のデータの中からデータ抽出間隔に基づいて設定された前記間引きタグの条件を満たす前記間引きタグを有する前記データを抽出する手段、データ変化率に基づいて設定された前記微分値の条件を満たす前記微分値を有する前記データを抽出する手段としてコンピュータを機能させるための時系列データの保存及び抽出プログラム。
JP2005303683A 2005-10-18 2005-10-18 時系列データの保存、抽出及び合成方法並びにプログラム Expired - Fee Related JP4790371B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005303683A JP4790371B2 (ja) 2005-10-18 2005-10-18 時系列データの保存、抽出及び合成方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005303683A JP4790371B2 (ja) 2005-10-18 2005-10-18 時系列データの保存、抽出及び合成方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007114896A true JP2007114896A (ja) 2007-05-10
JP4790371B2 JP4790371B2 (ja) 2011-10-12

Family

ID=38097030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005303683A Expired - Fee Related JP4790371B2 (ja) 2005-10-18 2005-10-18 時系列データの保存、抽出及び合成方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP4790371B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159106A (ja) * 2010-02-01 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> データベースシステム
JP2012198598A (ja) * 2011-03-18 2012-10-18 Nec Corp データ保存装置、データ保存方法
JP2017157072A (ja) * 2016-03-03 2017-09-07 株式会社日立製作所 異常検出装置、系統安定度監視装置、及びそのシステム
JP2019087199A (ja) * 2017-11-10 2019-06-06 株式会社日立製作所 データ管理システム、データ管理方法、及びデータ管理プログラム
WO2021210185A1 (ja) * 2020-04-18 2021-10-21 三菱電機株式会社 ロギングデータ表示プログラム、ロギングデータ表示装置およびロギングデータ表示方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101276A (ja) * 1995-10-02 1997-04-15 Shimadzu Corp デ−タ処理装置
JP2000048047A (ja) * 1998-01-19 2000-02-18 Asahi Glass Co Ltd 時系列デ―タの保存方法及び時系列デ―タベ―スシステム、時系列デ―タの処理方法及び時系列デ―タ処理システム、時系列デ―タ表示システム、並びに記録媒体
JP2002132644A (ja) * 2000-10-24 2002-05-10 Asahi Glass Co Ltd 時系列データベースシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101276A (ja) * 1995-10-02 1997-04-15 Shimadzu Corp デ−タ処理装置
JP2000048047A (ja) * 1998-01-19 2000-02-18 Asahi Glass Co Ltd 時系列デ―タの保存方法及び時系列デ―タベ―スシステム、時系列デ―タの処理方法及び時系列デ―タ処理システム、時系列デ―タ表示システム、並びに記録媒体
JP2002132644A (ja) * 2000-10-24 2002-05-10 Asahi Glass Co Ltd 時系列データベースシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159106A (ja) * 2010-02-01 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> データベースシステム
JP2012198598A (ja) * 2011-03-18 2012-10-18 Nec Corp データ保存装置、データ保存方法
JP2017157072A (ja) * 2016-03-03 2017-09-07 株式会社日立製作所 異常検出装置、系統安定度監視装置、及びそのシステム
JP2019087199A (ja) * 2017-11-10 2019-06-06 株式会社日立製作所 データ管理システム、データ管理方法、及びデータ管理プログラム
WO2021210185A1 (ja) * 2020-04-18 2021-10-21 三菱電機株式会社 ロギングデータ表示プログラム、ロギングデータ表示装置およびロギングデータ表示方法

Also Published As

Publication number Publication date
JP4790371B2 (ja) 2011-10-12

Similar Documents

Publication Publication Date Title
US6609085B1 (en) Method for storing time series data and time series database system, method and system for processing time series data, time series data display system, and recording medium
CN109542889B (zh) 流式数据列存储方法、装置、设备和存储介质
JP6591351B2 (ja) 生産計画作成支援装置および生産計画作成支援方法
JP4790371B2 (ja) 時系列データの保存、抽出及び合成方法並びにプログラム
CN102576328A (zh) 系统操作管理装置、系统操作管理方法和程序存储介质
EP0996070A1 (en) Method for storing time series data and time series database system, method and system for processing time series data, time series data display system, and recording medium
CN110457867A (zh) 一种基于机器学习的时间序列数据填补与还原方法
CN112818032B (zh) 服务于大数据挖掘分析的数据筛选方法及数据分析服务器
CN111611236A (zh) 一种数据分析方法及系统
CN108875048B (zh) 报表生成方法、装置、电子设备及可读存储介质
CN106796618A (zh) 时序预测装置和时序预测方法
JP7393244B2 (ja) 時系列データ予測装置及び時系列データ予測方法
CN107153702A (zh) 一种数据处理方法及装置
CN112231531A (zh) 一种基于opentsdb的数据展示方法、设备及介质
JP2000069165A (ja) 時系列データ変換を用いたトラヒック予測方法及びその装置
US8612059B2 (en) Power generation unit startup evaluation
JP7433096B2 (ja) 業務可視化装置、業務可視化方法、及びプログラム
CN115170700A (zh) 基于Flutter框架实现CSS动画的方法、计算机设备及存储介质
JP3727832B2 (ja) 生産スケジュール作成装置及び生産スケジュール作成装置における生産スケジュール作成プログラムを記録した記録媒体
CN113220992A (zh) 一种信息流内容推荐方法、系统及介质
CN112685456A (zh) 一种用户访问数据的处理方法、装置及计算机系统
CN111596619A (zh) 计算机系统及设施的监视方法
Galvez et al. Predicting Dengue Outbreaks in Cagayan de Oro, Philippines Using Facebook Prophet and the ARIMA Model for Time Series Forecasting
CN109408466A (zh) 一种农业物联网用冗余数据处理方法及装置
JP6302817B2 (ja) データ記録装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110617

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: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110720

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees