(57)【要約】【課題】  データの欠落した時系列データを滑らかに補完する時系列データ補完装置、その方法及びそのプログラムを提供する【解決手段】  時系列データ補完装置１は、データ入力手段２０によって、データの欠落した時系列データを記憶手段１０に書き込み、データ補完手段４０によって、予め定めた時間区間内における、欠落したデータの時系列上前又は後の少なくともいずれか一方で入力された実データの個数に対応した補間関数で補完データを生成し、記憶手段１０に書き込み、データ出力手段３０によって、その補完された補完データ又は実データを、記憶手段１０から時系列に読み出して出力することを特徴とする。【選択図】      図１
2006031378.tif 000002
【特許請求の範囲】
【請求項１】
データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完する時系列データ補完装置であって、
前記時系列データを記憶するための記憶手段と、
前記時系列データを入力し、前記記憶手段に前記時系列データを時系列に書き込むデータ入力手段と、
前記記憶手段に記憶されている時系列データにおいて、予め定めた時間区間内における時系列上で、前記欠落したデータの前又は後の少なくともいずれか一方に入力された前記実データの個数に対応した補間関数により、前記欠落したデータを補完した補完データを生成し、前記記憶手段に記憶するデータ補完手段と、
このデータ補完手段によって補完された補完データ又は前記実データを、前記記憶手段から時系列に読み出して出力するデータ出力手段と、
を備えていることを特徴とする時系列データ補完装置。
【請求項２】
前記データ補完手段は、
前記記憶手段に記憶されている時系列データに基づいて、前記データの欠落した補完区間を抽出する補完区間抽出手段と、
この補完区間抽出手段で抽出された補完区間の時系列上前又は後の少なくともいずれか一方において、予め定めた時間区間内の前記実データの個数を計測する実データ計数手段と、
この実データ計数手段によって計測された実データの個数と、当該実データの値とに基づいて、前記補間関数を決定する補間関数決定手段と、
この補間関数決定手段によって決定された補間関数に基づいて、前記補完区間における前記欠落したデータを補完した補完データを生成する補完データ生成手段と、
この補完データ生成手段で生成された補完データにより、前記記憶手段における前記欠落したデータを更新するデータ更新手段と、
を備えていることを特徴とする請求項１に記載の時系列データ補完装置。
【請求項３】
前記データ入力手段は、前記記憶手段に時系列に前記時系列データを書き込む際に、当該時系列データを、予め定めた遅延時間分だけ過去にずらした領域に書き込むことを特徴とする請求項１又は請求項２に記載の時系列データ補完装置。
【請求項４】
前記データ出力手段は、前記記憶手段から時系列に前記時系列データを読み出す際に、当該時系列データを、予め定めた遅延時間分だけ過去にずらした領域から読み出すことを特徴とする請求項１乃至請求項３のいずれか一項に記載の時系列データ補完装置。
【請求項５】
データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完する時系列データ補完方法であって、
前記時系列データを入力し、記憶手段に前記時系列データを時系列に書き込むデータ入力ステップと、
前記記憶手段に記憶されている時系列データにおいて、予め定めた時間区間内における時系列上で、前記欠落したデータの前又は後の少なくともいずれか一方に入力された前記実データの個数に対応した補間関数により、前記欠落したデータを補完した補完データを生成し、前記記憶手段に記憶するデータ補完ステップと、
このデータ補完ステップによって補完された補完データ又は前記実データを、前記記憶手段から時系列に読み出して出力するデータ出力ステップと、
を含んでいることを特徴とする時系列データ補完方法。
【請求項６】
データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完するために、コンピュータを、
前記時系列データを入力し、記憶手段に前記時系列データを時系列に書き込むデータ入力手段、
前記記憶手段に記憶されている時系列データに基づいて、前記データの欠落した補完区間を抽出する補完区間抽出手段、
この補完区間抽出手段で抽出された補完区間の時系列上前又は後の少なくともいずれか一方において、予め定めた時間区間内の前記実データの個数を計測する実データ計数手段、
この実データ計数手段によって計測された実データの個数と、当該実データの値とに基づいて、前記補間関数を決定する補間関数決定手段、
この補間関数決定手段によって決定された補間関数に基づいて、前記補完区間における前記欠落したデータを補完した補完データを生成する補完データ生成手段、
この補完データ生成手段で生成された補完データにより、前記記憶手段における前記欠落したデータを更新するデータ更新手段、
このデータ更新手段によって更新された補完データ又は前記実データを、前記記憶手段から時系列に読み出して出力するデータ出力手段、
として機能させることを特徴とする時系列データ補完プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列データにおいて欠落したデータを補完する時系列データ補完装置、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来、時系列に入力されるデータを扱う場合、任意の時点で欠落したデータのデータ値や、本来データの存在しないサンプリング点におけるデータ値を補完することで、欠落のない連続したデータ列、あるいは、任意の時点におけるデータ値を生成する補完技術が開示されている（特許文献１、特許文献２等）。
【０００３】
例えば、特許文献１で開示されている補完技術では、映像信号として固体撮像素子の出力から得られる画素信号の時系列データにおいて、実データが有する周波数特性に着目し、周辺画素信号に対してｓｉｎｃ関数（補間関数）を用いることで、画素間の信号を生成している。
【０００４】
また、例えば、特許文献２で開示されている補完技術では、Ｎ次元空間における点群の補完を行う際に、予め既知の情報である点群のスカラ量及び空間微係数から、多項式で表した補間関数の係数を決定し、その補間関数によって、Ｎ次元空間の任意の点におけるスカラ量及び空間微係数を求めている。
なお、本明細書においては、「補間」と「補完」とを以下のように区別して使用している。すなわち、「補間」は、内挿や外挿によって、データとデータとの間の中割や外側のデータを生成することを意味し、ここでは、補間関数にのみ用いている。また、「補完」は、欠落したデータや、存在しないデータに対して値を補うことにより、データを完全にすることを意味し、例えば、補間関数によって得られた値によって、欠落したデータ等を補う場合に用いている。
【特許文献１】特開平５−１４５９３４号公報（段落００１６〜００２１、図６）
【特許文献２】特開平９−３１９７３１号公報（段落００２１〜００２４、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の補完技術において、例えば、特許文献１で開示されている技術では、データが欠落した場合、同一の補間関数に基づいて欠落データの生成を行うため、例えば、データの欠落が不等間隔で発生する場合、すべての不等間隔を同一の補間関数で表現できないため、適切なデータが生成されないという問題がある。
【０００６】
また、特許文献２で開示されている技術では、係数の異なる補間関数により、欠落したデータの補完を行っているが、欠落したデータを補完するために使用する実データの時間的変化（ある時間内における実データの個数、欠落したデータからの実データの距離等）を考慮していないため、必ずしも最適な補間関数が適用されるとは限らず、適切なデータが生成されないという問題がある。
【０００７】
このように、従来の補完技術では、例えば、時系列データが投球されたボールの軌跡を示すデータであった場合、投球当初のボールの軌跡と、落下直前のボールの軌跡とでは、その軌跡形状が異なるにもかかわらず、１種類の補間関数による補完や、実データの時間的変化を考慮せずに補完を行うため、欠落したデータに対して、適切なデータが生成されず、滑らかな補完ができないという問題がある。
【０００８】
本発明は、以上のような課題を解決するためになされたものであり、データの欠落した時系列データにおいて、欠落したデータの近傍に存在する実データの時間的変化に適応的に補間関数を変化させることで、滑らかな補完を行うことが可能な時系列データ補完装置、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載の時系列データ補完装置は、データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完する時系列データ補完装置であって、記憶手段と、データ入力手段と、データ補完手段と、データ出力手段とを備える構成とした。
【００１０】
かかる構成によれば、時系列データ補完装置は、データ入力手段によって、時系列データを入力し、その時系列データを逐次時系列に記憶手段に書き込む。この時系列データは、不規則にデータが欠落したデータ列であって、記憶手段には、実データが順次書き込まれるが、欠落したデータは書き込まれないため、データ抜けの状態で記憶手段に記憶されることになる。この欠落したデータは、そのデータに時系列で前後する実データの時間的変化（ある時間内における実データの個数、欠落したデータからの実データの距離等）と強い相関を持っている。
【００１１】
そこで、時系列データ補完装置は、データ補完手段によって、予め定めた時間区間内における時系列上で、欠落したデータの前又は後の少なくともいずれか一方に入力された実データの個数に対応した補間関数により、欠落したデータを補完し、補完データを生成する。そして、データ補完手段が、その補間データを記憶手段に書き込む。なお、補間関数は、予め定めた時間区間内における実データの個数により、多項式の次数や係数を決定することとしてもよいし、予め補間関数を複数用意しておき、選択することとしてもよい。これによって、欠落したデータを、前後の実データの時間的変化に応じて補完することが可能になる。
【００１２】
そして、時系列データ補完装置は、データ出力手段によって、時系列データを記憶手段から時系列に読み出して出力する。なお、記憶手段に記憶されている時系列データは、欠落したデータが補完データで補完されているため、出力されるデータは、欠落のない連続した時系列データとなる。
【００１３】
また、請求項２に記載の時系列データ補完装置は、請求項１に記載の時系列データ補完装置において、前記データ補完手段が、補完区間抽出手段と、実データ計数手段と、補間関数決定手段と、補完データ生成手段と、データ更新手段とを備える構成とした。
【００１４】
かかる構成によれば、時系列データ補完装置は、補完区間抽出手段によって、記憶手段に記憶されている時系列データの中で、データの欠落した補完区間を抽出する。この補完区間は、欠落したデータが連続している場合、１つの区間とみなす。
この欠落データが１つ以上連続する補完区間は、その補完区間の時系列で前後する実データの時間的変化と強い相関を持っている。
そこで、時系列データ補完装置は、実データ計数手段によって、補完区間抽出手段で抽出された補完区間の時系列上前又は後の少なくともいずれか一方において、予め定めた時間区間内の実データの個数を計測し、補間関数決定手段によって、実データの個数と、その実データの値とに基づいて、補間関数を決定する。
【００１５】
そして、時系列データ補完装置は、補完データ生成手段によって、補間関数決定手段で決定された補間関数に基づいて、補完区間における欠落したデータを補完した補完データを生成する。これによって、補完データは、前後する実データの時間的変化に適応したデータとなる。なお、欠落したデータが連続している場合であっても、その区間は同一の補間関数を用いて補完データを生成する。
そして、時系列データ補完装置は、データ更新手段によって、補完データ生成手段で生成された補完データにより、欠落したデータを補完することで、記憶手段に記憶されている時系列データを更新する。これによって、記憶手段に記憶されている時系列データは、欠落のない連続した時系列データとなる。
【００１６】
さらに、請求項３に記載の時系列データ補完装置は、請求項１又は請求項２に記載の時系列データ補完装置において、前記データ入力手段が、前記記憶手段に時系列に前記時系列データを書き込む際に、当該時系列データを、予め定めた遅延時間分だけ過去にずらした領域に書き込むこととした。
【００１７】
かかる構成によれば、時系列データ補完装置は、データ入力手段において、入力されたデータを、記憶手段の予め定めた遅延時間分だけ過去にずらした領域に書き込むため、データ出力手段が読み出すデータは、その書き込まれたデータに対して、逆に遅延時間分だけ未来のデータを読み出すことになる。これによって、時系列データ補完装置は、入力されたデータに対して、未来のデータを補完することになる。
【００１８】
また、請求項４に記載の時系列データ補完装置は、請求項１乃至請求項３のいずれか一項に記載の時系列データ補完装置において、前記データ出力手段は、前記記憶手段から時系列に前記時系列データを読み出す際に、当該時系列データを、予め定めた遅延時間分だけ過去にずらした領域から読み出すこととした。
【００１９】
かかる構成によれば、時系列データ補完装置は、データ出力手段において、出力すべきデータを、記憶手段の予め定めた遅延時間分だけ過去にずらした領域から読み出すため、入力されたデータに対して、過去のデータを逐次出力することになる。
このデータ出力手段における遅延時間や、データ入力手段における遅延時間を変えることで、時系列データ補完装置は、現在時刻に対して、任意の時間の時系列データを出力することができる。
【００２０】
さらに、請求項５に記載の時系列データ補完方法は、データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完する時系列データ補完方法であって、データ入力ステップと、データ補完ステップと、データ出力ステップとを含んでいることを特徴とする。
【００２１】
この手順によれば、時系列データ補完方法は、データ入力ステップで、時系列データを入力し、その時系列データを逐次時系列に記憶手段に書き込む。この時系列データは、不規則にデータが欠落したデータ列であって、記憶手段には、実データが順次書き込まれるが、欠落したデータは書き込まれないため、データ抜けの状態で記憶手段に記憶されることになる。
【００２２】
そして、時系列データ補完方法は、データ補完ステップで、予め定めた時間区間内における時系列上で、欠落したデータの前又は後の少なくともいずれか一方に入力された実データの個数に対応した補間関数により、欠落したデータを補完した補完データを生成し、その補完データを記憶手段に書き込む。これによって、欠落したデータを、前後の実データの時間的変化に応じて補完することが可能になる。
そして、時系列データ補完方法は、データ出力ステップで、時系列データを記憶手段から時系列に読み出して出力する。なお、記憶手段に記憶されている時系列データは、欠落したデータが補完データで補完されているため、欠落のない連続した時系列データとなる。
【００２３】
また、請求項６に記載の時系列データ補完プログラムは、データの欠落した時系列データを入力し、その時系列データである実データに基づいて欠落したデータを補完するために、コンピュータを、データ入力手段、補完区間抽出手段、実データ計数手段、補間関数決定手段、補完データ生成手段、データ更新手段、データ出力手段として機能させることを特徴とする。
【００２４】
かかる構成によれば、時系列データ補完プログラムは、データ入力手段によって、時系列データを入力し、その時系列データを逐次時系列に記憶手段に書き込む。
そして、時系列データ補完プログラムは、補完区間抽出手段によって、記憶手段に記憶されている時系列データの中で、データの欠落した補完区間を抽出し、実データ計数手段によって、その補完区間の時系列上前又は後の少なくともいずれか一方において、予め定めた時間区間内の実データの個数を計測する。さらに、時系列データ補完プログラムは、補間関数決定手段によって、実データの個数と、その実データの値とに基づいて、補間関数を決定する。
【００２５】
そして、時系列データ補完プログラムは、補完データ生成手段によって、補間関数決定手段で決定された補間関数に基づいて、補完区間における欠落したデータを補完した補完データを生成する。これによって、補完データは、前後する実データの時間的変化に適応したデータとなる。
【００２６】
さらに、時系列データ補完プログラムは、データ更新手段によって、補完データ生成手段で生成された補完データにより、記憶手段における欠落したデータを補完することで、時系列データを更新する。これによって、記憶手段に記憶されている時系列データは、欠落のない連続した時系列データとなる。そして、時系列データ補完プログラムは、データ出力手段によって、時系列データを記憶手段から時系列に読み出して出力する。
【発明の効果】
【００２７】
請求項１又は請求項５に記載の発明によれば、データが欠落した時系列データであっても、個々の欠落したデータを前後の実データの時間変化に基づいて、補間関数を変えて補完することができるので、欠落したデータに対して、滑らかな補完を行うことが可能になる。また、本発明は、時系列データにおいて、データの欠落が不等間隔に発生したり、連続して発生したりする場合であっても、それぞれ異なる補間関数を用いて、データの補完を行うことができるので、滑らかでかつ抜けのない補完を行うことができる。
【００２８】
請求項２又は請求項６に記載の発明によれば、時系列データにおけるデータの欠落した部分を補完区間として抽出し、その区間毎に補間関数を決定するため、連続してデータが欠落した場合、その欠落したデータは同一の補間関数によって補間が行われることになる。これによって、補完処理を行う際の演算量を減らすことができる。
【００２９】
請求項３に記載の発明によれば、入力されたデータに対して、未来のデータを補完することが可能になる。
請求項４に記載の発明によれば、入力されたデータに対して、過去のデータを逐次出力することが可能になる。
【００３０】
このように、本発明は、一定の時刻の範囲内であれば、任意の時刻のデータを入力し、任意の時刻のデータを出力することが可能になる。これによって、本発明は、例えば、映像内でボールが移動した位置を時系列データで取得した場合、そのボールの移動後の一定時間後にボールの軌跡を描画したり等の映像効果を発生させるために活用することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について図面を参照して説明する。
［時系列データ補完装置の構成］
まず、図１を参照して、本発明に係る時系列データ補完装置の構成について説明する。図１は、時系列データ補完装置の構成を示したブロック図である。
図１に示したように、時系列データ補完装置１は、時系列データを入力し、その時系列データで欠落したデータを補完するものである。ここでは、時系列データ補完装置１は、記憶手段１０と、データ入力手段２０と、データ出力手段３０と、データ補完手段４０とを備えている。
【００３２】
記憶手段１０は、後記するデータ入力手段２０で入力された時系列データを、少なくとも欠落したデータであるか又は実データであるかを示す属性に対応付けて記憶するもので、メモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やハードディスク等の記憶装置である。
ここで、図２を参照して、記憶手段１０に記憶されるデータの構成について説明する。図２は、記憶手段に記憶されるデータの配列構造を示す構成図である。
ここでは、記憶手段１０に記憶されるデータの構造を、アドレスＡｄが「０」〜「Ｎ−１」のＮ個の要素を有する配列構造としている。具体的には、記憶手段１０は、データの数値を格納する配列Ｄ［０］〜Ｄ［Ｎ−１］を有するデータ領域Ｄａと、データの属性を格納する配列Ａ［０］〜Ａ［Ｎ−１］を有する属性領域Ａａとによって構成される。
このデータ領域Ｄａに格納されているデータは、データ入力手段２０から入力される実際のデータ（実データ）、又は後記するデータ補完手段４０によって補完された補完データである。
【００３３】
また、属性領域Ａａに格納される属性は、データ領域Ｄａに格納されているデータが、格納されていない状態であるか、実データが格納された状態であるか、又は補完データが格納された状態であるかを示す情報である。ここでは、データ領域Ｄａに格納されているデータが、格納されていない状態（欠落データ）を表す場合は“０”、実データが格納された状態である場合は“１”、補完データが格納された状態である場合は“２”という数値を、一例として、属性領域Ａａに格納することとする。
また、以降では、アドレスＡｄがｎ（ｎ＝０，１，…，Ｎ−１とする）のデータ領域Ｄａの内容（データ値）をＤ［ｎ］、属性領域Ａａの内容（属性値）をＡ［ｎ］と表すこととする。
なお、記憶手段１０の属性領域Ａａは、図示していない初期化手段によって、すべて実データではないことを示す属性の値（例えば“０”）で初期化されるものとする。
図１に戻って説明を続ける。
【００３４】
データ入力手段２０は、外部から時系列データを入力するものである。ここで入力されたデータは、逐次記憶手段１０に書き込まれる。
ここでは、データ入力手段２０には、現在時刻ｔ（以降ではｔを非負の正数値とする）において、外部からｔよりｅ単位時間過去、すなわち時刻（ｔ−ｅ）におけるデータ値Ｄin（ｔ−ｅ）が入力されることとする。なお、現在時刻ｔからの遅延時間である遡及量ｅは、０≦ｅ＜Ｎ（Ｎは、記憶手段１０の配列要素数（図２参照））の整数である。この遡及量ｅについては、後でさらに説明を行うこととする。
【００３５】
また、このデータ入力手段２０は、データ値Ｄin（ｔ−ｅ）が入力されたときに、そのデータ値Ｄin（ｔ−ｅ）を記憶手段１０のデータ領域Ｄａに書き込むとともに、属性領域Ａａに実データであることを示す属性値を書き込む。なお、記憶手段１０における書き込み先のアドレスｗは、例えば、以下の（１）式に示す演算によって求められるアドレスとする。ここで、（ｍｏｄ  Ｎ）は、Ｎで除算したときの剰余を示す。
【００３６】
【数１】
2006031378.tif 000003
【００３７】
これによって、データ入力手段２０は、記憶手段１０におけるアドレス「０」〜「Ｎ−１」を環状に使用することになる。
そして、データ入力手段２０は、この（１）式で算出されたアドレスｗに対して、以下の（２）式に示すように、データ値Ｄin（ｔ−ｅ）と、実データを示す属性値“１”とを書き込む。
【００３８】
【数２】
2006031378.tif 000004
【００３９】
また、データ入力手段２０は、現在時刻ｔにおいて、データが入力されなかったとき（欠落データ）、記憶手段１０の属性領域Ａａにデータが実データでない（欠落データ）ことを示す属性値を書き込む。例えば、記憶手段１０における書き込み先のアドレスを、前記（１）式のアドレスｗとしたとき、データ入力手段２０は、アドレスｗに対して、以下の（３）式に示すように、欠落データを示す属性値“０”を書き込む。このとき、データ値は、任意の値とする。
【００４０】
【数３】
2006031378.tif 000005
【００４１】
そして、データ入力手段２０は、前記（２）式及び前記（３）式に示すように、記憶手段１０にデータを書き込んだ段階で、データ補完手段４０にその旨の通知「書き込み完了通知」を通知する。
【００４２】
データ出力手段３０は、記憶手段１０に記憶されている時系列データである実データ又は補完データを逐次読み出して、外部に出力するものである。なお、このデータ出力手段３０は、後記するデータ補完手段４０から、欠落データの補完を完了した旨の通知「補完完了通知」を通知されるごとに、データ（実データ又は補完データ）を出力する。
【００４３】
また、このデータ出力手段３０は、現在時刻ｔからｄ単位時間過去、すなわち時刻（ｔ−ｄ）におけるデータ値Ｄout（ｔ−ｄ）を記憶手段１０から読み出して出力することとする。なお、現在時刻ｔからの遅延時間である遡及量ｄは、０≦ｄ＜Ｎ（Ｎは、記憶手段１０の配列要素数（図２参照））の整数である。この遡及量ｄをどのように利用するかについては、後で説明を行うこととする。
【００４４】
また、データ出力手段３０が記憶手段１０におけるデータを読み出す際のアドレスｒは、例えば、以下の（４）式に示す演算によって求められるアドレスとする。ここで、（ｍｏｄ  Ｎ）は、Ｎで除算したときの剰余を示す。
【００４５】
【数４】
2006031378.tif 000006
【００４６】
そして、データ出力手段３０は、以下の（５）式に示すように、アドレスｒにおける属性値Ａ［ｒ］が、欠落データを示す属性値“０”のときは、非数（ＮａＮ：Ｎｏｔ  ａ  Ｎｕｍｂｅｒ）を、データ値Ｄout（ｔ−ｄ）として出力し、それ以外の属性値のときは、データ値Ｄ［ｒ］をデータ値Ｄout（ｔ−ｄ）として出力する。
【００４７】
【数５】
2006031378.tif 000007
【００４８】
ここでは、属性値Ａ［ｒ］が、欠落データを示す属性値“０”となる場合を想定しているが、後記するデータ補完手段４０が動作することで、長時間でデータが欠落した場合を除いては、欠落データは補完され、補完データ（属性値“２”）に変更されることになる。
なお、データ出力手段３０は、前記（５）式の代わりに、以下の（６）式に示すように、アドレスｒにおけるデータ値Ｄ［ｒ］及び属性値Ａ［ｒ］を、それぞれ、時刻（ｔ−ｄ）におけるデータ値Ｄout（ｔ−ｄ）及び属性値Ａout（ｔ−ｄ）として出力することとしてもよい。
【００４９】
【数６】
2006031378.tif 000008
【００５０】
ここで、図３を参照（適宜図１参照）して、データ入力手段２０が行う記憶手段１０に対するデータの書き込みと、データ出力手段３０が行う記憶手段１０からのデータの読み出しの関係について説明する。図３は、記憶手段に記憶される配列において、データの書き込み及び読み出しの関係を説明するための説明図である。
ここでは、記憶手段１０のアドレス「０」〜「Ｎ−１」に対応するデータ領域Ｄａの配列をＤ［０］〜Ｄ［Ｎ−１］、属性領域Ａａの配列をＡ［０］〜Ａ［Ｎ−１］とし、現在時刻ｔに対応するデータ値及び属性値等が、アドレス「ｉ」に対応する領域（Ｄ［ｉ］及びＡ［ｉ］）に書き込まれているとする。
【００５１】
ここで、データ入力手段２０に、現在時刻ｔよりｅ単位時間過去のデータが入力されると、データ入力手段２０は、前記（１）式により書き込みアドレス「ｗ」を算出（ここではｗ＝ｉ−ｅ）し、ｅ単位時間遅延した過去のデータとして、配列Ｄ［ｉ−ｅ］にデータ値を、配列Ａ［ｉ−ｅ］にその属性値を書き込む。
また、データ入力手段２０は、現在時刻ｔよりｄ単位時間遅延した過去のデータを、記憶手段１０から読み出す。すなわち、データ入力手段２０は、前記（４）式により読み出しアドレス「ｒ」を算出（ここではｒ＝ｉ−ｄ）し、ｄ単位時間過去のデータ値となるＤ［ｉ−ｄ］を読み出す。
【００５２】
ここで、データ入力手段２０に入力されるデータの現在時刻ｔからの遅延時間である遡及量ｅ、及び、データ出力手段３０が出力する際の現在時刻ｔからの遅延時間である遡及量ｄをどのように利用するかについて説明する。
例えば、「遡及量ｅ＜遡及量ｄ」の関係を満たすときは、データ出力手段３０から出力されるデータのデータ値Ｄout（ｔ−ｄ）（図３中Ｄ［ｉ−ｄ］の値）は、データ入力手段２０に入力されるデータのデータ値Ｄin（ｔ−ｅ）（図３中Ｄ［ｉ−ｅ］の値）よりも相対的に過去の情報となる。
【００５３】
また、「遡及量ｅ＝遡及量ｄ」の関係を満たすときは、データ出力手段３０から出力されるデータのデータ値Ｄout（ｔ−ｄ）が、データ入力手段２０に入力されるデータのデータ値Ｄin（ｔ−ｅ）と相対的に同時刻の情報となる。
また、「遡及量ｅ＞遡及量ｄ」の関係を満たすときは、データ出力手段３０から出力されるデータのデータ値Ｄout（ｔ−ｄ）は、データ入力手段２０に入力されるデータのデータ値Ｄin（ｔ−ｅ）よりも相対的に未来の情報となる。
【００５４】
このように、時系列データ補完装置１は、０≦ｅ＜Ｎかつ０≦ｄ＜Ｎを満たす限り、任意の時間の情報を入力し、また、任意の時間の情報を出力することができる。なお、遡及量ｅ及び遡及量ｄは、データ入力手段２０及びデータ出力手段３０に予め定数として設定されていることとしてもよいし、変数として外部から設定されることとしてもよい。
【００５５】
例えば、遡及量ｅ及び遡及量ｄを変えることで、サッカーのボールを追跡し、その軌跡を時系列データとして取得可能な場合、シュートを行った瞬間の映像が画面上に映っていなくても、そのシュートシーンに画面が切り替わった段階で、時系列データを遡ってシュートを行った瞬間からのボールの軌跡を取得することができる。これによって、画面上にシュートを行った瞬間からのボールの軌跡を表示させることができる。また、野球における打球軌跡を時系列データとして取得可能な場合、ｅ＞ｄとすることにより、未来のボール軌跡を画面上に表示させることができる。
図１に戻って説明を続ける。
【００５６】
データ補完手段４０は、記憶手段１０に記憶される時系列データで、欠落したデータを、その欠落したデータの少なくとも前又は後の実データに基づいて補間関数を変えて補完するものである。このデータ補完手段４０は、データ入力手段２０から記憶手段１０にデータを書き込んだ旨の通知「書き込み完了通知」があった段階で動作を行う。ここでは、データ補完手段４０は、補完区間抽出手段４１と、補完手段４２と、データ更新手段４３とを備えている。
【００５７】
補完区間抽出手段４１は、記憶手段１０に記憶されている時系列データの属性値を参照して、実データの有無を検出することで、欠落したデータの補完を行う補完区間を抽出するものである。
【００５８】
この補完区間抽出手段４１は、現在時刻ｔから実データが何単位時間過去のデータであるかを、予め定めた実データの個数分探索し、その実データ間の区間を補完区間として抽出する。この抽出された補完区間は、補完手段４２に通知される。なお、補完区間抽出手段４１は、実データの値も同時に補完手段４２に通知することとする。
【００５９】
ここで、図４を参照（適宜図１参照）して、補完区間抽出手段４１が抽出する補完区間について説明する。図４は、補完区間の概念を説明するための説明図であって、（ａ）は入力された欠落のある時系列データを示し、（ｂ）はその時系列データに対して補完区間を抽出した例を示している。
【００６０】
図４（ａ）では、データ入力手段２０から記憶手段１０に書き込まれた欠落のある時系列データを模式的に示し、右側の方が過去のデータを示している。なお、図４では、○印は欠落しているデータ（欠落データ）を示し、●印は実データを示している。
このとき、補完区間抽出手段４１は、現在時刻ｔから過去に遡って、実データが存在する遡及量（何単位時間過去のデータであるかを表す値）を順次探索する。そして、現在時刻ｔからｓ番目の実データが存在したときの遡及量ｕ（ＴR［ｓ］）を抽出する。
【００６１】
例えば、図４（ｂ）に示すように、補完区間抽出手段４１は、現在時刻ｔから０番目の実データが１単位時間過去のデータであった場合は、遡及量ＴR［０］＝１とし、１番目の実データが４単位時間過去のデータであった場合は、遡及量ＴR［１］＝４とする。このように、補完区間抽出手段４１は、順次、遡及量ＴR［ｓ］を探索する。
また、このとき、補完区間抽出手段４１は、現在時刻ｔからｓ番目の実データのデータ値（ＤR［ｓ］）を抽出する。
【００６２】
なお、補完区間抽出手段４１は、予め定めた最大遡及量Ｎlim（０≦Ｎlim＜Ｎ：Ｎは記憶手段１０に記憶されるデータの配列数）を超える遡及は行わないこととする。また、補完区間抽出手段４１は、予め定めた実データの個数Ｓが探索された段階で以降の探索を行わないこととする。このとき、実データの個数が、Ｓ個に満たないＳ´個であった場合には、補完区間抽出手段４１は、ＴR［Ｓ´］＝ＴR［Ｓ´＋１］＝…＝ＴR［Ｓ−１］＝Ｎlim＋１と設定する。
このように抽出（設定）された各遡及量ＴR［ｓ］（ｓ＝０，１，…，Ｓ−１）に基づいて、以下の（７）式に示すように、（Ｓ＋１）個の区間Ｕ0〜ＵSを開空間として設定することで、欠落したデータの区間、すなわち補完区間を表すことができる。
【００６３】
【数７】
2006031378.tif 000009
【００６４】
この設定された区間Ｕ0〜ＵSは、図４（ｂ）に示すように、欠落したデータが連続している区間が１つの区間となる。なお、この区間は開区間でかつ整数の集合であるため、実データが連続する領域（例えば、図４（ｂ）中のＵ2）では、欠落したデータが空（空集合φ）である。
図１に戻って説明を続ける。
【００６５】
補完手段４２は、補完区間抽出手段４１で抽出された補完区間（区間Ｕ0〜ＵS）毎に、補完対象となる区間の少なくとも前又は後に存在する実データに基づいて、欠落したデータの補完を行うものである。なお、補完手段４２は、すべての区間が空集合φ、すなわち欠落したデータがない場合は、補完処理を行わず、補完完了通知をデータ出力手段３０に通知するものとする。
また、ここでは、補完手段４２は、実データ計数手段４２ａと、補間関数決定手段４２ｂと、補完データ生成手段４２ｃとを備えている。
【００６６】
実データ計数手段４２ａは、補完区間抽出手段４１で抽出された補完対象となる区間の時系列で前後の予め定めた時間区間に存在する実データの個数を計測するものである。この実データ計数手段４２ａで計測された実データの個数は、補間関数決定手段４２ｂに出力される。なお、ここでは、実データ計数手段４２ａは、実データの個数を、補完対象となる、ある区間Ｕsに対して、時系列で前に入力された実データの個数Ｎbeforeと、区間Ｕsに対して、時系列で後に入力された実データの個数Ｎafterとに分けて計測する。
【００６７】
この区間Ｕsの後に入力された実データの個数Ｎafter（ｓ）は、以下の（８）式に示すように、区間Ｕsの下限値（ｉｎｆ（Ｕs））よりも小さい遡及量（ｄafterとする）で、０＜ｄafter＜ｉｎｆ（Ｕs）に存在する属性値が“１”の要素（遡及量）からなる集合の要素数（ｓ個）となる。
【００６８】
【数８】
2006031378.tif 000010
【００６９】
一方、区間Ｕsの前に入力された実データの個数Ｎbefore（ｓ）は、以下の（９）式に示すように、区間Ｕsの上限値（ｓｕｐ（Ｕs））よりも大きい遡及量（ｄbeforeとする）で、ｓｕｐ（Ｕs）＜ｄbefore≦Ｎlimに存在する属性値が“１”の要素（遡及量）からなる集合の要素数となる。
【００７０】
【数９】
2006031378.tif 000011
【００７１】
すなわち、実データ計数手段４２ａは、前記（８）式及び（９）式の要素数を計測することで、時間区間０〜Ｎlimにおける実データの個数を計測する。
【００７２】
補間関数決定手段４２ｂは、実データ計数手段４２ａで計測された、補完対象となる区間における前後の実データの個数及びそのデータ値に基づいて、その区間の欠落したデータを補完するための補間関数を決定するものである。
以下、補間関数決定手段４２ｂが、多項式の補間関数を決定する例について説明する。
ここでは、補間関数決定手段４２ｂは、補完対象となる区間における前後の実データの個数に基づいて、以下の（１０）式に示したＫ次の多項式による補間関数Ｐ（ｕ）を決定することとする。
【００７３】
【数１０】
2006031378.tif 000012
【００７４】
そして、補間関数決定手段４２ｂは、前記（１０）式に示した多項式による補間関数Ｐ（ｕ）の次数Ｋ及び係数ａk（ｋ＝０，１，…，Ｋ）を決定する。
例えば、補間関数決定手段４２ｂは、ある区間Ｕsにおいて、遡及量が“０”からＮlim（最大遡及量）に存在する実データの個数（総数）から“１”を減じた値を次数Ｋとする。この場合、補間関数決定手段４２ｂは、区間Ｕsの前後に入力された実データの個数であるＮafter（ｓ）（（８）式参照）と、Ｎbefore（ｓ）（（９）式参照）とに基づいて、以下の（１１）式により、次数Ｋを算出する。
【００７５】
【数１１】
2006031378.tif 000013
【００７６】
なお、Ｎafter（ｓ）及びＮbefore（ｓ）の両方が“０”で、次数Ｋの値が“−１”となった場合は、補間関数決定手段４２ｂは、補間関数を決定せず、区間Ｕsに対しては補完処理を行わないこととする。
そして、補間関数決定手段４２ｂは、以下の（１２）式に示した行列演算により、係数ａk（ｋ＝０，１，…，Ｋ）を算出する。なお、ＴR（ｋ）（ｋ＝０，１，…，Ｋ）は、補完区間抽出手段４１で設定された、現在時刻からｋ番目の実データが存在したときの遡及量を示す。また、ＤR（ｋ）（ｋ＝０，１，…，Ｋ）は、遡及量ＴR（ｋ）における実データの値を示す。
【００７７】
【数１２】
2006031378.tif 000014
【００７８】
これによって、前記（１０）式の補間関数Ｐ（ｕ）は、実データを点列としたときの、実データの全点（Ｋ＋１）を通るＫ次の多項式となる。そして、この補間関数Ｐ（ｕ）を用いることで、後記する補完データ生成手段４２ｃにおいて、欠落したデータの値を算出することが可能になる。
なお、ここでは、補間関数決定手段４２ｂは、次数Ｋを前記（１１）式で示したように、（実データ数−１）で算出したが、以下の（１３）式に示すように、予め定めた最高次数Ｋmaxで、次数Ｋを制限することとしてもよい。
【００７９】
【数１３】
2006031378.tif 000015
【００８０】
この場合も、次数Ｋの値が“−１”となった場合は、補間関数決定手段４２ｂは、補間関数を決定せず、区間Ｕsに対しては補完処理を行わないこととする。
また、補間関数決定手段４２ｂは、前記（１２）式で示したように、現在時刻から過去に遡って、予め定めた最大遡及量内の実データの値に基づいて、多項式の係数を算出したが、算出に利用する実データを、補完対象となる補完区間の近傍に限定することとしてもよい。
【００８１】
例えば、補間関数決定手段４２ｂは、区間Ｕsより遡及量が小さい側において区間Ｕsに近い側から最大Ｍafter個まで、区間Ｕsより遡及量が大きい側において区間Ｕsに近い側から最大Ｍbefore個までの実データを使用する。ここで、補完対象となる補完区間の近傍の実データがＬ個、各実データのある時点までの遡及量をｂ0〜ｂL-1とする。なお、次数Ｋは、以下の（１４）式に示すように、予め定めた最高次数Ｋmaxと、（Ｌ−１）との小さい値とする。
【００８２】
【数１４】
2006031378.tif 000016
【００８３】
この場合、補間関数決定手段４２ｂは、以下の（１５）式に示した行列演算により、係数ａk（ｋ＝０，１，…，Ｋ）を算出する。なお、ＴR（ｋ）（ｋ＝ｂ0，ｂ1，…，ｂL-1）は、補完区間抽出手段４１で設定された、現在時刻からｋ番目の実データが存在したときの遡及量を示す。また、ＤR（ｋ）（ｋ＝ｂ0，ｂ1，…，ｂL-1）は、遡及量ＴR（ｋ）における実データの値を示す。
【００８４】
【数１５】
2006031378.tif 000017
【００８５】
補完データ生成手段４２ｃは、補間関数決定手段４２ｂで決定された補間関数を用いて、実データを合成することで、欠落したデータを補完するための補完データを生成するものである。
ここで、補完対象となる区間Ｕsに着目すると、補間関数がＰ（ｕ）の場合、現在時刻よりｊ∈Ｕsだけ遡及した時刻における補完データ値Ｄins（ｊ）は、Ｄins（ｊ）＝Ｐ（ｊ）となる。そこで、補完データ生成手段４２ｃは、補完対象となるすべての補完区間に対して、補間関数を用いることで補完データを生成する。
そして、補完データ生成手段４２ｃは、補完データと、その補完データを生成したときの遡及時刻（遡及量）とを、データ更新手段４３に出力する。
【００８６】
データ更新手段４３は、補完手段４２の補完データ生成手段４２ｃによって生成された補完データを、記憶手段１０に書き込むことで、欠落したデータを補完データに更新するものである。なお、データ更新手段４３は、補完データ生成手段４２ｃから出力される時刻の遡及量に基づいて、記憶手段１０のデータ領域に補完データを書き込み、属性領域に、そのデータが補完データであることを示す属性値“２”を書き込む。
すなわち、データ更新手段４３は、時刻の遡及量ｊにおける補完データの値がＤins（ｊ）であるとき、記憶手段１０に対して、以下の（１６）式に示すように、データ領域の値と、属性領域の値を書き込む。
【００８７】
【数１６】
2006031378.tif 000018
【００８８】
ここで、ｔは現在時刻、Ｎは記憶手段１０の配列要素数、（ｍｏｄ  Ｎ）はＮで除算したときの剰余を示す。
そして、データ更新手段４３は、欠落データの補完が完了した段階で、補完が完了した旨の通知「補完完了通知」を、データ出力手段３０に通知する。これによって、データ出力手段３０は、逐次補完済みの時系列データを出力することが可能になる。
【００８９】
以上説明したように、時系列データ補完装置１を構成することで、時系列に順次入力される時系列データにおいて、欠落したデータがあった場合でも、その欠落したデータの少なくとも前又は後の実データに基づいて、補完データを生成することができる。
また、時系列データ補完装置１は、欠落したデータの近傍に存在する実データの時間的変化によって、補間関数を変えて補完データを生成するため、実データに対して滑らかに補完を行うことが可能になる。
【００９０】
なお、時系列データ補完装置１は、一般的なコンピュータを、前記した各手段として機能させる時系列データ補完プログラムとして実現することもできる。この時系列データ補完プログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００９１】
［時系列データ補完装置の動作］
次に、図５を参照（適宜図１参照）して、本発明に係る時系列データ補完装置の動作について説明する。図５は、時系列データ補完装置の全体動作を示すフローチャートである。
【００９２】
（初期化ステップ）
まず、時系列データ補完装置１は、図示していない初期化手段によって、記憶手段１０に対する書き込みアドレス、読み出しアドレスを初期化するとともに、属性領域に初期値を設定する（ステップＳ１）。
【００９３】
なお、図示していない初期化手段は、現在時刻に対して、予め定めた遡及量分ずらして、書き込みアドレス、読み出しアドレスを初期化する。また、初期化手段は、記憶手段１０の属性領域に対して、「実データ」ではないことを示す属性を書き込むことで、初期化を行う。このように、書き込みアドレス及び読み出しアドレスを、それぞれ予め現在時刻からの遡及量分だけずらして初期化することで、任意の時刻のデータを入力し、任意の時刻のデータを出力することが可能になる。
【００９４】
（データ入力ステップ）
この初期化後、時系列データ補完装置１は、データ入力手段２０によって、外部から逐次データを入力する（ステップＳ２）。
そして、時系列データ補完装置１は、実データが入力された場合、記憶手段１０のデータ領域に、実データの値を書き込むとともに、属性領域に、実データを示す属性値（例えば、“１”）を書き込む。また、時系列データ補完装置１は、実データが入力されなかった場合、記憶手段１０の属性領域に、データが実データでない（欠落データ）ことを示す属性値（例えば、“０”）を書き込む（ステップＳ３）。
【００９５】
（データ補完ステップ）
その後、時系列データ補完装置１は、データ補完手段４０の補完区間抽出手段４１によって、記憶手段１０に記憶されている時系列データの属性値を参照して、実データの有無を検出することで、欠落したデータの補完を行う補完区間を抽出する（ステップＳ４）。なお、この補完区間抽出の動作（ステップＳ４）については、後で詳述することにする。
【００９６】
次に、時系列データ補完装置１は、補完手段４２の実データ計数手段４２ａによって、ステップＳ４で抽出された補完対象となる区間（補完区間）の時系列で前後の予め定めた時間区間に存在する実データの個数を計測する（ステップＳ５）。この補完対象の区間における補完すべきデータの値は、その区間の前後に存在する実データの個数に強い相関を持っている。
【００９７】
そこで、時系列データ補完装置１は、補間関数決定手段４２ｂによって、ステップＳ５で計測された実データの個数によって、欠落データの値を算出するための補間関数を決定する（ステップＳ６）。なお、このステップＳ６においては、補間関数を多項式とした場合、その係数を、前記（１２）式又は前記（１５）式に示したように、現在時刻から実データが存在するまでの遡及量と、実データの値とに基づいて決定することで、さらに滑らかな補完が可能になる。
【００９８】
そして、時系列データ補完装置１は、補完データ生成手段４２ｃによって、ステップＳ６で決定された補間関数によって、補完対象となる区間の欠落データの値を算出し、補完データを生成する（ステップＳ７）。
そして、時系列データ補完装置１は、データ更新手段４３によって、ステップＳ７で生成された補完データを記憶手段１０のデータ領域に書き込むとともに、属性領域に補完データであることを示す属性値（例えば、“２”）を書き込む（ステップＳ８）。
【００９９】
（データ出力ステップ）
このように、記憶手段１０に補完データが書き込まれた段階で、時系列データ補完装置１は、データ出力手段３０によって、現時点の読み出しアドレスからデータを読み出して出力する（ステップＳ９）。
その後、データ入力手段２０及びデータ出力手段３０は、記憶手段１０に対する書き込みアドレス及び読み出しアドレスを更新する（ステップＳ１０）。
【０１００】
そして、データ入力手段２０が、データがさらに継続して入力されるかどうかを判定し（ステップＳ１１）、継続入力される場合（Ｙｅｓ）は、ステップＳ２に戻って補完動作を継続する。一方、データが継続入力されなくなった場合（Ｎｏ）は、時系列データ補完装置１は、動作を終了する。なお、ステップＳ１１における判定は、例えば、データの欠落が予め定めた時間以上継続した場合、データが入力されなくなったものと判定する。
【０１０１】
このように、時系列データ補完装置１を動作させることで、欠落のある時系列データが入力された場合、時系列データ補完装置１は、欠落部分の前後の実データに基づいて補間関数を変えて、欠落部分の補完データを生成する。これによって、時系列データ補完装置１は、欠落のない時系列データを出力することが可能になる。
【０１０２】
（補完区間抽出動作）
次に、図６を参照（適宜図１参照）して、補完区間抽出手段４１の動作（図５におけるステップＳ４の動作）について詳述する。図６は、補完区間抽出手段で行う補完区間抽出の動作を示すフローチャートである。
【０１０３】
まず、補完区間抽出手段４１は、現在時刻からの実データの遡及量を表す、予め定めた実データの個数Ｓ分の配列であるＴR［０］、ＴR［１］、…、ＴR［Ｓ−１］を初期化する。ここでは、各配列の要素に対して、予め定めた最大遡及量Ｎlimを代入することで初期化を行う。
【０１０４】
さらに、補完区間抽出手段４１は、現在時刻からの実データのインデックスを示すデータインデックスｓを初期化（値“０”）し、さらに、現在時刻からの遡及量ｉを初期化（値“０”）する（ステップＳ４１）。
そして、補完区間抽出手段４１は、記憶手段１０の属性領域を参照し、属性領域のｉ番目の属性値が“１”（実データ）であるかどうかを判定する（ステップＳ４２）。
【０１０５】
ここで、属性領域のｉ番目の属性値が“１”でない場合（ステップＳ４２でＮｏ）は、ステップＳ４６に進む。
一方、属性領域のｉ番目の属性値が“１”である場合（ステップＳ４２でＹｅｓ）、補完区間抽出手段４１は、配列ＴR［ｓ］にｉ、すなわち遡及量を設定する。また、このときの実データの値を、ＤR［ｓ］に設定する。これによって、個々の補完区間が設定される（ステップＳ４３）。
【０１０６】
そして、補完区間抽出手段４１は、データインデックスｓに１を加算することで、データインデックスｓを更新する（ステップＳ４４）。
ここで、補完区間抽出手段４１は、更新されたデータインデックスｓと、予め定めた実データの個数Ｓとを比較し（ステップＳ４５）、データインデックスｓがＳ以上となった段階（ステップＳ４５でＮｏ）で動作を終了する。
一方、データインデックスｓがＳ未満の場合（ステップＳ４５でＹｅｓ）は、遡及量ｉに１を加算することで、遡及量ｉを更新する（ステップＳ４６）。
【０１０７】
ここで、補完区間抽出手段４１は、更新された遡及量ｉと、最大遡及量Ｎlimとを比較し（ステップＳ４７）、遡及量ｉが最大遡及量Ｎlim以下の場合（ステップＳ４７でＹｅｓ）は、ステップＳ４２に戻って動作を続ける。
一方、遡及量ｉが最大遡及量Ｎlimを超過した場合（ステップＳ４７でＮｏ）は、補完区間抽出の動作を終了する。
【０１０８】
以上の動作によって、補完区間抽出手段４１は、前記（７）式に示す区間Ｕ0〜ＵSを設定することができる。このように抽出された補完区間、並びに、ステップＳ４３で設定された実データの値ＤR［ｓ］は、図５のステップＳ６における補間関数を決定する際に使用されることになる。
【０１０９】
［データ補完動作の具体例］
次に、図７乃至図１５を参照（適宜図１参照）して、時系列データ補完装置１における補間動作の具体例について説明する。図７乃至図１５は、時系列データが入力されるたびに更新される記憶手段の内容と、そのときの補完区間の抽出内容とを示している。
なお、ここでは、記憶手段１０におけるデータ領域Ｄａ及び属性領域Ａａ（図２参照）の配列の大きさＮを“１０”、最大遡及量Ｎlimを“９”、データ入力手段２０における現在時刻からの遡及量ｅを“０”、データ出力手段３０における現在時刻からの遡及量ｄを“２”とする。
また、ここでは、補間関数Ｐ（ｕ）を線形関数又は零次ホールドとする。この補間関数の次数と係数は、以下の（規則i）〜（規則vi）の規則により決定するものとする。
【０１１０】
（規則i）Ｎafter（ｓ）＝０かつＮbefore（ｓ）＝０の場合
…補完せず
（規則ii）Ｎafter（ｓ）＝１かつＮbefore（ｓ）＝０の場合
…ＤR［ｓ−１］の零次ホールドにより補完
（規則iii）Ｎafter（ｓ）＝０かつＮbefore（ｓ）＝１の場合
…ＤR［ｓ］の零次ホールドにより補完
（規則iv）Ｎafter（ｓ）≧１かつＮbefore（ｓ）≧１の場合
…ＤR［ｓ−１］とＤR［ｓ］とを通る直線（線形関数）により補完
（規則v）Ｎafter（ｓ）≧２かつＮbefore（ｓ）＝０の場合
…ＤR［ｓ−１］とＤR［ｓ−２］とを通る直線（線形関数）により補完
（規則vi）Ｎafter（ｓ）＝０かつＮbefore（ｓ）≧２の場合
…ＤR［ｓ］とＤR［ｓ＋１］とを通る直線（線形関数）により補完
【０１１１】
ここで、Ｎafter（ｓ）は、ある区間の後に入力された実データの個数（前記（８）式参照）で、Ｎbefore（ｓ）は、ある区間の前に入力された実データの個数（前記（９）式参照）である。また、ＤR［ｓ］等は現在時刻からｓ番目（遡及量ＴR（ｓ））の実データの値である。
また、ここでは、入力される時系列データは、｛５，７，ＮａＮ，１３，ＮａＮ，ＮａＮ，１６，ＮａＮ，ＮａＮ｝（ＮａＮはデータが欠落していることを示す）であったとする。
【０１１２】
図７（ａ）の＜データ入力時＞に示すように、現在時刻ｔ＝０において、データＤin＝５が入力されると、データ入力手段２０は、書き込みアドレスｗ（ここではアドレスＡｄ「００」）のデータ領域Ｄａに“５”、属性領域Ａａに実データを示す属性値“１”を書き込む。なお、図中●印はデータが書き込まれたことを示す。
すると、データ補完手段４０は、前記（７）式により、図７（ｂ）に示すように、区間Ｕ0＝φ（空集合）、区間Ｕ1＝（０，Ｎlim＋１）となる補完区間を抽出し、区間Ｕ1に対して補完を実行する。
このとき、前記（８）式よりＮafter（１）＝１、前記（９）式よりＮbefore（１）＝０で、前記（規則ii）の場合に合致するため、補間関数Ｐ（ｕ）は零次ホールドＰ（ｕ）＝ＤR［００］＝５となる。
【０１１３】
従って、データ補完手段４０は、図７（ａ）の＜補完処理結果＞に示すように、データ領域ＤａのＤ［０１］〜Ｄ［０９］に、Ｄ［００］の値の零次ホールド、すなわちコピー値（“５”）を書き込む。なお、図中■印は補完処理によりデータが更新されたことを示す。また、このとき、データ補完手段４０は、属性領域ＡａのＡ［０１］〜Ａ［０９］に、データ値が補間データであることを示す属性値“２”を書き込む。
そして、データ出力手段３０は、遡及量ｄ＝２であるため、現在時刻ｔ−２（ｔout＝−２）の時点である読み出しアドレスｒ（ここではアドレスＡｄ「０８」）におけるデータ領域Ｄａの値“５”を読み出して出力する。
【０１１４】
次に、図８（ａ）の＜データ入力時＞に示すように、現在時刻ｔ＝１において、データＤin＝７が入力されると、データ入力手段２０は、書き込みアドレスｗ（ここではアドレスＡｄ「０１」）のデータ領域Ｄａに“７”、属性領域Ａａに実データを示す属性値“１”を書き込む。
すると、データ補完手段４０は、前記（７）式により、図８（ｂ）に示すように、区間Ｕ0＝Ｕ1＝φ（空集合）、区間Ｕ2＝（１，Ｎlim＋１）となる補完区間を抽出し、区間Ｕ2に対して補完を実行する。
このとき、前記（８）式よりＮafter（２）＝２、前記（９）式よりＮbefore（２）＝０で、前記（規則v）の場合に合致するため、補間関数Ｐ（ｕ）は線形関数Ｐ（ｕ）＝７−２ｕとなる。
【０１１５】
従って、データ補完手段４０は、図８（ａ）の＜補完処理結果＞に示すように、データ領域ＤａのＤ［０２］〜Ｄ［０９］にデータ値を書き込む。また、このとき、データ補完手段４０は、属性領域ＡａのＡ［０２］〜Ａ［０９］に、データ値が補間データであることを示す属性値“２”を書き込む。
そして、データ出力手段３０は、遡及量ｄ＝２であるため、現在時刻ｔ−２（ｔout＝−１）の時点である読み出しアドレスｒ（ここではアドレスＡｄ「０９」）におけるデータ領域Ｄａの値“３”を読み出して出力する。
【０１１６】
次に、図９（ａ）の＜データ入力時＞に示すように、現在時刻ｔ＝２において、データＤin＝ＮａＮ、すなわちデータが欠落したとき、データ入力手段２０は、書き込みアドレスｗ（ここではアドレスＡｄ「０２」）のデータ領域Ｄａに任意の値、属性領域Ａａに欠落データを示す属性値“０”を書き込む。なお、データ領域Ｄａには必ずしもデータ値を書き込む必要はない。
すると、データ補完手段４０は、前記（７）式により、図９（ｂ）に示すように、区間Ｕ0＝（−１，１）、区間Ｕ1＝φ、区間Ｕ2＝（２，Ｎlim＋１）となる補完区間を抽出し、区間Ｕ0及び区間Ｕ2に対して補完を実行する。
このとき、区間Ｕ0においては、前記（８）式よりＮafter（２）＝２、前記（９）式よりＮbefore（２）＝０で、前記（規則vi）の場合に合致するため、補間関数Ｐ（ｕ）は線形関数Ｐ（ｕ）＝９−２ｕとなる。また、区間Ｕ2においては、前記（８）式よりＮafter（１）＝２、前記（９）式よりＮbefore（２）＝０で、前記（規則v）の場合に合致するため、補間関数Ｐ（ｕ）は線形関数Ｐ（ｕ）＝９−２ｕとなる。
【０１１７】
従って、データ補完手段４０は、図９（ａ）の＜補完処理結果＞に示すように、データ領域ＤａのＤ［０２］〜Ｄ［０９］にデータ値を書き込む。また、このとき、データ補完手段４０は、属性領域ＡａのＡ［０２］〜Ａ［０９］に、データ値が補間データであることを示す属性値“２”を書き込む。
そして、データ出力手段３０は、遡及量ｄ＝２であるため、現在時刻ｔ−２（ｔout＝０）の時点である読み出しアドレスｒ（ここではアドレスＡｄ「００」）におけるデータ領域Ｄａの値“５”を読み出して出力する。
【０１１８】
さらに、図１０（ａ）の＜データ入力時＞に示すように、現在時刻ｔ＝３において、データＤin＝１３が入力されると、データ入力手段２０は、書き込みアドレスｗ（ここではアドレスＡｄ「０３」）のデータ領域Ｄａに“１３”、属性領域Ａａに実データを示す属性値“１”を書き込む。
【０１１９】
すると、データ補完手段４０は、前記（７）式により、図１０（ｂ）に示すように、区間Ｕ0＝φ（空集合）、区間Ｕ1＝（０，２）、区間Ｕ2＝φ、区間Ｕ3＝（３，Ｎlim＋１）となる補完区間を抽出し、区間Ｕ1及び区間Ｕ3に対して補完を実行する。
この区間Ｕ1においては、前記（８）式よりＮafter（１）＝１、前記（９）式よりＮbefore（１）＝２で、前記（規則iv）の場合に合致するため、補間関数Ｐ（ｕ）は線形関数Ｐ（ｕ）＝１３−３ｕとなる。
また、区間Ｕ3においては、前記（８）式よりＮafter（３）＝３、前記（９）式よりＮbefore（３）＝０で、前記（規則v）の場合に合致するため、補間関数Ｐ（ｕ）は線形関数Ｐ（ｕ）＝１１−２ｕとなる。
【０１２０】
従って、データ補完手段４０は、図１０（ａ）の＜補完処理結果＞に示すように、データ領域ＤａのＤ［０２］、Ｄ［０４］〜Ｄ［０９］にデータ値を書き込む。また、このとき、データ補完手段４０は、属性領域ＡａのＡ［０２］、Ａ［０４］〜Ａ［０９］に、データ値が補間データであることを示す属性値“２”を書き込む。
そして、データ出力手段３０は、遡及量ｄ＝２であるため、現在時刻ｔ−２（ｔout＝１）の時点である読み出しアドレスｒ（ここではアドレスＡｄ「０１」）におけるデータ領域Ｄａの値“７”を読み出して出力する。
【０１２１】
以下、図１１〜図１５においても図７〜図１０と同様に、補完区間毎に補間関数を決定し、その補間関数に基づいて、逐次欠落したデータの補完を行う。
これによって、入力された時系列データ｛５，７，ＮａＮ，１３，ＮａＮ，ＮａＮ，１６，ＮａＮ，ＮａＮ｝に対して、｛５，３，５，７，１０，１３，１４，１５，１６｝の時系列データが生成される。ここでは、出力データが入力データから２単位時間遅れて出力される（遡及量ｅ＝０、遡及量ｄ＝２）ので、入力された時系列データの先頭の７つ、すなわち｛５，７，ＮａＮ，１３，ＮａＮ，ＮａＮ，１６｝は、出力データで２単位時間遅れたデータ、すなわち｛５，７，１０，１３，１４，１５，１６｝に補完されて出力されることになる。このように、入力された時系列データのうちで、実データはそのまま保持され、欠落したデータ（ＮａＮ）に対してのみ適切に補完されたデータ列が生成されることになる。
【図面の簡単な説明】
【０１２２】
【図１】本発明に係る時系列データ補完装置の構成を示したブロック図である。
【図２】記憶手段に記憶されるデータの配列構造を示す構成図である。
【図３】記憶手段に記憶される配列において、データの書き込み及び読み出しの関係を説明するための説明図である。
【図４】補完区間の概念を説明するための説明図であって、（ａ）は入力された欠落のある時系列データを示し、（ｂ）はその時系列データに対して補完区間を抽出した例を示している。
【図５】本発明に係る時系列データ補完装置の全体動作を示すフローチャートである。
【図６】本発明に係る時系列データ補完装置の補完区間抽出手段で行う補完区間抽出の動作を示すフローチャートである。
【図７】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝０の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図８】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝１の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図９】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝２の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１０】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝３の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１１】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝４の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１２】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝５の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１３】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝６の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１４】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝７の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【図１５】補完処理の内容を説明するための説明図であって、（ａ）はｔ＝８の時点における記憶手段の内容、（ｂ）はそのときの補完区間の抽出内容を示している。
【符号の説明】
【０１２３】
１      時系列データ補完装置
１０    記憶手段
２０    データ入力手段
３０    データ出力手段
４０    データ補完手段
４１    補完区間抽出手段
４２    補完手段
４２ａ  実データ計数手段
４２ｂ  補間関数決定手段
４２ｃ  補完データ生成手段
４３    データ更新手段
【図１】
2006031378.tif 000019
【図２】
2006031378.tif 000020
【図３】
2006031378.tif 000021
【図４】
2006031378.tif 000022
【図５】
2006031378.tif 000023
【図６】
2006031378.tif 000024
【図７】
2006031378.tif 000025
【図８】
2006031378.tif 000026
【図９】
2006031378.tif 000027
【図１０】
2006031378.tif 000028
【図１１】
2006031378.tif 000029
【図１２】
2006031378.tif 000030
【図１３】
2006031378.tif 000031
【図１４】
2006031378.tif 000032
【図１５】
2006031378.tif 000033