(57)【要約】  逐次データ記憶部（００２）は、データ発生源（００１）から逐次データを発生するごとに入力して記憶装置に蓄積する。逐次要約部（００３）は、逐次データを入力するごとに、入力した逐次データとそれ以前の逐次データを近似する逐次近似関数を生成する。要約結果記憶部（００８）は逐次要約部（００３）が生成した逐次近似関数を記憶する。蓄積データ要約部（００５）は、所定のタイミングで逐次データ記憶部（００２）に蓄積された所定の範囲の逐次データから、その範囲を定義域として近似する一括近似関数を生成する。要約結果評価部（００７）は、要約結果記憶部（００８）に記憶されている逐次近似関数を、逐次近似関数の定義域の範囲を含む定義域を有する一括近似関数で置き換える。
2011018943.tif 000002
【特許請求の範囲】
【請求項１】
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力部と、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり該新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約部と、
前記逐次要約部が生成した前記逐次近似関数を記憶する要約記憶部と、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数、を生成する蓄積データ要約部と、
前記要約記憶部に記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価部と、
を備えるデータ要約システム。
【請求項２】
前記要約結果評価部は、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換えることを特徴とする請求項１に記載のデータ要約システム。
【請求項３】
前記蓄積データ要約部は、前記一括近似関数を生成する対象になっていない前記逐次データを所定の量以上、前記入力部が前記記憶装置に蓄積した場合に、前記一括近似関数を生成することを特徴とする請求項１または２に記載のデータ要約システム。
【請求項４】
前記データ要約システムが動作するコンピュータの、ＣＰＵ使用率またはメモリ使用率を含むリソースの状態を検出するリソース監視部を備え、
前記蓄積データ要約部は、前記リソースの状態が所定の範囲の場合に、前記一括近似関数を生成する、
ことを特徴とする請求項１ないし３のいずれか１項に記載のデータ要約システム。
【請求項５】
前記逐次要約部は、１つ前の前記逐次データを入力したときに生成した前記逐次近似関数を新たに入力した前記逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差を算出し、
前記近似差が所定の関数変更閾値の範囲を超える場合に、１つ前に入力した前記逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される逐次近似関数を生成し、
前記近似差が所定の関数補正閾値の範囲を超え、前記関数変更閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更する逐次近似関数を生成し、
前記近似差が前記関数補正閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数を生成する、
ことを特徴とする請求項１ないし４のいずれか１項に記載のデータ要約システム。
【請求項６】
前記蓄積データ要約部が生成した一括近似関数の前記一括定義域の分割のしかたと、該一括定義域の範囲の前記逐次定義域の分割のしかたが一致するように、前記関数補正閾値および／または前記関数変更閾値を調整する判定基準値調整部を備え、
前記逐次要約部は、前記判定基準値調整部で調整された前記関数補正閾値および／または前記関数変更閾値を用いて、前記逐次近似関数を生成する、
ことを特徴とする請求項５に記載のデータ要約システム。
【請求項７】
前記判定基準値調整部は、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記関数補正閾値および／または前記関数変更閾値を調整することを特徴とする請求項６に記載のデータ要約システム。
【請求項８】
前記逐次要約部が前記逐次近似関数を生成する際に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数を前記新たに入力した逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差が所定の範囲の場合に、前記新たに入力した逐次データを要確認箇所として記憶するチェック部を備え、
前記蓄積データ要約部は、前記記憶装置に蓄積した逐次データのうち、前記チェック部によって記憶された前記要確認箇所を含む所定の範囲の前記逐次データから、前記一括近似関数を生成する、
ことを特徴とする請求項１ないし７のいずれか１項に記載のデータ要約システム。
【請求項９】
前記チェック部は、前記逐次要約部が、前記１つ前に入力した逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成した場合に、前記新たに入力した逐次データを前記要確認箇所として記憶することを特徴とする請求項８に記載のデータ要約システム。
【請求項１０】
前記蓄積データ要約部は、前記逐次定義域の１つの分割点から他の１つの分割点までの前記逐次データから、前記一括近似関数を生成することを特徴とする請求項１ないし９のいずれか１項に記載のデータ要約システム。
【請求項１１】
前記蓄積データ要約部は、前記逐次定義域の最新の分割点から一定区間前までの前記逐次データを除外し、それより前の所定の範囲の前記逐次データから、前記一括近似関数を生成することを特徴とする請求項１ないし１０のいずれか１項に記載のデータ要約システム。
【請求項１２】
前記蓄積データ要約部は、前記一括近似関数を生成する対象の前記所定の範囲の前記逐次データの前および／または後の所定の区間の前記逐次データを含めて、前記逐次データの値を近似する前記所定の関数のパラメータを生成することを特徴とする請求項１ないし１１のいずれか１項に記載のデータ要約システム。
【請求項１３】
前記蓄積データ要約部は、１つの前記逐次データとその前後の所定の数の前記逐次データから算出する離散曲率の絶対値が所定の値より大きい角点である当該逐次データを、前記一括定義域の分割点として抽出し、前記分割点に挟まれる前記逐次データごとに、前記逐次データの値を近似する所定の関数のパラメータを生成することを特徴とする請求項１ないし１２のいずれか１項に記載のデータ要約システム。
【請求項１４】
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力ステップと、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約ステップと、
前記逐次要約ステップが生成した前記逐次近似関数を記憶する要約記憶ステップと、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数を生成する蓄積データ要約ステップと、
前記要約記憶ステップに記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価ステップと、
を備えるデータ要約方法。
【請求項１５】
前記要約結果評価ステップは、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換えることを特徴とする請求項１４に記載のデータ要約方法。
【請求項１６】
前記蓄積データ要約ステップは、前記一括近似関数を生成する対象になっていない前記逐次データを所定の量以上、前記入力ステップが前記記憶装置に蓄積した場合に、前記一括近似関数を生成することを特徴とする請求項１４または１５に記載のデータ要約方法。
【請求項１７】
前記データ要約方法を実行するコンピュータの、ＣＰＵ使用率またはメモリ使用率を含むリソースの状態を検出するリソース監視ステップを備え、
前記蓄積データ要約ステップは、前記リソースの状態が所定の範囲の場合に、前記一括近似関数を生成する、
ことを特徴とする請求項１４ないし１６のいずれか１項に記載のデータ要約方法。
【請求項１８】
前記逐次要約ステップは、１つ前の前記逐次データを入力したときに生成した前記逐次近似関数を新たに入力した前記逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差を算出し、
前記近似差が所定の関数変更閾値の範囲を超える場合に、１つ前に入力した前記逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成し、
前記近似差が所定の関数補正閾値の範囲を超え、前記関数変更閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更する前記逐次近似関数を生成し、
前記近似差が前記関数補正閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する前記逐次近似関数を生成する、
ことを特徴とする請求項１４ないし１７のいずれか１項に記載のデータ要約方法。
【請求項１９】
前記蓄積データ要約ステップが生成した一括近似関数の前記一括定義域の分割のしかたと、該一括定義域の範囲の前記逐次定義域の分割のしかたが一致するように、前記関数補正閾値および／または前記関数変更閾値を調整する判定基準値調整ステップを備え、
前記逐次要約ステップは、前記判定基準値調整ステップで調整された前記関数補正閾値および／または前記関数変更閾値を用いて、前記逐次近似関数を生成する、
ことを特徴とする請求項１８に記載のデータ要約方法。
【請求項２０】
前記判定基準値調整ステップは、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記関数補正閾値および／または前記関数変更閾値を調整することを特徴とする請求項１９に記載のデータ要約方法。
【請求項２１】
前記逐次要約ステップが前記逐次近似関数を生成する際に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数を前記新たに入力した逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差が所定の範囲の場合に、前記新たに入力した逐次データを要確認箇所として記憶するチェックステップを備え、
前記蓄積データ要約ステップは、前記記憶装置に蓄積した逐次データのうち、前記チェックステップによって記憶された前記要確認箇所を含む所定の範囲の前記逐次データから、前記一括近似関数を生成する、
ことを特徴とする請求項１４ないし２０のいずれか１項に記載のデータ要約方法。
【請求項２２】
前記チェックステップは、前記逐次要約ステップが、前記１つ前に入力した逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成した場合に、該新たに入力した逐次データを前記要確認箇所として記憶することを特徴とする請求項２１に記載のデータ要約方法。
【請求項２３】
前記蓄積データ要約ステップは、前記逐次定義域の１つの分割点から他の１つの分割点までの前記逐次データから、前記一括近似関数を生成することを特徴とする請求項１４ないし２２のいずれか１項に記載のデータ要約方法。
【請求項２４】
前記蓄積データ要約ステップは、前記逐次定義域の最新の分割点から一定区間前までの前記逐次データを除外し、それより前の所定の範囲の前記逐次データから、前記一括近似関数を生成することを特徴とする請求項１４ないし２３のいずれか１項に記載のデータ要約方法。
【請求項２５】
前記蓄積データ要約ステップは、前記一括近似関数を生成する対象の前記所定の範囲の前記逐次データの前および／または後の所定の区間の前記逐次データを含めて、前記逐次データの値を近似する所定の関数のパラメータを生成することを特徴とする請求項１４ないし２４のいずれか１項に記載のデータ要約方法。
【請求項２６】
前記蓄積データ要約ステップは、１つの前記逐次データとその前後の所定の数の前記逐次データから算出する離散曲率の絶対値が所定の値より大きい角点である当該逐次データを、前記一括定義域の分割点として抽出し、前記分割点に挟まれる前記逐次データごとに前記逐次データの値を近似する前記所定の関数のパラメータを生成することを特徴とする請求項１４ないし２５のいずれか１項に記載のデータ要約方法。
【請求項２７】
コンピュータに、
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力ステップと、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約ステップと、
前記逐次要約ステップが生成した前記逐次近似関数を記憶する要約記憶ステップと、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数を生成する蓄積データ要約ステップと、
前記要約記憶ステップに記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価ステップと、
を実行させることを特徴とするプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逐次的に発生するデータを要約して情報量を削減するデータ要約システム、データ要約方法および記録媒体に関する。
【背景技術】
【０００２】
逐次的に発生するデータを要約して情報量を削減する関連技術として、例えば、特許文献１には、入力データを動的に圧縮するデータ収集装置が記載されている。特許文献１のデータ収集装置は、外部デバイス類等の入力ソースからデータを読み出し、入力データ配列記憶部に格納する入力処理部と、入力処理部が格納した入力データ配列記憶部を読み出して圧縮処理を行なう圧縮処理部と、その圧縮処理部で圧縮処理をした圧縮データを記憶装置たるストレージデバイスに保存する保存処理部と、入力処理部並びに圧縮処理部の動作・機能を設定する設定処理部とを備える。入力処理部は、ビットデータと数値データに分けて収集・記憶し圧縮処理部にて圧縮処理を行なう。圧縮処理は、入力情報をビットデータ、数値データに分別し、それぞれのデータの時系列での特徴より、入力値予測を行い、実入力値との差分値を求め、出現頻度の高い差分値を短い符号で表しデータ量を削減する。【０００３】
特許文献２には、時系列データの圧縮率を初期設定に依存することなく、時系列データに関連するアラーム、操作などのイベントに応じて動的にしかも容易に設定することができる時系列データ圧縮方法が記載されている。特許文献２の時系列データ圧縮方法は、時系列データのそれぞれに対し、そのデータを削除するか否かを判断するための、そのデータに関連したイベントの種類対応の基準値を算出し、このデータ毎に算出された基準値に基づき予め定められた判断基準に従って、時系列データのうち削除すべきデータを決定することにより時系列データを圧縮する。【０００４】
特許文献３には、監視装置などにおいて、転送するデータ量が大量で通信容量が小さい場合でも、高速にデータ列の全体動向を受信するデータ通信システムが記載されている。特許文献３のデータ通信システムは、データ格納部とデータ送信部の間にデータ選択部を設け、データ全体の動向を把握するのに必要なデータを優先的に送信する構成とし、さらにデータ受信装置には、それらのデータを再構成する機能を設ける。【０００５】
特許文献４には、時系列信号を収録するデータ圧縮保存装置の技術が記載されている。特許文献４のデータ圧縮保存装置は、プラントデータを一時的に保存する一時保存手段と、この一時保存手段に保存されたデータを所定量に分割するデータ分割手段と、このデータ分割手段により分割されたデータの範囲内でデータの変位を時間の関数として近似式を求めるデータ近似手段と、このデータ近似手段で求められた近似式と実際のプラントデータとの偏差を求める偏差計算手段と、この偏差計算手段によって求められた偏差と予め定められたしきい値と比較ししきい値を超えた場合に保存要求を行いかつこの判別によりデータ分割を更新する保存判定処理手段と、この保存判定処理手段からの前記保存要求によりデータを保存するデータ保存手段を備える。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２５９９３７号公報
【特許文献２】特開２００３−０１５７３４号公報
【特許文献３】特開平０８−２７５２６２号公報
【特許文献４】特開平０４−２９９４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された関連技術では、タイムラグのないリアルタイムな解析を行うために、データが揃うまで待ってから要約するのではなく、逐次的に発生するデータを取得するたびに取得したデータを逐次的に要約するために、要約の精度や要約率に限界がある。【０００８】
特許文献２ないし特許文献４の技術は、いずれも所定の量のデータを蓄積してから、所定の範囲のデータを圧縮処理するものである。したがって、タイムラグのないリアルタイムな解析を行うには適さない。【０００９】
そこで、本発明は、逐次的に発生するデータを逐次的に要約することができ、解析が始まるまでのタイムラグをなくし、かつ、要約の精度または要約率が高いデータ要約システム、データ要約方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の観点に係るデータ要約システムは、
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力部と、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり該新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約部と、
前記逐次要約部が生成した前記逐次近似関数を記憶する要約記憶部と、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数、を生成する蓄積データ要約部と、
前記要約記憶部に記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価部と、
を備える。【００１１】
本発明の第２の観点に係るデータ要約方法は、
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力ステップと、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約ステップと、
前記逐次要約ステップが生成した前記逐次近似関数を記憶する要約記憶ステップと、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数を生成する蓄積データ要約ステップと、
前記要約記憶ステップに記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価ステップと、
を備える。【００１２】
本発明の第３の観点に係るプログラムを記録したコンピュータ読み取り可能な記録媒体は、コンピュータに、
逐次に発生して、発生する順序を含む情報とそのときの値から構成されるデータである逐次データを、該逐次データが発生するごとに入力して記憶装置に蓄積する入力ステップと、
前記逐次データを入力するごとに、
１つ前に入力した前記逐次データと新たに入力した前記逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更した逐次近似関数、または、
１つ前の前記逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、新たに入力した前記逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数、
のいずれかを生成する逐次要約ステップと、
前記逐次要約ステップが生成した前記逐次近似関数を記憶する要約記憶ステップと、
所定の条件に適合したときに、前記記憶装置に蓄積された逐次データのうちの順序が連続する所定の範囲の逐次データから、該所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域である一括定義域、および、前記分割した一括定義域のそれぞれで前記逐次データの値を近似する所定の関数のパラメータから構成される一括近似関数を生成する蓄積データ要約ステップと、
前記要約記憶ステップに記憶されている前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換える要約結果評価ステップと、
を実行させるプログラムを記録したことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、逐次的に発生するデータを逐次的に要約することができ、解析が始まるまでのタイムラグをなくし、かつ、要約の精度または要約率を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１に係るデータ要約システムの構成例を示すブロック図である。
【図２】実施の形態１に係る逐次データの例を示す図である。
【図３】逐次データの例をグラフで表す図である。
【図４】図３に示すデータを、１次関数（ｙ＝ａｘ＋ｂ）を用いて近似した場合の処理例を示す図である。
【図５】実施の形態１における関数パラメータの一例を示す図である。
【図６】実施の形態１に係る逐次近似関数によるデータ要約を説明する図である。
【図７】実施の形態１に係る逐次近似関数の定義域のみを変更する場合を説明する図である。
【図８】実施の形態１に係る逐次近似関数のパラメータを変更する場合を説明する図である。
【図９】実施の形態１に係る逐次近似関数の新たな定義域とパラメータを生成する場合を説明する図である。
【図１０】実施の形態１に係る蓄積データ要約の対象である逐次データの例を示す図である。
【図１１】図１０に示すデータを、１次関数を用いて近似した場合の処理例を示す図である。
【図１２】離散曲率により角点を抽出する様子を表す説明図である。
【図１３Ａ】逐次データから生成された近似関数を示す図である。
【図１３Ｂ】図１３Ａにおける逐次データを示す図である。
【図１４Ａ】逐次データが蓄積データ要約される前の状態である逐次近似関数を示す図である。
【図１４Ｂ】逐次データから生成された一括近似関数を示す図である。
【図１４Ｃ】図１４Ａにおける逐次近似関数の関数パラメータを示す図である。
【図１４Ｄ】図１４Ｂにおける一括近似関数の関数パラメータを示す図である。
【図１５】逐次データと近似した関数との距離の例を示す図である。
【図１６】要約結果記憶部が記憶している関数パラメータの一例を示す図である。
【図１７Ａ】解析に用いる範囲のデータの要求例を示す図である。
【図１７Ｂ】指定された範囲を含む関数パラメータの例を示す図である。
【図１８】実施の形態１に係るデータ要約処理の例を示すフローチャートである。
【図１９】実施の形態１に係る逐次要約処理の例を示すフローチャートである。
【図２０】実施の形態１に係る蓄積データ要約処理の動作の一例を示すフローチャートである。
【図２１】本発明の実施の形態２に係るデータ要約システムの構成例を示すブロック図である。
【図２２Ａ】逐次データから生成された一括近似関数を示す図である。
【図２２Ｂ】図２２Ａにおける関数変更閾値の最小値を示す図である。
【図２２Ｃ】図２２Ａにおける関数変更閾値の最大値を示す図である。
【図２３】実施の形態２に係るデータ要約処理の動作の一例を示すフローチャートである。
【図２４】実施の形態２に係る判定基準値調整の処理の動作の例を示すフローチャートである。
【図２５】本発明の実施の形態３に係るデータ要約システムの構成例を示すブロック図である。
【図２６Ａ】要約結果記憶部に記憶されている逐次近似関数の関数パラメータを示す図である。
【図２６Ｂ】蓄積データ要約部から入力された一括近似関数の関数パラメータを示す図である。
【図２７】逐次近似関数の関数パラメータの削除によってデータが欠落する部分を補う例を示す図である。
【図２８】実施の形態３に係るデータ要約処理の動作の例を示すフローチャートである。
【図２９】本発明の実施の形態４に係るデータ要約システムの構成例を示すブロック図である。
【図３０】実施の形態４に係るデータ要約処理の例を示すフローチャートである。
【図３１】本発明の実施の形態５に係るデータ要約システムの構成例を示すブロック図である。
【図３２】実施の形態５に係る蓄積データ要約の動作の一例を示すフローチャートである。
【図３３】本発明の実施の形態に係るデータ要約システムのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図を参照して詳細に説明する。なお図中、同一または同等の部分には同一の符号を付す。
【００１６】
（実施の形態１）
図１は本発明の実施の形態１に係るデータ要約システム１００の構成例を示すブロック図である。図１に示すデータ要約システム１００は、データ発生源００１から逐次に発生する逐次データを、逐次データが発生するごとに入力して要約し、要約結果を解析部００９に出力する。データ要約システム１００は、逐次データ記憶部００２、逐次要約部００３、蓄積要約制御部００４、蓄積データ要約部００５、逐次データ記憶管理部００６、要約結果評価部００７および要約結果記憶部００８を備える。
【００１７】
本実施の形態では、データ要約システム１００は、データ発生源００１が逐次的に発生するデータを要約する処理を行う。本実施の形態において、「データを要約する」とは、後述するように、逐次的に発生するデータの値を近似する関数を特定するために必要なパラメータ（以下、関数パラメータという）を求めることである。
【００１８】
なお、データ要約システム１００は、例えば、Ｗｅｂデータが発生するログデータに基づいて、Ｗｅｂアクセスの動線解析を行う用途に適用できる。また、データ要約システム１００は、例えば、交通情報（例えば、道路上の自動車の位置情報）を収集し、道路上の渋滞箇所を検出して提供する渋滞情報提供システムの用途に適用できる。また、例えば、データ要約システム１００は、株価の変動を監視し、株価の変動と事前入力した売買ルールとをマッチングして、株式の自動売買を行うアルゴリズムトレードの用途に適用できる。すなわち、データ要約システム１００は、大量のデータが逐次的に発生し、最新のデータをリアルタイムに反映しながら解析を行うあらゆるシステムに適用可能である。
【００１９】
データ発生源００１は、逐次的にデータを発生させる。データ発生源００１は、例えば、プログラムに従って動作するＷｅｂサーバによって実現される。また、データ発生源００１は、例えば、温度センサや湿度センサ等によって実現される。データ発生源００１は、何らかの順序の情報を有し逐次的に発生するデータを出力する機能を備える。なお、本実施の形態では、時系列に逐次的に発生するデータを入力する場合を例に説明するが、何らかの順序性をもつデータであれば、例えば、距離が近い順や遠い順等の位置的な順序性をもったデータを逐次的に入力して解析を行う場合にも、データ要約システム１００を適用できる。また、短い時間間隔（例えば、数秒間隔）で連続して発生するデータに限らず、逐次的に発生するデータであれば、例えば、数時間や数日等の長い時間間隔で発生するデータや、発生間隔が一定しないようなデータを入力して解析を行う場合にも適用できる。
【００２０】
本実施の形態において逐次データとは、発生する順序を含む情報とそのときの値から構成されるデータである。発生する順序を含む情報とは、発生するデータを発生する順序に並べるための情報であって、データが発生する順序、時間または距離などをいう。データが発生する間隔を問題にしない場合には、順序だけでもよい。逐次データの順序を含む情報は、データ発生源００１が付与してもよいし、データ要約システム１００で付与してもよい。ここでは、１つの逐次データから他の１つの逐次データまでの、順序を含む情報の距離（差）を区間という。
【００２１】
逐次データの値は、そのときの値が一意に決まればその対象は何であっても構わない。逐次データの値は、例えば、電流、電圧、電力、温度、圧力、力、位置、変位、運動量、輝度または照度などの物理量である。また例えば、株価、為替レート、商品市場価格などの経済変量の場合もある。さらに、インターネット上における、ある時間のアクセス回数、閲覧回数または検索回数などの指標の場合もある。逐次データの値は、１次元に限らず、ベクトルであってもよい。また、発生する順序を含む情報についても、それぞれの要素が単調増加（または単調減少）に順序付けられれば、多次元的であってもよい。本実施の形態では、順序を含む情報とそのときの値がそれぞれ１次元の場合を例に説明する。
【００２２】
本実施の形態では、データ発生源００１は、少なくともデータが発生した時刻と値とを含む逐次データを出力する。図２は、実施の形態１に係る逐次データの例を示す。図２の例では、データ発生源００１は、時刻Ｔ００１と値Ｔ００２とを含むデータを出力する。時刻Ｔ００１は、データ発生源００１が出力するデータが発生した時刻である。また、値Ｔ００２は、データが発生した時刻におけるそのデータの値（図２に示す例では、温度）である。以降、本実施の形態では、データ発生源００１が温度センサによって実現される場合を例に説明する。
【００２３】
逐次データ記憶部００２は、データ発生源００１から出力される逐次データを、発生するごとに入力して記憶する。また、逐次データ記憶部００２は、データ発生源００１から逐次データが入力されると、その逐次データを記憶すると同時に逐次データが発生したタイミングでリアルタイムに逐次要約部００３に対して逐次データを出力する。
【００２４】
逐次データ記憶部００２に記憶されたデータは、蓄積データ要約部００５で参照される。逐次データ記憶部００２に記憶されているデータの量は蓄積要約制御部００４で参照される。また、逐次データ記憶部００２で記憶されるデータは、逐次データ記憶管理部００６によって削除される。逐次データ記憶管理部００６の動作は、後に詳しく説明する。
【００２５】
逐次要約部００３は、逐次データ記憶部００２から出力される逐次データを、関数を用いて逐次的に近似する処理を実行する機能を備える。本実施の形態において、逐次近似とは、逐次データを入力するごとに、以下の３つのいずれかの逐次近似関数を生成することをいう。
（１）１つ前に入力した逐次データと新たに入力した逐次データの間の点から始まり新たに入力した逐次データまでを含む定義域である逐次定義域、および、１つ前に入力した逐次データと新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数。
（２）１つ前の逐次データを入力したときに生成した逐次近似関数の逐次定義域を、新たに入力した前記逐次データまで延長し、１つ前の逐次データを入力したときに生成した所定の関数のパラメータを、延長した逐次定義域に含まれる逐次データの値を近似するように変更した逐次近似関数。
（３）１つ前の逐次データを入力したときに生成した逐次近似関数の逐次定義域を、新たに入力した逐次データまで延長し、１つ前の逐次データを入力したときに生成した所定の関数のパラメータを維持する逐次近似関数。
【００２６】
図３は、逐次データの例をグラフで表したもので、逐次データ記憶部００２から出力されるデータを、横軸を時間とし縦軸を値としてグラフにプロットした場合の例を示す。図３において、点群Ｆ００１は、逐次データ記憶部００２から出力された各データを示している。逐次要約部００３は、図３に示す点群Ｆ００１を、関数を用いて逐次データが発生するごとに近似する処理を実行する。
【００２７】
図４は、図３に示す点群Ｆ００１を、１次関数（ｙ＝ａｘ＋ｂ）を用いて近似した場合の逐次要約結果の例を示す。図４に示す例では、逐次要約部００３は、点群Ｆ００１を３つの定義域に分割し、それぞれの定義域で１次関数Ｆ００２、Ｆ００３、およびＦ００４を用いて近似している。なお、逐次要約部００３は、具体的には、１次関数を特定するために必要な関数式のパラメータ（傾きａ、切片ｂ）と定義域を、１次関数Ｆ００２、Ｆ００３、Ｆ００４ごとにそれぞれ求める。関数の定義域とは、逐次的に発生するデータの全範囲のうち、１つの所定の関数（ここでは１次関数）を用いて近似することが可能な範囲のことである。
【００２８】
図４に示す例では、関数Ｆ００３を用いれば、点Ｆ００５から点Ｆ００６までの間の範囲の逐次データを近似可能である。逐次要約部００３は、点Ｆ００５を関数Ｆ００３の始点と定義し、点Ｆ００６を関数Ｆ００３の終点と定義することによって、関数Ｆ００３の定義域を求める。逐次要約部００３は、関数Ｆ００２および関数Ｆ００４についても同様に定義域を求めることができる。点Ｆ００５および点Ｆ００６のような隣り合う定義域の境界を、定義域の分割点ともいう。
【００２９】
関数の定義域は、その関数を適用可能な範囲（その関数を用いて近似可能な範囲）を示すパラメータであるのに対して、傾きａおよび切片ｂは、関数式そのものを特定するパラメータである。そこで、以下、傾きａおよび切片ｂのことを関数式特定パラメータともいう。
【００３０】
図５は本実施の形態１における関数パラメータの一例を示す説明図である。図５に示すように、関数パラメータは１次関数（ｙ＝ａｘ＋ｂ）の傾きを表すパラメータ（ａ）Ｔ１０１と、切片を表すパラメータ（ｂ）Ｔ１０２と、近似に用いる関数の定義域の始点（from）Ｔ１０３と、定義域の終点（to）Ｔ１０４とから構成される。これら傾きＴ１０１、切片Ｔ１０２、定義域の始点Ｔ１０３、および定義域の終点Ｔ１０４の４つのパラメータの組が１つの関数パラメータとなる。
【００３１】
なお、本実施の形態では、逐次要約部００３が逐次データを近似する関数として１次関数を用いる場合を例に説明するが、逐次要約部００３が逐次データを近似する関数として利用する関数は１次関数に限らない。例えば、逐次要約部００３は、２次以上の高次の関数を用いて逐次データを近似する処理を行ってもよいし、三角関数等を含む関数を用いて逐次データを近似する処理を行ってもよい。
【００３２】
図３では予めグラフに点群Ｆ００１がプロットされており、図４では３つの１次関数（Ｆ００２、Ｆ００３、Ｆ００４）を用いて点群Ｆ００１を近似した結果を示しているが、実際には、データ発生源００１が逐次的にデータを発生しているので、逐次要約部００３は、関数を用いたデータの近似処理も逐次データが発生するごとに逐次的に行う。つまり、逐次要約部００３は、予め入力されているデータを、関数を用いて近似する処理を行うのではなく、逐次的に入力される逐次データを、逐次データが入力されるごとにリアルタイムに評価して近似に用いる関数を逐次的に決定していく。
【００３３】
例えば、図４に示すように、関数Ｆ００４は、時間的に一番新しく関数式特定パラメータが求められた関数（以下、最新の逐次近似関数という）であり、既に過去に発生しているデータを用いて状態が暫定的に判断されている関数である。逐次要約部００３は、逐次データ記憶部００２から新しいデータが入力されるまでは、次のデータがどのような値をもっているのか分からないので、今後、関数Ｆ００４の定義域を拡大してくのか、それとも関数Ｆ００４を補正するのか、それとも１つ前に入力した逐次データと新たに入力した逐次データの間の点から始まる定義域とその定義域における関数式特定パラメータから構成される新たな関数を生成するのかを、新たなデータが入力されたときに判定する。
【００３４】
逐次要約部００３は、もし次の逐次データが、関数Ｆ００４を用いて近似した場合に近似差が所定の値以下に収まるような値であれば、関数Ｆ００４の関数式特定パラメータを維持し、定義域を延長する処理を行う。逐次要約部００３は、次の逐次データが関数Ｆ００４を用いて近似した場合に近似差が所定の値を超えるが所定の範囲に収まる値であれば、関数Ｆ００４の定義域を新たに入力した逐次データまで延長し、延長した定義域に含まれる逐次データ（延長する前の定義域を構成した逐次データと新たに入力された逐次データ）に対して最小二乗法などを用いて関数Ｆ００４を補正する処理を行う。また、逐次要約部００３は、次の逐次データが関数Ｆ００４を用いて近似した場合に近似差が所定の範囲を超えるような値であれば、関数Ｆ００４を用いて近似するのをやめて、関数Ｆ００４の定義域の終点を始点とする新たな定義域を生成し（定義域を分割し）、その定義域の逐次データを近似する関数式特定パラメータ（傾きａおよび切片ｂ）を算出する（新たな関数に切り替える）処理を行う。
【００３５】
以上のように、逐次要約部００３は、逐次データ記憶部００２から逐次的に入力される逐次データを、逐次データが入力されるごとに評価して、近似に用いる関数を逐次的に決定していく。そこで、逐次要約部００３が生成する逐次データを近似する関数を、逐次近似関数という。逐次近似関数は、関数式特定パラメータと定義域の組で表される。また、逐次近似関数の定義域を逐次定義域という。
【００３６】
最新の逐次近似関数（図４の例で示す関数Ｆ００４）については、今後、定義域を拡大させるかもしれない暫定の状態のものであり、逐次要約部００３は、逐次データ記憶部００２から入力される逐次データによってその逐次近似関数のパラメータを変化させる。一方、最新の逐次近似関数以前に生成した逐次近似関数（図４の例で示す関数Ｆ００２と関数Ｆ００３）については、既に定義域が確定された状態であり、以後、逐次要約部００３によって逐次近似関数のパラメータが変更されることはない。
【００３７】
逐次要約部００３は、入力された逐次データを評価して、最新の逐次近似関数の定義域を拡大する処理を行うのか、最新の逐次近似関数を補正する処理を行うのか、新たな逐次近似関数に切り替える（定義域を分割する）処理を行うのかを判断するための２種類（関数補正閾値Ｔ１、関数変更閾値Ｔ２とする）の判定基準値（以下、関数切り替え判定基準値）を内部に保持している。また、最新の逐次近似関数の関数パラメータを内部に保持している。また、逐次データ記憶部００２から入力される逐次データのうち、最新の逐次近似関数の定義域に含まれる逐次データを保持している。つまり、オリジナルデータの一部を記憶している。
【００３８】
なお、逐次要約部００３が内部に保持している関数切り替え判定基準値は、予め設定されていてもよいし、ユーザが任意で設定できるようにしてもよい。
【００３９】
逐次要約部００３は、具体的には、逐次データ記憶部００２から出力される新たに入力した逐次データと、逐次要約部００３が内部で保持している関数切り替え判定基準値と、前回生成した逐次近似関数の関数パラメータと、前回生成した逐次近似関数の定義域に含まれる逐次データに基づいて、上述の逐次近似関数を生成する。そして、逐次要約部００３は、更新した最新の関数パラメータを要約結果記憶部００８に記憶させる。また、逐次要約部００３は、それまでに保持していた関数パラメータを破棄し、新たに更新した最新の関数パラメータを記憶する。
【００４０】
図６は、本実施の形態１に係る逐次近似関数によるデータ要約を説明する図である。図７ないし図９は、逐次要約部００３が関数の切り替えを行う一例を示す説明図である。図６ないし図９では、新たに入力する逐次データの発生時刻または入力時刻を「現在時刻」で表す。図６において、点Ｆ１０１は、逐次データ記憶部００２から新たに出力される現在時刻のデータの値（以下、実値という）を示す。実線の直線Ｆ１０３は、前回生成した逐次近似関数（現在近似に用いている関数）を示す。点線Ｆ１０４は、前回生成した逐次近似関数Ｆ１０３の定義域を、１つ前のデータの点から現在時刻まで拡大した場合を示す。また、点Ｆ１０２は、前回生成した逐次近似関数に、現在時刻を入力して計算される値（すなわち、現在近似に用いている逐次近似関数（直線Ｆ１０３）をそのまま延長した場合に、データ発生時刻において推定されるデータの値。以下、計算値という）を示している。また、距離Ｆ１０５は、実値と計算値との差を示している。
【００４１】
逐次要約部００３は、逐次データ記憶部００２から実値（点Ｆ１０１）を取得（入力）する。すると、逐次要約部００３は、内部で保持している最新の関数式特定パラメータを用いて特定される関数にデータ発生時刻を入力することによって計算値（点Ｆ１０２）を算出する。次いで、逐次要約部００３は、実値（点Ｆ１０１）と計算値（点Ｆ１０２）との差（距離Ｆ１０５）を計算する。そして、逐次要約部００３は、実値と計算値との距離Ｆ１０５を、内部で保持している関数切り替え判定基準値の関数補正閾値Ｔ１と比較する。以下、実値と計算値との差に関しては、差の絶対値を単に差という。
【００４２】
図７は、本実施の形態１に係る逐次近似関数の定義域のみを変更する場合を説明する図である。図７は、実値と計算値との差（距離Ｆ１０５）が関数補正閾値Ｔ１より小さい場合の例を示す。実値と計算値との差（距離Ｆ１０５）が関数補正閾値Ｔ１より小さい場合には、逐次要約部００３は、前回生成した逐次近似関数（直線Ｆ１０３）を用いて実値（点Ｆ１０１）を近似しても近似差が少ないと判断する。そのため、逐次要約部００３は、前回生成した逐次近似関数（直線Ｆ１０３）の定義域を現在時刻まで拡大する処理を行い（具体的には、定義域の終点を現在時刻に更新し）、同じ逐次近似関数（直線Ｆ１０３）をそのまま用いて近似する処理を行う。
【００４３】
図７に示すように、実値と計算値との差（距離Ｆ１０５）が関数補正閾値Ｔ１以下である場合には、逐次要約部００３は、前回生成した逐次近似関数の定義域を現在時刻まで拡大する処理を行う。図７において、直線Ｆ１０６は、図６における前回生成した逐次近似関数（直線Ｆ１０３）の定義域を現在時刻まで拡大させた関数を示す。
【００４４】
図８は、本実施の形態１に係る逐次近似関数のパラメータを変更する場合を説明する図である。実値と計算値との差（距離Ｆ１０５）が関数補正閾値Ｔ１を超え、かつ、関数変更閾値Ｔ２以下の場合には、逐次要約部００３は、１つ前の逐次データを入力したときに生成した逐次近似関数をそのまま用いて実値（点Ｆ１０１）を近似すると近似差が大きくなると判断する。そのため、逐次要約部００３は、逐次データ記憶部００２から新たに入力した逐次データと、内部に保持している最新の関数の定義域に含まれるデータとに基づいて、逐次近似関数の補正を行う。
【００４５】
逐次近似関数の補正とは、具体的には、逐次データ記憶部００２から新たに入力した逐次データと、逐次要約部００３が内部に保持している前回生成した逐次近似関数の定義域に含まれる逐次データとに対して、最小二乗法等を用いて、現在近似に用いている関数を作り直す（関数式特定パラメータを算出し直す）処理である。
【００４６】
図８において、点群Ｆ１０８は、逐次要約部００３が内部に保持している前回生成した逐次近似関数の定義域に含まれるデータを示す。また、破線の直線Ｆ１０３は、１つ前までの逐次データを用いて関数式特定パラメータが算出された補正前の関数であり、逐次要約部００３が実値（点Ｆ１０１）を新たに取得（入力）するまでは最新の関数であったものである。直線Ｆ１０７は、逐次要約部００３によって補正された後の関数である。
【００４７】
図８に示す例では、まず、逐次要約部００３は、実値（点Ｆ１０１）を取得（入力）し、計算値と実値との差（距離Ｆ１０５）と関数補正閾値Ｔ１および関数変更閾値Ｔ２を比較して、逐次近似関数の補正を行うと判断する。逐次要約部００３は、１つ前の逐次データを入力したときに生成した逐次近似関数の定義域を現在時刻まで延長する。そして、逐次要約部００３は、延長した定義域に含まれる逐次データ、すなわち実値（点Ｆ１０１）と点群Ｆ１０８とに対して、最小二乗法等を用いて関数を作り直し、直線Ｆ１０３の逐次近似関数から直線Ｆ１０７の逐次近似関数に補正する。
【００４８】
図９は、本実施の形態１に係る逐次近似関数の新たな定義域とパラメータを生成する場合を説明する図である。図９は、実値と計算値との差（距離Ｆ１０５）が関数変更閾値Ｔ２を超える場合の例を示す。実値と計算値との差（距離Ｆ１０５）が関数変更閾値Ｔ２を超える場合には、逐次要約部００３は、前回生成した逐次近似関数（直線Ｆ１０３）をそのまま用いて実値（点Ｆ１０１）を近似したり、前回生成した逐次近似関数（直線Ｆ１０３）を補正することで実値（点Ｆ１０１）を近似したりすると近似差が大きくなると判断する。そのため、逐次要約部００３は、実値（点Ｆ１０１）と１つ前の逐次データを入力したときに生成した逐次近似関数（直線Ｆ１０３）の定義域の終点における値とを直線で結んだ新たな関数を、新たに近似に用いるように処理を行う。具体的には、逐次要約部００３は、実値（点Ｆ１０１）と直線Ｆ１０３の関数の定義域の終点における値に基づいて、新たに近似に用いる関数を特定可能な関数式特定パラメータ（傾きａおよび切片ｂ）を求める。
【００４９】
図９に示すように、実値と計算値との差（距離Ｆ１０５）が関数変更閾値Ｔ２よりも大きい場合には、逐次要約部００３は、実値（点Ｆ１０１）と１つ前の逐次データを入力したときに生成した逐次近似関数（直線Ｆ１０３）の定義域の終点における値とを直線で結んだ新たな関数の関数式特定パラメータを求める。図９において、直線Ｆ１０９は、実値Ｆ１０１と最新の直線Ｆ１０３の定義域の終点における値とを直線で結んだ新たな関数を示している。そして、以降、逐次要約部００３は、直線Ｆ１０３の関数に代えて新たな最新の直線Ｆ１０９の関数を用いて、逐次的に入力されるデータを近似する処理を行う。新たな直線Ｆ１０９の関数式特定パラメータが算出されると、直線Ｆ１０３の関数の状態（具体的には、定義域の範囲）が確定され、以後、入力データによって直線Ｆ１０３の関数の状態が変化することはない。
【００５０】
図９の例では、直線Ｆ１０３と直線Ｆ１０９が、逐次定義域の境界で連続するように逐次近似関数が定められる場合を示す。直線Ｆ１０３の関数と直線Ｆ１０９の関数は、逐次定義域の境界（分割点）で連続でなくてもよい。すなわち、直線Ｆ１０９は直線Ｆ１０３の定義域の終点の値を通らずに、１つ前に入力した逐次データと新たに入力した逐次データを近似するように逐次近似関数を生成してもよい。
【００５１】
また、定義域の分割点は、逐次データの位置でなくてもよい。図９の新たな逐次近似関数の定義域は、１つ前に入力した逐次データと新たに入力した逐次データの間の点から始まるようにしてもよい。その場合、１つ前に逐次データを入力したときに生成した逐次近似関数の定義域は、その分割点まで延長する。定義域の分割点は、例えば、上述の直線Ｆ１０９が直線Ｆ１０３の定義域の終点の値を通らずに、１つ前に入力した逐次データと新たに入力した逐次データを近似するように逐次近似関数を生成した場合に、直線Ｆ１０３と直線Ｆ１０９の交点の時刻とすることができる。
【００５２】
逐次要約部００３は、新たに関数式特定パラメータを算出して関数の切り替えを行った場合には、逐次要約部００３が内部に記憶しているオリジナルデータのうち、新たな関数式特定パラメータが算出された時刻以前のデータを削除することで、逐次要約部００３が内部に保持しているオリジナルデータが、最新の関数の定義域に含まれるデータになるように制御する。
【００５３】
なお、逐次要約部００３が、関数の定義域の拡大を行うのか、関数の補正を行うのか、新たな関数に切り替えるのかを判断する判断手順等の具体的な動作については後述する。
【００５４】
図１の蓄積要約制御部００４は、蓄積データ要約部００５が動作するタイミングを制御する。具体的には、逐次データ記憶部００２に蓄積されたデータ量を監視し、所定の量以上のデータが逐次データ記憶部００２に蓄積されたときに、蓄積データ要約部００５に対して動作を指示する通知を出力する。蓄積データ要約部００５に対する動作指示のトリガとなる所定の量は、例えば、予め設定されている値であってもよいし、ユーザが設定できるようにしてもよい。
【００５５】
蓄積データ要約部００５は、逐次データ記憶部００２に記憶されている逐次データを、所定の関数を用いて近似する処理を実行する機能を備える。ただし、蓄積データ要約部００５は、逐次データ記憶部００２に記憶される逐次データのうち、逐次要約部００３が近似処理を実行している最新の関数の定義域に含まれる逐次データ（逐次的な要約が実行されている領域のデータ）以外の逐次データを取得し、処理を実行する。なお、逐次要約部００３が近似処理を実行している最新の関数の定義域を示す情報は、蓄積データ要約部００５が処理を開始するときに逐次要約部００３から入力される。
【００５６】
蓄積データ要約部００５は、蓄積要約制御部００４から動作指示が通知されると、順序が連続する所定の範囲の逐次データから、その順序を含む情報の範囲を１または２以上に分割した定義域と、分割した定義域のそれぞれで逐次データの値を近似する所定の関数のパラメータから構成される関数を生成する。蓄積データ要約部００５が、所定の範囲の逐次データの順序を含む情報の範囲を１または２以上に分割した定義域を、一括定義域という。また、蓄積データ要約部００５が生成する、一括定義域とそれぞれの一括定義域で逐次データの値を近似する所定の関数を一括近似関数という。
【００５７】
蓄積データ要約部００５は、所定の範囲の逐次データを所定の関数で一括して近似し、関数パラメータを要約結果評価部００７に出力する。また、蓄積データ要約部００５は、関数パラメータを要約結果評価部００７に出力する際に、処理対象の範囲の逐次データも要約結果評価部００７に出力する。
【００５８】
図１０は、本実施の形態１に係る蓄積データ要約の対象である逐次データの例を示す。図１０は、逐次データ記憶部００２から出力される逐次データ列を、横軸を時間とし縦軸を値としてグラフにプロットした場合の例を示す。図１０において、点群Ｆ２０１は、逐次データ記憶部００２から出力された逐次データ列を示す。蓄積データ要約部００５は、図１０に示す逐次データ列（点群Ｆ２０１）を、所定の関数を用いて一括して近似する処理を実行する。
【００５９】
図１１は、図１０に示す逐次データ列（点群Ｆ２０１）を、１次関数（ｙ＝ａｘ＋ｂ）を用いて近似した場合の処理例を示す。図１１に示す例では、蓄積データ要約部００５は、逐次データ列（点群Ｆ２０１）を３つの１次関数Ｆ２０２、Ｆ２０３、およびＦ２０４を用いて近似している。なお、蓄積データ要約部００５は、具体的には、１次関数を特定するために必要な関数パラメータ（傾きａ、切片ｂおよび定義域）を、１次関数Ｆ２０２、Ｆ２０３、Ｆ２０４ごとにそれぞれ求める。
【００６０】
蓄積データ要約部００５が逐次データ記憶部００２から出力される逐次データ列を、関数を用いて近似する方法はいくつか考えられる。例えば、逐次データ記憶部００２から出力される逐次データ列を、最小二乗法を用いて１つの関数で近似する方法が考えられる。この方法は、一群の逐次データを１つの関数で近似するため、要約率は高くなるが、誤差が大きくなる。また、逐次データ列の分割数や分割箇所に関してすべてのパターンで近似関数を導出する方法も考えられる。具体的には、逐次データ記憶部００２から入力される逐次データの個数がＮ（Ｎは自然数）である場合、Ｎ個の逐次データを近似する関数の個数は１個から（Ｎ−１）個まで可能である。また、例えば、Ｎ個の逐次データをＭ個（Ｍは１以上、(Ｎ−１)以下の整数）の関数で近似するとした場合、定義域の分割点、つまり、関数を切り替えるポイントはＭ−１個存在し、関数を切り替えるポイントの選び方は、両端の点を除くＮ−２個の点からＭ−１個の分割点を選ぶ組合せの数Ｎ−２ＣＭ−１個存在する。これら分割数や分割箇所に関してすべてのパターンで近似関数を導出してもよい。この方法を用いる場合、すべてのパターンを試すことになるので、必ず最適な近似関数を導出することができる。しかしこの方法は、逐次データ記憶部００２から入力される逐次データの個数Ｎが大きくなると、関数を切り替えるポイントの選び方が膨大になり、現実的ではない。
【００６１】
そこで、本実施の形態１では、離散曲率により角点を抽出し、角点間の領域に含まれる逐次データごとに最小二乗法を用いて関数で近似する方法を用いる。ここで、角点は、離散曲率の値の中から、極大値となる点、又は、所定の値より大きな値となる点をいう。以降、本実施の形態では、蓄積データ要約部００５が、離散曲率により角点を抽出し、角点間の領域に含まれる逐次データごとに最小二乗法を用いて逐次データを関数近似する場合を例に説明する。
【００６２】
図１２は、離散曲率により角点を抽出する様子を表す説明図である。図１２において、点Ｆ３０１は角点かどうかの判定に着目している判定点である。点Ｆ３０２は判定点からｋ区間（ｋは自然数、図１２で示す例ではｋ=２）前の点を示している。点Ｆ３０３は判定点からｋ区間後の点を示している。角度Ｆ３０４は、点Ｆ３０１から点Ｆ３０２へのベクトルＲと、点Ｆ３０１から点Ｆ３０３へのベクトルＳの角度（０〜πラジアン）を表しており、角度Ｆ３０４の余弦が離散曲率と呼ばれる特徴量になる。離散曲率は、それぞれ単位ベクトルに正規化したベクトルＲとベクトルＳの内積に等しい。離散曲率は、点列が直線状に伸びているときは−１に近い値をとり、直角に曲がっているところでは０の値をとり、鋭角に曲がっているところほど１に近い値をとる性質がある。
【００６３】
以上より、時間軸上古い逐次データである左端の点から（厳密には、左端からｋ＋１番目の点から）、時間軸上新しい逐次データである右端の点まで（厳密には、右端からｋ−１番目の点まで）順番に離散曲率を計算し、離散曲率が所定の値より大きな値で極大を取る点を角点として抽出することができる。対象の範囲に含まれる逐次データのすべての角点が抽出されれば、角点で挟まれる領域内の点列に対して最小二乗法を用いてデータを所定の関数で近似する。なお、点列の両端の点は厳密には角点ではないが、角点とみなして処理を実行する。
【００６４】
離散曲率を計算する区間の数ｋは小さい値を設定するとノイズの影響を受けやすくなり、大きい値を設定すると近接した角点を検出できなくなる。区間の数ｋは予め設定された値を使用するようにしてもよいし、ユーザが任意に設定できるようにしてもよい。また、離散曲率の値がどれぐらい大きな値になれば角点として抽出するかを決めるための所定の値（以降、角点抽出基準値）に関しても、予め設定された値を使用するようにしてもよいし、ユーザが任意に設定できるようにしてもよい。
【００６５】
なお、本実施の形態１では、蓄積データ要約部００５がデータを近似する関数として１次関数を用いる場合の例を説明しているが、蓄積データ要約部００５がデータを近似する関数として利用する関数は１次関数に限らない。例えば、蓄積データ要約部００５は、２次以上の高次の関数を用いてデータを近似する処理を行ってもよいし、三角関数等を含む関数を用いてデータを近似する処理を行ってもよい。また、一括近似関数と逐次近似関数は同じ型の関数でなくてもよい。
【００６６】
逐次データ記憶管理部００６は、逐次データ記憶部００２のデータを削除する機能を備える。具体的には、蓄積データ要約部００５によって、逐次データ記憶部００２に蓄積されたデータを関数で近似する蓄積データ要約処理が行われると、処理が実行されたことを知らせる通知を蓄積データ要約部００５から受け取り、逐次データ記憶部００２に記憶されているデータのうち、蓄積データ要約部００５が処理を実行したデータを削除する。具体的には、逐次データ記憶部００２の蓄積データ要約処理の対象となった逐次データの記憶領域を開放し、新たな逐次データを記憶できる領域にする。
【００６７】
図１３Ａ及び１３Ｂは、逐次データ記憶管理部００６が、逐次データ記憶部００２に記憶されている逐次データのうち、蓄積データ要約部００５が処理を実行した逐次データを削除させる例を示す図である。図１３Ａは、逐次データから生成された近似関数を示す図である。図１３Ｂは、図１３Ａにおける逐次データを示す図である。図１３Ａに示すように、点群Ｆ４０１と、点群Ｆ４０２が逐次データ記憶部００２に記憶されている逐次データである。点群Ｆ４０２で示される逐次データは、逐次要約部００３が近似処理を実行している最新の関数の定義域に含まれる逐次データである。
【００６８】
蓄積データ要約部００５は、逐次データ記憶部００２に記憶されている逐次データのうち、逐次要約部００３が近似処理を実行している最新の関数の定義域に含まれる逐次データ以外を処理対象とするので、図１３Ａの例では、点群Ｆ４０１の逐次データが、蓄積データ要約部００５の処理対象となる。点群Ｆ４０１の逐次データが、蓄積データ要約部００５によって一括要約処理されると、逐次データ記憶管理部００６は、処理が実行されたことを知らせる通知情報を蓄積データ要約部００５から受け取り、図１３Ｂに示すように、逐次データ記憶部００２が記憶していた逐次データＴ２００のうち、蓄積データ要約部００５が処理を実行した逐次データＴ２０１を削除させる。
【００６９】
要約結果評価部００７は、逐次要約部００３が生成した逐次近似関数と、蓄積データ要約部００５が生成した一括近似関数とを比較し、一括近似関数の方が優れた近似である場合、要約結果記憶部００８に記憶されている逐次近似関数を削除して、代わりに、蓄積データ要約部００５が生成した一括近似関数を要約結果記憶部００８に記憶する。
【００７０】
具体的には、まず、要約結果評価部００７は、蓄積データ要約部００５が生成した一括近似関数を入力されると、要約結果記憶部００８に記憶されている逐次近似関数の中から、一括近似関数と定義域が同じ範囲の逐次近似関数を読み込む。
【００７１】
なお、蓄積データ要約部００５が生成した一括近似関数が要約結果評価部００７に入力される時点では、一括近似関数の定義域（一括定義域）に含まれる逐次データはすでに逐次要約部００３によって関数近似されている。これは、逐次要約部００３は、逐次データが入力されるたびに逐次データを関数で近似するためである。したがって、要約結果評価部００７が要約結果記憶部００８に記憶されている逐次近似関数の中から、一括近似関数と定義域が同じ範囲の逐次近似関数を読み込む際に、該当する逐次近似関数が存在しないということは起きない。
【００７２】
図１４Ａ〜１４Ｄは、要約結果評価部００７が、蓄積データ要約部００５から一括近似関数を入力され、一括近似関数の定義域と同じ定義域の逐次近似関数を、要約結果記憶部００８から読み込む例を示す。図１４Ａは、点群Ｆ５０１の逐次データが蓄積データ要約部００５によって蓄積データ要約される前の状態、すなわち逐次要約部００３で生成された逐次近似関数を示す。図１４Ｂは、点群Ｆ５０１の逐次データから蓄積データ要約部００５によって生成された一括近似関数を示す。図１４Ｃは、図１４Ａの状態における、要約結果記憶部００８に記憶されている逐次近似関数の関数パラメータＴ３００を示す。図１４Ｄは、蓄積データ要約部００５が逐次データから生成した一括近似関数の関数パラメータＴ４００である。要約結果評価部００７は、蓄積データ要約部００５から関数パラメータＴ４００が入力されると、要約結果記憶部００８に記憶されている関数パラメータＴ３００の中から、関数パラメータＴ４００の定義域と同じ範囲の関数パラメータを探す。具体的には、関数パラメータＴ４００の定義域の始点（from）Ｔ４０１のうち、時間が最も古い値（図１４Ｄに示す例では、「２００９/０５/２８/１３:００:５０」）と同じ値を、関数パラメータＴ３００の定義域の始点（from）Ｔ３０１の中から探し、同じ値をもつレコードの位置を記憶しておく。次に、関数パラメータＴ４００の定義域の終点（to）Ｔ４０２のうち、時間的が最も新しい値（図１４Ｄに示す例では、「２００９/０５/２８/１３:０１:０１」）と同じ値を、関数パラメータＴ３００の定義域の終点（to）Ｔ３０２の中から探し、同じ値をもつレコードの位置を記憶しておく。上述の２つのレコードの位置の間にある関数パラメータＴ３０３が、要約結果記憶部００８から読み込まれる関数パラメータとなる。
【００７３】
要約結果評価部００７は、蓄積データ要約部００５が出力した一括近似関数の関数パラメータと要約結果記憶部００８から読み込まれた逐次近似関数の関数パラメータとを要約の精度および／または要約率という観点で評価する。要約の精度は、逐次データの値と近似した関数の値との距離の和で定義できる。オリジナルデータと近似した関数との距離の和が小さいほど誤差が小さく精度が高いといえる。要約率は、逐次データを近似した関数の数（定義域の分割数）で決まる。定義域の分割数が少ないほど要約率が高いといえる。
【００７４】
図１５は、逐次データと近似した関数との距離の例を示す。直線Ｆ６０１は逐次データを近似した関数を表し、点Ｆ６０２〜Ｆ６０６は逐次データを表す。直線Ｆ６０１で示される関数（逐次近似関数または一括近似関数）と、点Ｆ６０２〜Ｆ６０６で示される逐次データとの距離が、それぞれ距離Ｆ６０７〜Ｆ６１１で示されている。図１５で示すように、逐次データと近似した関数との距離とは、逐次データから関数に対して縦軸に沿ってまっすぐに線をおろしたときの線分の長さに相当する。
【００７５】
要約結果評価部００７が、蓄積データ要約部００５が出力した関数パラメータと要約結果記憶部００８から読み込まれた関数パラメータとを評価する際には、例えば、以下のような、要約の精度と要約率とを基準とする評価関数を使ってもよい。
評価関数：ｗ１／Ａ ＋ ｗ２／Ｓ
【００７６】
評価関数において、変数Ａは近似した関数（分割した定義域）の数である。近似した関数の数は少ないほど要約率が上がるため、第１項は、Ａの値が小さくなるほど大きな値となる。また、変数Ｓは、逐次データと近似した関数との距離の和である。逐次データと近似した関数との距離の和は小さいほど誤差が小さく精度が高くなるため、評価関数の第２項は、Ｓの値が小さくなるほど大きな値となる。パラメータｗ１、ｗ２は重み定数である。ｗ１を大きな値に設定するほど第１項の要約率を重視する評価関数となり、ｗ２を大きな値に設定するほど第２項の精度を重視する評価関数となる。パラメータｗ１とｗ２の値は、予め設定されていてもよいし、ユーザが任意に設定できるようにしておいてもよい。
【００７７】
要約結果評価部００７は、評価関数を用いて、蓄積データ要約部００５が出力した一括近似関数と要約結果記憶部００８から読み込まれた逐次近似関数とを評価した評価値を算出し、それぞれの評価値を比較する。もし、一括近似関数の関数パラメータの評価値の方が、逐次近似関数の関数パラメータの評価値よりも大きい値なら、蓄積データ要約部００５が出力した関数パラメータの方がより良い関数パラメータであるといえるので、要約結果記憶部００８に記憶されている逐次近似関数の関数パラメータのうち、一括近似関数の定義域（一括定義域）に対応する定義域（逐次定義域）を有する逐次近似関数の関数パラメータを削除し、一括近似関数の関数パラメータを新たに記憶する。このとき、リストに記憶される関数パラメータの順番は、時間を基準に整列されるように記憶する。つまり、リストの上にある関数パラメータの定義域ほど、時間的に古くなるように記憶する。
【００７８】
図１４Ａ〜１４Ｄの例では、逐次要約部００３が４つに分割した定義域（逐次定義域）の逐次近似関数で近似した逐次データを、蓄積データ要約部００５が２つに分割した定義域（一括定義域）の一括近似関数で近似している。このように要約結果記憶部００８で記憶する関数パラメータの数（定義域の分割数）が減る、つまり、要約率が高くなる場合もあれば（同時に精度が上がる場合もある）、逆に、要約結果記憶部００８で記憶する関数パラメータの数（定義域の分割数）が増える、つまり、精度が高くなる場合もある。これらは、前記評価関数で要約率を重視するのか、精度を重視するのかによって変わる。
【００７９】
なお、要約結果評価部００７が評価を行う際には、必ずしも前記で示した評価関数を用いる必要はなく、要約の精度および／または要約率から作られる基準のもとに評価すればよい。少なくとも、一括近似関数の方が要約の精度が低く（誤差の和が大きく）、かつ、要約率が低い（定義域の分割数が多い）場合には、逐次近似関数を一括近似関数で置き換えない方が望ましい。言い換えれば、一括近似関数で置き換えるのは、一括近似関数の方が要約の精度が高いか、または、要約率が高い場合に限るのが望ましい。
【００８０】
要約結果記憶部００８は、逐次要約部００３が生成する逐次近似関数の関数パラメータ、または、蓄積データ要約部００５が生成する一括近似関数の関数パラメータを記憶装置に記憶する。図１６は、要約結果記憶部００８が記憶している関数パラメータの一例を示す。図１６に示すように、要約結果記憶部００８は、関数パラメータとして、１次関数（ｙ＝ａｘ＋ｂ）の傾きを表すパラメータ（ａ）Ｔ５０１と、切片を表すパラメータ（ｂ）Ｔ５０２と、近似する関数の定義域の始点（from）Ｔ５０３と、定義域の終点（to）Ｔ５０４とを記憶する。これら傾きＴ５０１、切片Ｔ５０２、定義域の始点Ｔ１０３、および定義域の終点Ｔ５０４の４つのパラメータの組が１つの関数パラメータとなる。
【００８１】
図１６では、逐次要約部００３や蓄積データ要約部００５が逐次データの近似に１次関数を用いる場合の例を示すが、逐次データの近似に用いる関数は１次関数に限らない。例えば、逐次要約部００３や蓄積データ要約部００５は、逐次データの近似に用いる関数として２次関数以上の高次の関数を用いてもよいし、三角関数等を含む関数を用いてもよい。そのような場合であっても、要約結果記憶部００８は、近似に用いる関数を表現するための関数式特定パラメータ（１次関数の例におけるａ、ｂに相当するパラメータ。三角関数の場合には振幅、角周波数および位相である。）と、関数の定義域の始点（from）と、定義域の終点（to）との組を１つの関数パラメータとして記憶する。
【００８２】
逐次要約部００３によって時間軸に沿って逐次的にデータを関数で近似する処理が行われるので、関数パラメータのテーブルＴ５００は、図１６に示すように、時間の順序（昇順または降順）に整列した状態で要約結果記憶部００８に記憶される。つまり、関数パラメータのテーブルＴ５００のｉ番目（ｉは自然数）のレコードにおける始点（from）Ｔ１０３と終点（to）Ｔ１０４は、ｉ＋１番目のレコードにおける始点（from）Ｔ１０３と終点（to）Ｔ１０４より古い時間になるように整列した状態で要約結果記憶部００８に記憶される。
【００８３】
また、要約結果記憶部００８は、解析部００９の要求に応じて、解析部００９によって指定された範囲を含む関数パラメータを、データ発生源００１から逐次的に入力されたデータの要約結果として解析部００９に回答（出力）する機能を備える。
【００８４】
図１７Ａ〜１７Ｂは、解析部００９が要約結果記憶部００８に対して解析に用いる範囲のデータを要求し、要約結果記憶部００８がその要求に応じて、指定された範囲を含む関数パラメータを解析部００９に回答する例を示す。このうち、図１７Ａは、解析部００９からの解析要求の例を示す。また、図１７Ｂは、要約結果記憶部００８が出力する要約結果の例を示す。
【００８５】
図１７Ａに示すように、解析部００９は、要約結果記憶部００８に対して、解析に用いる範囲のデータ（要約結果）を要求する。具体的には、解析部００９は、出力要求Ｃ１００を要約結果記憶部００８に対して出力する。なお、図１７Ａに示す例では、説明を分かりやすくするために、自然言語に近い表現で出力要求Ｃ１００を表現しているが、実際に計算機で実装する場合には、解析部００９は、ＳＱＬ言語等の計算機言語を用いて作成したクエリとして出力要求Ｃ１００を出力する。
【００８６】
解析部００９は、例えば、要求する範囲の始点を表すパラメータＣ１０１と、要求する範囲の終点を表すパラメータＣ１０２とを含む出力要求Ｃ１００を、要約結果記憶部００８に対して出力する。要約結果記憶部００８は、出力要求Ｃ１００に含まれる２つのパラメータＣ１０１およびＣ１０２を用いて、図１７Ｂに示す関数パラメータのテーブルＴ６００から該当する関数パラメータを検索し抽出する。
【００８７】
まず、要約結果記憶部００８は、関数パラメータのテーブルＴ６００の中に、解析部００９が要求するデータが存在するか否かを調べるために、テーブルＴ６００の最初のレコードの始点（from）Ｔ６０３の値と、パラメータＣ１０２の値とを比較する。このとき、テーブルＴ６００の最初のレコードの始点（from）Ｔ６０３の値の方が、パラメータＣ１０２の値よりも時間的に新しい値であると判断した場合には、要求されたデータが存在しないことになるので、要約結果記憶部００８は、解析部００９に該当データがない旨の通知情報を出力する。
【００８８】
次に、要約結果記憶部００８は、テーブルＴ６００の最後のレコードの終点（to）Ｔ６０４の値と、パラメータＣ１０１の値とを比較する。このとき、テーブルＴ６００の最後のレコードの終点（to）Ｔ６０４の値の方が、パラメータＣ１０１の値よりも時間的に古い値であると判断した場合には、要求されたデータが存在しないことになるので、要約結果記憶部００８は、解析部００９に該当データがない旨の通知情報を出力する。
【００８９】
上記の始点と終点における２つの比較処理においていずれも該当データなしとの判断結果にならなかった場合には、テーブルＴ６００の中に、解析部００９が要求するデータが存在することになる。その場合、要約結果記憶部００８は、該当するデータの検索を行う。
【００９０】
要約結果記憶部００８は、パラメータＣ１０１と終点（to）Ｔ６０４の値とを、テーブルＴ６００の１つ目の値から順番に比較する処理を行う。そして、要約結果記憶部００８は、終点（to）Ｔ６０４の値が、初めてパラメータＣ１０１より時間的に新しい値になるレコードを探して特定する。
【００９１】
次に、要約結果記憶部００８は、パラメータＣ１０２と終点（to）Ｔ６０４の値とを、テーブルＴ６００の１つ目の値から順番に比較する処理を行う。そして、要約結果記憶部００８は、終点（to）Ｔ６０４の値が、初めてパラメータＣ１０２より時間的に新しい値になるレコードを探して特定する。
【００９２】
次いで、要約結果記憶部００８は、パラメータＣ１０１と終点（to）Ｔ６０４とを比較して検索したレコードと、パラメータＣ１０２と終点（to）Ｔ６０４とを比較して検索したレコードとの間にあるレコードを特定する。そして、要約結果記憶部００８は、その特定したレコードの値を、要求された関数パラメータとして、解析部００９に回答（出力）する。
【００９３】
なお、要約結果記憶部００８は、パラメータＣ１０２と始点（from）Ｔ６０３の値とをテーブルＴ６００の１つ目の値から順番に比較したときに、該当するレコードが見つからない場合には、パラメータＣ１０１と終点（to）Ｔ６０４とを比較して検索したレコードと、テーブルＴ６００の最後のレコードとの間にあるレコードを特定する。そして、要約結果記憶部００８は、その特定したレコードの値を、要求された関数パラメータとして、解析部００９に回答（出力）する。
【００９４】
図１７Ｂに示す例では、要約結果記憶部００８は、解析部００９からの出力要求Ｃ１００に応じて、指定された範囲を含む３つのレコードに含まれる関数パラメータＴ６０５を、解析部００９に回答（出力）する場合が示されている。
【００９５】
解析部００９は、具体的には、プログラムに従って動作するコンピュータのＣＰＵ（Central Processing Unit）によって実現され、様々な解析を行う手段である。解析部００９は、解析に用いる範囲の関数パラメータを要約結果記憶部００８に要求する機能を備える。また、解析部００９は、要求に応じて要約結果記憶部００８によって回答（出力）される関数パラメータに基づいて、様々な解析を行う機能を備える。
【００９６】
例えば、解析部００９は、Ｗｅｂサーバが発生するログデータに基づいて、Ｗｅｂアクセスの動線解析を行う。また、例えば、解析部００９は、交通情報（例えば、道路上の自動車の位置情報）の収集データに基づいて、道路上の渋滞箇所を解析して検出する。また、例えば、解析部００９は、株価の変動データに基づいて、株価の変動と事前入力した売買ルールとをマッチングして、株式の売買タイミングとなったか否かを解析する。
【００９７】
解析部００９は、要約結果記憶部００８に対して、指定した範囲を含む関数パラメータを回答するように要求する場合には、図１７Ａ及び１７Ｂに示すように、指定した範囲の始点を表すパラメータＣ１０１と、指定した範囲の終点を表すパラメータＣ１０２とを含む出力要求Ｃ１００を、要約結果記憶部００８に出力する。そして、解析部００９は、出力要求Ｃ１００に応じて回答（出力）された関数パラメータＴ６０５に基づいて解析を行う。
【００９８】
図１８は、本実施の形態１に係るデータ要約処理の例を示すフローチャートである。図１８に示すように、本実施の形態１において、データ要約システム１００の動作ステップは、逐次データ入力のステップ（ステップＳ１００）と、逐次データ記憶のステップ（ステップＳ２００）と、逐次要約のステップ（ステップＳ３００）と、逐次近似関数記憶のステップ（ステップＳ４００）と、逐次データ記憶部００２に記憶されたデータ量が閾値以上になっているかどうかを判定するステップ（ステップＳ５００）と、蓄積データ要約のステップ（ステップＳ６００）と、要約結果評価のステップ（ステップＳ７００）と、要約結果更新のステップ（ステップＳ８００）と、を含む。
【００９９】
データ発生源００１が逐次にデータを発生すると、データが発生するごとに、逐次データ記憶部００２は、データ発生源００１から逐次データを入力する（ステップＳ１００）。逐次データ記憶部００２は、入力した逐次データを記憶すると同時に逐次要約部００３に出力する（ステップＳ２００）。逐次要約部００３は、逐次データ記憶部００２から逐次データを入力するごとに、入力した逐次データを要約して逐次近似関数を生成する処理を実行し、逐次近似関数の関数パラメータを要約結果記憶部００８に出力する（ステップＳ３００）。
【０１００】
要約結果記憶部００８は、逐次近似関数の関数パラメータを記憶する。要約結果記憶部００８は、前回記憶した関数パラメータの定義域と今回入力した関数パラメータの定義域が重複していれば（逐次定義域の始点が同じなら）、前回記憶した関数パラメータを今回入力した関数パラメータに更新する。前回と今回の定義域が重複していなければ（逐次定義域の始点が異なれば）、今回入力した関数パラメータを追加して記憶する。
【０１０１】
蓄積要約制御部００４は、逐次データ記憶部００２に記憶されている逐次データの量を監視し、逐次データ蓄積量が閾値を超えた場合（ステップＳ５００；ＹＥＳ）、蓄積データ要約部００５に対して動作の指示を出す。一方、逐次データ蓄積量が閾値を超えていない場合（ステップＳ５００；ＮＯ）、ステップＳ１００に戻り、データ発生源００１から逐次データが入力される。蓄積データ要約部００５は、蓄積要約制御部００４からの動作指示を受けて、逐次データ記憶部００２に記憶されているデータに対して要約処理を実行し、一括近似関数の関数パラメータを要約結果評価部００７に出力する（ステップＳ６００）。
【０１０２】
要約結果評価部００７は、逐次要約部００３と蓄積データ要約部００５による要約結果（関数パラメータ）を、要約の精度または要約率の観点から生成された評価関数にしたがって評価する（ステップＳ７００）。要約結果評価部００７は、蓄積データ要約部００５から入力した一括近似関数の評価値の方が高い値の場合、一括近似関数の関数パラメータを要約結果記憶部００８に出力する。
【０１０３】
要約結果記憶部００８は、要約結果評価部００７から蓄積データ要約部００５が生成した一括近似関数の関数パラメータを入力すると、入力した一括近似関数の関数パラメータと同じ定義域に含まれる定義域を有する逐次近似関数の関数パラメータを削除し、入力した一括近似関数の関数パラメータを記憶する（ステップＳ８００）。
【０１０４】
解析部００９から解析に用いる範囲の関数パラメータを要求されると、要約結果記憶部００８は、要求された範囲の関数パラメータを解析部００９に回答（出力）する。解析部００９からの要求および要約結果記憶部００８の回答（出力）は、データ要約とは独立して非同期に行われる。
【０１０５】
図１９は、実施の形態１に係る逐次要約処理の例を示すフローチャートである。図１９の処理は、図１８のステップＳ３００の内容を示す。逐次要約部００３は、逐次データ記憶部００２が出力する最新の逐次データを入力する（ステップＳ３０１）。すると、逐次要約部００３は、内部に記憶している現在の関数式特定パラメータによって特定される関数に、逐次データの時刻を入力し、計算値を算出する（ステップＳ３０２）。
【０１０６】
次に、逐次要約部００３は、逐次データ記憶部００２から取得（入力）した逐次データの実際の値（実値）と、ステップＳ３０２で算出した計算値とを比較する。この場合、逐次要約部００３は、実値と計算値との差が、内部に記憶している第１の関数切り替え判定基準値である関数補正閾値Ｔ１より小さいか否かを判定する（ステップＳ３０３）。
【０１０７】
実値と計算値との差が関数補正閾値Ｔ１よりも小さいと判断した場合には（ステップＳ３０３；ＹＥＳ）、逐次要約部００３は、１つ前に逐次データを入力したときに生成した逐次近似関数の定義域の終点（to）を、新たに入力した逐次データの時刻に更新する（ステップＳ３０４）。実値と計算値との差が、内部に記憶している第１の関数補正閾値Ｔ１を超えている場合には（ステップＳ３０３；ＮＯ）、逐次要約部００３は、実値と計算値との差が、内部に記憶している第２の関数切り替え判定基準値である関数変更閾値Ｔ２より小さいか否かを判定する（ステップＳ３０５）。
【０１０８】
実値と計算値との差が関数変更閾値Ｔ２より小さい場合には（ステップＳ３０５；ＹＥＳ）、逐次要約部００３は、１つ前に逐次データを入力したときに生成した逐次近似関数のパラメータの補正を行う（ステップＳ３０６）。すなわち、１つ前の逐次データを入力したときに生成した逐次近似関数の逐次定義域を、新たに入力した逐次データまで延長し、１つ前の逐次データを入力したときに生成した逐次近似関数のパラメータを、延長した逐次定義域に含まれる逐次データの値を近似するように変更する。具体的には、逐次要約部００３は、新たに入力した逐次データと、内部に記憶している逐次近似関数の定義域に含まれる逐次データとに対して、最小二乗法等を用いて、関数式特定パラメータを算出し直す。
【０１０９】
実値と計算値の差が関数変更閾値Ｔ２を超える場合には（ステップＳ３０５；ＮＯ）、逐次要約部００３は、１つ前に入力した逐次データと新たに入力した逐次データの間の点から始まり新たに入力した逐次データまでを含む新たな定義域（逐次定義域）、および、１つ前に入力した逐次データと新たに入力した逐次データの値を近似する所定の関数のパラメータから構成される逐次近似関数を生成する（ステップＳ３０７）。例えば、新たに入力した逐次データと、前回生成した逐次近似関数の定義域の終点（to）における値とを用いて、新たな関数式特定パラメータ（傾きａ、切片ｂ）を算出する。
【０１１０】
次いで、ステップＳ３０４、ステップＳ３０６またはステップＳ３０７で更新した関数パラメータ（傾きａ、切片ｂおよび定義域）を、要約結果記憶部００８に出力する（ステップＳ３０８）。
【０１１１】
なお、図１９のフローチャートには示されていないが、要約結果記憶部００８に関数パラメータがまだ１つも記憶されていない初期の状態のときは、逐次要約部００３は、逐次データ記憶部００２から入力される逐次データをいくつか溜まるまでバッファリングしておく。そして、逐次要約部００３は、バッファリングしたいくつかのデータに対して最小二乗法等の手法を用いて、近似に用いる最初の関数の関数パラメータを求めるようにすればよい。
【０１１２】
図２０は、本実施の形態１に係る蓄積データ要約処理の動作の一例を示すフローチャートである。図２０は、図１８のステップＳ６００の内容を示す。まず、蓄積データ要約部００５は、逐次データ記憶部００２から処理対象となる逐次データを入力する（ステップＳ６０１）。ここで、処理対象の逐次データは、逐次データ記憶部００２に記憶されているデータのうち、逐次要約部００３が近似処理を実行している最新の関数の定義域に含まれる逐次データを除外した逐次データである。
【０１１３】
次に、蓄積データ要約部００５は、変数ｉに１を代入する（ステップＳ６０２）。そして、蓄積データ要約部００５は、ｉ＋ｋの値が処理対象の逐次データ数より大きいかどうかを判定する（ステップＳ６０３）。ここで、変数ｋは、前述の離散曲率を算出する際に用いる区間の数である。離散曲率は、判定点の逐次データと判定点から＋ｋ区間離れた逐次データとを結ぶベクトルと、判定点の逐次データと判定点から−ｋ区間離れた逐次データとを結ぶベクトルの余弦として算出される。
【０１１４】
ｉ＋ｋの値が処理対象の逐次データ数以下の場合は（ステップＳ６０３；ＮＯ）、まだ離散曲率を求めることができるデータが存在するので、蓄積データ要約部００５は、時間的に古い順番から数えてｉ＋ｋ番目の処理対象データの離散曲率を算出する（ステップＳ６０４）。そして、変数ｉの値に１を加えて（ステップＳ６０５）、ステップＳ６０３に戻る。
【０１１５】
ステップＳ６０３で、ｉ＋ｋの値が処理対象の逐次データ数より大きい場合は（ステップＳ６０３；ＹＥＳ）、離散曲率を求めることができる逐次データがもう存在しないので、次に、蓄積データ要約部００５は、ステップＳ６０４で算出した離散曲率の値の中から極大値となるポイントを角点として抽出する（ステップＳ６０６）。そして、蓄積データ要約部００５は、角点間の領域に含まれる逐次データに対して最小二乗法等の手法を用いて、一括近似関数を生成する（ステップＳ６０７）。なお、処理対象の逐次データのうち時間的にもっとも古いデータと時間的にもっとも新しいデータは厳密には角点ではないが、角点とみなして処理を実行する。つまり、ステップＳ６０７で最初に関数による近似が実行されるのは、処理対象の逐次データのうち時間的にもっとも古いデータと最初に抽出された角点の間の領域に含まれる逐次データであり、最後に関数による近似が実行されるのは、最後に抽出された角点と処理対象の逐次データのうち時間的にもっとも新しい逐次データとの間の領域に含まれるデータである。
【０１１６】
なお、ステップＳ６０３で１つも離散曲率が生成されないでステップＳ６０６に進んだ場合、ステップＳ６０６では、角点は１つも抽出されないが、処理対象の逐次データのうち時間的にもっとも古いデータと時間的にもっとも新しいデータが角点とみなされるので、ステップＳ６０７以降の処理を行うことができる。
【０１１７】
逐次データ記憶管理部００６は、逐次データ記憶部００２から蓄積データ要約部００５に入力された処理対象の逐次データを削除する（ステップＳ６０８）。次に、蓄積データ要約部００５は、ステップＳ６０７で生成した関数パラメータを要約結果評価部００７に出力して（ステップＳ６０９）処理を終える。なお、図２０では、ステップＳ６０８とステップＳ６０９はシーケンシャルに実行されるように示しているが、これらのステップは実際には並列的に実行している。
【０１１８】
以上説明したように、本実施の形態１によれば、逐次要約部００３は、サーバが出力するログデータやセンサが出力するデータ等、逐次的に発生するデータを、データが発生するごとに評価する。そして、逐次要約部００３は、評価結果に基づいて、近似に用いる関数を切り替えながらデータを要約する処理を行う。そのようにすることによって、逐次的にデータを要約することが可能となり、解析部００９による解析処理が開始されるまでのタイムラグをなくし、リアルタイムな解析を行うことができる。
【０１１９】
また、蓄積データ要約部００５は、サーバが出力するログデータやセンサが出力するデータ等、逐次的に発生するデータを一定量蓄積した後に、蓄積された逐次データを一括して関数で近似することで要約する処理を行う。そうすることによって、逐次的な要約に比べて要約の精度または要約率が高い要約を行うことができる。そして、逐次要約部００３による要約結果と、蓄積データ要約部００５による要約結果を評価し、評価値の高い方の要約結果を選択することにより、リアルタイム性を維持しつつ、要約の精度または要約率を向上させることができる。
【０１２０】
（実施の形態２）
図２１は、実施の形態２に係るデータ要約システム１００の構成例を示すブロック図である。実施の形態２のデータ要約システム１００は、逐次近似関数の判定基準値を、蓄積データ要約の結果によって調整する。本実施の形態２のデータ要約システム１００は、図１の実施の形態１の構成要素に加えて、判定基準値調整部１０１を備える。その他の構成は実施の形態１と同様である。
【０１２１】
逐次要約部００３が逐次データを関数で近似する際に、１つ前の逐次データを入力したときに生成した逐次近似関数の定義域を拡大する処理を行うのか、定義域と関数のパラメータを補正する処理を行うのか、定義域を分割して新たな定義域と関数のパラメータを生成するのか、を判断するために用いる、２種類の判定基準値（関数補正閾値Ｔ１および関数変更閾値Ｔ２）は、適切な値が設定されていないと、逐次要約部００３による要約の精度や要約率が上がらない場合がある。しかし、データ発生源００１から発生するデータの種類やデータ発生の頻度などはまちまちであるため、予め適切な値を設定しておくことや、ユーザが適切な値を設定することは困難である。また、ユーザが適宜パラメータの値を調整することはユーザにとって負担となる。
【０１２２】
一方、蓄積データ要約部００５は、ある程度蓄積されたデータに対して関数による近似処理を行うため、逐次要約部００３に比べて要約の精度または要約率の高い要約を行う（一括近似関数を生成する）ことができる場合が多い。そのため、蓄積データ要約部００５でデータを要約した結果をフィードバックさせることにより、逐次要約部００３が内部に保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２を、逐次近似関数の要約の精度または要約率が高くなるように自動的に調整することが可能となる。これにより、逐次要約部００３の要約性能（要約の精度または要約率）が向上し、判定基準値を調整する負担を軽減させることができる。
【０１２３】
以上のことから、本実施の形態２では、蓄積データ要約部００５による要約結果を逐次要約部００３が内部に保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２にフィードバックさせることで、逐次要約部００３が内部に保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整する。具体的な判定基準値調整方法については後述する。
【０１２４】
以下、実施の形態１と同様の構成および処理を行う部分については記載を省略し、主として、実施の形態１と異なる部分について説明する。
【０１２５】
要約結果評価部００７は、実施の形態１と同様に、蓄積データ要約部００５が出力した一括近似関数と、要約結果記憶部００８から読み込まれた逐次近似関数とを要約の精度または要約率という観点で評価する。そして、評価の結果、一括近似関数の方が、逐次近似関数よりも評価値が高いと判断した場合、要約結果記憶部００８に記憶されている関数パラメータのうち、一括近似関数の定義域に含まれる定義域を有する逐次近似関数の関数パラメータを削除して、代わりに、蓄積データ要約部００５が出力した一括近似関数の関数パラメータを要約結果記憶部００８に記憶する。それと同時に、本実施の形態２では、要約結果評価部００７は、一括近似関数の関数パラメータと、その一括近似関数の対象になった逐次データを判定基準値調整部１０１に出力する。
【０１２６】
判定基準値調整部１０１は、要約結果評価部００７から入力した、一括近似関数の関数パラメータとその一括近似関数の対象になった逐次データをもとに、逐次要約部００３が内部で保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整する。
【０１２７】
関数補正閾値Ｔ１および関数変更閾値Ｔ２は、逐次要約部００３による要約結果が蓄積データ要約部００５による要約結果と同じになるように調整すればよい。すなわち、蓄積データ要約部００５の対象の逐次データを用いて逐次要約部００３の処理を再現しながら、逐次近似関数の定義域の分割点が、一括近似関数の定義域の分割点と一致するように、関数補正閾値Ｔ１および関数変更閾値Ｔ２を調整する。
【０１２８】
図２２Ａ〜２２Ｃは、判定基準値調整部１０１が関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整する一例を示す説明図である。図２２Ａは、逐次データから生成された一括近似関数を示す図である。図２２Ｂは、図２２Ａにおける関数変更閾値Ｔ２の最小値を示す図である。図２２Ｃは、図２２Ａにおける関数変更閾値Ｔ２の最大値を示す図である。図２２Ａにおける、点群Ｆ７０１は、要約結果評価部００７から入力した、蓄積データ要約部００５が処理対象としたオリジナルデータである。直線Ｆ７０２と直線Ｆ７０３は、蓄積データ要約部００５が出力した一括近似関数である。また、点Ｆ７０４は、関数の切り替えが行われた（一括近似関数の定義域が分割された）逐次データである。
【０１２９】
判定基準値調整部１０１は、まず、点群Ｆ７０１のうち時間的にもっとも古い２点（左端の２点）を結ぶ直線（近似関数）を計算する。次に、計算した直線と、時間的に古い順番から数えて３点目（左端から３番目の点）の逐次データの値（実値）との距離を算出し、記憶しておく。ここでいう距離は、図１５で説明した距離と同様で、逐次データの点から直線に対して縦軸に沿ってまっすぐに線をおろしたときの線分の長さに相当する。次に、最小二乗法等の手法により前記３点の逐次データを近似する新たな直線を生成する。新たに生成した直線と、時間的に古い順番から数えて４点目（左端から４番目の点）との距離を算出する。ここで算出された距離が、記憶されている距離（最初に生成した直線と３番目の点の距離）よりも大きな値の場合、記憶されている距離の値を削除し、新たに算出した距離を記憶する。次に、前記４点のデータに対して最小二乗法等の手法により新たに直線を生成する。以下、同様の操作を点Ｆ７０４で示される一括近似関数の定義域の分割点まで繰り返す。
【０１３０】
上述の処理を点Ｆ７０４まで繰り返したときに、最終的に記憶されている距離（実値と近似関数の差）の値が、直線Ｆ７０２を生成するための関数変更閾値Ｔ２の最小値となる。つまり、上述の距離の値よりも大きな値を関数変更閾値Ｔ２に設定しておけば、逐次要約部００３は時間的にもっとも古い点（左端の点）から、点Ｆ７０４の間の点を直線Ｆ７０２で近似するように動作する。すなわち、点７０４まで定義域（逐次定義域）を分割しない。図２２Ｂの表Ｔ７０１の１番目のレコードは、上述の距離の値が記憶されていることを示す（図２２Ｂの例では２.０）。
【０１３１】
次に、上述の処理を点Ｆ７０４まで繰り返したときに、最終的に計算されている直線と、点Ｆ７０４より時間的に１つ新しい点（点Ｆ７０４の右隣の点）との距離を算出し、記憶しておく。この距離の値が、点Ｆ７０４で直線を切り替えるための関数変更閾値Ｔ２の最大値となる。つまり、前記距離の値よりも小さな値を関数変更閾値Ｔ２に設定しておけば、逐次要約部００３は、点Ｆ７０４で近似する直線を切り替える（定義域を分割する）ように動作する。図２２Ｃの表Ｔ７０２の１番目のレコードは、関数変更閾値Ｔ２の最大値となる距離の値が記憶されていることを示す（図２２Ｃの例では５.０）。
【０１３２】
次に、点Ｆ７０４と点Ｆ７０４より時間的に１つ新しい点（点Ｆ７０４の右隣の点）とを結ぶ直線を計算する。すなわち、点Ｆ７０４を時間的にもっとも古い点（左端の点）として、以降、直線Ｆ７０２の定義域に含まれるデータに対して行った処理と同様の処理を行い、距離の最大値を算出する。図２２Ｂの表Ｔ７０１の２番目のレコードは、点Ｆ７０４から次の一括定義域の分割点までに計算した、実値とそれまでの近似関数の距離の最大値が記憶されている（図２２Ｂの例では３.０）。
【０１３３】
図２２Ａ〜２２Ｃに示した例では、直線の数が２本であるが、直線の数が１本の場合や、３本以上の場合も同様の操作を行う。表Ｔ７０１に記録される値は、直線の数（一括定義域の分割数）だけ存在し、表Ｔ７０２に記録される値は、「直線の数−１」の数だけ存在する。
【０１３４】
点群Ｆ７０１に含まれる点のすべてに対して上述の処理を終えた後、表Ｔ７０１と、表Ｔ７０２とに記録されている値から関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整する。具体的には、表Ｔ７０１に記録されている値の中から最大のものを抽出する（図２２Ｂの場合は、３.０）。次に、表Ｔ７０２に記録されている値の中から最小のものを抽出する（図２２Ｃの場合は、５.０）。次に、表Ｔ７０１から抽出された値と表Ｔ７０２から抽出された値の間で関数変更閾値Ｔ２の値を設定する。関数変更閾値Ｔ２の値は、表Ｔ７０１から抽出された値と表Ｔ７０２から抽出された値の間の値であれば、どのような値を設定してもよいが、例えば、表Ｔ７０１から抽出された値と表Ｔ７０２から抽出された値の平均値（この場合、４.０）を設定すればよい。
【０１３５】
蓄積データ要約部００５で近似された関数が１つの場合（図２２Ａに示した例で直線が１本の場合）、図２２Ｂにおける表Ｔ７０１にはデータが１つだけ存在し、図２２Ｃにおける表Ｔ７０２にはデータが１つも存在しない。このような場合は、表Ｔ７０１のデータを関数変更閾値Ｔ２の値として設定すればよい。
【０１３６】
なお、表Ｔ７０１から抽出された値が表Ｔ７０２から抽出された値よりも大きな値になる場合は、逐次要約部００３では、蓄積データ要約部００５が要約した結果と同様の結果を得ることができないので、判定基準値調整は行わない。
【０１３７】
判定基準値調整部１０１は、表Ｔ７０１に記録されている値の中から最小のものを抽出する（図２２Ｂの場合は、２.０）。関数補正閾値Ｔ１の値は、表Ｔ７０１から抽出された値（２.０）より小さい値であればどのような値を設定してもよいが、例えば、関数補正閾値Ｔ１の値は表Ｔ７０１から抽出された値（２.０）を設定すればよい。関数補正閾値Ｔ１の値を表Ｔ７０１に記録されている最小値より大きい値にすると、実値と計算値の差が表Ｔ７０１の最小値より大きくても逐次近似関数のパラメータが補正されない場合があり、その後に一括近似関数の定義域の分割点ではないところで、定義域の分割が発生する可能性がある。
【０１３８】
以上のように、判定基準値調整部１０１が関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整することにより、蓄積データ要約部００５で要約された結果と同様の結果を逐次要約部００３で得ることができる。蓄積データ要約部００５で要約された結果は、要約の精度または要約率が高い要約結果なので、上記のように関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整することにより、逐次要約部００３の要約性能（要約の精度または要約率）を向上させることができる。
【０１３９】
図２３は、実施の形態２に係るデータ要約処理の動作の一例を示すフローチャートである。実施の形態２のデータ要約処理の動作では、要約結果評価のステップ（ステップＳ７００）の後に、判定基準値調整のステップ（ステップＳ９００）を備える。その他のステップは、図１８の実施の形態１のデータ要約処理と同様である。
【０１４０】
なお、図２３においても、実施の形態１で示したフローチャート（図１８参照）と同様に、各ステップ（ステップＳ１００〜Ｓ９００）がシーケンシャルに実行されるように示しているが、実際には、データ要約システム１００は、各ステップＳ１００〜Ｓ９００の処理を並列的に実行している。
【０１４１】
図２３に示した各ステップのうち、ステップＳ１００〜ステップＳ７００およびステップＳ８００の動作に関しては、実施の形態１と同じである。
【０１４２】
要約結果評価部００７は、逐次要約部００３と蓄積データ要約部００５による要約結果（関数パラメータ）を、要約の精度または要約率の観点から生成された評価関数にしたがって評価する（ステップＳ７００）。要約結果評価部００７は、蓄積データ要約部００５から入力した一括近似関数の評価値の方が高い値の場合、一括近似関数の関数パラメータを要約結果記憶部００８に出力する。また、一括近似関数の関数パラメータと、その一括近似関数の対象になった逐次データを判定基準値調整部１０１に出力する。
【０１４３】
判定基準値調整部１０１は、要約結果評価部００７から入力した、一括近似関数の関数パラメータと、その一括近似関数の対象になった逐次データをもとに、逐次要約部００３が内部で保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２の値を調整する（ステップＳ９００）。
【０１４４】
要約結果記憶部００８は、一括近似関数の関数パラメータと同じ定義域に含まれる定義域を有する逐次近似関数の関数パラメータを削除し、入力した一括近似関数の関数パラメータを記憶する（ステップＳ８００）。判定基準値調整のステップ（ステップＳ９００）と、近似関数更新のステップ（ステップＳ８００）の順序はどちらが先でもかまわない。
【０１４５】
図２４は、実施の形態２に係る判定基準値調整の処理の動作の例を示すフローチャートである。図２４の処理は、図２３の判定基準値調整ステップ（ステップＳ９００）の内容を示す。まず、判定基準値調整部１０１は、要約結果評価部００７から、蓄積データ要約部００５が出力した一括近似関数の関数パラメータと、その一括近似関数の定義域の逐次データを入力する（ステップＳ９０１）。次に、判定基準値調整部１０１は、変数ｉに１を、変数ｊに２を代入する（ステップＳ９０２）。また、Ｔ２の暫定最小値Ｍｉｎに可能な最大値を代入（リセット）する。
【０１４６】
判定基準値調整部１０１は、処理対象データのうち時間的に古い順番で数えてｉ番目からｊ番目までの逐次データに対して最小二乗法により直線を生成する（ステップＳ９０３）。最初は、１番目から２番目の逐次データを結ぶ直線を生成することになる。次に、判定基準値調整部１０１は、ステップＳ９０３で生成した直線と、処理対象の逐次データのうち時間的に古い順番で数えて(ｊ＋１)番目の逐次データとの距離を算出する（ステップＳ９０４）。ｊ番目の逐次データが定義域の最後の逐次データである場合には、(ｊ＋１)番目の逐次データがないので、距離は計算しない。
【０１４７】
判定基準値調整部１０１は、処理対象データのうち時間的に古い順番で数えてｊ番目の逐次データが定義域（一括定義域）の分割点かどうかを判定する（ステップＳ９０５）。ここで、定義域の最後の逐次データは分割点とする。もし、分割点でないなら（ステップＳ９０５；ＮＯ）、判定基準値調整部１０１は、ステップＳ９０４で算出された距離の値と、関数変更閾値Ｔ２の暫定最小値Ｍｉｎとしてバッファリングされている距離の値とを比較する（ステップＳ９０６）。
【０１４８】
ステップＳ９０４で算出された距離の値が暫定最小値Ｍｉｎよりも大きい場合（ステップＳ９０６；ＹＥＳ）、判定基準値調整部１０１は、関数変更閾値Ｔ２の暫定最小値ＭｉｎをステップＳ９０４で算出した距離の値に更新する（ステップＳ９０７）。なお、ステップＳ９０４で初めて距離を算出したときは、関数変更閾値Ｔ２の暫定最小値Ｍｉｎは可能な最大値が初期設定されているので、ステップＳ９０６は必ずＹＥＳとなり暫定最小値Ｍｉｎには算出距離が設定される。ステップＳ９０４で算出した距離が関数変更閾値Ｔ２の暫定最小値Ｍｉｎ以下であれば（ステップＳ９０６；ＮＯ）、判定基準値調整部１０１は、暫定最小値Ｍｉｎには今回算出した距離の値を設定しない。そして、ステップＳ９０６からステップＳ９０８に遷移する。
【０１４９】
一方、ステップＳ９０５で、処理対象データのうち時間的に古い順番で数えてｊ番目の逐次データが定義域の分割点である場合は（ステップＳ９０５；ＹＥＳ）、判定基準値調整部１０１は、ステップＳ９０４で算出された距離の値を関数変更閾値Ｔ２の最大値候補として記憶する（ステップＳ９１０）。ｊ番目の逐次データが定義域の最後の逐次データである場合には、距離を算出していないので、関数変更閾値Ｔ２の最大値候補は記憶しない。関数変更閾値Ｔ２の最大値候補は、定義域の分割点（定義域の最後の点を除く）の数だけ記憶されることになる。
【０１５０】
判定基準値調整部１０１は、ステップＳ９０７でバッファリングされている暫定最小値Ｍｉｎを関数変更閾値Ｔ２の最小値候補として記憶し、暫定最小値Ｍｉｎに可能な最大値を代入（リセット）する（ステップＳ９１１）。関数変更閾値Ｔ２の最小値候補は、定義域の分割点の数＋１の数だけ記憶されることになる。次に、判定基準値調整部１０１は、変数ｉに変数ｊの値を代入する（ステップＳ９１２）。
【０１５１】
ステップＳ９０６でＮＯの場合、ステップＳ９０７またはステップＳ９１２の後に、判定基準値調整部１０１は、変数ｊの値に１を加えて（ステップＳ９０８）、変数ｊの値が処理対象の逐次データ数より大きいかどうかを判定する（ステップＳ９０９）。なお、処理対象の逐次データ数とは、要約結果評価部００７から入力した逐次データの個数である。変数ｊの値が処理対象のデータ数以下の場合（ステップＳ９０９；ＮＯ）、ステップＳ９０３に戻り、判定基準値調整部１０１は、ｉ番目からｊ番目までの逐次データに対して近似関数を生成する。
【０１５２】
変数ｊの値が処理対象のデータ数より大きい場合（ステップＳ９０９；ＹＥＳ）、判定基準値調整部１０１は、ステップＳ９１１で記憶したＴ２の最小値候補の中から最大値Ｐ１を抽出する（ステップＳ９１３）。次に、判定基準値調整部１０１は、ステップＳ９１０で記憶した関数変更閾値Ｔ２の最大値候補の中から最小値Ｐ２を抽出する（ステップＳ９１４）。そして、判定基準値調整部１０１は、Ｐ１とＰ２の平均値を関数変更閾値Ｔ２の値に設定する（ステップＳ９１５）。判定基準値調整部１０１は、ステップＳ９１１で記憶した関数変更閾値Ｔ２の最小値候補の中から最小値Ｐ３を抽出する（ステップＳ９１６）。そして、判定基準値調整部１０１は、最小値Ｐ３の値を関数補正閾値Ｔ１の値に設定して（ステップＳ９１７）処理を終える。
【０１５３】
以上のように、本実施の形態２のデータ要約システム１００によれば、実施の形態１の効果に加えて、判定基準値調整部１０１が、逐次要約部００３が内部で保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２を調整する処理を加えることにより、逐次要約部００３が内部に保持している関数補正閾値Ｔ１および関数変更閾値Ｔ２を、逐次近似関数の定義域の分割点が一括近似関数の定義域の分割点と同じになるように自動的に調整することができる。これにより、逐次要約部００３の要約性能（要約の精度または要約率）が向上し、パラメータを調整する負担を軽減させることができる。
【０１５４】
（実施の形態３）
図２５は、実施の形態３に係るデータ要約システム１００の構成例を示すブロック図である。実施の形態３では、逐次要約処理で検出した所定の条件に当てはまる逐次データの付近だけ、蓄積データ要約（一括近似関数の生成）を行う。図２５に示すように、本実施の形態３のデータ要約システム１００は、図１に示す実施の形態１の構成要素に加えて、要確認箇所チェック部２０１を備える。その他の構成は、実施の形態１と同様である。以下、主として、実施の形態１と異なる部分について説明する。
【０１５５】
実施の形態１におけるデータ要約システム１００では、データ発生源００１から発生するすべての逐次データを蓄積データ要約部００５で要約している。しかし、データ発生源００１から発生するすべての逐次データを蓄積データ要約部００５で要約することは非効率的である。一括近似関数が、逐次近似関数と同じ程度の要約の精度と要約率である範囲については、一括近似関数の生成を行う必要はないと言える。
【０１５６】
連続的に発生する逐次データをすべて蓄積データ要約部００５で要約する場合、蓄積データ要約部００５で処理できるデータ量がデータ発生源００１から発生するデータ量よりも少ないと、処理しきれない逐次データがどんどん増加してしまうという問題がある。また、データ発生源００１から発生するデータ量が膨大である場合、蓄積データ要約部００５で処理できるデータ量をデータ発生源００１で発生するデータ量よりも多くすることは通常困難である。
【０１５７】
そこで、逐次要約部００３で逐次データを逐次的に要約する際に、一括近似関数を生成すべき要確認箇所（要確認箇所の定義は後述する）をチェックしておき、チェックされた箇所付近のデータのみを蓄積データ要約部００５で要約することによって効率的に逐次データの要約が行える。また、チェックされた箇所付近のデータのみを蓄積データ要約部００５で要約することで、処理しきれない逐次データが増加することを防ぐことができる。
【０１５８】
図２５の要確認箇所チェック部２０１は、逐次要約部００３が逐次データを逐次的に要約する際に要確認箇所をチェック（記憶）し、蓄積データ要約部００５にチェックした箇所を通知する機能を備える。
【０１５９】
要確認箇所とは、蓄積データ要約部００５で要約することによって要約の精度または要約率が向上すると見込まれる箇所であり、具体的には、逐次要約部００３が逐次データ記憶部００２から入力される逐次データを逐次的に要約する際に、実値と計算値との差（図６のＦ１０５）が逐次要約部００３が内部に記憶している関数変更閾値Ｔ２の値と近い値になる箇所である。実値と計算値との差が関数変更閾値Ｔ２と近い値の場合は、その逐次データ（実値）は関数の切り替えが起こるか起こらないかの境界付近の逐次データなので、その逐次データ付近の領域に含まれる逐次データを蓄積データ要約部００５で要約することによって、要約の精度または要約率が向上すると見込まれる。
【０１６０】
要確認箇所チェック部２０１は、具体的には、逐次要約部００３が逐次データ記憶部００２から入力される逐次データを逐次的に要約するたびに、そのときの実値と計算値との差（の絶対値）である近似差と、関数変更閾値Ｔ２の値と、逐次データの順序を含む情報（例えば時間）を逐次要約部００３から入力する。そして、近似差と関数変更閾値Ｔ２の値との差の絶対値が、要確認箇所チェック部２０１の内部に記憶されている閾値よりも小さい場合、要確認箇所であるとして、その逐次データの順序を含む情報（例えば時間）を記憶する。要確認箇所チェック部２０１は、蓄積データ要約部００５から要求があったときに、記憶している逐次データの順序を含む情報（例えば時間）を蓄積データ要約部００５に出力する。
【０１６１】
なお、実値と計算値との差（の絶対値）である近似差が、関数変更閾値Ｔ２の値を超えている場合に限って、その差が閾値より小さいときに要確認箇所としてチェックしてもよい。すなわち、逐次近似関数の定義域を分割した場合にのみ要確認箇所としてチェックする。近似差が関数変更閾値Ｔ２以下の場合には、定義域を分割しないので、改めて一括近似関数の生成を行わなくてもよいと考えるのである。
【０１６２】
逐次要約部００３から入力される関数変更閾値Ｔ２の値は、１回目に入力されたものを要確認箇所チェック部２０１で記憶しておけば、２回目以降は入力する必要はない。要確認箇所チェック部２０１が要確認箇所をチェック（記憶）するために内部に記憶している閾値は、予め設定された値であってもよいし、ユーザが任意に設定できるようにしておいてもよい。
【０１６３】
蓄積データ要約部００５は、本実施の形態３では、蓄積要約制御部００４から動作の指示を受けた後、要確認箇所チェック部２０１から要確認箇所を入力し、要確認箇所付近の範囲の逐次データを逐次データ記憶部００２から入力して要約処理を実行する。また、蓄積データ要約部００５は、要確認箇所を中心にどれぐらいの範囲の逐次データを処理対象とするかを決めるためのパラメータを内部に記憶しておく。一括近似関数を生成する範囲を決めるパラメータは、予め設定された値であってもよいし、ユーザが任意に設定できるようにしておいてもよい。また、要確認箇所チェック部２０１に要確認箇所が１つも記憶されていない場合は、蓄積データ要約部００５は要約処理を実行しない。
【０１６４】
逐次データ記憶管理部００６は、本実施の形態では、蓄積データ要約部００５が要約処理を実行したあと、蓄積データ要約部００５が処理対象とした逐次データだけではなく、蓄積データ要約部００５が処理対象とした逐次データより時間的に古い逐次データを逐次データ記憶部００２から削除する。
【０１６５】
本実施の形態３では、蓄積データ要約部００５は、要確認箇所を含む所定の範囲の逐次データに対してのみ蓄積データ要約処理を実行するので、一括近似関数の定義域と逐次近似関数の定義域が一致しない場合がある。このときは、要約結果評価部００７は、蓄積データ要約部００５から入力する一括近似関数の定義域を含む、定義域の範囲の逐次近似関数の関数パラメータを要約結果記憶部００８から読み込む。
【０１６６】
図２６Ａ及び２６Ｂは、実施の形態３において、一括近似関数の定義域に一致する逐次近似関数の定義域が存在しない場合の例を示す。図２６Ａは、要約結果記憶部００８に記憶されている逐次近似関数の関数パラメータを示す。図２６Ｂは、蓄積データ要約部００５から入力した一括近似関数の関数パラメータを示す。
【０１６７】
図２６Ａ及び２６Ｂにおいて、要約結果評価部００７は、一括近似関数の関数パラメータＴ９００の定義域の始点（from）Ｔ９０１のうち、時間的にもっとも古い値（図２６Ｂに示す例では、「２００９/０５/２８/１３:００:４０」）よりも時間的に新しい値を、逐次近似関数の関数パラメータＴ８００の定義域の終点（to）Ｔ８０２の中から探す。時間的に新しい値を関数パラメータＴ８００のリストの上から順番に探索し、時間的に新しい値がはじめて見つかったレコードの位置を記憶しておく（図２６Ａに示す例では、上から３番目のレコード）。
【０１６８】
次に、関数パラメータＴ９００の定義域の終点（to）Ｔ９０２のうち、時間的に最も新しい値（図２６Ｂに示す例では、「２００９/０５/２８/１３:０１:００」）よりも時間的に新しい値を、関数パラメータＴ８００の定義域の終点（to）Ｔ８０２の中から探す。時間的に新しい値を関数パラメータＴ８００のリストの上から順番に探索し、時間的に新しい値がはじめて見つかったレコードの位置を記憶しておく（図２６Ａに示す例では、上から７番目のレコード）。前記２つのレコード位置の間にある関数パラメータが、要約結果記憶部００８から読み込まれる関数パラメータとなる。図２６Ａに示す例では、レコードＴ８０３の関数パラメータが読み込まれる。要約結果記憶部００８から読み込まれる逐次近似関数の関数パラメータの定義域は、蓄積データ要約部００５から入力する一括近似関数の関数パラメータの定義域を含む。
【０１６９】
要約結果評価部００７は、一括近似関数の定義域を含む定義域の逐次近似関数の関数パラメータを読み込むと、実施の形態１と同様に、一括近似関数の関数パラメータと要約結果記憶部００８から読み込んだ逐次近似関数の関数パラメータを評価関数に従って評価する。そして、蓄積データ要約部００５から入力した一括近似関数の評価値の方が要約結果記憶部００８から読み込んだ逐次近似関数の評価値よりも大きい場合、要約結果記憶部００８に記憶されている逐次近似関数の関数パラメータのうち、一括近似関数の定義域に該当する部分を削除し、蓄積データ要約部００５から入力した一括近似関数の関数パラメータを新たに記憶する。ただし、蓄積データ要約部００５が出力した関数パラメータの定義域よりも要約結果記憶部００８から読み込まれた関数パラメータの定義域の方が大きい場合、一括近似関数の定義域を含む範囲を削除すると、データに欠落が生じる。そのため、逐次近似関数の関数パラメータの削除によってデータが欠落する部分については、要約結果記憶部００８に記憶されていた元の逐次近似関数の関数パラメータを利用して補う。
【０１７０】
図２７は、逐次近似関数の関数パラメータの削除によってデータが欠落する部分を補う例を示す。図２６Ａ及び２６Ｂの例で、要約結果評価部００７による評価の結果、蓄積データ要約部００５から入力した関数パラメータＴ９００の方が、要約結果記憶部００８から読み込まれた関数パラメータＴ８００のレコードＴ８０３よりも評価値が大きい場合、レコードＴ８０３をすべて削除して、代わりに関数パラメータＴ９００を新たに記憶すると、「２００９/０５/２８/１３:００:３３」から「２００９/０５/２８/１３:００:４０」までのデータと、「２００９/０５/２８/１３:０１:００」から「２００９/０５/２８/１３:０１:０１」までのデータが欠落することになる。そこで、「２００９/０５/２８/１３:００:３３」から「２００９/０５/２８/１３:００:４０」までのデータと、「２００９/０５/２８/１３:０１:００」から「２００９/０５/２８/１３:０１:０１」、までのデータは、要約結果記憶部００８に記憶されていた元の関数パラメータを利用して補うこととする。
【０１７１】
具体的には、図２７に示すような関数パラメータのリスト（Ｔ１０００）を得る。図２７に示す関数パラメータＴ１０００のうち、行Ｔ１００１と行Ｔ１００３で示すレコードがそれぞれ、「２００９/０５/２８/１３:００:３３」から「２００９/０５/２８/１３:００:４０」までデータと、「２００９/０５/２８/１３:０１:００」から「２００９/０５/２８/１３:０１:０１」までのデータを、要約結果記憶部００８に記憶されていた元の関数パラメータを利用して補ったものである。行Ｔ１００１は、図２６Ａの関数パラメータＴ８００の３番目のレコード（レコードＴ８０３の最初のレコード）の終点（to）Ｔ８０２の値を、図２６Ｂの関数パラメータＴ９００のリストの１番目のレコードの始点（from）Ｔ９０１の値に変更したものであり、行Ｔ１００３は、図２６Ａの関数パラメータＴ８００の７番目のレコード（レコードＴ８０３の最後のレコード）の始点（from）Ｔ８０１の値を、図２６Ｂの関数パラメータＴ９００の最後のレコードの終点（to）Ｔ９０２の値に変更したものである。また、Ｔ１００２は、図２６Ｂの関数パラメータＴ９００と同じものである。
【０１７２】
以上のように、要確認箇所チェック部２０１でチェックされた要確認箇所を含む所定の範囲の逐次データのみを、蓄積データ要約部００５の処理対象とすることにより、効率的にデータの要約が行える。また、要確認箇所を含む所定の範囲の逐次データのみを蓄積データ要約部００５で要約処理することで、処理しきれないデータが増加することを防ぐことができる。
【０１７３】
図２８は、実施の形態３に係るデータ要約処理の動作の例を示すフローチャートである。
実施の形態３のデータ要約処理の動作では、逐次近似関数記憶のステップ（ステップＳ４００）の後に、要確認箇所チェックのステップ（ステップＳ１０００）を備える。図２８に示した各ステップのうち、ステップＳ１００、Ｓ２００、Ｓ３００、Ｓ４００およびＳ５００の動作に関しては、実施の形態１と同じである。
【０１７４】
なお、図２８においても、実施の形態１で示したフローチャート（図１８参照）と同様に、各ステップ（ステップＳ１００〜Ｓ１０００）がシーケンシャルに実行されるように示しているが、実際には、データ要約システム１００は、各ステップＳ１００〜Ｓ１０００の処理を並列的に実行している。
【０１７５】
要確認箇所チェック部２０１は、逐次要約部００３が逐次データ記憶部００２から入力される逐次データを逐次的に要約すると（ステップＳ３００）、そのときの実値と計算値との差と、関数変更閾値Ｔ２の値と、データが入力された時間を逐次要約部００３から入力する。そして、実値と計算値との差と、関数変更閾値Ｔ２の値との差が、要確認箇所チェック部２０１の内部に記憶されている閾値よりも小さな値になった場合、要確認箇所チェック部２０１は、要確認箇所であるとして、その逐次データの順序を含む情報である時間を記憶する（ステップＳ１０００）。
【０１７６】
蓄積データ要約（ステップＳ６００）のうち実施の形態１と動作が異なるのは、図２０に示すフローチャートにおいて、逐次データ記憶部００２に記憶されているデータを削除するステップ（ステップＳ６０８）である。本実施の形態では、このステップで削除されるデータは、逐次データ記憶部００２に記憶されているデータのうち、蓄積データ要約部００５が処理対象としたデータより時間的に古いデータである。
【０１７７】
要約結果評価のステップ（ステップＳ７０１）では、一括近似関数を生成した区間について逐次近似関数と一括近似関数を評価関数にしたがって評価する。要約結果評価部００７は、蓄積データ要約部００５から入力した一括近似関数の評価値の方が高い値の場合、一括近似関数の関数パラメータを要約結果記憶部００８に出力する。
【０１７８】
要約結果記憶部００８は、要約結果評価部００７から蓄積データ要約部００５が生成した一括近似関数の関数パラメータを入力すると、入力した一括近似関数の関数パラメータと同じ定義域に含まれる定義域を有する逐次近似関数の関数パラメータを削除し、入力した一括近似関数の関数パラメータを記憶する（ステップＳ８０１）。要約結果更新のステップ（ステップＳ８０１）では、要約結果評価部００７から蓄積データ要約部００５による要約結果（一括近似関数の関数パラメータ）を入力するときは、要約結果評価部００７は、要約結果記憶部００８に記憶されている関数パラメータのうち、要約結果評価部００７から入力される関数パラメータを含む定義域の関数パラメータを削除し、要約結果評価部００７から入力される関数パラメータを記憶する。また、要約結果評価部００７は、逐次近似関数の関数パラメータを一括近似関数の関数パラメータに更新した後に、要約結果記憶部００８にデータの欠落が生じる場合、欠落が生じる部分を元の逐次近似関数の関数パラメータで補う処理を実行する。
【０１７９】
以上のように、本実施の形態３のデータ要約システム１００によれば、要確認箇所チェック部２０１が要確認箇所をチェック（記憶）し、蓄積データ要約部００５にチェックした箇所を通知する機能を備えることにより、実施の形態１の効果に加えて、蓄積データ要約部００５で行う要約処理を効率的に行うことができる。また、要確認箇所を含む所定の範囲の逐次データのみを蓄積データ要約部００５で要約することで、処理しきれない逐次データが増加することを防ぐことができる。
【０１８０】
（実施の形態４）
図２９は、実施の形態４に係るデータ要約システム１００の構成例を示すブロック図である。実施の形態４では、データ要約システム１００が動作するコンピュータにおけるリソースの状況が所定の条件に適合する場合に、蓄積データ要約を行う。図２９に示すように、本実施の形態４のデータ要約システム１００は、図１に示す実施の形態１の構成要素に加えて、リソース監視部３０１を備える。
【０１８１】
実施の形態１におけるデータ要約システム１００では、蓄積要約制御部００４は、逐次データ記憶部００２に蓄積された逐次データ量を監視して、ある一定量の逐次データが蓄積された場合、蓄積データ要約部００５に対して動作指示を出すように動作する。しかし、逐次データが大量に発生する場合、逐次データ記憶部００２に逐次データが蓄積される速度は速くなるので、蓄積要約制御部００４が動作する頻度は高くなるが、逐次データが大量に発生するような状況では、逐次要約部００３も頻繁に動作し、データ要約システム１００が動作するコンピュータの負荷が高くなる。このような状況で、蓄積データ要約部００５も頻繁に動作する場合、データ要約システム１００が動作するコンピュータの負荷がさらに高くなり、全体のパフォーマンスが低下する可能性がある。
【０１８２】
そこで、リソース監視部３０１で、データ要約システム１００が動作するコンピュータのリソース（ＣＰＵやメモリなど）の状況を監視し、リソースの空き状況が一定以上になった場合に蓄積データ要約部００５を動作させる。これによって、データ要約システム１００が動作するコンピュータの負荷を軽減することができ、システム全体のパフォーマンスが低下することを防ぐことができる。
【０１８３】
以上のことから、本実施の形態では、リソース監視部３０１によってリソースの空き状況を監視し、リソースの空き状況が一定以上になった場合に蓄積要約制御部００４が蓄積データ要約部００５に動作を指示する。具体的な手法については後述する。以下、主として実施の形態１と異なる部分について説明する。
【０１８４】
リソース監視部３０１は、データ要約システム１００が動作するコンピュータのＣＰＵ使用率や、メモリ使用率などのリソースの使用状況を監視する機能を備える。
【０１８５】
蓄積要約制御部００４は、本実施の形態４においては、逐次データ記憶部００２に記憶されているデータ量を監視するのではなく、リソース監視部３０１が監視したＣＰＵの使用率やメモリの使用率などのリソースの使用状況を参照する。蓄積要約制御部００４は、例えば、データ要約システム１００が動作するコンピュータのＣＰＵの使用率が２０％以下のときに動作するようにしてもいいし、例えば、データ要約システム１００が動作するコンピュータのＣＰＵの使用率が３０％以下で、メモリの使用率が２５％以下のときに動作するようにしてもよい。蓄積要約制御部００４が蓄積データ要約部００５に動作の指示を出力するためのリソースの使用状況の条件は、予め登録されていてもよいし、ユーザが任意に設定できるようにしておいてもよい。
【０１８６】
以上のように、リソース監視部３０１でデータ要約システム１００が動作するコンピュータのＣＰＵ使用率や、メモリ使用率などのリソースの使用状況を監視し、リソースの空き状況が一定以上になった場合に、蓄積要約制御部００４が動作するようにすることで、データ要約システム１００が動作するコンピュータの負荷を軽減することができ、システム全体のパフォーマンスが低下することを防ぐことができる。
【０１８７】
図３０は、実施の形態４に係るデータ要約処理の例を示すフローチャートである。図３０に示すように本実施の形態４では、蓄積データ要約を行うかどうかを（図１８のステップＳ５００に相当）を、リソースの空き状況で判定する（ステップＳ１１００）。なお、図３０においても、実施の形態１で示したフローチャート（図１８参照）と同様に、各ステップ（ステップＳ１００〜Ｓ１１００）がシーケンシャルに実行されるように示しているが、実際には、データ要約システム１００は、各ステップＳ１００〜Ｓ１１００の処理を並列的に実行している。
【０１８８】
本実施の形態４のフローチャート（図３０参照）では、実施の形態１で示したフローチャート（図１８参照）において、逐次データ記憶部００２に記憶されている逐次データの量が一定量以上になっているかを判定するステップ（ステップＳ５００）が、データ要約システム１００が動作するコンピュータのＣＰＵやメモリなどのリソースの空き状況が一定以上になっているかを判定するステップ（ステップＳ１１００）に置き換わったものであり、その他のステップ（ステップＳ１００〜ステップＳ４００、ステップＳ６００〜ステップＳ８００）の動作に関しては、実施の形態１と同じである。
【０１８９】
以上のように、本実施の形態４によれば、実施の形態１の効果に加えて、リソース監視部３０１が、データ要約システム１００が動作するコンピュータのＣＰＵやメモリなどのリソースの使用状況を監視し、リソースの空き状況が一定以上になった場合に、蓄積要約制御部００４が動作するようにすることで、データ要約システム１００が動作するコンピュータの負荷を軽減することができ、システム全体のパフォーマンスが低下することを防ぐことができる。
【０１９０】
なお、実施の形態１の逐次データ記憶部００２に記憶されている逐次データの量による蓄積データ要約処理の開始と組み合わせて、蓄積された（蓄積データ要約処理されていない）逐次データの量が一定以上で、リソースの空き状況が一定以上の場合に、蓄積データ要約処理を行うようにしてもよい。
【０１９１】
（実施の形態５）
図３１は、実施の形態５に係るデータ要約システム１００の構成例を示すブロック図である。実施の形態５では、蓄積データ要約の対象とする逐次データの範囲が実施の形態１と異なる。図３１に示すように、本実施の形態５のデータ要約システム１００は、図１に示した構成要素に加えて、削除対象データ指示部４０１を備える。
【０１９２】
実施の形態１におけるデータ要約システム１００では、逐次データ記憶管理部００６は、逐次データ記憶部００２に記憶されている逐次データのうち、蓄積データ要約部００５が処理対象とするのは、逐次要約部００３が生成した逐次近似関数の定義域が確定した範囲の逐次データである。すなわち、逐次要約部００３が逐次要約処理を行うことによって、拡張する可能性のある定義域に含まれる逐次データを除く、逐次データ記憶部００２に記憶されている（一括近似関数の生成を行っていない）逐次データである。そして、一括近似関数の生成を行った後の逐次データをすべて削除する。
【０１９３】
しかし、このように逐次データを削除した場合、次に蓄積データ要約部００５が処理対象とする逐次データは、必ず、逐次要約部００３が関数を切り替えた点（逐次定義域の分割点）の逐次データからとなる。このため、蓄積データ要約部００５の要約結果が、逐次要約部００３の要約結果に依存することになり、要約の精度または要約率が上がらない要因になる可能性がある。
【０１９４】
そこで、削除対象データ指示部４０１が逐次データ記憶部００２に記憶されている逐次データのうち、蓄積データ要約部００５が処理対象としたデータをすべて削除するのではなく、一部の逐次データを残し、関数の切り替えが行われる点付近のデータに対して、蓄積データ要約部００５が要約処理を実行できるようにする。そのために、どの逐次データを削除するのかを、削除対象データ指示部４０１が逐次データ記憶管理部００６に指示する。このようにすることで、蓄積データ要約部００５の要約結果が、逐次要約部００３の要約結果に大きく依存してしまうことを防ぎ、要約の精度または要約率を上げることができる。
【０１９５】
以上のことから、本実施の形態５では、削除対象データ指示部４０１が逐次データ記憶部００２に記憶されているデータのうち、どのデータを削除するのかを逐次データ記憶管理部００６に指示する。逐次データ記憶管理部００６は、削除指示のあったデータを逐次データ記憶部００２から削除する。具体的な手法については後述する。以下、主として実施の形態１と異なる部分について説明する。
【０１９６】
蓄積データ要約部００５は、本実施の形態５では、逐次データ記憶部００２に記憶されているデータに対して要約処理を実行したあと、処理対象としたデータのうち、時間的に最も新しい逐次データ（の順序を含む情報、例えば時間）を削除対象データ指示部４０１に出力する。
【０１９７】
削除対象データ指示部４０１は、逐次データ記憶管理部００６に、削除対象となる逐次データを指示する機能を有する。具体的には、削除対象データ指示部４０１は、蓄積データ要約部００５から入力された逐次データの時間よりも一定時間（所定の区間）前のデータを削除するように逐次データ記憶管理部００６に指示する。このようにすることで、蓄積データ要約部００５が処理対象としたデータをすべて削除せずに、逐次要約部００３が関数を切り替えた点付近のデータを残すことができる。なお、削除対象データ指示部４０１が、どれぐらいのデータを削除せずに残すのかを決めるためのパラメータは、予め決められていてもよいし、ユーザが任意に設定できるようにしておいてもよい。
【０１９８】
逐次データ記憶管理部００６は、本実施の形態５では、削除対象データ指示部４０１から入力される指示に基づいて、逐次データ記憶部００２に記憶されているデータを削除する。
【０１９９】
要約結果評価部００７は、本実施の形態５では、要約結果記憶部００８から、逐次近似関数の関数パラメータを読み込む際に、蓄積データ要約部００５が出力する一括近似関数の関数パラメータと定義域が一致するような関数パラメータが存在しない場合がある。このような場合は、実施の形態３と同様に、要約結果評価部００７は、一括近似関数の定義域を含む定義域を有する逐次近似関数の関数パラメータを要約結果記憶部００８から読み込む。また、本実施の形態５では、実施の形態３と同様に、要約結果評価部００７が、蓄積データ要約部００５から入力した一括近似関数の関数パラメータと、要約結果記憶部００８から読み込んだ逐次近似関数の関数パラメータを評価関数に従って評価した結果、一括近似関数の方が評価値が大きい場合、要約結果記憶部００８に記憶されている逐次近似関数の関数パラメータのうち、要約結果記憶部００８から読み込んだ逐次近似関数の関数パラメータに該当する部分を削除し、蓄積データ要約部００５から入力した一括近似関数の関数パラメータを新たに記憶する。ただし、一括近似関数の定義域よりも要約結果記憶部００８から読み込んだ逐次近似関数の定義域の方が大きい場合、逐次近似関数の関数パラメータを一括近似関数の関数パラメータで置き換える処理を実行すると、データに欠落が生じる。そのため、置き換えによってデータが欠落する部分については、要約結果記憶部００８に記憶されていた元の逐次近似関数の関数パラメータを利用して補う。
【０２００】
以上のように、削除対象データ指示部４０１が、逐次データ記憶部００２に記憶されているデータのうち、どのデータを削除するのかを逐次データ記憶管理部００６に指示し、逐次データ記憶管理部００６は、削除指示のあったデータを逐次データ記憶部００２から削除するように動作することで、蓄積データ要約部００５が処理対象としたデータをすべて削除せずに、逐次要約部００３が関数を切り替えた点付近のデータを残すことができる。その結果、蓄積要約部００３が関数を切り替えた点付近のデータに対して蓄積データ要約部００５が要約処理を実行できるようになる。これにより、蓄積データ要約部００５の要約結果が、逐次要約部００３の要約結果に依存してしまうことを防ぎ、要約の精度または要約率を上げることができる。
【０２０１】
この場合、蓄積データ要約処理した逐次データのうち、逐次データ記憶部００２に残す（削除しない）逐次データについては、２重に蓄積データ要約処理が行われる。蓄積データ要約部００５は、前回残した逐次データを含めて蓄積データ要約処理するが、生成する一括近似関数の定義域は、２重に処理する逐次データを除いて、前回処理しなかった逐次データの範囲とすることができる。このようにすると、一括近似関数の定義域が重複することはない。さらに、一括近似関数の定義域を、前回の逐次定義域の分割点から最新の逐次定義域の分割点までとすると、逐次近似関数を一括近似関数に置き換えるときに、定義域が一致するので、定義域の範囲を補正する必要がない。
【０２０２】
図３２は、実施の形態５に係る蓄積データ要約の動作の一例を示すフローチャートである。図３２は、図１８、図２３、図２８または図３０のステップＳ６００に相当する処理の内容を示す。図２０に示す実施の形態１における蓄積データ要約の動作と異なるのは、削除対象データを決定するステップ（ステップＳ６１０）が新たに加わったことである。ステップＳ６０１〜ステップＳ６０７については、実施の形態１と同様である。
【０２０３】
蓄積データ要約部００５が角点間の逐次データを関数で近似して一括近似関数を生成（ステップＳ６０７）した後、削除対象データ指示部４０１は、蓄積データ要約部００５から入力された逐次データの時間より一定時間（所定の区間）以上前のデータを削除するように逐次データ記憶管理部００６に指示する（ステップＳ６１０）。すなわち、削除対象データ指示部４０１は、蓄積データ要約部００５が処理対象とした最新の逐次データから一定時間（所定の区間）前までの逐次データを残して（削除せず）、それより前の逐次データを削除するよう指示する。逐次データ記憶管理部００６は、削除対象データ指示部４０１から入力される指示に基づいて、逐次データ記憶部００２に記憶されているデータを削除する（ステップＳ６０８）。
【０２０４】
以上のように、本実施の形態５のデータ要約システム１００によれば、実施の形態１の効果に加えて、蓄積データ要約部００５が処理対象としたデータをすべて削除せずに、逐次要約部００３が関数を切り替えた点付近のデータを残すことができる。その結果、蓄積要約部００３が関数を切り替えた（逐次定義域を分割した）点より前の逐次データを含めて蓄積データ要約部００５が要約処理を実行できるようになる。これにより、蓄積データ要約部００５の要約結果が、逐次要約部００３の要約結果に依存してしまうことを防ぎ、要約の精度または要約率を上げることができる。
【０２０５】
実施の形態５の構成では、蓄積データ要約処理の対象の範囲の始点を逐次定義域の分割点より前にして、一括近似関数の定義域の始点の部分について範囲を拡大して蓄積データ要約処理する。それに加えてまたはそれに代えて、一括近似関数の定義域の終点より拡大した範囲の逐次データを含めて蓄積データ要約処理するように構成してもよい。例えば、蓄積データ要約部００５は、逐次要約部００３が生成した逐次近似関数の定義域（逐次定義域）が確定した範囲、すなわち、最新の逐次定義域の分割点までの逐次データを対象として蓄積データ要約処理を行うが、生成する一括近似関数の定義域の終点は、最新の逐次定義域の分割点より古い逐次データの点までとする。さらに、一括近似関数の定義域の終点を逐次近似関数の定義域の分割点（最新ではない）に合わせれば、逐次近似関数を一括近似関数に置き換えるときに、定義域が一致する。
【０２０６】
以上の実施の形態では、理解を容易にするために、蓄積データ要約部００５が処理した逐次データ、または処理した範囲とそれより前の逐次データを、逐次データ記憶部００２から削除する構成を説明した。蓄積データ要約処理の対象となる逐次データの範囲が指示されれば、逐次データの削除（逐次データ記憶部００２のメモリ領域の開放）と、蓄積データ要約処理は同期せずに独立に行うことができる。
【０２０７】
例えば、逐次データ記憶部００２を、蓄積データ要約の対象となりうる逐次データの個数の最大値より充分大きい容量のリングバッファで構成し、蓄積データ要約の対象となる範囲の始点（一括近似関数を生成していないもっとも古い逐次データ）と終点（例えば最新の逐次定義域の分割点）の位置を設定することによって、実施の形態の処理を行うことができる。この場合、リングバッファへの記憶と消去（メモリ領域の開放）は、蓄積データ要約処理と非同期に独立して行うことができる。蓄積データ要約の対象となる範囲の始点と終点の位置は、逐次データ記憶管理部００６が設定するように構成できる。
【０２０８】
図３３は、図１、図２１、図２５、図２９または図３１に示すデータ要約システム１００のハードウェア構成の一例を示すブロック図である。
【０２０９】
データ要約システム１００は、図３３に示すように、制御部１１、主記憶部１２、外部記憶部１３、操作部１４、表示部１５、入出力部１６および送受信部１７を備える。主記憶部１２、外部記憶部１３、操作部１４、表示部１５、入出力部１６および送受信部１７はいずれも内部バス１０を介して制御部１１に接続されている。
【０２１０】
制御部１１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部１３に記憶されている制御プログラム２０に従って、データ要約システム１００の処理を実行する。
【０２１１】
主記憶部１２はＲＡＭ（Random-Access Memory）等から構成され、外部記憶部１３に記憶されている制御プログラム２０をロードし、制御部１１の作業領域として用いられる。
【０２１２】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、上述の処理を制御部１１に行わせるための制御プログラム２０を予め記憶し、また、制御部１１の指示に従って、制御プログラム２０が記憶するデータを制御部１１に供給し、制御部１１から供給されたデータを記憶する。図１、図２１、図２５、図２９または図３１の逐次データ記憶部００２および要約結果記憶部００８は、外部記憶部１３に構成される。
【０２１３】
操作部１４はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス１０に接続するインタフェース装置から構成されている。操作部１４を介して、要約結果の評価式、関数補正閾値Ｔ１、関数変更閾値Ｔ２または離散曲率を算出するための区間の数ｋなどの入力を受け付ける。また、要約結果の表示範囲の指示などが入力され、制御部１１に供給される。
【０２１４】
表示部１５は、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などから構成され、関数補正閾値Ｔ１、関数変更閾値Ｔ２または離散曲率を算出するためのパラメータｋ、あるいは要約結果などを表示する。
【０２１５】
入出力部１６は、データ発生源００１と接続するシリアルインタフェースまたはパラレルインタフェースから構成されている。データ発生源００１は、例えば、温度センサ、湿度センサ、電流計、電力計、圧力センサ、加速度センサまたは音響センサ（マイク）などを備え、逐次にデータを発生する。
【０２１６】
送受信部１７は、通信装置、およびそれらと接続するシリアルインタフェースまたはＬＡＮ（Local Area Network）インタフェースから構成されている。送受信部１７は、解析部００９から要約結果の要求を受信し、解析部００９へ要約結果を送信する。
【０２１７】
図１、図２１、図２５、図２９または図３１の逐次データ記憶部００２、逐次要約部００３、蓄積要約制御部００４、蓄積データ要約部００５、逐次データ記憶管理部００６、要約結果評価部００７、要約結果記憶部００８、判定基準値調整部１０１、要確認箇所チェック部２０１、リソース監視部３０１、削除対象データ指示部４０１の処理は、制御プログラム２０が、制御部１１、主記憶部１２、外部記憶部１３、操作部１４、表示部１５、入出力部１６および送受信部１７などを資源として用いて処理することによって実行する。また、データ要約システム１００は、解析部００９を含んでコンピュータで構成することができる。
【０２１８】
本発明の好適な変形として、以下の構成が含まれる。
【０２１９】
本発明の第１の観点に係るデータ要約システムについて、
好ましくは、前記要約結果評価部は、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換えることを特徴とする。
【０２２０】
好ましくは、前記蓄積データ要約部は、前記一括近似関数を生成する対象になっていない前記逐次データを所定の量以上、前記入力部が前記記憶装置に蓄積した場合に、前記一括近似関数を生成することを特徴とする。
【０２２１】
好ましくは、前記データ要約システムが動作するコンピュータの、ＣＰＵ使用率またはメモリ使用率を含むリソースの状態を検出するリソース監視部を備え、
前記蓄積データ要約部は、前記リソースの状態が所定の範囲の場合に、前記一括近似関数を生成する、
ことを特徴とする。
【０２２２】
好ましくは、前記逐次要約部は、１つ前の前記逐次データを入力したときに生成した前記逐次近似関数を新たに入力した前記逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差を算出し、
前記近似差が所定の関数変更閾値の範囲を超える場合に、１つ前に入力した前記逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される逐次近似関数を生成し、
前記近似差が所定の関数補正閾値の範囲を超え、前記関数変更閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更する逐次近似関数を生成し、
前記近似差が前記関数補正閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する逐次近似関数を生成する。
【０２２３】
さらに、前記蓄積データ要約部が生成した一括近似関数の前記一括定義域の分割のしかたと、該一括定義域の範囲の前記逐次定義域の分割のしかたが一致するように、前記関数補正閾値および／または前記関数変更閾値を調整する判定基準値調整部を備え、
前記逐次要約部は、前記判定基準値調整部で調整された前記関数補正閾値および／または前記関数変更閾値を用いて、前記逐次近似関数を生成するよう構成してもよい。
【０２２４】
さらに、前記判定基準値調整部は、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記関数補正閾値および／または前記関数変更閾値を調整するよう構成してもよい。
【０２２５】
好ましくは、前記逐次要約部が前記逐次近似関数を生成する際に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数を前記新たに入力した逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差が所定の範囲の場合に、前記新たに入力した逐次データを要確認箇所として記憶するチェック部を備え、
前記蓄積データ要約部は、前記記憶装置に蓄積した逐次データのうち、前記チェック部によって記憶された前記要確認箇所を含む所定の範囲の前記逐次データから、前記一括近似関数を生成する。
【０２２６】
さらに、前記チェック部は、前記逐次要約部が、前記１つ前に入力した逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成した場合に、前記新たに入力した逐次データを前記要確認箇所として記憶するよう構成してもよい。
【０２２７】
好ましくは、前記蓄積データ要約部は、前記逐次定義域の１つの分割点から他の１つの分割点までの前記逐次データから、前記一括近似関数を生成することを特徴とする。
【０２２８】
好ましくは、前記蓄積データ要約部は、前記逐次定義域の最新の分割点から一定区間前までの前記逐次データを除外し、それより前の所定の範囲の前記逐次データから、前記一括近似関数を生成することを特徴とする。
【０２２９】
好ましくは、前記蓄積データ要約部は、前記一括近似関数を生成する対象の前記所定の範囲の前記逐次データの前および／または後の所定の区間の前記逐次データを含めて、前記逐次データの値を近似する前記所定の関数のパラメータを生成することを特徴とする。
【０２３０】
好ましくは、前記蓄積データ要約部は、１つの前記逐次データとその前後の所定の数の前記逐次データから算出する離散曲率の絶対値が所定の値より大きい角点である当該逐次データを、前記一括定義域の分割点として抽出し、前記分割点に挟まれる前記逐次データごとに、前記逐次データの値を近似する所定の関数のパラメータを生成することを特徴とする。
【０２３１】
本発明の第２の観点に係るデータ要約方法について、
好ましくは、前記要約結果評価ステップは、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記逐次近似関数を、該逐次近似関数の逐次定義域の範囲を含む前記一括定義域を有する前記一括近似関数で置き換えることを特徴とする。
【０２３２】
好ましくは、前記蓄積データ要約ステップは、前記一括近似関数を生成する対象になっていない前記逐次データを所定の量以上、前記入力ステップが前記記憶装置に蓄積した場合に、前記一括近似関数を生成することを特徴とする。
【０２３３】
好ましくは、前記データ要約方法を実行するコンピュータの、ＣＰＵ使用率またはメモリ使用率を含むリソースの状態を検出するリソース監視ステップを備え、
前記蓄積データ要約ステップは、前記リソースの状態が所定の範囲の場合に、前記一括近似関数を生成する、
ことを特徴とする。
【０２３４】
好ましくは、前記逐次要約ステップは、１つ前の前記逐次データを入力したときに生成した前記逐次近似関数を新たに入力した前記逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差を算出し、
前記近似差が所定の関数変更閾値の範囲を超える場合に、１つ前に入力した前記逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成し、
前記近似差が所定の関数補正閾値の範囲を超え、前記関数変更閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを、前記延長した逐次定義域に含まれる前記逐次データの値を近似するように変更する前記逐次近似関数を生成し、
前記近似差が前記関数補正閾値の範囲内の場合に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数の前記逐次定義域を、前記新たに入力した逐次データまで延長し、前記１つ前の逐次データを入力したときに生成した前記所定の関数のパラメータを維持する前記逐次近似関数を生成する。
【０２３５】
さらに、前記蓄積データ要約ステップが生成した一括近似関数の前記一括定義域の分割のしかたと、該一括定義域の範囲の前記逐次定義域の分割のしかたが一致するように、前記関数補正閾値および／または前記関数変更閾値を調整する判定基準値調整ステップを備え、
前記逐次要約ステップは、前記判定基準値調整ステップで調整された前記関数補正閾値および／または前記関数変更閾値を用いて、前記逐次近似関数を生成するよう構成してもよい。
【０２３６】
さらに、前記判定基準値調整ステップは、前記逐次近似関数の精度より前記一括近似関数の精度の方が高い場合、または、前記逐次近似関数の要約率より前記一括近似関数の要約率の方が高い場合に、前記関数補正閾値および／または前記関数変更閾値を調整するよう構成してもよい。
【０２３７】
好ましくは、前記逐次要約ステップが前記逐次近似関数を生成する際に、前記１つ前の逐次データを入力したときに生成した前記逐次近似関数を前記新たに入力した逐次データの順序に外挿した値と、該新たに入力した逐次データの値との差である近似差が所定の範囲の場合に、前記新たに入力した逐次データを要確認箇所として記憶するチェックステップを備え、
前記蓄積データ要約ステップは、前記記憶装置に蓄積した逐次データのうち、前記チェックステップによって記憶された前記要確認箇所を含む所定の範囲の前記逐次データから、前記一括近似関数を生成する。
【０２３８】
好ましくは、前記チェックステップは、前記逐次要約ステップが、前記１つ前に入力した逐次データと前記新たに入力した逐次データの間の点から始まり前記新たに入力した逐次データまでを含む定義域である前記逐次定義域、および、前記１つ前に入力した逐次データと前記新たに入力した逐次データの値を近似する前記所定の関数のパラメータから構成される前記逐次近似関数を生成した場合に、該新たに入力した逐次データを前記要確認箇所として記憶することを特徴とする。
【０２３９】
好ましくは、前記蓄積データ要約ステップは、前記逐次定義域の１つの分割点から他の１つの分割点までの前記逐次データから、前記一括近似関数を生成することを特徴とする。
【０２４０】
好ましくは、前記蓄積データ要約ステップは、前記逐次定義域の最新の分割点から一定区間前までの前記逐次データを除外し、それより前の所定の範囲の前記逐次データから、前記一括近似関数を生成することを特徴とする。
【０２４１】
好ましくは、前記蓄積データ要約ステップは、前記一括近似関数を生成する対象の前記所定の範囲の前記逐次データの前および／または後の所定の区間の前記逐次データを含めて、前記逐次データの値を近似する所定の関数のパラメータを生成することを特徴とする。
【０２４２】
好ましくは、前記蓄積データ要約ステップは、１つの前記逐次データとその前後の所定の数の前記逐次データから算出する離散曲率の絶対値が所定の値より大きい角点である当該逐次データを、前記一括定義域の分割点として抽出し、前記分割点に挟まれる前記逐次データごとに前記逐次データの値を近似する前記所定の関数のパラメータを生成することを特徴とする。
【０２４３】
その他、前記のハードウェア構成やフローチャートは一例であり、任意に変更および修正が可能である。
【０２４４】
制御部１１、主記憶部１２、外部記憶部１３、送受信部１７、内部バス１０などから構成されるデータ要約システム１００のための処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するデータ要約システム１００を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでデータ要約システム１００を構成してもよい。
【０２４５】
また、データ要約システムの機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０２４６】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【０２４７】
なお、本願については、日本国特許出願２００９−１８７５８７号を基礎とする優先権を主張し、本明細書中に日本国特許出願２００９−１８７５８７号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【産業上の利用可能性】
【０２４８】
本発明は、サーバが出力するログデータやセンサが出力するデータ等、逐次的に発生するデータを逐次的に要約し、情報量を削減する必要のあるシステムに好適に適用可能である。
【符号の説明】
【０２４９】
１０  内部バス
１１  制御部
１２  主記憶部
１３  外部記憶部
１４  操作部
１５  表示部
１６  入出力部
１７  送受信部
２０  制御プログラム
００１  データ発生源
００２  逐次データ記憶部
００３  逐次要約部
００４  蓄積要約制御部
００５  蓄積データ要約部
００６  逐次データ記憶管理部
００７  要約結果評価部
００８  要約結果記憶部
００９  解析部
１００  データ要約システム
１０１  判定基準値調整部
２０１  要確認箇所チェック部
３０１  リソース監視部
４０１  削除対象データ指示部
【図１】
2011018943.tif 000003
【図２】
2011018943.tif 000004
【図３】
2011018943.tif 000005
【図４】
2011018943.tif 000006
【図５】
2011018943.tif 000007
【図６】
2011018943.tif 000008
【図７】
2011018943.tif 000009
【図８】
2011018943.tif 000010
【図９】
2011018943.tif 000011
【図１０】
2011018943.tif 000012
【図１１】
2011018943.tif 000013
【図１２】
2011018943.tif 000014
【図１３Ａ】
2011018943.tif 000015
【図１３Ｂ】
2011018943.tif 000016
【図１４Ａ】
2011018943.tif 000017
【図１４Ｂ】
2011018943.tif 000018
【図１４Ｃ】
2011018943.tif 000019
【図１４Ｄ】
2011018943.tif 000020
【図１５】
2011018943.tif 000021
【図１６】
2011018943.tif 000022
【図１７Ａ】
2011018943.tif 000023
【図１７Ｂ】
2011018943.tif 000024
【図１８】
2011018943.tif 000025
【図１９】
2011018943.tif 000026
【図２０】
2011018943.tif 000027
【図２１】
2011018943.tif 000028
【図２２Ａ】
2011018943.tif 000029
【図２２Ｂ】
2011018943.tif 000030
【図２２Ｃ】
2011018943.tif 000031
【図２３】
2011018943.tif 000032
【図２４】
2011018943.tif 000033
【図２５】
2011018943.tif 000034
【図２６Ａ】
2011018943.tif 000035
【図２６Ｂ】
2011018943.tif 000036
【図２７】
2011018943.tif 000037
【図２８】
2011018943.tif 000038
【図２９】
2011018943.tif 000039
【図３０】
2011018943.tif 000040
【図３１】
2011018943.tif 000041
【図３２】
2011018943.tif 000042
【図３３】
2011018943.tif 000043
【国際調査報告】
2011018943.tif 000044
2011018943.tif 000045
2011018943.tif 000046
2011018943.tif 000047