説明

補間装置、補間方法およびプログラム

【課題】共有センサデータ記憶装置からセンサデータを読み出す際に、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いによって生じるデータの欠損に対して、より精度の高い補間を行えるようにする。
【解決手段】補間装置100において、時系列整列部103が、実センサデータに基づいて実センサデータ行列を生成し、時系列補間機能部105が、実センサデータ行列に対して時系列補間を行って時系列補間行列を生成し、空間補間機能部108が、時系列補間行列に対して空間補間を行って空間補間行列を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、補間装置、補間方法およびプログラムに関する。
【背景技術】
【0002】
ユビキタス環境においては、数多くのセンサ、アクチュエータなどの各種デバイス群と、計算機群が、ネットワークを介して互いにデータを送受信する。そして、ユビキタス環境では、デバイス群の位置や起動の状態が頻繁に変化することが考えられ、確実なセンサデータの送受信を行うためには、共有センサデータ記憶装置を介した運用が有効である(特許文献1参照)。
共有センサデータ記憶装置を利用する場合、デバイス群は、例えば、計測時刻および計測位置を含むセンサデータを共有センサデータ記憶装置に書き込む。計算機群は、計測時刻および計測位置の範囲にてセンサデータの条件を指定し、共有センサデータ記憶装置からセンサデータを読み出すことで、アプリケーションに必要なセンサデータを取得できる。また、共有センサデータ記憶装置を利用することにより、複数の計算機が、センサデータを共有し、それぞれ異なるアプリケーションを実行できる。
【0003】
共有センサデータ記憶装置を用いて汎用のセンサデータを複数のアプリケーションで共用することにより、アプリケーション毎に専用のセンサを設けて計測を行う必要が無く、より容易にアプリケーションを実行できる。その反面、汎用のセンサデータを用いるため、アプリケーションが要求するセンサデータを、共有センサデータ記憶装置が記憶しているとは限らない。例えば、共有センサデータ記憶装置が蓄積しているデータの取得周期よりも短い取得周期のデータをアプリケーションが要求する場合、蓄積されている時刻以外のセンサデータは欠損した状態(センサデータが存在しない状態)となる。
通常のアプリケーションと同様、ユビキタス環境におけるアプリケーションも、欠損のないセンサデータの取得を前提として設計されることが通常と考えられる。したがって、欠損を含むセンサデータではアプリケーションの実行に支障を来す。そこで、従来、主にネットワークやデバイスの障害によるデータの欠損に対する適用が検討されてきた補間技術を、ユビキタス環境におけるデータの欠損にも適用して、欠損したデータを補間することが考えられる。
【0004】
ネットワークやデバイスの障害による欠損に対する欠損補間技術には、欠損するデータと同時刻に取得されたセンサデータ(以下、「空間データ」という)を用いて補間を行う空間補間技術や、同一の位置または同一のセンサから送信された過去もしくは未来のセンサデータ(以下、「時系列データ」という)を用いた時系列補間技術があった。空間補間を行う方法としては、例えば、空間データのパターンを教師データとした、パターン学習モデルである決定木モデルを用いる方法や(非特許文献1参照)や、時系列データ同士の相関度を算出し、相関度の高い時系列データを用いて補間を行うk−NN法(非特許文献2参照)などがある。また、時系列補間を行う方法としては、例えば、連続する過去の時系列データから、ある時点の時系列データを算出する、自己回帰モデルを用いる方法がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−93213号公報
【非特許文献】
【0006】
【非特許文献1】金明哲著、「Rによるデータサイエンス」、森北出版、2007年、p.230−233
【非特許文献2】村尾和哉、外3名、「ウェアラブルシステムのための装着型センサの故障を考慮したセンシングデータ補完手法」、電子情報通信学会データ工学ワークショップ(DEW2007)論文集、2007年
【非特許文献3】金明哲著、「Rによるデータサイエンス」、森北出版、2007年、p.211−213
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、ネットワークやデバイスの障害による欠損が散発的であるのに対し、ユビキタス環境で共有センサデータ記憶装置を用いる場合の上述の欠損は周期的である。さらに、周期的に欠損が生じるため、欠損の割合がネットワークやデバイスの障害による欠損に比べて高くなる。これらのことから、従来の補間方法を用いてユビキタス環境で共有センサデータ記憶装置を用いる場合の上述の欠損を補間しようとすると、以下の問題が生じる。
まず、決定木モデルを用いる補間方法では、過去の空間データに欠損がある場合、有効な教師データを得られず補間を行えない。ユビキタス環境で共有センサデータ記憶装置を用いる場合、上述のようにセンサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いにより、過去の空間データが周期的に欠損し得る。この場合、決定木モデルを用いる補間方法をそのまま適用することはできない。
【0008】
また、k−NN法による補間方法では、相関度を計算するための時系列データに欠損がある場合、相関度が計算できず補間を行えない。ユビキタス環境で共有センサデータ記憶装置を用いる場合、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いにより、時系列データが周期的に欠損し得る。この場合、k−NN法による補間方法をそのまま適用することはできない。
また、自己回帰モデルを用いる補間方法では、過去の連続時系列データに1つでも欠損がある場合は、補間を行えない。ユビキタス環境で共有センサデータ記憶装置を用いる場合、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いにより、時系列データが周期的に欠損し得る。この場合、自己回帰モデルを用いる補間方法をそのまま適用することはできない。
【0009】
また、これらの補間方法を適用できない場合、空間補間または時系列補間を行う方法として、空間データや時系列データの平均値補間、線形補間などを利用する方法が考えられる。しかしながら、これらの補間方法は、データの欠損率が高い場合には、補間の精度が低下する。ユビキタス環境で共有センサデータ記憶装置を用いる場合、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いにより、データの欠損率が高くなり得る。この場合、空間データや時系列データの平均値補間、線形補間などを利用する方法では、補間の精度が低くなってしまう。
【0010】
本発明は、このような事情を考慮してなされたものであり、その目的は、共有センサデータ記憶装置からセンサデータを読み出す際に、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いによって生じるデータの欠損に対して、より精度の高い補間を行える補間装置、補間方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0011】
[1]この発明は上述した課題を解決するためになされたもので、本発明の一態様による補間装置は、センサによる実測値と、前記実測値の計測位置を示す情報と、前記実測値の計測時刻を示す情報とを含む実センサデータを取得する実センサデータ取得部と、センサと計測時刻とを示して当該計測時刻における当該センサの計測値を要求する取得要求データに基づいて、前記取得要求データが示すセンサを全て含むセンサ毎、かつ、前記取得要求データが示す計測時刻を全て含む計測時刻毎の計測値を要素とする実センサデータ行列を生成し、前記実測値の計測位置を示す情報と前記実測値の計測時刻を示す情報とに基づいて、前記実測値を前記実センサデータ行列の要素に割り当てる時系列整列部と、前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと同一のセンサが計測した実測値に基づいて、前記実測値を有しない要素における計測値を補間する時系列補間機能部と、前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間機能部が補間した計測値を用いて、前記実測値を有しない要素における計測値を更新することにより、前記取得要求データが要求する計測値を生成する空間補間機能部と、を具備することを特徴とする。
【0012】
[2]また、本発明の一形態による補間装置は、上述の補間装置であって、前記取得要求データを受信する取得要求受付機能部と、前記取得要求データに対する回答データを送信する回答機能部と、をさらに具備し、前記、時系列整列部は、前記センサを選択する情報によって選択されるセンサの全てと、前記計測時刻の範囲および前記計測時刻間隔によって示される計測時刻の全てとに対応する前記実センサデータ行列を生成し、前記回答機能部は、前記空間補間機能部が更新した前記計測値を含む前記回答データを送信する、ことを特徴とする。
【0013】
[3]また、本発明の一形態による補間装置は、上述の補間装置であって、前記空間補間機能部は、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間機能部が補間した計測値に関する条件式に従って、前記実測値を有しない要素における計測値を決定する決定木を生成する決定木生成部と、前記決定木を用いて前記実測値を有しない要素における計測値を決定する決定木適用部と、を具備することを特徴とする。
【0014】
[4]また、本発明の一形態による補間装置は、上述の補間装置であって、前記空間補間機能部は、前記実測値を有しない要素に対応するセンサと、前記実測値を有しない要素に対応するセンサと異なるセンサとの距離を決定する距離計算機能部と、前記距離に基づいてセンサを選択し、選択したセンサの計測値に基づいて、前記実測値を有しない要素における計測値を決定するk−NN法適用部と、を具備することを特徴とする。
【0015】
[5]また、本発明の一形態による補間方法は、センサの計測値を補間する補間装置の補間方法であって、センサによる実測値と、前記実測値の計測位置を示す情報と、前記実測値の計測時刻を示す情報とを含む実センサデータを取得する実センサデータ取得ステップと、センサと計測時刻とを示して当該計測時刻における当該センサの計測値を要求する取得要求データに基づいて、前記取得要求データが示すセンサを全て含むセンサ毎、かつ、前記取得要求データが示す計測時刻を全て含む計測時刻毎の計測値を要素とする実センサデータ行列を生成し、前記実測値の計測位置を示す情報と前記実測値の計測時刻を示す情報とに基づいて、前記実測値を前記実センサデータ行列の要素に割り当てる時系列整列ステップと、前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと同一のセンサが計測した実測値に基づいて、前記実測値を有しない要素における計測値を補間する時系列補間ステップと、前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間ステップにて補間した計測値を用いて、前記実測値を有しない要素における計測値を更新することにより、前記取得要求データが要求する計測値を生成する空間補間ステップと、を具備することを特徴とする。
【0016】
[6]また、本発明の一形態による補間方法は、上述の補間方法であって、前記センサを選択する情報と、計測時刻の範囲を示す情報と、計測時刻間隔を示す情報とを含んでセンサの計測値を要求する取得要求データを受信する取得要求受付ステップと、前記取得要求データに対する回答データを送信する回答ステップと、をさらに具備し、前記、時系列整列ステップにて、前記センサを選択する情報によって選択されるセンサの全てと、前記計測時刻の範囲および前記計測時刻間隔によって示される計測時刻の全てとに対応する前記実センサデータ行列を生成し、前記空間補間ステップにて更新した前記計測値を含む前記回答データを、前記回答ステップにて送信する、ことを特徴とする。
【0017】
[7]また、本発明の一形態による補間方法は、上述の補間方法であって、前記空間補間ステップは、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間ステップにて補間した計測値に関する条件式に従って、前記実測値を有しない要素における計測値を決定する決定木を生成する決定木生成ステップと、前記決定木を用いて前記実測値を有しない要素における計測値を決定する決定木適用ステップと、を具備することを特徴とする。
【0018】
[8]また、本発明の一形態による補間方法は、上述の補間方法であって、前記空間補間ステップは、前記実測値を有しない要素に対応するセンサと、前記実測値を有しない要素に対応するセンサと異なるセンサとの距離を決定する距離計算ステップと、前記距離に基づいてセンサを選択し、選択したセンサの計測値に基づいて、前記実測値を有しない要素における計測値を決定するk−NN法適用ステップと、を具備することを特徴とする。
【0019】
[9]また、本発明の一形態によるプログラムは、コンピュータに、上述のいずれかの補間方法を実行させるプログラムである。
【発明の効果】
【0020】
この発明によれば、共有センサデータ記憶装置からセンサデータを取り出す際に、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いによって生じるデータの欠損に対して、より精度の高い補間を行える。
【図面の簡単な説明】
【0021】
【図1】本発明の第1の実施形態における補間装置の概略構成を示す構成図である。
【図2】同実施形態における、実センサデータの例を示す図である。
【図3】同実施形態における、取得要求データの例を示すデータ構成図である。
【図4】同実施形態における、検索要求データの例を示す図である。
【図5】同実施形態における、実センサデータ行列の例を示すデータ構成図である。
【図6】同実施形態における、時系列補間行列の例を示す図である。
【図7】同実施形態における、単位領域Aの決定木の例を示す図である。
【図8】同実施形態における、決定木記憶部111が記憶する決定木データの例を示す図である。
【図9】同実施形態における、空間補間行列の例を示す図である。
【図10】同実施形態における、回答データの例を示す図である。
【図11】同実施形態において、時系列補間機能部105が、実センサデータ行列を時系列補間する処理手順を示すフローチャートである。
【図12】同実施形態において、第一段補間機能部106が時系列補間を行う処理手順を示すフローチャートである。
【図13】同実施形態において、空間補間機能部108が空間補間を行う処理手順を示すフローチャートである。
【図14】同実施形態において、決定木生成部110が決定木を生成する処理手順を示すフローチャートである。
【図15】同実施形態において、決定木適用部112が注目点に対する空間補間を行う処理手順を示すフローチャートである。
【図16】同実施形態において、補間装置100が、ユビキタスアプリケーション装置116から送信される取得要求データに応じた回答データを生成し送信(回答)する処理手順を示すシーケンス図である。
【図17】同実施形態において、補間装置100が、ユビキタスアプリケーション装置116から送信される取得要求データに応じた回答データを生成し送信(回答)する処理手順を示すシーケンス図である。
【図18】本発明の第2の実施形態における補間装置の概略構成を示す構成図である。
【図19】同実施形態における、距離データ行列の例を示す図である。
【図20】同実施形態における、空間補間行列記憶部113が記憶する空間補間行列の例を示す図である。
【図21】同実施形態において、空間補間機能部508が空間補間を行う処理手順を示すフローチャートである。
【図22】同実施形態において、距離計算機能部510が距離データ行列を生成する処理手順を示すフローチャートである。
【図23】同実施形態において、k−NN法適用部512が注目点の空間補間を行う処理手順を示すフローチャートである。
【発明を実施するための形態】
【0022】
<第1の実施形態>
以下、図面を参照して、本発明の実施形態について説明する。
図1は、本発明の第1の実施形態における補間装置の概略構成を示す構成図である。
同図において、補間装置100は、取得要求受付機能部101と、共有センサデータ記憶装置読出機能部102と、時系列整列部103と、実センサデータ行列記憶部104と、時系列補間機能部105と、時系列補間行列記憶部107と、空間補間機能部108と、空間補間行列記憶部113と、回答機能部114とを具備する。時系列補間機能部105は、第一段補間機能部106を具備する。空間補間機能部108は、第二段補間機能部109を具備する。第二段補間機能部109は、決定木生成部110と、決定木記憶部111と、決定木適用部112とを具備する。
また、補間装置100は、共有センサデータ記憶装置115、および、ユビキタスアプリケーション装置116と接続している。
【0023】
補間装置100は、ユビキタスアプリケーション装置116からのセンサデータの要求を示す取得要求データに応じて、共有センサデータ記憶装置115からセンサデータを読み出し、欠損しているデータを補間してユビキタスアプリケーション装置116に送信する。
取得要求受付機能部101は、ユビキタスアプリケーション装置116に接続されており、ユビキタスアプリケーション装置116がセンサデータを要求する取得要求データを受信すると、受信した取得要求データを時系列整列部103に出力する。
共有センサデータ記憶装置読出機能部102は、共有センサデータ記憶装置115からセンサデータを読み出す。
【0024】
時系列整列部103は、共有センサデータ記憶装置読出機能部102が共有センサデータ記憶装置115から読み出すセンサデータを時系列に整列して実センサデータ行列を生成する。
実センサデータ行列記憶部104は、時系列整列部103が生成する実センサデータ行列を記憶する。
時系列補間機能部105は、実センサデータ行列に対して時系列補間を行い、時系列補間行列を生成する。第一段補間機能部106は、実センサデータ行列の個々の要素に対する時系列補間を行う。
時系列補間行列記憶部107は、時系列補間機能部105が生成する時系列補間行列を記憶する。
【0025】
空間補間機能部108は、時系列補間行列に対して空間補間を行い、空間補間行列を生成する。第二段補間機能部109は、時系列補間行列の個々の要素に対する空間補間を行う。決定木生成部110は、空間補間に用いられる決定木を生成する。決定木記憶部111は、決定木生成部110が生成した決定木を記憶する。決定木適用部112は、決定木を用いて、時系列補間行列の個々の要素に対する空間補間を行う。
空間補間行列記憶部113は、空間補間機能部108が生成した空間補間行列を記憶する。
回答機能部114は、空間補間行列からユビキタスアプリケーション装置116が要求するセンサデータを読み出して、取得データに対する回答である回答データを生成し、生成した回答データをユビキタスアプリケーション装置116に送信する。
【0026】
共有センサデータ記憶装置115は、センサ(不図示)が計測したデータである実センサデータを記憶する。共有センサデータ記憶装置115は、例えばリレーショナルデータベース管理システム(RDBMS)を用いて実現できる。
ユビキタスアプリケーション装置116は、アプリケーションを実行し、アプリケーション実行の際に必要となったセンサデータを要求する取得要求データを、補間装置100に送信する。
【0027】
次に、共有センサデータ記憶装置読出機能部102が記憶する個々のセンサデータである実センサデータのデータ構成について説明する。
図2は、実センサデータの例を示す図である。
同図に示すように、実センサデータは、実測値の行とメタデータの行とを含み、各行は、属性と、区切り記号「=」と、値との結合により構成されている。実センサデータは、実測値の計測位置を示すメタデータ(Meta Data)と、実測値の計測時刻を示すメタデータとを含む。なお、実センサデータが、センサの種別を示すメタデータあるいはセンサアドレスを示すメタデータなど、実測値の計測位置を示すメタデータと、実測値の計測時刻を示すメタデータと以外のメタデータを含むようにしてもよい。
図2の例では、実センサデータD120は、実測値(属性が「センサ値」のデータ)と、実測値の計測位置を示すメタデータ(属性が「位置」のメタデータ)と、実測地の計測時刻を示すメタデータ(属性が「時刻」のメタデータ)と、センサの種別を示すメタデータ(属性が「センサの種別」のメタデータ)とを含む。
【0028】
次に、ユビキタスアプリケーション装置116が補間装置100に要求するセンサデータの条件を示す、取得要求データのデータ構成について説明する。
図3は、取得要求データの例を示すデータ構成図である。
同図の例では、取得要求データD200は、ユビキタスアプリケーション装置116が要求するセンサデータの条件として、センサの位置の範囲をN35.00.00.000(北緯35.00.00.000度。以下同様。)およびE139.00.00.000(東経139.00.00.000度。以下同様。)からN35.00.10.000およびE139.00.10.000までとする条件C11と、センサデータの計測時刻の範囲を2006/03/01 00:00:00(2006年3月1日0時0分0秒。以下同様)から2006/3/1 03:00:00までとする条件C12と、センサデータの取得時間間隔を01:00:00(1時間)とする条件C13と、センサの種別を温度センサとする条件C14とを含む。
【0029】
なお、補間装置100が扱う取得要求データは、図3に示すものに限らず、センサと計測時刻とを示して、当該センサの当該計測時刻における計測値を要求するものであればよい。
特に、図3の取得要求データD200は、センサを選択する条件としてセンサの位置の範囲が示されているが、これに代えて、センサID(Identifier、識別情報)の範囲を条件として用いてもよいし、あるいは、センサのネットワークアドレスの範囲を用いてセンサの条件を示してもよい。あるいは、これらの組み合わせからなる条件を用いてもよい。また、計測時刻を示す方法も、図3の時刻範囲と周期とを示す方法に限らず、例えば、計測時刻を全て列挙してもよい。
【0030】
次に、補間装置100が共有センサデータ記憶装置115から読み出す実センサデータの条件を示すデータである検索要求データのデータ構成について説明する。
図4は、検索要求データの例を示す図である。
同図の例では、検索要求データD210は、補間装置100が読み出す実センサデータの条件として、センサの位置(センサデータ計測位置)の範囲をN34.50.00.000およびE138.50.00.000からN35.10.00.000およびE139.10.00.000までとする条件C21と、センサデータの計測時刻の範囲を2006/02/01 00:00:00から2006/03/01 03:00:00までとする条件C22とを含む。
後述するように、補間装置100は、受信する取得要求データよりも広い範囲を示す検索要求データを生成する。例えば、補間装置100は、取得要求データが示すセンサ位置の範囲に対して数倍のセンサを含む範囲、あるいは、数倍の面積の範囲を、検索要求データが示すセンサ位置の範囲とする。
時間方向に関しても、補間装置100は、取得要求データよりも広い時刻範囲を示す検索要求データを生成する。例えば、取得要求データが要求するセンサデータが日周変動するものであれば数日分、あるいは、月周変動するものであれば数ヶ月分のセンサデータを選択する検索要求データを生成する。
【0031】
なお、検索要求データのセンサの種別は、取得要求データのセンサの種別に限らない。例えば、取得要求データが温度情報を要求する場合に、補間装置100が、温度情報に加えて湿度情報も要求する検索要求データを生成するようにしてもよい。
なお、検索要求データの検索条件は、図4に示すものに限らず、センサデータ計測時刻の範囲を示す条件と、センサを選択する条件とを含んでいればよい。例えば、センサを選択する条件として、図4に示すセンサデータ計測位置の範囲に代えて、センサIDの範囲、またはセンサアドレス、またはこれらの条件の組み合わせからなる条件を含んでいてもよい。また、センサの種別など、他の情報を含んでいてもよい。
【0032】
次に、時系列整列部103が生成し、実センサデータ行列記憶部104が記憶する実センサデータ行列のデータ構成について説明する。
図5は、実センサデータ行列の例を示すデータ構成図である。
実センサデータ行列の、各行が1つの単位領域に対応し、各列が1つの計測時刻に対応する。
ここで、「単位領域」とは、センサが設置された空間を幾つかの領域に分割した各領域をいう。図5の例では、各行の「A」、[B]、「C」は、センサが設置された空間を緯度および経度に応じて3つの領域に区分したうちの、各々1つの区画を示し、各区画に1つのセンサが設置されている。以下では、単位領域内のセンサを、当該センサが設置された単位領域「A」、[B]、「C」にて示す。図4の取得要求データが示す位置の範囲C11には、センサA、B、Cの3つのセンサが含まれており、時系列整列部103は、これら3つのセンサ全てに対応する実センサデータ行列を生成する。
なお、1つの単位領域に複数のセンサが含まれていてもよい。この場合、時系列生成部103は、単位領域内の各センサの計測値の平均値を実測値(実センサデータ値)として、実センサデータ行列を生成する。あるいは、中間値または最頻値など、平均値以外の値を実測値として用いるようにしてもよい。
【0033】
なお、本実施形態のセンサA、B、Cはいずれも温度センサであり、設置された位置における温度を摂氏(°C)にて計測する。ただし、実センサデータ行列が含むセンサデータの属性は、温度に限らないし、1種類にも限らない。例えば、実センサデータ行列が、湿度と降水量など、複数の属性のセンサデータを含むようにしてもよい。
また、図5の例では、各列は、2006/02/01 00:00:00、同 00:30:00、・・・、2006/02/28 22:30:00、同 23:00:00、・・・というように、30分間隔の計測時刻の各々を示している。以下では、この実センサデータ行列における計測時刻の各々を「単位時刻」という。この単位時刻は、取得要求データが示す取得間隔が単位時刻の間隔の倍数となるように定められる。例えば、図3の取得要求データD200が示す取得間隔は1時間であり、これに対して、図5の実センサデータでは、取得間隔の半分の30分が単位時刻の間隔となっている。このように、時系列整列部103は、取得要求データが示す取得間隔が単位時刻の間隔の倍数となるように定めて、取得要求データが示す計測時刻の全てに対応する実センサデータ行列を生成する。
【0034】
実センサデータ行列の各要素は、行に対応するセンサが、列に対応する時刻に計測したデータ値を示す。図5の例では、要素Va102の値は、センサAが2006/02/01 00:30:00に計測したデータ値「7.0」(°C)である。
ここで、実センサデータ行列の全ての要素が、センサによって実際に計測されたデータで埋められるとは限らない。図5の場合、センサAは2006/02/01 00:00:00には計測を行っておらず、この時刻の実測データVa101は存在しない。同図において、実測データが存在しないことが「‐」によって示されている。以下では、実測データが存在しないことを「欠損」するといい、実測データが存在しない場合のセンサデータ値を「欠損値」という。
【0035】
例えば、単位領域Aでは、2006/02/01 00:30:00から3時間間隔で実測データVa102とVa103とVa109とが得られており、単位領域Cでは2006/02/01 0:00:00から2時間間隔で実測データVc101とVc104とVc108とVc112とが得られている。図5では、単位時刻の間隔が30分に設定されており、2006/03/01 00:00:00から03:00:00の範囲では、単位領域Aは2006/03/01 00:00:00から1:00:00までの値Va106〜Va108、および02:00:00から03:00:00までの値Va110〜Va112が欠損値となっており、単位領域Cでは00:00:00から0:30:00までの値Vc106とVc107、および01:30:00から02:30:00までの値Vc109〜Vc111が欠損値となっている。
【0036】
次に、時系列補間行列記憶部107が記憶する時系列補間行列のデータ構成について説明する。ここでいう「時系列補間」とは、補間対象の値を、同一の単位領域の他の時刻における実センサデータに基づいて算出することである。時系列補間行列は、実センサデータ行列の各欠損値を、同一の単位領域の他の時刻における実センサデータに基づいて補間して得られる行列である。
図6は、時系列補間行列の例を示す図である。
同図の例では、例えば、単位領域Aの2006/02/01 00:00:00の値Va201には、同じく単位領域Aの2006/02/01 00:03:00の実センサデータ値Va102が保持されている。また、単位領域Aの2006/02/28 23:00:00から2006/03/01 01:00:00までの値Va204〜Va208は、同じく単位領域Aの2006/02/28 22:30:00の実センサデータ値Va103と2006/03/01 01:30:00の実センサデータ値Va109によって線形補間された値が保持されている。また、単位領域Aの2006/03/01 02:00:00から2006/03/01 03:00:00までの値Va210〜Va212は、同じく単位領域Aの2006/03/01 01:30:00の値Va109が保持されている。
【0037】
次に、決定木生成部110が生成する決定木のデータ構成について説明する。
図7は、単位領域Aの決定木の例を示す図である。
決定木は、時系列補間行列の要素に対して空間補間を行う際に用いられる二分木であり、リーフ(Leaf)N8〜N15の各々には補間後の要素の値の候補が割り当てられている。なお、ここでいう「空間補間」とは、補間対象の値を、同時刻の他の単位領域の値に基づいて算出することである。例えば、図6の単位領域Aの値Va206を、同時刻2006/03/01 00:00:00における単位領域Bの値Vb206(「10.6」)と、同時刻における単位領域Cの値Vc206(「10.1」)とに基づいて算出する。
【0038】
図7の例では、リーフN8には、図6の時系列補間行列M320の、単位領域Aの行の要素のいずれかを補間する場合の、補間後の値の候補「−3.7」が割り当てられている。同様に、リーフN9には、補間後の値の候補「−0.9」が割り当てられている。以下では、補間対象の単位領域のセンサ値を示す変数を「目的変数」、それ以外の単位領域のセンサ値を示す変数を「説明変数」という。図7の例では、目的変数Aは、補間対象の単位領域Aのセンサ値を示し、説明変数B、Cは、それぞれ、単位領域B、Cのセンサ値を示す。
また、ルート(Root)N1を含む各ノード(Node)N1〜N7には、説明変数を用いた条件式が割り当てられている。例えば、図7のノードN1には、説明変数Cを用いた条件式「C<2.838」が割り当てられている。
【0039】
図7の決定木を用いて、ある時刻(以下、「注目単位時刻」という)における単位領域Aの値を決定するためには、まず、説明変数B、Cの各々に、それぞれ補間対象の時刻における単位領域B、Cの値を代入する。そして、ルート(ノード番号N1のノード)から順に、各ノードの条件式が成立すれば左、成立しなければ右に分岐しながらリーフ(ノード番号N8〜N15のノード)へ進み、到達したリーフに割り当てられた値を単位領域Aの注目単位時刻における値とする。
例えば、図6の2006/03/01 00:00:00における単位領域Aの値Va206を補間する場合、図7の決定木の説明変数Bには、時系列補間行列中の、同時刻における単位領域Bの値(図6のVb206の値「10.6」)を代入し、説明変数Cには、同時刻における単位領域Cの値(図6のVc206の値「10.1」)を代入する。
そして、ルートN1から決定木を辿ると、ルートN1の条件式C(=10.1)<2.838は不成立なので、右に分岐してノードN3に至る。ノードN3の条件式C(=10.1)<8.913は不成立なので、右に分岐してノードN7に至る。ノードN3の条件式C(=10.1)<12は成立するので、左に分岐してリーフN14に至り、リーフN14の値「9.6」を補間後の値とする。
【0040】
次に、決定木記憶部111が記憶する決定木データのデータ構成について説明する。
図8は、決定木記憶部111が記憶する決定木データの例を示す図である。
決定木記憶部111は、目的変数ごとに、決定木生成部110が生成した決定木を、決定木の構造がわかるフォーマットで、決定木データとして記憶する。
図8の例では、各行の最も左の値は、ノード番号を示す。ノード番号1のノードがルートである。ノード番号2〜15の行の左から2番目の値は、当該ノードに至る分岐条件を示す。ノード番号8〜15の行の左から3番目(最も右)の値は、目的変数Aの値を示す。
【0041】
同図の決定木データを用いて目的変数Aの値を得るためには、まず、ルート(ノード番号1)から出発し、決定木記憶部111が記憶する目的変数Aのデータのうち、ノード番号が2のノードと、ノード番号が3のノードとを検索し、それぞれの分岐条件を得る。得られた分岐条件に従い、説明変数Cの値が2.838未満であればノード2に進み、2.838以上であればノード3に進む。
このように、ノード番号i(iは、1≦i≦7の正整数)のノードからは、ノード番号2iのノードと、ノード番号2i+1のノードを検索し、分岐条件が成立するいずれかのノードに進む。これを繰り返すことにより、図7に示した決定木を用いた場合と同じリーフに到達し、目的変数Aの値を得る。
【0042】
次に、空間補間行列記憶部113が記憶する空間補間行列のデータ構成について説明する。
図9は、空間補間行列の例を示す図である。
空間補間行列は、時系列補間行列に対して空間補間を行って得られる行列である。例えば、単位領域Aの2006/03/01 00:00:00の値Va306を求める場合、図6の時系列補間行列M320の、単位領域Bの2006/03/01 00:00:00の値Vb206である「10.6」と単位領域Cの2006/03/01 00:00:00の値Vc206である「10.1」とを用いて、図7に示す単位領域Aの決定木を辿る。すると、値が「9.6」のリーフN14に到達するため、空間補間行列の2006/03/01 00:00:00における単位領域Aの値を「9.6」としている。
また、単位領域B、Cについても単位領域Aと同様に、決定木生成部110が決定木を生成し、生成された決定木を用いて空間補間機能部108が空間補間を行った値となっている。
【0043】
次に、回答機能部114が生成する回答データのデータ構成について説明する。
図10は、回答データの例を示す図である。
回答データは、取得要求データに応じて回答機能部114が生成するデータであり、空間補間行列記憶部113が記憶するセンサデータのうち、取得要求データの要求する、位置の範囲と時刻の範囲と取得間隔とに合致するデータを、実センサデータと同じ形式で示す。
図10の例では、図3の取得データ要求の位置条件C11に応じて、N35.00.00.00およびE139.00.00.000から、N35.00.10.00およびE139.00.10.000の領域内にあるセンサAのセンサ値を、時刻条件C12に応じて、2006/03/01 00:00:00から2006/03/01 03:00:00までの時刻の範囲で、条件C13に応じて、1時間間隔で示している。
【0044】
ここで、実センサデータが欠損する時刻においては、センサ値のみならず、メタデータも存在しない。そこで、回答機能部114は、例えば直前の実センサデータのメタデータをコピーするなど、同一の単位領域の他の時刻における実センサデータに基づいて、実センサデータが欠損する時刻のメタデータを生成する。図10の例では、回答機能部114は、2006/03/01 02:00:00のデータの「センサの種別」と「位置」と「時刻」とのメタデータを、直前の実センサデータである2006/03/01 01:30:00の実センサデータのメタデータをコピーして生成している。
なお、回答機能部114が生成する回答データは、図10に示す、1つの単位領域のデータに限らない。例えば、回答機能部114が、複数の単位領域からなる表形式のデータを生成するなど、複数の単位領域のデータを含む回答データを生成するようにしてもよい。
【0045】
次に、補間装置100の動作について説明する。
ユビキタスアプリケーション装置116が取得要求データを送信すると、送信された取得要求データを取得要求受付機能部101が受信し、時系列整列部103に出力する。時系列整列部103は、取得要求受付機能部101からの取得要求データに基づいて、共有センサ記憶装置115から読み出す実センサデータの条件をSQLの検索式で記述した、検索要求データを生成する。
例えば、時系列整列部103は、図3の取得要求データの出力を受けると、この取得要求データの示す位置条件C11および時刻条件C12よりも広い位置条件C21および時刻条件C22を示す検索要求データを生成する。
【0046】
時系列整列部103は、生成した検索要求データを、共有センサデータ記憶装置読出機能部102に出力し、共有センサデータ記憶装置読出機能部102は、共有センサデータ記憶装置115を検索して、検索要求データが示す条件に合致する実センサデータを全て読み出し、読み出した実センサデータを、時系列整列部103に出力する。
時系列整列部103は、単位時刻と単位領域で区分した行列を生成し、共有センサ記憶装置115から読み出した実センサデータを、各々の位置および時刻に対応する単位領域および単位時刻の箇所に書き込む。
時系列整列部103は、生成した行列を、実センサデータ行列記憶部104に実センサデータ行列として書き込み、時系列補間を行うよう指示する信号を時系列補間機能部105に出力する。
【0047】
図11は、時系列補間機能部105が、実センサデータ行列を時系列補間する処理手順を示すフローチャートである。時系列補間機能部105は、時系列整列部103から時系列補間を行うよう指示する信号の出力を受けると同図の処理を開始する。
手順S300において、時系列補間機能部105は、まず、実センサデータ行列記憶部104から実センサデータ行列を読み出す。
手順S301において、時系列補間機能部105は、読み出した実センサデータ行列の単位領域の各々を順に注目単位領域に設定し、設定した注目単位領域において以下の処理(手順302以降)を行うループを実行する。
手順S302において、時系列補間機能部105は、注目単位領域の単位時刻の各々を順に注目点に設定し、設定した注目点において以下の処理(手順303以降)を行うループを実行する。
手順S303において、時系列補間機能部105は、注目点にデータが存在するか否かを判定する。データが存在すると判定した場合(手順S303:はい)は手順305に進み、存在しないと判定した場合(手順S303:いいえ)は手順S304へ進む。
手順304において、第一段補間機能部106は、時系列補間を行う。
【0048】
図12は、第一段補間機能部106が時系列補間を行う処理手順を示すフローチャートである。
手順S310において、第一段補間機能部106は、行列の注目点と同一の単位領域で、注目点より過去のデータの有無を判定する。注目点より過去のデータがあると判定した場合(手順S310:はい)は手順S312へ進み、無いと判定した場合(手順S310:いいえ)は手順S311へ進む。
手順S311において、第一段補間機能部106は、注目点より未来のデータの有無を判定する。注目点より未来のデータがあると判定した場合(手順S311:はい)は手順S315へ進む。注目点より未来のデータが無いと判定した場合(手順S311:いいえ)は、この単位領域にはデータが存在しないので、第一段補間機能部106は時系列補間を断念し、同図の処理を終了する。
【0049】
手順S312において、第一段補間機能部106は、注目点より未来のデータの有無を判定する。注目点より未来のデータがあると判定した場合(手順S312:はい)は手順S313へ進み、ないと判定した場合(手順S312:いいえ)は手順S314へ進む。
手順S313において、第一段補間機能部106は、注目点に最も近い過去のデータおよび未来のデータの2点を用いて線形補間した値を行列の注目点に代入する。その後、同図の処理を終了する。
手順S314において、この場合は、注目点より過去のデータは存在するが、未来のデータは存在しないので、第一段補間機能部106は、注目点に最も近い過去のデータを行列の注目点に代入する。その後、同図の処理を終了する。
手順S315において、この場合は、注目点より未来のデータは存在するが、過去のデータは存在しないので、第一段補間機能部106は、注目点に最も近い未来データを行列の注目点に代入する。その後、同図の処理を終了する。
なお、第一段補間機能部106が手順313で行う補間アルゴリズムは、上述した線形補間に限らない。例えば、平均値補間、あるいは、直前値補間、あるいは、スプライン補間など、線形補間以外の補間アルゴリズムを用いるようにしてもよい。
【0050】
図11に戻って、手順S305において、時系列補間機能部105は、注目単位領域の全ての単位時刻について手順S302以下の処理を行ったか否かを判定する。未処理の単位時刻が残存すると判定した場合は、手順S302に戻って、未処理の単位時刻の処理を行う。全ての単位時刻について処理が完了したと判定した場合は、手順S306に進む。
手順S306において、時系列補間機能部105は、実センサデータ行列の全ての単位領域について手順S301以下の処理を行ったか否かを判定する。未処理の単位領域が残存する場合は、手順S301に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了した場合は、手順S307に進む。
手順S307において、時系列補間機能部105は、時系列補間を行って得られる行列(時系列補間行列)を、時系列補間行列記憶部107書き込む。書き込み終わると、時系列補間機能部105は、空間補間機能部108に、空間補間を行うよう指示する信号を出力する。その後、同図の処理を終了する。
【0051】
図13は空間補間機能部108が空間補間を行う処理手順を示すフローチャートである。空間補間機能部108は、時系列補間機能部105から、空間補間を行うよう指示する信号の出力を受けると同図の処理を開始する。
手順S400において、空間補間機能部108の決定木生成部110は、決定木を生成する。
【0052】
図14は、決定木生成部110が決定木を生成する処理手順を示すフローチャートである。決定木は、図7の例のように、分類アルゴリズムを木構造で表現する二分木であり、分類や予測に広く用いられている。決定木を用いた分類や予測は、図7で説明したように、説明変数の値と、各ノードに割り当てられた条件式とに従って決定木を辿ることによって行う。各ノードに割り当てられる条件式は、情報利得あるいはジニ係数あるいはエントロピーを計算することで、容易に生成できることが知られている。
手順S410において、決定木生成部110は、取得要求データよりも過去の時刻範囲の時系列補間行列を、決定木の教師データとして時系列補間行列記憶部107から読み出す。例えば、決定木生成部110は、図6の時系列補間行列記憶部107が記憶する時系列補間行列のうち、図3の取得要求データに示された時刻2006/03/01 00:00:00よりも前の、2006/02/01 00:00:00から2006/02/28 23:30:00の範囲の時系列補間行列を読み出す。
【0053】
手順S411において、決定木生成部110は、読み出した時系列補間行列の単位領域の各々を順に注目単位領域として設定し、設定した注目単位領域において、以下の処理(手順412以降)を行うループを実行する。
手順S412において、決定木生成部110は、読み出した教師データ行列の、同一の単位時刻における、注目単位領域を目的変数、注目単位領域以外の単位領域を説明変数とした、注目単位領域の決定木を生成する。
決定木生成部110は、CARTアルゴリズムを用いて決定木を生成する。なお、決定木生成部110が決定木を生成する方法はCARTアルゴリズムを用いる方法に限らない。例えば、ID3またはC4.5またはC5.0など、他のアルゴリズムを用いて決定木を生成するようにしてもよい。
【0054】
手順S413において、決定木生成部110は、生成した決定木を示す決定木データを、決定木記憶部111が記憶するテーブルの該当する目的変数の欄に書き込む。図8の例では、決定木生成部110は、単位領域Aを目的変数とする決定木(図7の決定木)の決定木データを、決定木記憶部111が記憶するテーブルの目的変数Aの欄に書き込んでいる。
手順S414において、決定木生成部110は、時系列補間行列内の全ての単位領域について手順S412以降の処理を行ったか否かを判定する。未処理の単位領域が残存すると判定した場合は、手順S411に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了したと判定した場合は、図14の処理を終了する。
【0055】
図13に戻って、手順S401において、空間補間機能部108は、実センサデータ行列記憶部104から取得要求データの時刻の範囲に合致する範囲の実センサデータ行列を読み出す。
手順S402において、空間補間機能部108は、読み出した実センサデータ行列の単位領域の各々を順に注目単位領域に設定し、設定した注目単位領域において、以下の処理(手順403以降)を行うループを実行する。
手順S403において、空間補間機能部108は、注目単位領域の単位時刻の各々を順に注目点に設定し、設定した注目点において、以下の処理(手順404以降)を行うループを実行する。
手順S404において、空間補間機能部108は、注目点にデータが存在するかどうかを判定する。データが存在すると判定した場合(手順S404:はい)は手順S406に進む。存在しないと判定した場合(手順S404:いいえ)は手順S405に進む。
手順S405において、決定木適用部112は、注目点に対する空間補間を行う。
【0056】
図15は、決定木適用部112が注目点に対する空間補間を行う処理手順を示すフローチャートである。
手順S430において、決定木適用部112は、決定木記憶部111を検索して、行列の注目点を含む単位領域を目的変数とする決定木データの有無を判定する。該決定木データがあると判定した場合(手順S430:はい)は手順S431に進む。一方、該決定木データが無いと判定した場合(手順S430:いいえ)は、空間補間を断念し、同図の処理を終了する。
手順S431において、決定木適用部112は、決定木記憶部111から該決定木データを読み出す。
【0057】
手順S432において、決定木適用部112は、該単位領域の決定木データに基づき、時系列補間行列記憶部から、注目点を含む単位時刻の、説明変数に対応する単位領域のデータを、説明データとして読み出す。
手順S433において、決定木適用部112は、該当する説明データが欠損しているか否かを判定する。欠損していると判定した場合(手順S433:はい)は、空間補間を断念し、同図の処理を終了する。一方、欠損していないと判定した場合(手順S433:いいえ)は手順S434に進む。
手順S434において、決定木適用部112は、図7で説明したのと同様に、決定木記憶部111から読み出した決定木データの各ノードに割り当てられた条件式に対して、注目点を含む単位時刻の説明データを代入し、条件式の成否に従って決定木を辿り、辿り着いたリーフに割り当てられた値を、空間補間後の値として、空間補間行列の注目点の要素に書き込む。その後、決定木適用部112は、同図の処理を終了する。
【0058】
図13に戻って、手順S406において、空間補間機能部108は、注目単位領域の全ての単位時刻について手順S404以下の処理を行ったか否かを判定する。未処理の単位時刻が残存すると判定した場合は、手順S403に戻って、未処理の単位時刻の処理を行う。全ての単位時刻について処理が完了したと判定した場合は、手順S407に進む。
手順S407において、空間補間機能部108は、実センサデータ行列の全ての単位領域について手順S403以下の処理を行ったか否かを判定する。未処理の単位領域が残存する場合は、手順S402に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了した場合は、手順S408に進む。
手順S408において、空間補間機能部108は、生成した空間補間行列を空間補間行列記憶部113に保存し、ユビキタスアプリケーション装置116へ回答を行うよう指示する信号を、回答機能部114に出力する。その後、空間補間機能部108は、図13の処理を終了する。
【0059】
ユビキタスアプリケーション装置116へ回答を行うよう指示する信号の出力を空間補間機能部108から受けた回答機能部114は、空間補間行列記憶部113から空間補間行列を読み出し、読み出した空間補間行列に基づいて回答データを生成し、生成した回答データをユビキタスアプリケーション装置116に送信する。
具体的には、回答機能部114は、取得要求データからセンサを示す情報と、計測時刻の範囲を示す情報と、を読み出し、読み出した情報に該当するセンサおよび計測時刻の計測値を空間補間行列から読み出す。例えば、回答機能部114は、図3の取得データ要求の位置条件C11に応じて、N35.00.00.00およびE139.00.00.000から、N35.00.10.00およびE139.00.10.000の領域内にあるセンサAのセンサ値を、時刻条件C12に応じて、2006/03/01 00:00:00から2006/03/01 03:00:00までの時刻の範囲で、条件C13に応じて、1時間間隔で、図9の空間補間行列から計測値を読み出す。また、図10で説明したように、回答機能部114は、2006/03/01 02:00:00および同日03:00:00のデータの「センサの種別」と「位置」と「時刻」とのメタデータを、直前の実センサデータである2006/03/01 01:30:00の実センサデータのメタデータをコピーして生成する。また、2006/03/01 00:00:00および同日01:00:00のデータの「センサの種別」と「位置」と「時刻」とのメタデータを、直前の実センサデータである2006/02/28 22:30:00の実センサデータのメタデータをコピーして生成する。
回答機能部は、空間補間行列から読み出した計測値と、実センサデータからコピーしたメタデータとを含む図10の回答データを生成し、ユビキタスアプリケーション装置116に送信する。
【0060】
図16および図17は、補間装置100が、ユビキタスアプリケーション装置116から送信される取得要求データに応じた回答データを生成し送信(回答)する処理手順を示すシーケンス図である。
図16において、まず、ユビキタスアプリケーション装置116が、補間装置100に取得要求データを送信すると(シーケンスS801)、補間装置100の取得要求受付機能部101が、取得要求データを受信し、時系列整列部103に出力(転送)する(シーケンスS802)。
時系列整列部103は、転送された取得要求データに基づいて、検索要求データを生成し、生成した検索要求データを共有センサデータ記憶装置読出機能部102に出力する(シーケンスS803)。
【0061】
共有センサデータ記憶装置読出機能部102は、時系列整列部103からの検索要求データに基づいて、共有センサデータ記憶装置115を検索し、実センサデータを読み出す。具体的には、共有センサデータ記憶装置読出機能部102は、検索要求データを共有センサデータ記憶装置115に送信する(シーケンスS804)。共有センサデータ記憶装置115は、内部の記憶部を検索して検索要求データに応じた実センサデータ読み出し(シーケンスS085)、読み出した実センサデータを補間装置100に送信する(シーケンスS806)。補間装置100の共有センサデータ記憶装置読出機能部102は、実センサデータを受信し、時系列整列部103に出力(転送)する(シーケンスS807)。
時系列整列部103は、共有センサデータ記憶装置読出機能部102からの実センサデータに基づいて実センサデータ行列を生成し(シーケンスS808)、生成した実センサデータ行列を実センサデータ行列記憶部104に書き込む(シーケンスS809)。その後、時系列整列部103は、時系列補間を行うよう指示する信号を時系列補間機能部105に出力する(シーケンスS810)。
【0062】
図17に移り、時系列整列部103からの信号の出力を受けた時系列補間機能部105は、実センサデータ行列記憶部104から実センサデータ行列を読み出し(シーケンスS821)、時系列補間を行って時系列補間行列を生成し(シーケンスS822)、生成した時系列補間行列を時系列補間行列記憶部107に書き込む(シーケンスS823)。その後、時系列補間機能部105は、空間補間機能部108に、空間補間を行うよう指示する信号を出力する(シーケンスS824)。
時系列補間機能部105からの信号の出力を受けた空間補間機能部108は、実センサデータ行列記憶部104から実センサデータを読み出して(シーケンスS825)、決定木を生成する(シーケンスS826)。そして、空間補間機能部108は、実センサデータ行列を読み出し(シーケンスS827)、時系列補間行列記憶部107から単位時刻毎に説明データを読み出して(シーケンスS828)、空間補間を行って空間補間行列を生成し(シーケンスS829)、生成した空間補間行列を空間補間行列記憶部113に書き込む(シーケンスS830)。その後、空間補間機能部108は、ユビキタスアプリケーション装置116へ回答を行うよう指示する信号を、回答機能部114に出力する(シーケンスS831)。
回答機能部114は、空間補間行列記憶部113から空間補間行列を読み出し(シーケンスS832)、取得要求データに応じた回答データを生成し(シーケンスS833)、生成した回答データをユビキタスアプリケーション装置116に送信する(シーケンスS834)。
【0063】
以上述べたように、補間装置100は、共有センサデータ記憶装置から得られる実測データに対して、時系列補間機能部105が時系列補間を行った後に、空間補間機能部108が空間補間を行うので、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いによって生じるデータの欠損、特に、周期的な欠損や高い欠損率での欠損に対しても補間を行うことができる。
また、時系列補間と空間補間とを併用することにより、センサデータの時間相関と空間相関とを反映させた、より正確な補間値を得られることが期待できる。
例えば、単に線形補間により時系列補間を行う場合、センサの一時的な誤計測、またはセンサデータ送信時のノイズ混入、または計測値の局所的かつ瞬間的な変動などにより、実測データが大きく変動している場合、この実測データを用いて補間される周辺時刻のセンサデータは、大きな誤差を含んだ不正確な値となってしまう。これに対して、補間装置100が行う補間では、複数のセンサデータとの相関をとって補間を行うので、1つのセンサデータに含まれる誤差の影響が軽減され、より正確な値を得られることが期待できる。
また、ユビキタスアプリケーション装置116から要求されているセンサデータが、取得周期が大きい(実測値の個数が少ない)単位領域のデータである場合にも、取得周期が小さい(実測値の個数が多い)単位領域のセンサデータを用いて補間を行うことにより、より正確な値を得られることが期待できる。
さらに、時系列補間の結果の値を用いることで決定木を生成でき、注目単位領域と相関の高い単位領域のデータを説明変数に選択し、相関関係の高いデータの値を、より強く補間値に反映させることができる。これにより、単に線形補間あるいは平均値補間を行う場合よりも、より正確な値を得られることが期待できる。
【0064】
なお、空間補間機能部108が、第二段補間機能部の生成する空間補間による補間値と、第一段補間機能部106が生成する時系列補間による補間値とを直接的に反映させた補間値を生成するようにしてもよい。例えば、図13の手順S405において、決定木適用部112が注目点の空間補間による補間値を算出した際に、決定木適用部112は、算出した補間値を空間補間行列記憶部113には書き込まず、空間補間機能部108に出力する。空間補間機能部108は、時系列補間による注目点の補間値を、時系列補間行列記憶部107から読み出し、読み出した時系列補間による補間値と、決定木適用部112から出力される空間補間による補間値との平均値を算出し、算出した平均値を注目点の補間値として空間補間行列記憶部113に書き込む。
このように時系列補間による補間値と空間補間による補間値との平均を取ることにより、注目点の値を算出する際に、同一センサによる実測データとの時間相関と、同一時刻における他のセンサによる実測データとの空間相関とを直接的に反映させることができ、より正確な値を得られることが期待できる。
【0065】
さらに、空間補間機能部108が、時系列補間による補間値と、空間補間による補間値との平均値を算出する際に、注目点との時間関係や空間関係に基づいて加重平均を行うようにしてもよい。例えば、注目点の単位時刻とデータ測定時刻との時間差や、注目点のセンサ位置とデータ測定位置との距離に基づいて重みを決定することにより、時系列補間による補間値や、空間補間による補間値と、注目点におけるセンサデータとの相関関係をより正確に反映させることができ、より正確な値を得られることが期待できる。
【0066】
<第2の実施形態>
補間装置が行う空間補間は、第1の実施形態で説明した決定木を用いるものに限らない。本実施形態では、決定木以外による空間補間として、k−NN法による空間補間を行う補間装置について説明する。
図18は、本発明の第2の実施形態における補間装置の概略構成を示す構成図である。
同図において、補間装置500は、取得要求受付機能部101と、共有センサデータ記憶装置読出機能部102と、時系列整列部103と、実センサデータ行列記憶部104と、時系列補間機能部105と、時系列補間行列記憶部107と、空間補間機能部108と、空間補間行列記憶部113と、回答機能部114とを具備する。時系列補間機能部105は、第一段補間機能部106を具備する。空間補間機能部508は、第二段補間機能部509を具備する。第二段補間機能部509は、距離計算機能部510と、距離記憶部511と、k−NN法適用部512とを具備する。
また、補間装置500は、共有センサデータ記憶装置115、および、ユビキタスアプリケーション装置116と接続している。
同図において、図1の各部と同一の機能を有する部分には同一の符号(101〜107、113〜116)を付し、説明を省略する。
【0067】
空間補間機能部508は、時系列補間行列に対して空間補間を行い、空間補間行列を生成する。第二段補間機能部509は、時系列補間行列の個々の要素に対する空間補間を行う。距離計算機能部510は、k−NN法による空間補間に用いられる各単位領域間の距離を算出する。距離記憶部511は、距離計算機能部510が算出した各単位領域間の距離を記憶する。k−NN法適用部512は、各単位領域間の距離に基づいて、時系列補間行列の個々の要素に対する空間補間を行う。
【0068】
次に、距離記憶部511が記憶する距離データ行列のデータ構成について説明する。
図19は、距離データ行列の例を示す図である。
距離データ行列の各距離データは、2つの単位行領域間の距離を示す。例えば、同図の1行目2列目の距離データD171は、単位領域Aと単位領域Bとの間の距離が5.0であることを示している。
【0069】
次に、本実施形態における空間補間行列について説明する。
図20は、空間補間行列記憶部113が記憶する空間補間行列の例を示す図である。
本実施形態の空間補間行列は、補間対象の要素(以下では「注目点」という)の値は、注目点を含まない単位領域のうち、注目点を含む単位領域との間の距離が、注目点を含む単位領域と注目点を含まない各単位領域との間の距離の平均値以下の単位領域の、注目点を含む時刻における、時系列補完行列上の値の平均値となっている。
例えば、図19において距離記憶部511が記憶している、単位領域Aと単位領域Bと間の距離は5.0であり、また、単位領域Aと単位領域Cとの間の距離は5.0である。従って、単位領域Aと他の単位領域(B、C)との距離の平均値は5.0であり、単位領域Aとの距離が平均値以下となるのは単位領域Bと単位領域Cとである。
このため、図20の単位領域Aの2006/03/01 00:00:00における値Va406(「10.4」)は、図6の時系列補間行列の単位領域Bの同時刻における値Vb206(「10.6」)と、図6の時系列補間行列の単位領域Cの同時刻における値Vc206(「10.1」)との平均値(小数第2位を四捨五入した値)となっている。
図20の単位領域B、Cの値も、単位領域Aと同様に、空間補間を行った値となっている。
【0070】
次に、空間補間機能部508の動作について説明する。
図21は、空間補間機能部508が空間補間を行う処理手順を示すフローチャートである。
手順S600において、距離計算機能部510は、各単位領域間の距離を算出し、算出した距離を、距離記憶部511の距離データ行列に書き込む。
【0071】
図22は、距離計算機能部510が距離データ行列を生成する処理手順を示すフローチャートである。
手順S610において、距離計算機能部510は、第1の実施形態の決定木生成部110と同様、時系列補間行列記憶部107から、取得要求データよりも過去の時刻範囲の時系列補間行列を読み出す。例えば、距離計算機能部510は、図6の時系列補間行列記憶部107が記憶する時系列補間行列のうち、図3の取得要求データに示された時刻2006/03/01 00:00:00よりも前の、2006/02/01 00:00:00から2006/02/28 23:30:00の範囲の時系列補間行列を読み出す。
手順S611において、距離計算機能部510は、読み出した時系列補間行列の単位領域の各々を順に注目単位領域に設定し、設定した注目単位領域において、以下の処理(手順612以降)を行うループを実行する。
【0072】
手順S612において、距離計算機能部510は、注目単位領域を除く全単位領域の各々を順に距離計算単位領域に設定し、設定した距離計算単位領域において、以下の処理(手順613以降)を行うループを実行する。
手順S613において、距離計算機能部510は、注目単位領域の「位置」のメタデータと、距離計算単位領域の「位置」のメタデータとに基づいて、両者間のユークリッド距離を算出する。なお、センサA〜Cが移動する場合は、距離計算機能部510が、注目単位領域と距離計算単位領域との間の距離を単位時刻毎に算出するようにしてもよい。この場合、距離記憶部511は、各単位領域間の距離を、単位時刻毎に記憶する。
手順S614において、距離計算機能部510は、算出した距離を距離記憶部511に書き込む。
【0073】
手順S615において、距離計算機能部510は、注目単位領域を除く全単位領域について手順S613以降の処理を行ったか否かを判定する。未処理の単位領域が残存すると判定した場合は、手順S612に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了したと判定した場合は、手順S616に進む。
手順S616において、距離計算機能部510は、時系列補間行列の全ての単位領域について手順S612以降の処理を行ったか否かを判定する。未処理の単位領域が残存すると判定した場合は、手順S611に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了したと判定した場合は、同図の処理を終了する。
【0074】
図21に戻って、手順S601において、空間補間機能部508は、実センサデータ行列記憶部104から、実センサデータ行列を読み出す。
手順S602において、空間補間機能部508は、読み出した実センサデータ行列の単位領域の各々を順に注目単位領域に設定し、設定した注目単位領域において、以下の処理(手順603以降)を行うループを実行する。
手順S603において、空間補間機能部508は、注目単位領域の単位時刻の各々を順に注目点に設定し、設定した注目点において、以下の処理(手順604以降)を行うループを実行する。
手順S604において、空間補間機能部508は、注目点にデータが存在するかどうかを判定する。データが存在すると判定した場合(手順S604:はい)は手順S606に進み、存在しないと判定した場合(手順S604:いいえ)は手順S605に進む。
手順S605において、k−NN法適用部512は、注目点に対する空間補間を行う。
【0075】
図23は、k−NN法適用部512が注目点の空間補間を行う処理手順を示すフローチャートである。
k−NN法は、注目点からの距離が近いk個のデータの平均値あるいは中間値あるいは最頻値などを計算することで、注目点の値を判別する、広く用いられているアルゴリズムである。
手順S620において、k−NN法適用部512は、距離記憶部511から、注目点を含む単位領域と他の単位領域との間の距離データをすべて読み出す。
手順S621において、k−NN法適用部512は、読み出した距離の平均値を算出し、注目点を含む単位時刻において、注目点を含む単位領域との距離が平均値以下となる単位領域のセンサデータを、時系列補間行列記憶部107から読み出す。
【0076】
手順S622において、k−NN法適用部512は、手順621で読み込んだデータが欠損している(一部の単位領域のセンサデータが存在しない)か否かを判定する。欠損していると判定した場合(手順S622:はい)は、空間補間を断念して同図の処理を終了する。一方、欠損していないと判定した場合(手順S622:いいえ)は手順S623に進む。
手順S623において、k−NN法適用部512は、手順621で読み込んだデータの平均値を、注目点における空間補間後の値として空間補間行列記憶部113の空間補間行列に書き込む。その後、同図の処理を終了する。
【0077】
図21に戻って、手順S606において、空間補間機能部508は、注目単位領域の全ての単位時刻について手順S604以下の処理を行ったか否かを判定する。未処理の単位時刻が残存すると判定した場合は、手順S603に戻って、未処理の単位時刻の処理を行う。全ての単位時刻について処理が完了したと判定した場合は、手順S607に進む。
手順S607において、空間補間機能部108は、実センサデータ行列の全ての単位領域について手順S603以下の処理を行ったか否かを判定する。未処理の単位領域が残存する場合は、手順S602に戻って、未処理の単位領域の処理を行う。全ての単位領域について処理が完了した場合は、手順S608に進む。
手順S608において、空間補間機能部508は、生成した空間補間行列を空間補間行列記憶部113に保存し、ユビキタスアプリケーション装置116へ回答を行うよう指示する信号を、回答機能部114に出力する。その後、空間補間機能部108は、図21の処理を終了する。
【0078】
なお、空間補間機能部508が用いる距離は、位置データのユークリッド距離に限らない。例えば、距離計算機能部510が、メタデータの共起個数、あるいは、単位領域における時系列補間行列のデータの相関係数、あるいはこれらの組み合わせから計算される距離など、ユークリッド距離以外の距離を算出し、k−NN法適用部512が、算出された距離を用いて注目点の空間補間を行うようにしてもよい。
なお、k−NN法適用部512が、単位領域Bの値に対しては係数0.8を乗じた後に平均値を算出するなど、単位領域間の値の関係に一定の傾向がある場合は、k−NN法適用部512が、この傾向に応じた変換を行った後に平均値を算出するようにしてもよい。これにより、単位領域間の傾向が反映され、より正確な補間値を得られる。
【0079】
なお、k−NN法適用部512が算出する注目点における空間補間後の値は、上述した平均値に限らない。例えば、k−NN法適用部512が、中間値あるいは最頻値など、平均値以外の値を算出するようにしてもよい。あるいは、平均値を取る対象の単位領域の各々について、注目点を含む単位領域との距離が長いほど小さくなる重みを算出し、算出した重みを用いて加重平均を算出するようにしてもよい。単位領域間の距離が近いほど単位領域相互の値の相関関係が高い場合、重み付け平均を算出することにより、より正確な補間値を得られる。
【0080】
以上述べたように、補間装置500は、共有センサデータ記憶装置から得られる実測データに対して、時系列補間機能部105が時系列補間を行った後に、空間補間機能部508が空間補間を行うので、第1の実施形態の場合と同様に、センサによるデータ取得周期とアプリケーションが要求するデータ取得周期との違いによって生じるデータの欠損、特に、周期的な欠損や、高い欠損率での欠損に対しても、補間を行うことができる。
また、時系列補間と空間補間とを併用することにより、第1の実施形態の場合と同様に、センサデータの時間相関と空間相関とを反映させた、より正確な補間値を得られることが期待できる。これにより、単に線形補間あるいは平均値補間を行う場合よりも、より正確な値を得られることが期待できる。
【0081】
なお、第1の実施形態の場合と同様、空間補間機能部508が、第二段補間機能部509の生成する空間補間による補間値と、第一段補間機能部106が生成する時系列補間による補間値とを直接的に反映させた補間値を生成するようにしてもよい。例えば、第1の実施形態の場合と同様、時系列補間による補間値と空間補間による補間値との平均を取ることにより、注目点の値を算出する際に、同一センサによる実測データとの時間相関と、同一時刻における他のセンサによる実測データとの空間相関とを直接的に反映させることができ、より正確な値を得られることが期待できる。
さらには、第1の実施形態の場合と同様、空間補間機能部508が、時系列補間による補間値と、空間補間による補間値との平均値を算出する際に、注目点との時間関係や空間関係に基づいて加重平均を行うようにしてもよい。例えば、注目点の単位時刻とデータ測定時刻との時間差や、注目点のセンサ位置とデータ測定位置との距離に基づいて重みを決定することにより、時系列補間による補間値や、空間補間による補間値と、注目点におけるセンサデータとの相関関係をより正確に反映させることができ、より正確な値を得られることが期待できる。
【0082】
なお、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通じて提供することも可能である。
例えば、補間装置100または500の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の保持装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0083】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【0084】
本発明は、補間装置、補間方法およびプログラムに用いて好適である。
【符号の説明】
【0085】
100、500 補間装置
101 取得要求受付機能部
102 共有センサデータ記憶装置読出機能部
103 時系列整列部
104 実センサデータ行列記憶部
105 時系列補間機能部
106 第一段補間機能部
107 時系列補間行列記憶部
108、508 空間補間機能部
109、509 第二段補間機能部
110 決定木生成部
111 決定木記憶部
112 決定木適用部
510 距離計算機能部
511 距離記憶部
512 k−NN法適用部
113 空間補間行列記憶部
114 回答機能部
115 共有センサデータ記憶装置
116 ユビキタスアプリケーション装置

【特許請求の範囲】
【請求項1】
センサによる実測値と、前記実測値の計測位置を示す情報と、前記実測値の計測時刻を示す情報とを含む実センサデータを取得する実センサデータ取得部と、
センサと計測時刻とを示して当該計測時刻における当該センサの計測値を要求する取得要求データに基づいて、前記取得要求データが示すセンサを全て含むセンサ毎、かつ、前記取得要求データが示す計測時刻を全て含む計測時刻毎の計測値を要素とする実センサデータ行列を生成し、前記実測値の計測位置を示す情報と前記実測値の計測時刻を示す情報とに基づいて、前記実測値を前記実センサデータ行列の要素に割り当てる時系列整列部と、
前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと同一のセンサが計測した実測値に基づいて、前記実測値を有しない要素における計測値を補間する時系列補間機能部と、
前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間機能部が補間した計測値を用いて、前記実測値を有しない要素における計測値を更新することにより、前記取得要求データが要求する計測値を生成する空間補間機能部と、
を具備することを特徴とする補間装置。
【請求項2】
前記取得要求データを受信する取得要求受付機能部と、
前記取得要求データに対する回答データを送信する回答機能部と、
をさらに具備し、
前記、時系列整列部は、前記センサを選択する情報によって選択されるセンサの全てと、前記計測時刻の範囲および前記計測時刻間隔によって示される計測時刻の全てとに対応する前記実センサデータ行列を生成し、
前記回答機能部は、前記空間補間機能部が更新した前記計測値を含む前記回答データを送信する、
ことを特徴とする請求項1に記載の補間装置。
【請求項3】
前記空間補間機能部は、
前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間機能部が補間した計測値に関する条件式に従って、前記実測値を有しない要素における計測値を決定する決定木を生成する決定木生成部と、
前記決定木を用いて前記実測値を有しない要素における計測値を決定する決定木適用部と、
を具備することを特徴とする請求項1または請求項2に記載の補間装置。
【請求項4】
前記空間補間機能部は、
前記実測値を有しない要素に対応するセンサと、前記実測値を有しない要素に対応するセンサと異なるセンサとの距離を決定する距離計算機能部と、
前記距離に基づいてセンサを選択し、選択したセンサの計測値に基づいて、前記実測値を有しない要素における計測値を決定するk−NN法適用部と、
を具備することを特徴とする請求項1または請求項2に記載の補間装置。
【請求項5】
センサの計測値を補間する補間装置の補間方法であって、
センサによる実測値と、前記実測値の計測位置を示す情報と、前記実測値の計測時刻を示す情報とを含む実センサデータを取得する実センサデータ取得ステップと、
センサと計測時刻とを示して当該計測時刻における当該センサの計測値を要求する取得要求データに基づいて、前記取得要求データが示すセンサを全て含むセンサ毎、かつ、前記取得要求データが示す計測時刻を全て含む計測時刻毎の計測値を要素とする実センサデータ行列を生成し、前記実測値の計測位置を示す情報と前記実測値の計測時刻を示す情報とに基づいて、前記実測値を前記実センサデータ行列の要素に割り当てる時系列整列ステップと、
前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと同一のセンサが計測した実測値に基づいて、前記実測値を有しない要素における計測値を補間する時系列補間ステップと、
前記実センサデータ行列の要素のうち、前記実測値を有しない要素について、前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間ステップにて補間した計測値を用いて、前記実測値を有しない要素における計測値を更新することにより、前記取得要求データが要求する計測値を生成する空間補間ステップと、
を具備することを特徴とする補間方法。
【請求項6】
前記取得要求データを受信する取得要求受付ステップと、
前記取得要求データに対する回答データを送信する回答ステップと、
をさらに具備し、
前記、時系列整列ステップにて、前記センサを選択する情報によって選択されるセンサの全てと、前記計測時刻の範囲および前記計測時刻間隔によって示される計測時刻の全てとに対応する前記実センサデータ行列を生成し、
前記空間補間ステップにて更新した前記計測値を含む前記回答データを、前記回答ステップにて送信する、
ことを特徴とする請求項5に記載の補間方法。
【請求項7】
前記空間補間ステップは、
前記実測値を有しない要素に対応するセンサと異なるセンサによる実測値、または、前記実測値を有しない要素に対応するセンサと異なるセンサに対応する要素について前記時系列補間ステップにて補間した計測値に関する条件式に従って、前記実測値を有しない要素における計測値を決定する決定木を生成する決定木生成ステップと、
前記決定木を用いて前記実測値を有しない要素における計測値を決定する決定木適用ステップと、
を具備することを特徴とする請求項5または請求項6に記載の補間方法。
【請求項8】
前記空間補間ステップは、
前記実測値を有しない要素に対応するセンサと、前記実測値を有しない要素に対応するセンサと異なるセンサとの距離を決定する距離計算ステップと、
前記距離に基づいてセンサを選択し、選択したセンサの計測値に基づいて、前記実測値を有しない要素における計測値を決定するk−NN法適用ステップと、
を具備することを特徴とする請求項5または請求項6に記載の補間方法。
【請求項9】
コンピュータに、請求項5から8のいずれかの項に記載の補間方法を実行させるプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2011−174737(P2011−174737A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−37321(P2010−37321)
【出願日】平成22年2月23日(2010.2.23)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】