(57)【要約】【課題】電力消費を低減しつつ、高精度な測定データを取得すること。【解決手段】センサ制御装置は、第１の時点における複数のセンサすべての測定値を含む行列を生成する行列生成部と、前記行列生成部によって生成された行列を用いた回帰推定の目標値を含むベクトルであって前記第１の時点よりも後の第２の時点における前記複数のセンサすべての測定値を含むベクトルを生成するベクトル生成部と、前記行列生成部によって生成された行列と前記ベクトル生成部によって生成されたベクトルとを用いて、前記複数のセンサの測定値間の回帰係数を含む係数ベクトルの最適値を推定する推定部と、前記推定部によって推定された係数ベクトルにおいて、センサごとの回帰係数が０であるか否かを判定する判定部と、回帰係数が０であるセンサの測定値の取得間隔を回帰係数が０ではないセンサの測定値の取得間隔よりも長く設定する設定部とを有する。【選択図】図３
2018194973.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサそれぞれの測定タイミングを制御するセンサ制御装置あって、
第１の時点における前記複数のセンサすべての測定値を含む行列を生成する行列生成部と、
前記行列生成部によって生成された行列を用いた回帰推定の目標値を含むベクトルであって前記第１の時点よりも後の第２の時点における前記複数のセンサすべての測定値を含むベクトルを生成するベクトル生成部と、
前記行列生成部によって生成された行列と前記ベクトル生成部によって生成されたベクトルとを用いて、前記複数のセンサの測定値間の回帰係数を含む係数ベクトルの最適値を推定する推定部と、
前記推定部によって推定された係数ベクトルにおいて、センサごとの回帰係数が０であるか否かを判定する判定部と、
前記判定部による判定の結果、回帰係数が０であるセンサの測定値の取得間隔を回帰係数が０ではないセンサの測定値の取得間隔よりも長く設定する設定部と
を有することを特徴とするセンサ制御装置。
【請求項２】
前記行列生成部は、
対角成分に１つのセンサの測定値からなる測定値ベクトルを有し、他の成分に零ベクトルを有する対角行列を生成し、
センサごとの前記対角行列を行方向に並べた行列を生成する
ことを特徴とする請求項１記載のセンサ制御装置。
【請求項３】
前記ベクトル生成部は、
センサごとの測定値からなる目標値ベクトルを列方向に並べたベクトルを生成することを特徴とする請求項１記載のセンサ制御装置。
【請求項４】
前記複数のセンサのうち前記判定部によって回帰係数が０ではないと判定されたセンサのみの測定値を用いて、前記判定部によって回帰係数が０であると判定されたセンサの測定値を推定するための回帰係数を算出する測定値推定部
をさらに有することを特徴とする請求項１記載のセンサ制御装置。
【請求項５】
前記推定部は、
前記行列生成部によって生成された行列を用いた回帰推定の推定誤差が所定の許容誤差を満たす範囲で、係数ベクトルに含まれる回帰係数が０であるセンサの数を最大にする係数ベクトルを推定することを特徴とする請求項１記載のセンサ制御装置。
【請求項６】
前記推定部は、
係数ベクトルに含まれる回帰係数が０ではないセンサの数の割合を示す測定率を所定の閾値未満にする係数ベクトルを推定することを特徴とする請求項１記載のセンサ制御装置。
【請求項７】
前記推定部は、
前記行列生成部によって生成された行列を用いた回帰推定の推定誤差と、いずれか１つのセンサとすべてのセンサとの組み合わせを１グループとしたグループごとの回帰係数の総和との和を最小にする係数ベクトルを推定することを特徴とする請求項１記載のセンサ制御装置。
【請求項８】
前記推定部は、
所定の優先センサのいずれか１つとすべてのセンサとの組み合わせのグループごとの回帰係数の総和と、前記優先センサ以外のセンサのいずれか１つとすべてのセンサとの組み合わせのグループごとの回帰係数の総和とにそれぞれ異なる定数を乗算し、得られた乗算結果と推定誤差との和を最小にする係数ベクトルを推定することを特徴とする請求項７記載のセンサ制御装置。
【請求項９】
複数のセンサと、前記複数のセンサそれぞれの測定タイミングを制御するセンサ制御装置とを有するセンサシステムであって、
前記センサ制御装置は、
第１の時点における前記複数のセンサすべての測定値を含む行列を生成する行列生成部と、
前記行列生成部によって生成された行列を用いた回帰推定の目標値を含むベクトルであって前記第１の時点よりも後の第２の時点における前記複数のセンサすべての測定値を含むベクトルを生成するベクトル生成部と、
前記行列生成部によって生成された行列と前記ベクトル生成部によって生成されたベクトルとを用いて、前記複数のセンサの測定値間の回帰係数を含む係数ベクトルの最適値を推定する推定部と、
前記推定部によって推定された係数ベクトルにおいて、センサごとの回帰係数が０であるか否かを判定する判定部と、
前記判定部による判定の結果、回帰係数が０であるセンサの測定値の取得間隔を回帰係数が０ではないセンサの測定値の取得間隔よりも長く設定する設定部とを有し、
前記複数のセンサそれぞれは、
前記設定部によって設定された取得間隔で測定値を取得する
ことを特徴とするセンサシステム。
【請求項１０】
複数のセンサそれぞれの測定タイミングを制御するセンサ制御方法であって、
第１の時点における前記複数のセンサすべての測定値を含む行列を生成し、
生成された行列を用いた回帰推定の目標値を含むベクトルであって前記第１の時点よりも後の第２の時点における前記複数のセンサすべての測定値を含むベクトルを生成し、
生成された行列及びベクトルを用いて、前記複数のセンサの測定値間の回帰係数を含む係数ベクトルの最適値を推定し、
推定された係数ベクトルにおいて、センサごとの回帰係数が０であるか否かを判定し、
判定の結果、回帰係数が０であるセンサの測定値の取得間隔を回帰係数が０ではないセンサの測定値の取得間隔よりも長く設定する
処理を有することを特徴とするセンサ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサ制御装置、センサシステム及びセンサ制御方法に関する。
【背景技術】
【０００２】
近年、分散配備されたセンサノードを有するセンサシステムにより環境に関する測定データを収集し、測定データの解析内容に基づいて情報を提供するＩｏＴ（Internet  of  Things）サービスが知られている。広域における任意の場所での測定を可能とするため、通常、センサノードには、主な電力源とされる電池が取り付けられる。センサシステムにおいては、センサノードでの電池交換が頻発することによるメンテナンス負荷を軽減するために、各センサノードの電力消費を低減することが望まれる。
【０００３】
電力消費の低減のために、例えば、センサノードによる測定の頻度を単に下げた場合、測定対象の状態変化が見落とされる可能性が高くなり、測定データの精度を悪化させることになる。センサシステムは、センサノードの電力消費を低減させるとともに、高精度な測定データを得ることが求められている。
【０００４】
従来、通信ネットワークシステムに関し、センサによる個別の出力データから将来のデータを推定し、その推定誤差に応じてセンサノードを動作させる間隔を制御する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１３８２４５号公報
【特許文献２】特開２０１５−２０１８４５号公報
【特許文献３】特開２０１０−１９１５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、環境に関する測定の場合、地形などの物理的な特性から、いくつかのセンサノードで得られる測定値の間に相関が生じることがある。個別の出力データを基にする予測では、測定値同士の相関性が反映されないために、測定が行われなくても測定データの精度への影響が小さいと考えられる地点での測定が多く行われる可能性がある。そして、測定データの精度への影響の程度に関わらず地点ごとの測定が行われることで、無駄な電力消費が増大することとなる。そこで、それぞれのセンサノードにおける測定値の回帰推定を行い、センサノード間の測定値の相関の大きさによって各センサノードの重要度を決定し、重要度が低いセンサノードについては、測定の頻度を低下させることなどが考えられる。
【０００７】
しかしながら、個別にセンサノード間の測定値を回帰推定してセンサノードの重要度を決定した場合には、十分に良好な測定精度が得られないことがあるという問題がある。すなわち、通常、各センサノードにとって測定値の相関が大きいセンサノードは異なっている。このため、それぞれのセンサノードについて、他のセンサノードの測定値との回帰係数を個別に求め、単に回帰係数の平均値が大きいセンサノードの重要度を高くした場合には、センサノードによっては回帰推定の誤差が大きくなる可能性がある。そして、回帰推定の誤差が大きいセンサノードの測定頻度を低下させた場合には、これらのセンサノードの測定値が回帰推定されるが、推定誤差が大きくなって十分に良好な測定精度が得られない。
【０００８】
開示の技術は、かかる点に鑑みてなされたものであって、電力消費を低減しつつ、高精度な測定データを取得することができるセンサ制御装置、センサシステム及びセンサ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願が開示するセンサ制御装置は、１つの態様において、複数のセンサそれぞれの測定タイミングを制御するセンサ制御装置であって、第１の時点における前記複数のセンサすべての測定値を含む行列を生成する行列生成部と、前記行列生成部によって生成された行列を用いた回帰推定の目標値を含むベクトルであって前記第１の時点よりも後の第２の時点における前記複数のセンサすべての測定値を含むベクトルを生成するベクトル生成部と、前記行列生成部によって生成された行列と前記ベクトル生成部によって生成されたベクトルとを用いて、前記複数のセンサの測定値間の回帰係数を含む係数ベクトルの最適値を推定する推定部と、前記推定部によって推定された係数ベクトルにおいて、センサごとの回帰係数が０であるか否かを判定する判定部と、前記判定部による判定の結果、回帰係数が０であるセンサの測定値の取得間隔を回帰係数が０ではないセンサの測定値の取得間隔よりも長く設定する設定部とを有する。
【発明の効果】
【００１０】
本願が開示するセンサ制御装置、センサシステム及びセンサ制御方法の１つの態様によれば、電力消費を低減しつつ、高精度な測定データを取得することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１に係るセンサシステムの構成を示す図である。
【図２】図２は、実施の形態１に係るノードの構成を示すブロック図である。
【図３】図３は、実施の形態１に係る測定サーバ装置の構成を示すブロック図である。
【図４】図４は、計画行列を説明する図である。
【図５】図５は、目標ベクトルを説明する図である。
【図６】図６は、推定ベクトルを説明する図である。
【図７】図７は、実施の形態１に係るセンサ制御方法を示すフロー図である。
【図８】図８は、係数テーブルの具体例を示す図である。
【図９】図９は、計画行列・目標ベクトル生成処理を示すフロー図である。
【図１０】図１０は、実施の形態２に係る測定サーバ装置の構成を示すブロック図である。
【図１１】図１１は、実施の形態２に係るセンサ制御方法を示すフロー図である。
【図１２】図１２は、実施の形態３に係る測定サーバ装置の構成を示すブロック図である。
【図１３】図１３は、実施の形態３に係るセンサ制御方法を示すフロー図である。
【図１４】図１４は、実施の形態４に係る測定サーバ装置の構成を示すブロック図である。
【図１５】図１５は、実施の形態４に係るセンサ制御方法を示すフロー図である。
【図１６】図１６は、実施の形態５に係るセンサ制御方法を示すフロー図である。
【図１７】図１７は、情報提供システムの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本願が開示するセンサ制御装置、センサシステム及びセンサ制御方法の実施の形態について、図面を参照して詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。
【００１３】
（実施の形態１）
図１は、実施の形態１に係るセンサシステムの構成を示す図である。図１に示すセンサシステムは、複数のセンサノード（以下単に「ノード」という）１０と、測定サーバ装置１００とを有する。センサシステムに含まれるノード１０の数は、任意であるものとする。
【００１４】
ノード１０は、測定対象の状態を測定するセンサの機能を備えた端末装置である。ノード１０は、屋外環境あるいは構造物の内部等における測定対象の状態、例えば温度、湿度、水位、風向又は人の動き等を測定する。各ノード１０は、測定が実施される空間の測定地点ごとに散在している。
【００１５】
測定サーバ装置１００は、複数のノード１０を管理するセンサ制御装置として機能する。測定サーバ装置１００は、複数のノード１０による測定値を収集して、測定データを生成する。測定サーバ装置１００と各ノード１０との間には、通信ネットワークが構築されている。通信ネットワークには、無線及び有線を問わず任意の種類の通信網が含まれても良く、測定サーバ装置１００とノード１０の間において通信を中継する中継装置が含まれても良い。
【００１６】
図２は、実施の形態１に係るノード１０の構成を示すブロック図である。図２に示すノード１０は、センサ１１、バッテリー１２、プロセッサ１３、通信インタフェース（以下「通信Ｉ／Ｆ」と略記する）１４及びメモリ１５を有する。
【００１７】
センサ１１は、測定対象の状態を測定して、測定の結果である測定値を出力する素子である。バッテリー１２は、ノード１０の電力源であって、例えば一次電池である。ノード１０の各部は、バッテリー１２からの電力を使用して駆動する。バッテリー１２は、一次電池の他、各種発電素子で発電した電力を蓄電する二次電池を含むものであっても良い。
【００１８】
プロセッサ１３は、例えばＣＰＵ（Central  Processing  Unit）、ＦＰＧＡ（Field  Programmable  Gate  Array）又はＤＳＰ（Digital  Signal  Processor）などを備え、ノード１０全体を制御する。プロセッサ１３は、設定に応じた測定タイミングにおいてセンサ１１による測定値を取得し、取得された測定値を含むセンサデータを生成する。通信Ｉ／Ｆ１４は、ノード１０の外部の通信先と通信する。具体的には、通信Ｉ／Ｆ１４は、例えばプロセッサ１３によって生成されたセンサデータを測定サーバ装置１００へ送信する。また、通信Ｉ／Ｆ１４は、例えば測定サーバ装置１００から送信される測定タイミングの制御情報を受信する。メモリ１５は、例えばＲＡＭ（Random  Access  Memory）又はＲＯＭ（Read  Only  Memory）などを備え、プロセッサ１３によって処理が実行される際に、種々の情報を記憶する。
【００１９】
図３は、実施の形態１に係る測定サーバ装置１００の構成を示すブロック図である。図３に示す測定サーバ装置１００は、通信Ｉ／Ｆ１００ａ、メモリ１００ｂ及びプロセッサ１００ｃを有する。
【００２０】
通信Ｉ／Ｆ１００ａは、測定サーバ装置１００の外部の通信先と通信する。具体的には、通信Ｉ／Ｆ１００ａは、例えばノード１０から送信されるセンサデータを受信する。また、通信Ｉ／Ｆ１００ａは、例えばプロセッサ１００ｃによって生成された測定タイミングの制御情報をノード１０へ送信する。
【００２１】
メモリ１００ｂは、例えばＲＡＭ又はＲＯＭなどを備え、プロセッサ１００ｃによって処理が実行される際に、種々の情報を記憶する。
【００２２】
プロセッサ１００ｃは、例えばＣＰＵ、ＦＰＧＡ又はＤＳＰなどを備え、測定サーバ装置１００全体を制御する。具体的には、プロセッサ１００ｃは、学習データ蓄積部１１０、計画行列生成部１２０、目標ベクトル生成部１３０、最適化部１４０、係数ベクトル判定部１５０、ノード設定部１６０及びデータ推定部１７０を有する。
【００２３】
学習データ蓄積部１１０は、通信Ｉ／Ｆ１００ａによって受信されたセンサデータを学習データとして蓄積する。すなわち、学習データ蓄積部１１０は、すべてのノード１０においてセンサ１１が取得したセンサデータを蓄積する。学習データ蓄積部１１０が学習データを蓄積する学習期間には、すべてのノード１０に同一の測定タイミングが設定されており、各ノード１０は、共通の周期でセンサデータを測定サーバ装置１００へ送信する。このため、学習データ蓄積部１１０は、すべてのノード１０が共通の周期で取得したセンサデータを蓄積する。
【００２４】
計画行列生成部１２０は、学習データ蓄積部１１０によって蓄積された学習データを用いて、各ノード１０におけるセンサデータを推定するための計画行列を生成する。センサデータの推定は、取得済みのセンサデータを用いて将来のセンサデータを推定することにより実行される。そこで、計画行列生成部１２０は、取得済みのセンサデータである学習データを並べた計画行列を生成する。このとき、計画行列生成部１２０は、センサデータの推定への寄与度が小さいセンサデータに関する回帰係数を０とするスパース推定であるＧｒｏｕｐＬａｓｓｏに適用可能な計画行列を生成する。
【００２５】
具体的には、例えば図４の上段に示すように、計画行列生成部１２０は、Ｍ個（Ｍは２以上の整数）のセンサ１１それぞれの測定値ベクトルを対角成分に有するセンサ１１ごとの対角行列を行方向に結合することにより計画行列を生成する。すなわち、計画行列生成部１２０は、例えば、まずセンサ＃１によって取得されたセンサデータからなる測定値ベクトルｘ(1)を対角成分に有し、その他の成分に零ベクトルを有するＭ行Ｍ列の対角行列Ｘ(1)２１０を生成する。そして、計画行列生成部１２０は、センサ＃２によって取得されたセンサデータからなる測定値ベクトルｘ(2)を対角成分に有し、その他の成分に零ベクトルを有するＭ行Ｍ列の対角行列Ｘ(2)２２０を生成する。
【００２６】
計画行列生成部１２０は、Ｍ個のセンサ１１それぞれについての対角行列Ｘ(1)〜Ｘ(M)を生成し、これらの対角行列Ｘ(1)〜Ｘ(M)を行方向に結合することにより、計画行列Ｘを生成する。
【００２７】
なお、センサ＃ｍ（ｍは１〜Ｍの整数）の測定値ベクトルｘ(m)は、図４の下段に示すように、センサ＃ｍによって取得されたセンサデータを時系列でｎ個（ｎは２以上の整数）並べたベクトルである。すなわち、測定値ベクトルｘ(m)２３０は、センサ＃ｍが１番目の時刻に取得したセンサデータｘ1(m)からｎ番目の時刻に取得したセンサデータｘn(m)までを時系列に列方向に並べて得られるベクトルである。
【００２８】
目標ベクトル生成部１３０は、学習データ蓄積部１１０によって蓄積された学習データを用いて、計画行列から推定されるセンサデータの目標値を示す目標ベクトルを生成する。すなわち、目標ベクトル生成部１３０は、取得済みのセンサデータである学習データのうち、計画行列に用いられたセンサデータよりも後の時点に取得されたセンサデータを並べた目標ベクトルを生成する。このとき、目標ベクトル生成部１３０は、ＧｒｏｕｐＬａｓｓｏに適用可能な目標ベクトルを生成する。
【００２９】
具体的には、例えば図５の上段に示すように、目標ベクトル生成部１３０は、Ｍ個のセンサ１１それぞれの目標値ベクトルを列方向に並べて目標ベクトルを生成する。すなわち、目標ベクトル生成部１３０は、センサ＃１の目標値ベクトルｙ(1)からセンサ＃Ｍの目標値ベクトルｙ(M)までを列方向に結合することにより、目標ベクトルＹを生成する。
【００３０】
なお、センサ＃ｍの目標値ベクトルｙ(m)は、図５の下段に示すように、センサ＃ｍによって取得されたセンサデータを時系列でｎ個並べたベクトルである。すなわち、目標値ベクトルｙ(m)２４０は、センサ＃ｍが１番目の時刻に取得したセンサデータｙ1(m)からｎ番目の時刻に取得したセンサデータｙn(m)までを時系列に列方向に並べて得られるベクトルである。ただし、センサデータｙ1(m)〜ｙn(m)は、計画行列Ｘの生成に用いられるセンサデータｘ1(m)〜ｘn(m)よりも後の時点でセンサ＃ｍによって取得されたものであり、例えば（ｎ＋１）番目の時刻から２ｎ番目までの時刻に取得されたセンサデータｘn+1(m)〜ｘ2n(m)をセンサデータｙ1(m)〜ｙn(m)として用いることができる。
【００３１】
最適化部１４０は、計画行列及び目標ベクトルを用いたＧｒｏｕｐＬａｓｓｏの目的関数を最小とする回帰係数のベクトル（以下「係数ベクトル」という）を算出する。このとき、最適化部１４０は、ＧｒｏｕｐＬａｓｓｏを適用することにより、２つのセンサ１１の組み合わせのグループにおいて、すべての回帰係数が０となるグループが最も多くなるように係数ベクトルを算出する。
【００３２】
具体的には、最適化部１４０は、以下の式（１）で表される目的関数Ｊ（β）を最小とする係数ベクトルβを算出する。
【数１】
2018194973.tif 000003
【００３３】
ただし、式（１）において、||ｘ||2はｘのユークリッドノルムを示し、Ｙは目標ベクトルを示し、Ｙ’は推定ベクトルを示す。また、λは正則化定数を示し、ｐmはセンサ＃ｍに関するグループのグループサイズを示し、β(m)はセンサ＃ｍに関するグループの回帰係数を示す。
【００３４】
上式（１）の右辺の第１項は、回帰推定の誤差の大きさを示す項である。すなわち、目標ベクトルＹは、目標ベクトル生成部１３０によって生成された目標ベクトルであり、実際に取得されたセンサデータからなる。これに対して、推定ベクトルＹ’は、計画行列生成部１２０によって生成された計画行列と係数ベクトルとを用いた回帰推定により得られる推定値からなる。
【００３５】
具体的には、例えば図６の上段に示すように、推定ベクトルＹ’は、計画行列Ｘと係数ベクトルβを乗算して得られ、Ｍ個のセンサ１１それぞれの推定値ベクトルｙ’(m)を列方向に並べたベクトルである。すなわち、推定ベクトルＹ’は、センサ＃１の推定値ベクトルｙ’(1)からセンサ＃Ｍの推定値ベクトルｙ’(M)までが列方向に結合されたベクトルである。
【００３６】
なお、センサ＃ｍの推定値ベクトルｙ’(m)は、図６の下段に示すように、センサ＃ｍに関して推定されたセンサデータを時系列でｎ個並べたベクトルである。すなわち、推定値ベクトルｙ’(m)２５０は、センサ＃ｍについてそれぞれ推定された１番目の時刻のセンサデータｙ’1(m)からｎ番目の時刻のセンサデータｙ’n(m)までを時系列に列方向に並べて得られるベクトルである。
【００３７】
また、係数ベクトルβは、センサ１１間の回帰係数を列方向に並べたベクトルである。すなわち、センサ＃ｉのセンサデータがセンサ＃ｊのセンサデータの推定に及ぼす影響を示す回帰係数をβ(j,i)と表すと、センサ＃１のセンサデータが推定に及ぼす影響を示す回帰係数β(1,1)〜β(M,1)から、センサ＃Ｍのセンサデータが推定に及ぼす影響を示す回帰係数β(1,M)〜β(M,M)までを列方向に並べて係数ベクトルβが得られる。したがって、センサ＃ｍの推定値ベクトルｙ’(m)は、下記の式（２）で表すことができる。
ｙ’(m)＝ｘ(1)・β(m,1)＋ｘ(2)・β(m,2)＋・・・＋ｘ(M)・β(m,M)  …（２）
【００３８】
このような目標ベクトルＹと推定ベクトルＹ’との差分が上式（１）の右辺の第１項に含まれるため、最適化部１４０が目的関数Ｊ（β）を最小とする係数ベクトルβを求めることにより、回帰推定の誤差を小さくする係数ベクトルβが求められる。
【００３９】
一方、上式（１）の右辺の第２項は、回帰係数の疎性項である。この項は、推定に用いられるセンサデータを測定したセンサ１１（以下「測定センサ」という）とセンサデータが推定されるセンサ１１（以下「推定センサ」という）との組み合わせのグループごとの回帰係数の総和に相当する。より具体的には、１つの測定センサに対するＭ個の推定センサ（すなわち、すべてのセンサ１１）の組み合わせを１グループとした場合に、Ｍ個のグループの回帰係数の総和が上式（１）の右辺の第２項に含まれる。
【００４０】
このため、回帰係数が０であるグループが多いほど上式（１）の右辺の第２項が小さくなる。換言すれば、最適化部１４０が目的関数Ｊ（β）を最小とする係数ベクトルβを求めることにより、回帰係数が０であるグループの数を多くする係数ベクトルβが求められる。なお、正則化定数λは、上式（１）の右辺の第１項と第２項の重みを調整する定数であり、正則化定数λを大きくするほど第２項の重みが大きくなり、回帰係数が０であるグループの数が多くなる。また、回帰係数が０であるグループでは、１つの測定センサのセンサデータからＭ個の推定センサのセンサデータを推定する回帰係数が０であるため、この測定センサのセンサデータが回帰推定に用いられないことになる。つまり、回帰係数が０であるグループを多くすることにより、回帰推定に用いられるノード１０の数を減少させることができる。
【００４１】
以上から、最適化部１４０は、ＧｒｏｕｐＬａｓｓｏの演算によって目的関数Ｊ（β）を最小にする係数ベクトルβを算出することにより、回帰推定の推定誤差を小さくしつつ、回帰推定に用いられるノード１０の数を少なくする演算を実行することになる。
【００４２】
係数ベクトル判定部１５０は、最適化部１４０によって目的関数Ｊ（β）を最小にする係数ベクトルβが算出されると、この係数ベクトルβに基づいて、ノード１０ごとのセンサ１１が回帰推定に用いられるコアセンサであるか、回帰推定の推定対象となる従属センサであるかを判定する。具体的には、係数ベクトル判定部１５０は、回帰係数が０ではないグループに対応するノード１０のセンサ１１をコアセンサと判定し、回帰係数がすべて０であるグループに対応するノード１０のセンサ１１を従属センサと判定する。
【００４３】
そして、係数ベクトル判定部１５０は、コアセンサ及び従属センサの測定タイミングを決定する。すなわち、係数ベクトル判定部１５０は、従属センサによるセンサデータの取得間隔を、コアセンサによるセンサデータの取得間隔よりも長くする。例えば係数ベクトル判定部１５０は、回帰推定に用いられない従属センサによるセンサデータの取得間隔を無限大として、従属センサによってセンサデータが取得されないようにしても良い。そして、係数ベクトル判定部１５０は、それぞれのノード１０におけるセンサ１１の測定タイミングをノード設定部１６０へ通知するとともに、係数ベクトルβをデータ推定部１７０へ出力する。
【００４４】
ノード設定部１６０は、ノード１０ごとの測定タイミングが係数ベクトル判定部１５０から通知されると、それぞれのノード１０の測定タイミングを制御する制御情報を生成し、通信Ｉ／Ｆ１００ａを介して各ノード１０へ送信する。すなわち、ノード設定部１６０は、コアセンサを備えるノード１０に対しては、比較的短周期で測定を実行するように指示する制御情報を送信し、従属センサを備えるノード１０に対しては、比較的長周期で測定を実行するように指示する制御情報を送信する。
【００４５】
データ推定部１７０は、学習期間の終了後、ノード設定部１６０からの制御情報に従った周期で各ノード１０から送信されるセンサデータを取得し、これらのセンサデータから他のノード１０におけるセンサデータを推定する。すなわち、データ推定部１７０は、コアセンサを備えるノード１０から送信されたセンサデータを取得し、これらのセンサデータに係数ベクトルβを乗算して回帰推定を実行する。この結果、データ推定部１７０は、従属センサのセンサデータを取得し、すべてのノード１０のセンサデータを含む測定データを出力する。
【００４６】
次いで、上記のように構成された測定サーバ装置１００によるセンサ制御方法について、図７に示すフロー図を参照しながら説明する。以下に説明するセンサ制御方法は、すべてのノード１０が共通の周期でセンサ１１によってセンサデータを取得し、測定サーバ装置１００へ送信する学習期間に実行される。
【００４７】
学習期間に各ノード１０から送信されるセンサデータは、測定サーバ装置１００の通信Ｉ／Ｆ１００ａによって受信され（ステップＳ１０１）、学習データ蓄積部１１０によって蓄積される。十分な量の学習データが蓄積されると、計画行列生成部１２０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる計画行列が生成されるとともに、目標ベクトル生成部１３０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる目標ベクトルが生成される（ステップＳ１０２）。すなわち、例えば図４の上段に示した計画行列が生成されるとともに、例えば図５の上段に示した目標ベクトルが生成される。計画行列及び目標ベクトルの生成処理については、後に詳述する。
【００４８】
計画行列及び目標ベクトルが生成されると、最適化部１４０によって、ＧｒｏｕｐＬａｓｓｏの演算が実行される。具体的には、上式（１）の正則化定数λに所定値が設定され（ステップＳ１０３）、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。なお、上述したように、正則化定数λは、上式（１）の右辺の第１項と第２項の重みを調整する定数であり、正則化定数λを大きくするほど第２項の重みが大きくなり、回帰係数が０であるグループの数が多くなる。
【００４９】
最適化部１４０によるＧｒｏｕｐＬａｓｓｏの演算によって係数ベクトルβが算出されると、係数ベクトル判定部１５０によって、それぞれのノード１０のセンサ１１に対応する回帰係数がすべて０であるか否かが判定される。換言すれば、係数ベクトルβに含まれるセンサ１１ごとの係数ベクトルが零ベクトルであるか否かが判定される（ステップＳ１０５）。この判定の結果、初期値が１の変数ｍで表されるセンサ＃ｍの係数ベクトルが零ベクトルでなければ（ステップＳ１０５Ｎｏ）、センサ＃ｍは回帰推定に用いられるセンサデータを取得するコアセンサであると判定される（ステップＳ１０６）。一方、センサ＃ｍの係数ベクトルが零ベクトルであれば（ステップＳ１０５Ｙｅｓ）、センサ＃ｍは回帰推定によってセンサデータが推定される従属センサであると判定される（ステップＳ１０７）。
【００５０】
そして、係数ベクトル判定部１５０によって、変数ｍが１インクリメントされ（ステップＳ１０８）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ１０９）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ１０９Ｙｅｓ）、まだセンサ種別の判定が完了していないセンサ１１があるため、引き続きセンサ＃ｍについてコアセンサであるか従属センサであるかの判定が繰り返される（ステップＳ１０５〜Ｓ１０７）。
【００５１】
そして、変数ｍがセンサ１１の総数Ｍを超えてすべてのセンサ１１に関してセンサ種別の判定が完了すると（ステップＳ１０９Ｎｏ）、それぞれのセンサ１１によるセンサデータの測定タイミングが決定される。すなわち、従属センサによるセンサデータの取得間隔を、コアセンサによるセンサデータの取得間隔よりも長くすることが決定される。このとき、従属センサによるセンサデータの取得間隔を無限大として、従属センサによるセンサデータの取得が無いように決定されても良い。
【００５２】
そして、決定された測定タイミングは、ノード設定部１６０へ通知され、係数ベクトルβは、データ推定部１７０へ出力される。係数ベクトルβが出力されると、データ推定部１７０によって、センサデータの回帰推定に用いられる回帰係数が係数テーブルに登録されて係数テーブルが更新される（ステップＳ１１０）。
【００５３】
係数テーブルは、例えば図８に示すように、推定センサのセンサデータを回帰推定する際に測定センサのセンサデータに乗算される回帰係数を記憶するテーブルである。すなわち、図８に示す例では、例えばセンサ＃１を推定センサとする場合には、測定センサとしてのセンサ＃２、＃３のセンサデータの回帰係数がそれぞれ０．５４及び０．５９であることがわかる。本実施の形態では、ＧｒｏｕｐＬａｓｓｏの演算によって係数ベクトルを算出しているため、コアセンサとなる例えばセンサ＃２、＃３は、すべての推定センサの回帰推定に用いられる一方、従属センサとなる例えばセンサ＃１、＃４は、いずれの推定センサの回帰推定にも用いられない。つまり、図８に示す例では、センサ＃１、＃４の係数ベクトルは零ベクトルである。
【００５４】
データ推定部１７０によって係数テーブルに登録された回帰係数は、学習期間が終了した後、コアセンサから送信されるセンサデータを用いて従属センサのセンサデータを回帰推定する際に用いられる。本実施の形態では、ＧｒｏｕｐＬａｓｓｏの演算によって回帰推定の誤差を小さくするようにコアセンサ及び従属センサが決定されているため、従属センサのセンサデータの回帰推定を高精度に実行することができる。結果として、すべてのセンサ１１のセンサデータを含む高精度な測定データを取得することができる。
【００５５】
ところで、係数テーブルの更新と並行して、ノード設定部１６０によって、ノード１０ごとの測定タイミングを制御する制御情報が生成され、各ノード１０へ制御情報が送信される。これにより、各ノード１０のセンサ１１によるセンサデータの取得間隔が設定される（ステップＳ１１１）。具体的には、コアセンサを備えるノード１０の取得間隔よりも、従属センサを備えるノード１０の取得間隔が長くなる。本実施の形態では、ＧｒｏｕｐＬａｓｓｏの演算によって、可能な限り従属センサを多くするようにコアセンサ及び従属センサが決定されているため、長い取得間隔が設定される従属センサの数が多い。結果として、従属センサを備えるノード１０の測定頻度が低下し、電力消費を低減することができる。
【００５６】
次に、計画行列及び目標ベクトルの生成処理について、図９に示すフロー図を参照しながら説明する。以下に説明する生成処理は、主に計画行列生成部１２０及び目標ベクトル生成部１３０によって実行される。
【００５７】
学習期間においては、すべてのノード１０から共通の周期で送信されたセンサデータが学習データとして蓄積される。計画行列及び目標ベクトルは、蓄積された学習データを用いて生成される。以下の説明においては、変数ｍの初期値を１とし、センサ１１の総数をＭとする。
【００５８】
まず、計画行列生成部１２０による計画行列の生成処理においては、センサ＃ｍの測定値ベクトルｘ(m)が生成される（ステップＳ２０１）。すなわち、センサ＃ｍによって取得されたｎ個のセンサデータが時系列で並べられることにより、測定値ベクトルｘ(m)が生成される。また、測定値ベクトルｘ(m)と同じサイズの零ベクトルが生成される（ステップＳ２０２）。すなわち、ｎ個の０が並べられることにより、零ベクトルが生成される。
【００５９】
そして、対角成分に測定値ベクトルｘ(m)を有し、その他の成分に零ベクトルを有するＭ行Ｍ列の対角行列Ｘ(m)が生成される（ステップＳ２０３）。このようにして生成された対角行列Ｘ(m)は、計画行列Ｘに結合される（ステップＳ２０４）。具体的には、各センサ＃ｍに関する対角行列Ｘ(m)が行方向に並ぶように、それぞれの対角行列Ｘ(m)が結合されていき、計画行列Ｘが生成される。
【００６０】
そして、変数ｍが１インクリメントされ（ステップＳ２０５）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ２０６）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ２０６Ｙｅｓ）、まだ対角行列Ｘ(m)が生成されていないセンサ１１があるため、引き続きセンサ＃ｍに関する対角行列Ｘ(m)の生成と計画行列Ｘへの結合とが繰り返される（ステップＳ２０１〜Ｓ２０４）。
【００６１】
変数ｍがセンサ１１の総数Ｍを超えると（ステップＳ２０６Ｎｏ）、計画行列Ｘが生成されたことになるため、変数ｍが初期値の１に初期化される。そして、目標ベクトル生成部１３０による目標ベクトルの生成処理においては、センサ＃ｍの目標値ベクトルｙ(m)が生成される（ステップＳ２０７）。すなわち、センサ＃ｍによって取得されたｎ個のセンサデータが時系列で並べられることにより、目標値ベクトルｙ(m)が生成される。ただし、ここで並べられるｎ個のセンサデータは、測定値ベクトルｘ(m)の生成時に並べられるｎ個のセンサデータよりも後の時点で測定されたセンサデータである。つまり、計画行列Ｘから回帰推定によって推定される時点のセンサデータが並べられることにより、目標値ベクトルｙ(m)が生成される。
【００６２】
そして、目標値ベクトルｙ(m)は、目標ベクトルＹに結合される（ステップＳ２０８）。具体的には、各センサ＃ｍに関する目標値ベクトルｙ(m)が列方向に並ぶように、それぞれの目標値ベクトルｙ(m)が結合されていき、目標ベクトルＹが生成される。
【００６３】
そして、変数ｍが１インクリメントされ（ステップＳ２０９）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ２１０）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ２１０Ｙｅｓ）、まだ目標値ベクトルｙ(m)が生成されていないセンサ１１があるため、引き続きセンサ＃ｍに関する目標値ベクトルｙ(m)の生成と目標ベクトルＹへの結合とが繰り返される（ステップＳ２０７〜Ｓ２０８）。
【００６４】
変数ｍがセンサ１１の総数Ｍを超えると（ステップＳ２１０Ｎｏ）、目標ベクトルＹが生成されたことになる。このようにして、計画行列Ｘ及び目標ベクトルＹが生成されると、最適化部１４０によって、計画行列Ｘ及び目標ベクトルＹを用いたＧｒｏｕｐＬａｓｓｏの演算が実行される。
【００６５】
なお、ここでは説明の便宜上、計画行列Ｘが生成された後に目標ベクトルＹが生成されるものとしたが、計画行列Ｘと目標ベクトルＹは同時並行で生成されても良いし、目標ベクトルＹが生成された後に計画行列Ｘが生成されても良い。
【００６６】
以上のように、本実施の形態によれば、複数のノードから得られる学習データを基に、ＧｒｏｕｐＬａｓｓｏの演算に適用可能な計画行列及び目標ベクトルを生成し、計画行列及び目標ベクトルを用いたＧｒｏｕｐＬａｓｓｏの演算によりコアセンサと従属センサを決定する。このため、回帰推定の推定誤差を小さくしつつ、回帰推定に用いられるコアセンサの数を少なくして従属センサの数を多くすることができる。結果として、従属センサの測定頻度を下げて電力消費を低減しつつ、コアセンサのセンサデータを用いた回帰推定によって高精度な測定データを取得することができる。
【００６７】
（実施の形態２）
実施の形態２の特徴は、ＧｒｏｕｐＬａｓｓｏの演算によってコアセンサ及び従属センサが決定された後、コアセンサのセンサデータのみを用いて回帰係数を算出する点である。
【００６８】
実施の形態２に係るセンサシステムの構成は、実施の形態１（図１）と同様であるため、その説明を省略する。実施の形態２においては、測定サーバ装置１００の構成が実施の形態１とは異なる。
【００６９】
図１０は、実施の形態２に係る測定サーバ装置１００の構成を示すブロック図である。図１０において、図３と同じ部分には同じ符号を付し、その説明を省略する。図１０に示す測定サーバ装置１００は、図３に示す測定サーバ装置１００のプロセッサ１００ｃに回帰推定部３１０を追加した構成を採る。
【００７０】
回帰推定部３１０は、係数ベクトル判定部１５０によってコアセンサ及び従属センサが決定されると、コアセンサのセンサデータを用いて従属センサのセンサデータを回帰推定するための回帰係数を算出する。最適化部１４０では、すべてのセンサ１１のセンサデータから生成された計画行列を用いて係数ベクトルが算出されるが、回帰推定部３１０は、コアセンサのセンサデータのみを用いて改めて回帰係数を算出する。回帰推定部３１０は、例えば最小二乗法などを用いて、コアセンサのセンサデータから従属センサのセンサデータを推定する回帰係数を算出しても良い。回帰推定部３１０が算出した回帰係数は、データ推定部１７０によって係数テーブルに登録される。
【００７１】
次いで、上記のように構成された測定サーバ装置１００によるセンサ制御方法について、図１１に示すフロー図を参照しながら説明する。図１１において、図７と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【００７２】
学習期間に各ノード１０から送信されるセンサデータは、測定サーバ装置１００の通信Ｉ／Ｆ１００ａによって受信され（ステップＳ１０１）、学習データ蓄積部１１０によって蓄積される。十分な量の学習データが蓄積されると、計画行列生成部１２０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる計画行列が生成されるとともに、目標ベクトル生成部１３０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる目標ベクトルが生成される（ステップＳ１０２）。
【００７３】
計画行列及び目標ベクトルが生成されると、最適化部１４０によって、上式（１）の正則化定数λに所定値が設定され（ステップＳ１０３）、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。そして、係数ベクトル判定部１５０によって、係数ベクトルβに含まれるセンサ１１ごとの係数ベクトルが零ベクトルであるか否かが判定される（ステップＳ１０５）。この判定の結果、センサ＃ｍの係数ベクトルが零ベクトルでなければ（ステップＳ１０５Ｎｏ）、センサ＃ｍは回帰推定に用いられるセンサデータを取得するコアセンサであると判定される（ステップＳ１０６）。一方、センサ＃ｍの係数ベクトルが零ベクトルであれば（ステップＳ１０５Ｙｅｓ）、センサ＃ｍは回帰推定によってセンサデータが推定される従属センサであると判定される（ステップＳ１０７）。
【００７４】
そして、係数ベクトル判定部１５０によって、変数ｍが１インクリメントされ（ステップＳ１０８）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ１０９）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ１０９Ｙｅｓ）、引き続きセンサ＃ｍについてコアセンサであるか従属センサであるかの判定が繰り返される（ステップＳ１０５〜Ｓ１０７）。
【００７５】
そして、変数ｍがセンサ１１の総数Ｍを超えてすべてのセンサ１１に関してセンサ種別の判定が完了すると（ステップＳ１０９Ｎｏ）、それぞれのセンサ１１によるセンサデータの測定タイミングが決定される。決定された測定タイミングは、ノード設定部１６０へ通知され、すべてのセンサ１１のセンサ種別に関する情報が回帰推定部３１０へ通知される。
【００７６】
コアセンサ及び従属センサのセンサデータが回帰推定部３１０によって取得され、コアセンサのセンサデータから従属センサのセンサデータを回帰推定するための回帰係数が算出される（ステップＳ３０１）。このとき、例えば最小二乗法などを用いて回帰係数が算出されても良い。算出された回帰係数は、データ推定部１７０へ出力され、回帰係数が係数テーブルに登録されて係数テーブルが更新される（ステップＳ１１０）。
【００７７】
データ推定部１７０によって係数テーブルに登録された回帰係数は、学習期間が終了した後、コアセンサから送信されるセンサデータを用いて従属センサのセンサデータを回帰推定する際に用いられる。本実施の形態においては、ＧｒｏｕｐＬａｓｓｏの演算において係数ベクトルが求められた後、改めてコアセンサのセンサデータから回帰係数が算出されるため、回帰係数の精度を向上することができ、従属センサのセンサデータの回帰推定の精度を向上することができる。
【００７８】
ところで、係数テーブルの更新と並行して、ノード設定部１６０によって、ノード１０ごとの測定タイミングを制御する制御情報が生成され、各ノード１０へ制御情報が送信される。これにより、各ノード１０のセンサ１１によるセンサデータの取得間隔が設定される（ステップＳ１１１）。
【００７９】
以上のように、本実施の形態によれば、ＧｒｏｕｐＬａｓｓｏの演算によって係数ベクトルが求められた後、コアセンサのセンサデータから従属センサのセンサデータを回帰推定するための回帰係数を改めて算出する。このため、従属センサのセンサデータを推定する回帰推定の精度を向上することができる。
【００８０】
（実施の形態３）
実施の形態３の特徴は、回帰推定の推定誤差が許容誤差を満たす範囲で、従属センサの数を最大限に多くする点である。
【００８１】
実施の形態３に係るセンサシステムの構成は、実施の形態１（図１）と同様であるため、その説明を省略する。実施の形態３においては、測定サーバ装置１００の構成が実施の形態１とは異なる。
【００８２】
図１２は、実施の形態３に係る測定サーバ装置１００の構成を示すブロック図である。図１２において、図３と同じ部分には同じ符号を付し、その説明を省略する。図１２に示す測定サーバ装置１００は、図３に示す測定サーバ装置１００の係数ベクトル判定部１５０に代えて、係数ベクトル判定部４１０及び推定誤差判定部４２０を有する。
【００８３】
係数ベクトル判定部４１０は、最適化部１４０によって目的関数Ｊ（β）を最小にする係数ベクトルβが算出されると、この係数ベクトルβに基づいて、ノード１０ごとのセンサ１１が回帰推定に用いられるコアセンサであるか、回帰推定の推定対象となる従属センサであるかを判定する。具体的には、係数ベクトル判定部４１０は、回帰係数が０ではないグループに対応するノード１０のセンサ１１をコアセンサと判定し、回帰係数がすべて０であるグループに対応するノード１０のセンサ１１を従属センサと判定する。
【００８４】
また、係数ベクトル判定部４１０は、センサ種別を判定した後、推定誤差判定部４２０から推定誤差の判定結果の通知を受け、推定誤差が所定の閾値未満である場合には、センサ種別を初期化する。そして、係数ベクトル判定部４１０は、センサ種別を初期化した後に、再度係数ベクトルβを最適化部１４０から取得し、各センサ１１のセンサ種別を判定する。一方、係数ベクトル判定部４１０は、推定誤差が所定の閾値以上である場合には、コアセンサ及び従属センサの測定タイミングを決定し、それぞれのノード１０におけるセンサ１１の測定タイミングをノード設定部１６０へ通知するとともに、係数ベクトルβをデータ推定部１７０へ出力する。
【００８５】
推定誤差判定部４２０は、係数ベクトル判定部４１０によってセンサ種別が判定されると、計画行列Ｘと係数ベクトルβを用いた回帰推定によって求められる推定ベクトルＹ’と目標ベクトルＹとの推定誤差を算出する。そして、推定誤差判定部４２０は、推定誤差が所定の閾値未満であるか否かを判定し、判定結果を係数ベクトル判定部４１０へ通知する。また、推定誤差判定部４２０は、推定誤差が所定の閾値未満である場合には、正則化定数λを増加させてＧｒｏｕｐＬａｓｓｏの演算を再度実行するように最適化部１４０へ指示する。
【００８６】
次いで、上記のように構成された測定サーバ装置１００によるセンサ制御方法について、図１３に示すフロー図を参照しながら説明する。図１３において、図７と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【００８７】
学習期間に各ノード１０から送信されるセンサデータは、測定サーバ装置１００の通信Ｉ／Ｆ１００ａによって受信され（ステップＳ１０１）、学習データ蓄積部１１０によって蓄積される。十分な量の学習データが蓄積されると、計画行列生成部１２０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる計画行列が生成されるとともに、目標ベクトル生成部１３０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる目標ベクトルが生成される（ステップＳ１０２）。
【００８８】
計画行列及び目標ベクトルが生成されると、最適化部１４０によって、上式（１）の正則化定数λに０が設定され（ステップＳ４０１）、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。ここでは、正則化定数λに０が設定されるため、係数ベクトルβにおいては、すべてのグループの回帰係数が０ではない値となり、回帰推定の誤差が最小となる。
【００８９】
そして、係数ベクトル判定部４１０によって、係数ベクトルβに含まれるセンサ１１ごとの係数ベクトルが零ベクトルであるか否かが判定される（ステップＳ１０５）。この判定の結果、センサ＃ｍの係数ベクトルが零ベクトルでなければ（ステップＳ１０５Ｎｏ）、センサ＃ｍは回帰推定に用いられるセンサデータを取得するコアセンサであると判定される（ステップＳ１０６）。一方、センサ＃ｍの係数ベクトルが零ベクトルであれば（ステップＳ１０５Ｙｅｓ）、センサ＃ｍは回帰推定によってセンサデータが推定される従属センサであると判定される（ステップＳ１０７）。上述したように、正則化定数λに０が設定されていれば、すべてのグループの回帰係数が０ではないため、正則化定数λが０の場合には、すべてのセンサ１１がコアセンサと判定される。
【００９０】
そして、係数ベクトル判定部４１０によって、変数ｍが１インクリメントされ（ステップＳ１０８）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ１０９）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ１０９Ｙｅｓ）、引き続きセンサ＃ｍについてコアセンサであるか従属センサであるかの判定が繰り返される（ステップＳ１０５〜Ｓ１０７）。
【００９１】
そして、変数ｍがセンサ１１の総数Ｍを超えてすべてのセンサ１１に関してセンサ種別の判定が完了すると（ステップＳ１０９Ｎｏ）、推定誤差判定部４２０によって、係数ベクトルβを用いた回帰推定の推定誤差が所定の閾値未満であるか否かが判定される（ステップＳ４０２）。すなわち、推定誤差が例えばアプリケーションなどによって規定される許容誤差を満たすか否かが判定される。
【００９２】
この判定の結果、推定誤差が所定の閾値未満である場合には（ステップＳ４０２Ｙｅｓ）、従属センサの数を多くすることが可能であると考えられることから、係数ベクトル判定部４１０によって判定されたセンサ種別が初期化される（ステップＳ４０３）。また、推定誤差判定部４２０から最適化部１４０に対してＧｒｏｕｐＬａｓｓｏの演算の再実行が指示されることにより、最適化部１４０によって、正則化定数λが所定量だけ増加させられる（ステップＳ４０４）。そして、正則化定数λを増加させた上で、改めてＧｒｏｕｐＬａｓｓｏの演算が行われ、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。
【００９３】
このように、推定誤差が所定の閾値未満である間は、徐々に正則化定数λを増加させながらＧｒｏｕｐＬａｓｓｏの演算が繰り返される。初期状態では０が設定されていた正則化定数λは、推定誤差が所定の閾値未満と判定されるたびに、例えば１、１０、１００、１０００などの１０のべき乗の値を採るように増加しても良い。
【００９４】
そして、推定誤差が所定の閾値以上となると（ステップＳ４０２Ｎｏ）、それぞれのセンサ１１によるセンサデータの測定タイミングがノード設定部１６０へ通知され、係数ベクトルβがデータ推定部１７０へ出力される。係数ベクトルβが出力されると、データ推定部１７０によって、センサデータの回帰推定に用いられる回帰係数が係数テーブルに登録されて係数テーブルが更新される（ステップＳ１１０）。
【００９５】
また、係数テーブルの更新と並行して、ノード設定部１６０によって、ノード１０ごとの測定タイミングを制御する制御情報が生成され、各ノード１０へ制御情報が送信される。これにより、各ノード１０のセンサ１１によるセンサデータの取得間隔が設定される（ステップＳ１１１）。
【００９６】
以上のように、本実施の形態によれば、推定誤差が所定の閾値未満の間は、正則化定数を増加させながらＧｒｏｕｐＬａｓｓｏの演算を繰り返す。このため、推定誤差が許容誤差を満たす範囲で従属センサの数を最大にすることができ、電力消費を最大限に低減することができる。
【００９７】
（実施の形態４）
実施の形態４の特徴は、コアセンサの割合を示す測定率が所定の閾値未満になるまでＧｒｏｕｐＬａｓｓｏの演算を繰り返す点である。
【００９８】
実施の形態４に係るセンサシステムの構成は、実施の形態１（図１）と同様であるため、その説明を省略する。実施の形態４においては、測定サーバ装置１００の構成が実施の形態１とは異なる。
【００９９】
図１４は、実施の形態４に係る測定サーバ装置１００の構成を示すブロック図である。図１４において、図３、１２と同じ部分には同じ符号を付し、その説明を省略する。図１４に示す測定サーバ装置１００は、図１２に示す測定サーバ装置１００の推定誤差判定部４２０に代えて、測定率判定部５１０を有する。
【０１００】
測定率判定部５１０は、係数ベクトル判定部４１０によってセンサ種別が判定されると、すべてのセンサ１１の総数Ｍに対するコアセンサの数の割合を示す測定率を算出する。そして、測定率判定部５１０は、測定率が所定の閾値以上であるか否かを判定し、判定結果を係数ベクトル判定部４１０へ通知する。また、測定率判定部５１０は、測定率が所定の閾値以上である場合には、正則化定数λを増加させてＧｒｏｕｐＬａｓｓｏの演算を再度実行するように最適化部１４０へ指示する。
【０１０１】
本実施の形態においては、係数ベクトル判定部４１０は、測定率が所定の閾値以上である場合には、センサ種別を初期化し、再度取得された係数ベクトルβに基づいて各センサ１１のセンサ種別を判定する。一方、係数ベクトル判定部４１０は、測定率が所定の閾値未満である場合には、コアセンサ及び従属センサの測定タイミングを決定し、それぞれのノード１０におけるセンサ１１の測定タイミングをノード設定部１６０へ通知するとともに、係数ベクトルβをデータ推定部１７０へ出力する。
【０１０２】
次いで、上記のように構成された測定サーバ装置１００によるセンサ制御方法について、図１５に示すフロー図を参照しながら説明する。図１５において、図７、１３と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【０１０３】
学習期間に各ノード１０から送信されるセンサデータは、測定サーバ装置１００の通信Ｉ／Ｆ１００ａによって受信され（ステップＳ１０１）、学習データ蓄積部１１０によって蓄積される。十分な量の学習データが蓄積されると、計画行列生成部１２０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる計画行列が生成されるとともに、目標ベクトル生成部１３０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる目標ベクトルが生成される（ステップＳ１０２）。
【０１０４】
計画行列及び目標ベクトルが生成されると、最適化部１４０によって、上式（１）の正則化定数λに０が設定され（ステップＳ４０１）、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。ここでは、正則化定数λに０が設定されるため、係数ベクトルβにおいては、すべてのグループの回帰係数が０ではない値となり、回帰推定の誤差が最小となる。
【０１０５】
そして、係数ベクトル判定部４１０によって、係数ベクトルβに含まれるセンサ１１ごとの係数ベクトルが零ベクトルであるか否かが判定される（ステップＳ１０５）。この判定の結果、センサ＃ｍの係数ベクトルが零ベクトルでなければ（ステップＳ１０５Ｎｏ）、センサ＃ｍは回帰推定に用いられるセンサデータを取得するコアセンサであると判定される（ステップＳ１０６）。一方、センサ＃ｍの係数ベクトルが零ベクトルであれば（ステップＳ１０５Ｙｅｓ）、センサ＃ｍは回帰推定によってセンサデータが推定される従属センサであると判定される（ステップＳ１０７）。
【０１０６】
そして、係数ベクトル判定部４１０によって、変数ｍが１インクリメントされ（ステップＳ１０８）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ１０９）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ１０９Ｙｅｓ）、引き続きセンサ＃ｍについてコアセンサであるか従属センサであるかの判定が繰り返される（ステップＳ１０５〜Ｓ１０７）。
【０１０７】
そして、変数ｍがセンサ１１の総数Ｍを超えてすべてのセンサ１１に関してセンサ種別の判定が完了すると（ステップＳ１０９Ｎｏ）、測定率判定部５１０によって、コアセンサの割合を示す測定率が所定の閾値以上であるか否かが判定される（ステップＳ５０１）。すなわち、測定率が例えば電力消費量の上限などによって規定される許容範囲を満たすか否かが判定される。
【０１０８】
この判定の結果、測定率が所定の閾値以上である場合には（ステップＳ５０１Ｙｅｓ）、コアセンサを減らして測定率を低下させる必要があることから、係数ベクトル判定部４１０によって判定されたセンサ種別が初期化される（ステップＳ４０３）。また、測定率判定部５１０から最適化部１４０に対してＧｒｏｕｐＬａｓｓｏの演算の再実行が指示されることにより、最適化部１４０によって、正則化定数λが所定量だけ増加させられる（ステップＳ４０４）。そして、正則化定数λを増加させた上で、改めてＧｒｏｕｐＬａｓｓｏの演算が行われ、目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。
【０１０９】
このように、測定率が所定の閾値以上である間は、徐々に正則化定数λを増加させながらＧｒｏｕｐＬａｓｓｏの演算が繰り返される。初期状態では０が設定されていた正則化定数λは、測定率が所定の閾値以上と判定されるたびに、例えば１、１０、１００、１０００などの１０のべき乗の値を採るように増加しても良い。
【０１１０】
そして、測定率が所定の閾値未満となると（ステップＳ５０１Ｎｏ）、それぞれのセンサ１１によるセンサデータの測定タイミングがノード設定部１６０へ通知され、係数ベクトルβがデータ推定部１７０へ出力される。係数ベクトルβが出力されると、データ推定部１７０によって、センサデータの回帰推定に用いられる回帰係数が係数テーブルに登録されて係数テーブルが更新される（ステップＳ１１０）。
【０１１１】
また、係数テーブルの更新と並行して、ノード設定部１６０によって、ノード１０ごとの測定タイミングを制御する制御情報が生成され、各ノード１０へ制御情報が送信される。これにより、各ノード１０のセンサ１１によるセンサデータの取得間隔が設定される（ステップＳ１１１）。
【０１１２】
以上のように、本実施の形態によれば、測定率が所定の閾値以上の間は、正則化定数を増加させながらＧｒｏｕｐＬａｓｓｏの演算を繰り返す。このため、測定率を所望の許容範囲にまで低下させて従属センサの数を最大にすることができ、電力消費を最大限に低減することができる。
【０１１３】
（実施の形態５）
実施の形態５の特徴は、指定された優先センサが優先的にコアセンサとなるようにセンサ種別の判定を実行する点である。
【０１１４】
実施の形態５に係るセンサシステムの構成及び測定サーバ装置１００の構成は、実施の形態１（図１、３）と同様であるため、その説明を省略する。実施の形態５においては、最適化部１４０におけるＧｒｏｕｐＬａｓｓｏの演算の目的関数Ｊ（β）が実施の形態１とは異なる。
【０１１５】
本実施の形態においては、最適化部１４０は、以下の式（３）で表される目的関数Ｊ（β）を最小とする係数ベクトルβを算出する。
【数２】
2018194973.tif 000004
【０１１６】
ただし、式（３）において、Ｒはあらかじめ指定された優先センサの集合を示し、λ1は優先センサに関する正則化定数を示し、λ2は優先センサ以外のセンサ１１に関する正則化定数を示す。
【０１１７】
正則化定数が大きいほど回帰係数が０であるグループの数が多くなるため、優先センサ以外のセンサ１１に関して回帰係数が０であるグループを多くするため、正則化定数λ1よりも正規化定数λ2の方が大きい。この結果、上式（３）の目的関数Ｊ（β）を最小にする係数ベクトルβを算出することにより、優先センサの方が優先的に回帰係数が０ではないコアセンサとなる。
【０１１８】
次いで、上式（３）の目的関数Ｊ（β）を用いたセンサ制御方法について、図１６に示すフロー図を参照しながら説明する。図１６において、図７と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【０１１９】
学習期間に各ノード１０から送信されるセンサデータは、測定サーバ装置１００の通信Ｉ／Ｆ１００ａによって受信され（ステップＳ１０１）、学習データ蓄積部１１０によって蓄積される。十分な量の学習データが蓄積されると、計画行列生成部１２０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる計画行列が生成されるとともに、目標ベクトル生成部１３０によってＧｒｏｕｐＬａｓｓｏの演算に用いられる目標ベクトルが生成される（ステップＳ１０２）。
【０１２０】
計画行列及び目標ベクトルが生成されると、最適化部１４０によって、あらかじめ指定された優先センサの情報が取得され（ステップＳ６０１）、上式（３）の優先センサに関する正則化定数λ1に所定値が設定される（ステップＳ６０２）。また、優先センサ以外のセンサ１１に関する正則化定数λ2にも所定値が設定される（ステップＳ６０３）。正規化定数λ2に設定される所定値は、正則化定数λ1よりも大きい値である。
【０１２１】
正則化定数λ1、λ2が設定されると、上式（３）の目的関数Ｊ（β）を最小にする係数ベクトルβが算出される（ステップＳ１０４）。そして、係数ベクトル判定部１５０によって、係数ベクトルβに含まれるセンサ１１ごとの係数ベクトルが零ベクトルであるか否かが判定される（ステップＳ１０５）。この判定の結果、センサ＃ｍの係数ベクトルが零ベクトルでなければ（ステップＳ１０５Ｎｏ）、センサ＃ｍは回帰推定に用いられるセンサデータを取得するコアセンサであると判定される（ステップＳ１０６）。一方、センサ＃ｍの係数ベクトルが零ベクトルであれば（ステップＳ１０５Ｙｅｓ）、センサ＃ｍは回帰推定によってセンサデータが推定される従属センサであると判定される（ステップＳ１０７）。
【０１２２】
そして、係数ベクトル判定部１５０によって、変数ｍが１インクリメントされ（ステップＳ１０８）、変数ｍがセンサ１１の総数Ｍ以下であるか否かが判定される（ステップＳ１０９）。この判定の結果、変数ｍがＭ以下である場合には（ステップＳ１０９Ｙｅｓ）、引き続きセンサ＃ｍについてコアセンサであるか従属センサであるかの判定が繰り返される（ステップＳ１０５〜Ｓ１０７）。
【０１２３】
そして、変数ｍがセンサ１１の総数Ｍを超えてすべてのセンサ１１に関してセンサ種別の判定が完了すると（ステップＳ１０９Ｎｏ）、それぞれのセンサ１１によるセンサデータの測定タイミングが決定される。決定された測定タイミングは、ノード設定部１６０へ通知されるとともに、係数ベクトルβがデータ推定部１７０へ出力され、回帰係数が係数テーブルに登録されて係数テーブルが更新される（ステップＳ１１０）。
【０１２４】
また、係数テーブルの更新と並行して、ノード設定部１６０によって、ノード１０ごとの測定タイミングを制御する制御情報が生成され、各ノード１０へ制御情報が送信される。これにより、各ノード１０のセンサ１１によるセンサデータの取得間隔が設定される（ステップＳ１１１）。
【０１２５】
以上のように、本実施の形態によれば、優先センサと優先センサ以外のセンサとに異なる正則化定数が設定された目的関数に対してＧｒｏｕｐＬａｓｓｏの演算を実行する。このため、優先センサを優先してコアセンサとすることができ、柔軟にセンサシステムを運用することができる。
【０１２６】
上記各実施の形態においては、コアセンサのセンサデータから従属センサのセンサデータを回帰推定する期間中に、定期的に回帰推定の推定誤差を所定の閾値と比較し、推定誤差が所定の閾値以上となった場合には、再度学習期間が設けられるようにしても良い。すなわち、推定誤差が所定の閾値以上となった場合には、コアセンサ及び従属センサのセンサ種別を初期化し、すべてのセンサ１１のセンサデータを学習データとして蓄積し、改めてＧｒｏｕｐＬａｓｓｏの演算により、コアセンサ及び従属センサのセンサ種別を判定しても良い。
【０１２７】
また、上記各実施の形態のセンサシステムは、情報提供システム等のいずれのシステムに適用されても良い。そこで、以下では、上記各実施の形態のセンサシステムを有するシステムの一例を説明する。図１７は、実施の形態１〜５のセンサシステムを含む情報提供システムの一例を示す図である。図１７に示す情報提供システムは、例えば、下水道を流れる下水の水位の測定データを生成し、測定データの統計処理に基づく洪水予測情報等をユーザ端末へ配信する。
【０１２８】
情報提供システムは、複数のノード１０、複数のゲートウェイ装置２０、測定サーバ装置１００、アプリケーションサーバ装置３０及びユーザ端末４０を有する。ノード１０の数とゲートウェイ装置２０の数とは、任意であるものとする。
【０１２９】
ノード１０は、下水道における水位の測定地点ごとに散在している。ノード１０は、例えば下水道を覆うマンホールの裏面に取り付けられる。ノード１０は、例えば、下水の水位を赤外線によって検知する検知装置であるセンサ１１を有する。
【０１３０】
ゲートウェイ装置２０は、ノード１０と測定サーバ装置１００との間において通信を中継する中継装置である。ゲートウェイ装置２０は、ノード１０の無線範囲内における電柱等に取り付けられる。ノード１０とゲートウェイ装置２０とは、互いに無線通信を行う。測定サーバ装置１００とゲートウェイ装置２０とは、例えばインターネットを含むネットワークＮを介して通信可能に接続されている。
【０１３１】
測定サーバ装置１００は、水位の測定値と推定値とを含めた測定データを生成し、生成された測定データをアプリケーションサーバ装置３０へ送信する。アプリケーションサーバ装置３０とユーザ端末４０とは、ネットワークＮを介して通信可能に接続されている。アプリケーションサーバ装置３０に接続されるユーザ端末４０の数は任意であるものとする。アプリケーションサーバ装置３０は、測定データの統計処理を実施し、洪水予測情報を示したグラフィック表示等をユーザ端末４０へ提供する。
【０１３２】
測定サーバ装置１００は、上記各実施の形態で説明したように、コアセンサ及び従属センサのセンサ種別を判定し、各ノード１０の測定タイミングを設定する。その結果、情報提供システム全体の電力消費を低減しつつ、高精度な測定データに基づいた情報を提供することができる。
【０１３３】
なお、上記各実施の形態で説明したセンサ種別の判定及び測定タイミングの設定は、必ずしも測定サーバ装置１００によって実行されなくても良い。すなわち、例えば図１７に示すゲートウェイ装置２０又はアプリケーションサーバ装置３０が、上記各実施の形態に係る測定サーバ装置１００の構成を有していても良い。
【符号の説明】
【０１３４】
１０  ノード
１１  センサ
１２  バッテリー
１３、１００ｃ  プロセッサ
１４、１００ａ  通信Ｉ／Ｆ
１００ｂ  メモリ
１１０  学習データ蓄積部
１２０  計画行列生成部
１３０  目標ベクトル生成部
１４０  最適化部
１５０、４１０  係数ベクトル判定部
１６０  ノード設定部
１７０  データ推定部
３１０  回帰推定部
４２０  推定誤差判定部
５１０  測定率判定部
【図１】
2018194973.tif 000005
【図２】
2018194973.tif 000006
【図３】
2018194973.tif 000007
【図４】
2018194973.tif 000008
【図５】
2018194973.tif 000009
【図６】
2018194973.tif 000010
【図７】
2018194973.tif 000011
【図８】
2018194973.tif 000012
【図９】
2018194973.tif 000013
【図１０】
2018194973.tif 000014
【図１１】
2018194973.tif 000015
【図１２】
2018194973.tif 000016
【図１３】
2018194973.tif 000017
【図１４】
2018194973.tif 000018
【図１５】
2018194973.tif 000019
【図１６】
2018194973.tif 000020
【図１７】
2018194973.tif 000021