(57)【要約】【課題】多数の端末のデータから学習データを効率よく収集することを目的とする。【解決手段】プロセッサとメモリを含むサーバが、ネットワークを介して接続された端末を監視する端末の監視方法であって、前記サーバが、通信ネットワークを介して接続された１以上の前記端末が測定した指標値を時系列で収集する第１のステップと、前記サーバが、前記収集した指標値を所定の条件に従って１以上の参照グループに関連付ける第２のステップと、前記サーバが、前記参照グループに関連付けられた指標値について、当該参照グループ内の他の指標値から乖離した度合を比較対象値として算出する第３のステップと、前記サーバが、前記参照グループ毎に、前記参照グループに関連付けられた指標値の比較対象値の分布を参照データとして学習する第４のステップと、を含む。【選択図】図１６
2017187972.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを含むサーバが、ネットワークを介して接続された端末を監視する端末の監視方法であって、
前記サーバが、通信ネットワークを介して接続された１以上の前記端末が測定した指標値を時系列で収集する第１のステップと、
前記サーバが、前記収集した指標値を所定の条件に従って１以上の参照グループに関連付ける第２のステップと、
前記サーバが、前記参照グループに関連付けられた指標値について、当該参照グループ内の他の指標値から乖離した度合を比較対象値として算出する第３のステップと、
前記サーバが、前記参照グループ毎に、前記参照グループに関連付けられた指標値の比較対象値の分布を参照データとして学習する第４のステップと、
を含むことを特徴とする端末の監視方法。
【請求項２】
請求項１に記載の端末の監視方法であって、
前記サーバが、前記関連付けに従って前記収集した指標値の参照グループを特定する第６のステップと、
前記サーバが、前記特定された参照グループの比較対象値の分布と、前記指標値の比較対象値に基づいて、前記端末の状態を判定する第７のステップと、
をさらに含むことを特徴とする端末の監視方法。
【請求項３】
請求項２に記載の端末の監視方法であって、
前記第３のステップは、
前記指標値の時間変化の高周波成分から前記比較対象値を算出し、
前記第７のステップは、
前記特定された参照グループの比較対象値の分布と、前記指標値の比較対象値から異常度を算出し、当該異常度が所定の閾値を超えていれば当該指標値が所定の状態であると判定することを特徴とする端末の監視方法。
【請求項４】
請求項１に記載の端末の監視方法であって、
前記第２のステップは、
前記所定の条件は、指標値の属性と属性の組み合わせに従って、前記指標値を１以上の参照グループに関連付けることを特徴とする端末の監視方法。
【請求項５】
請求項４に記載の端末の監視方法であって、
前記参照グループは、
前記指標値と前記属性の範囲を含むことを特徴とする端末の監視方法。
【請求項６】
請求項４に記載の端末の監視方法であって、
前記参照グループは、
前記指標値毎に設定された所定の条件を見たし、複数の端末の同一日時の同一の指標値を含むことを特徴とする端末の監視方法。
【請求項７】
請求項４に記載の端末の監視方法であって、
前記参照グループは、
前記指標値毎に設定された所定の条件を見たし、複数の端末の過去の同一の指標値を含むことを特徴とする端末の監視方法。
【請求項８】
請求項７に記載の端末の監視方法であって、
前記第２のステップは、
時系列で収集した指標値の値を、予め設定した系列の値に変換し、当該系列で所定の間隔に補正することを特徴とする端末の監視方法。
【請求項９】
請求項２に記載の端末の監視方法であって、
前記サーバは、前記端末の状態を判定した結果が所定の状態の場合は、前記参照グループ内の時系列の指標値で出力することを特徴とする端末の監視方法。
【請求項１０】
プロセッサとメモリを含むサーバであって、
通信ネットワークを介して接続された１つ以上の端末が測定した指標値を時系列で収集し、
前記収集した指標値を、指標値毎に所定の条件に従って１以上の参照グループに関連付け、
前記参照グループ毎に、前記参照グループに関連付けられた指標値について、当該参照グループ内の指標値から乖離した度合を比較対象値として算出し、
前記参照グループ毎に、前記参照グループに関連付けられた指標値の比較対象値の分布を参照データとして算出することを特徴とするサーバ。
【請求項１１】
請求項１０に記載のサーバであって、
前記サーバは、
前記関連付けに従って前記収集した指標値の参照グループを特定し、
前記特定された関連付けに従って前記収集した指標値の参照グループを特定し、
前記特定された参照グループの比較対象値の分布と、前記指標値の比較対象値に基づいて、前記端末の状態を判定することを特徴とするサーバ。
【請求項１２】
請求項１１に記載のサーバであって、
前記サーバは、
前記指標値の時間変化の高周波成分から前記比較対象値を算出し、
前記特定された参照グループの比較対象値の分布と、前記指標値の比較対象値から異常度を算出し、当該異常度が所定の閾値を超えていれば当該指標値が所定の状態であると判定することを特徴とするサーバ。
【請求項１３】
請求項１０に記載のサーバであって、
前記所定の条件は、指標値の属性と属性の組み合わせに従って、前記指標値を１以上の参照グループに関連付けることを特徴とするサーバ。
【請求項１４】
請求項１３に記載のサーバであって、
前記参照グループは、前記指標値と前記属性の範囲を含むことを特徴とするサーバ。
【請求項１５】
プロセッサとメモリを含む状態識別サーバであって、
通信ネットワークを介して接続された端末から指標値を収集し、予め設定された指標値と参照グループの関連付けから当該指標値が所属する参照グループを特定し、
前記参照グループに予め設定された学習値と、前記指標値とを比較して前記端末の状態を判定することを特徴とする状態識別サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つ以上のＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）端末が通信ネットワークを介して接続されたＩｏＴシステムにおける、ＩｏＴ端末の状態監視技術に関する。
【背景技術】
【０００２】
ＩｏＴの時代となり、様々なＩｏＴ端末がネットワークに接続されるようになった。これらのＩｏＴ端末を高効率で活用するためには、故障を未然に防ぐための予防保守が重要である。また、昨今注目を集める自動運転技術でも、安全性確保の観点から、端末の状態監視は高いニーズがある。
【０００３】
従来の状態監視技術では、監視対象機器の過去のデータを学習データとして収集し、学習データと監視対象機器の現在のデータの比較により、機器の状態を識別している（例えば、特許文献１（第７〜１３頁、第７図）参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５―０８８０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、監視対象の機械設備自身の過去の正常時の観測データと、現在の測定データとの比較により、機器の状態を識別している。識別精度を向上するためには、学習時間を長く取り、学習データを大量に集める必要がある。
【０００６】
特許文献１に記載の技術は、主に、発電設備や大型の建設機器などを対象としており、ＩｏＴシステムにおける、大量の端末や、端末の頻繁な移動などは想定していない。ＩｏＴシステムでは、端末が置かれた外的条件が大幅に変化する可能性もあり、同一条件となる学習データを大量に収集することは難しい。
【０００７】
そこで本発明は、上記問題点に鑑みてなされたもので、多数の端末のデータから学習データを効率よく収集することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、プロセッサとメモリを含むサーバが、ネットワークを介して接続された端末を監視する端末の監視方法であって、前記サーバが、通信ネットワークを介して接続された１以上の前記端末が測定した指標値を時系列で収集する第１のステップと、前記サーバが、前記収集した指標値を所定の条件に従って１以上の参照グループに関連付ける第２のステップと、前記サーバが、前記参照グループに関連付けられた指標値について、当該参照グループ内の他の指標値から乖離した度合を比較対象値として算出する第３のステップと、前記サーバが、前記参照グループ毎に、前記参照グループに関連付けられた指標値の比較対象値の分布を参照データとして学習する第４のステップと、を含む。
【発明の効果】
【０００９】
複数の端末から学習用データを短期間で効率的に収集でき、状態の検知精度が向上する。
【００１０】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１Ａ】第１の実施例を示し、ＩｏＴシステムの構成の一例を示すブロック図である。
【図１Ｂ】第１の実施例を示し、ＩｏＴシステムの構成の一例を示すブロック図である。
【図２】第１の実施例を示し、学習サーバの構成の一例を示すブロック図である。
【図３】第１の実施例を示し、状態識別サーバの構成の一例を示すブロック図である。
【図４】第１の実施例を示し、データ格納装置の構成の一例を示すブロック図である。
【図５】第１の実施例を示し、参照グループ選択テーブルの一例を示す図である。
【図６】第１の実施例を示し、広域エリア情報テーブルの一例を示す図である。
【図７】第１の実施例を示し、狭域エリア情報テーブルの一例を示す図である。
【図８】第１の実施例を示し、参照グループ管理テーブルの一例を示す図である。
【図９】第１の実施例を示し、自動車情報テーブルの一例を示す図である。
【図１０】第１の実施例を示し、指標値履歴テーブルの一例を示す図である。
【図１１】第１の実施例を示し、高周波成分履歴テーブルの一例を示す図である。
【図１２】第１の実施例を示し、アンバランス程度履歴テーブルの一例を示す図である。
【図１３】第１の実施例を示し、アンバランス程度分布テーブルの一例を示す図である。
【図１４】第１の実施例を示し、異常判定履歴テーブルの一例を示す図である。
【図１５】第１の実施例を示し、学習サーバが自動車から指標値を取得する処理の一例を示すシーケンス図である。
【図１６】第１の実施例を示し、学習処理の一例を示すフローチャートである。
【図１７】第１の実施例を示し、異常検出処理の一例を示すフローチャートである。
【図１８】第１の実施例を示し、画面表示処理の一例を示すフローチャートである。
【図１９Ａ】第１の実施例を示し、検出した異常の画面表示の一例を示す画面イメージである。
【図１９Ｂ】第１の実施例を示し、検出した異常値と日時の関係を示す画面表示の一例を示す画面イメージである。
【図１９Ｃ】第１の実施例を示し、検出した速度と日時の関係を示す画面表示の一例を示す画面イメージである。
【図２０】第４の実施例を示し、特定エリア進入履歴テーブルの一例を示す図である。
【図２１】第４の実施例を示し、特定エリア指標値履歴テーブルの一例を示す図である。
【図２２】第４の実施例を示し、特定エリアアンバランス程度分布テーブルの一例を示す図である。
【図２３】第４の実施例を示し、軸変換処理の一例を示すフローチャートである。
【図２４】第４の実施例を示し、監視対象自動車の状況を示す図である。
【図２５Ａ】第４の実施例を示し、軸の変換方法の一例を示す図である。
【図２５Ｂ】第４の実施例を示し、軸の変換方法の一例を示す図である。
【図２６】第４の実施例を示し、参照データ学習及び異常検出処理の一例を示すシーケンス図である。
【図２７】第４の実施例を示し、参照データ学習処理の一例を示すフローチャートである。
【図２８Ａ】第４の実施例を示し、危険運転の検出の一例を示すグラフである。
【図２８Ｂ】第４の実施例を示し、危険運転の検出の他の例を示すグラフである。
【図２９】第４の実施例を示し、過去データの位相補正処理の一例を示すフローチャートである。
【図３０】第４の実施例を示し、距離補正前の距離と加速度の関係を示す図である。
【図３１】第５の実施例を示し、ロボット監視システムの一例を示すブロック図である。
【図３２】第５の実施例を示し、参照データ学習及び異常検出処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を用いて説明する。
【００１３】
なお、以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。
【００１４】
また、以下の実施の形態において、要素の数等（例えば、個数、数値、量、範囲等）に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良いものとする。
【００１５】
さらに、以下の実施の形態において、その構成要素（本実施形態では、物理的な構成要素の他に、要素ステップなども含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
【００１６】
さらに、以下に示した実施の形態は単独で適用してもよいし、複数もしくはすべての実施の形態を組み合わせて適用しても構わない。
【００１７】
なお、本実施形態において、システムが使用する情報はデータ構造に依存せず、どのようなデータ構造で表現されてもよい。例えば、テーブル、リスト、データベース又はキュー等から適切に選択したデータ構造体が、情報を格納することができる。従って、本実施形態において使用されるテーブルは、テーブル以外のデータ構造で表現されてもよい。
【実施例１】
【００１８】
本実施例では、ＩｏＴシステムの一例として、テレマティクスサービスシステムにおける異常検出について説明する。また、本実施例では、異常検出方法として、公知または周知の技術を用いることができ、例えば特開２００６−２４０４１２に開示される高周波成分を用いた異常検出方法を拡張して用いる。
【００１９】
図１Ａ、図１Ｂは実施例１のテレマティクスサービスシステムの構成図である。
【００２０】
テレマティクスサービスシステムでは、少なくとも一台以上のＩｏＴ端末（本実施例１では自動車）１０７と、無線のアクセス網１０６と、インターネット１０５と、状態識別サーバ１０１と、学習サーバ１０３と、入出力端末１０４、及びデータ格納装置１０２から構成される。
【００２１】
なお、ＩｏＴ端末１０７とは、計測機能と通信機能を有し、インターネット１０５やアクセス網１０６などの通信網に接続して、テレマティクスサービスプロバイダ１０８などに収集したデータの送信を行う端末であり、上記機能の他にも、端末の用途に応じた様々な機能を有していてもよい。
【００２２】
状態識別サーバ１０１と、学習サーバ１０３と、入出力端末１０４及びデータ格納装置１０２はネットワーク１２０を介して相互に接続されてテレマティクスサービスを提供するサイト（即ち、テレマティクスサービスプロバイダ１０８）を構成する。また、ネットワーク１２０は、ゲートウェイ装置１２１を介してインターネット１０５に接続される。
【００２３】
インターネット１０５は図示しない複数の通信装置によって構築される通信ネットワークであり、本実施例特有の構成ではないため説明を省略する。
【００２４】
アクセス網１０６は、図１Ｂで示すように、１以上の自動車１０７と通信を行う基地局１４０と、複数の通信装置１４１と、アクセス網１０６をインターネット１０５に接続する中継装置１４２と、を含む。
【００２５】
テレマティクスサービスシステムは１以上のアクセス網１０６を有し、アクセス網１０６は自動車１０７の指標値１０９をテレマティクスサービスプロバイダ１０８へ転送する。なお、ひとつのアクセス網１０６は、１以上のエリアＡ１〜Ａ３に含まれる。各エリアＡ１〜Ａ３は、図６の広域エリアＩＤ６０１に対応する。
【００２６】
また、広域エリアは、都道府県などの単位で予め設定された領域である。広域エリアは、１以上の狭域エリアを含むことができ、狭域エリアは、自動車１０７の走行に特徴のある領域が予め設定される。狭域エリアとしては、高速道路や山道などが予め設定される。
【００２７】
自動車１０７は、公知または周知の自動車である。自動車１０７は位置を測定するＧＰＳ（Global Positioning System）等の測位装置（以下、ＧＰＳという）１３１と、スピード、冷却水温度、エンジン回転数、各方向の加速度、及び走行距離等の各指標値１０９を測定する各種センサで構成されるセンサ１３２と、ＧＰＳ１３１とセンサ１３２からデータを収集して通信装置１３３からアクセス網１０６、インターネット１０５を介して測定した指標値１０９をアクセス網１０６と、インターネット１０５及びネットワーク１２０を介して学習サーバ１０３へ送信するコントローラ１３０と、を含む。
【００２８】
前記測定機能及び通信機能は、自動車１０７自身が有さずに、本機能を有する外部装置（図示省略）を自動車１０７に接続することによって実現しても良い。また、自動車１０７が測定機能を有し、測定した各指標値を、自動車１０７に接続した外部通信装置を介して学習サーバ１０３へ送信しても良い。本機能は公知又は周知の測定装置、及び通信装置で実現されるため、本実施例では説明を省略する。なお、本実施例では、測定機能及び通信機能は、自動車１０７を主体として記す。
【００２９】
学習サーバ１０３は、ネットワーク１２０とインターネット１０５、及びアクセス網１０６を介して自動車１０７に接続する。また、学習サーバ１０３はネットワーク１２０を介してデータ格納装置１０２、及び入出力端末１０４にも接続する。学習サーバ１０３は自動車１０７から受信したデータを基に異常検出処理の際に、比較データとなる参照データを作成し、作成した参照データをデータ格納装置１０２へ書き込む。
【００３０】
状態識別サーバ１０１は、ネットワーク１２０を介してデータ格納装置１０２、及び入出力端末１０４と接続される。状態識別サーバ１０１は、データ格納装置１０２から読み出したデータを用いて、異常検出処理を行う。
【００３１】
入出力端末１０４は、例えばディスプレイとキーボードやマウスを含む計算機であり、学習サーバ１０３、データ格納装置１０２、及び状態識別サーバ１０１と接続する。
【００３２】
データ格納装置１０２はデータの書き込み及び読み出しを行う外部記憶装置であり、状態識別サーバ１０１、学習サーバ１０３、及び入出力端末１０４に接続される。データ格納装置１０２は、管理者による各種の設定、自動車１０７から受信したデータ、及び、データ学習サーバ１０３により算出された各種データなどを記録する、複数のデータテーブルを格納する。
【００３３】
なお、本構成は一例であり、学習サーバ１０３、状態識別サーバ１０１、及びデータ格納装置１０２は、このうちの二台、又は全てを同一装置上で実現してもよい。データ格納装置１０２が有する一部又は全てのデータテーブルを、学習サーバ１０３、又は状態識別サーバ１０１のメモリ上に設置してもよい。データの学習及び異常検出処理に影響のない範囲で、前記各テーブルの配置は変更可能であり、重複して配置されてもよい。入出力端末１０４は、学習サーバ１０３、状態識別サーバ１０１、及びデータ格納装置１０２のそれぞれに用意されていてもよい。また、入出力端末１０４は学習サーバ１０３、状態識別サーバ１０１、及びデータ格納装置１０２に、必ずしも直接接続しなくても良い。更に、図１では、学習サーバ１０３、状態識別サーバ１０１、及びデータ格納装置１０２はテレマティクスサービスプロバイダ１０８により所有、及び管理されているが、それぞれ、異なるサービス提供者により所有及び管理されてもよい。また、学習サーバ１０３、状態識別サーバ１０１、及びデータ格納装置１０２はそれぞれ複数台設置されても良い。なお、実施例２以降も、特に明記しない限り本システム構成と同様の構成をとる。
【００３４】
図２は実施例１の学習サーバ１０３のハードウェアを含む構成の一例を示すブロック図である。学習サーバ１０３は、公知または周知の計算機のハードウェア構成を採用するものであり、ＣＰＵ２０１と、入出力インターフェース（図２では、Ｉ／Ｏと表記）２０２と、ネットワークインターフェース（図２では、ネットワークＩ／Ｆと表記）２０５と、メモリ２０３、及び二次記憶デバイス２０４を有する。
【００３５】
ＣＰＵ２０１と、入出力インターフェース２０２と、ネットワークインターフェース２０５と、メモリ２０３、及び二次記憶デバイス２０４は、バスを介して互いに接続される。
【００３６】
ＣＰＵ２０１は、二次記憶デバイス２０４に格納された各種プログラムをメモリ２０３にロードし、メモリ２０３にロードされた各種プログラムを実行する。
【００３７】
メモリ２０３は揮発性の記憶領域であり、二次記憶デバイス２０４は不揮発性の記憶領域である。メモリ２０３に格納されたデータは、永続的にデータを記憶するために二次記憶デバイス２０４にも格納される。
【００３８】
メモリ２０３には、参照グループ管理プログラム２０６と、指標値取得プログラム２０７と、高周波成分計算プログラム２０８、及びアンバランス程度計算プログラム２０９が格納される。学習サーバ１０３は、ネットワークインターフェース２０５を介して入出力端末１０４と接続する。
【００３９】
各プログラムはＣＰＵ２０１によって実行されるものであるが、実施例においては各プログラムによる処理は、各プログラムを主体として記載する。
【００４０】
後述するように、参照グループ管理プログラム２０６は、参照グループ管理テーブル４０９を生成し、指標値取得プログラム２０７は、自動車１０７から各指標値１０９を取得し、高周波成分計算プログラム２０８は指標値毎に時間変化（即ち、時系列的な変化）の高周波成分を計算し、アンバランス程度計算プログラム２０９は、指標値毎に時間変化の高周波成分からアンバランス程度の統計分布を計算する。アンバランス程度は、後述するように指標値の高周波成分に基づいて算出された値である。
【００４１】
データ学習サーバ１０３の各機能を実現するプログラムや、テーブル等の情報は、二次記憶デバイス２０４や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４２】
図３は実施例１の状態識別サーバ１０１のハードウェアを含む構成の一例を示すブロック図である。状態識別サーバ１０１は、公知又は周知の計算機のハードウェア構成を採用するものであり、ＣＰＵ３０１と、外部入出力インターフェース（図３では、Ｉ／Ｏと表記）３０２と、ネットワークインターフェース（図３では、ネットワークＩ／Ｆと表記）３０５と、メモリ３０３、及び二次記憶デバイス３０４を有する。
【００４３】
ＣＰＵ３０１と、入出力インターフェース３０２と、ネットワークインターフェース３０５と、メモリ３０３、及び二次記憶デバイス３０４は、バスを介して互いに接続される。ＣＰＵ３０１と、入出力インターフェース３０２と、ネットワークインターフェース３０５と、メモリ３０３、及び二次記憶デバイス３０４のハードウェア的な機能は、図２に示すＣＰＵ２０１と、入出力インターフェース２０２と、ネットワークインターフェース２０５と、メモリ２０３、及び二次記憶デバイス２０４と同じであるので、説明を省略する。
【００４４】
メモリ３０３には、異常分析プログラム３１１、及び異常表示プログラム３１２が格納され、ＣＰＵ３０１によって実行される。
【００４５】
異常分析プログラム３１１は後述するように、自動車１０７の指標値１０９から異常度を算出して異常の有無を判定する。また、異常表示プログラム３１２は、入出力端末１０４に異常の内容を表示する。なお、異常度は、後述するように、指標値１０９の高周波成分に基づいて算出されたアンバランス程度から算出される値である。
【００４６】
状態識別サーバ１０１の各機能を実現するプログラムや、テーブル等の情報は、二次記憶デバイス３０４や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００４７】
学習サーバ１０３、及び状態識別サーバ１０１で実行される各プログラムの詳細は、図５〜図１９を用いて後述する。
【００４８】
図４はデータ格納装置１０２のハードウェアを含む構成の一例を示すブロック図である。データ格納装置１０２は、公知又は周知の計算機のハードウェア構成を採用するものであり、ＣＰＵ４０１と、外部入出力インターフェース４０２（図４では、Ｉ／Ｏと表記）と、ネットワークインターフェース４０５（図４では、ネットワークＩ／Ｆと表記）と、メモリ４０３、及び二次記憶デバイス４０４を有する。
【００４９】
ＣＰＵ４０１と、入出力インターフェース４０２と、ネットワークインターフェース４０５と、メモリ４０３、及び二次記憶デバイス４０４は、バスを介して互いに接続される。ＣＰＵ４０１と、入出力インターフェース４０２と、ネットワークインターフェース４０５と、メモリ４０３、及び二次記憶デバイス４０４のハードウェア的な機能は、図２に示すＣＰＵ２０１と、入出力インターフェース２０２と、ネットワークインターフェース２０５と、メモリ２０３、及び二次記憶デバイス２０４と同じであるので、説明を省略する。
【００５０】
メモリ４０３には、参照グループ選択テーブル４０６、広域エリア情報テーブル４０７、狭域エリア情報テーブル４０８、参照グループ管理テーブル４０９、自動車情報テーブル４１０、指標値履歴テーブル４１１、高周波成分履歴テーブル４１２、アンバランス程度履歴テーブル４１３、アンバランス程度分布テーブル４１４、及び、異常判定履歴テーブル４１５が格納される。
【００５１】
図５は参照グループ選択テーブル４０６の一例を示す図である。
【００５２】
参照グループ選択テーブル４０６は、指標値名５０１と、指標値ＩＤ５０２と、広域エリア５０３と、狭域エリア５０４と、製造メーカ５０５と、車種５０６をひとつのエントリに含む。
【００５３】
指標値名５０１は、自動車１０７のセンサ１３２で測定されるデータの種類が格納される。指標値ＩＤ５０２には、指標値名５０１ごとに予め設定された識別子が格納される。広域エリア５０３〜車種５０６は、指標値の属性を示すフィールドであり、当該指標値と属性を関連付ける情報が格納される。指標値と属性を関連付ける場合には、広域エリア５０３〜車種５０６のフィールドに「○」が設定される。
【００５４】
指標値は、「○」が設定された広域エリア５０３〜車種５０６の属性に関連付けられた参照グループに含まれる。図示の例では、「速度」の指標値は、広域エリア５０３と、狭域エリア５０２の属性を含む参照グループに含まれる。
【００５５】
ここで、参照グループとは、指標値名５０１と、広域エリア５０３〜車種５０６に設定した「○」の範囲の組合せにより一意に決まるグループであり、学習サーバ１０３は、参照グループ毎にデータの学習を行う。
【００５６】
本実施例１では、学習サーバ１０３は、複数のアクセス網１０６の複数の自動車１０７から測定データ（指標値１０９）を収集することにより、同一条件を満たす学習用データを短時間で効率的に収集する。
【００５７】
上述したように、自動車１０７では様々な指標値１０９を測定しており、データ学習を行う上で、指標値１０９の種類により同一条件の設定方法は異なる。例えば、自動車１０７の速度や加速度は、同一の高速道路を走行中の自動車１０７であれば同一条件を満たす、と考えられる。また、エンジンの冷却水の温度のように、気温が関係する指標値では、地理的に近いエリアを走行中の自動車が同一条件を満たすと考える。
【００５８】
そこで、テレマティクスサービスプロバイダ１０８の管理者は参照グループ選択テーブル４０６を用いて指標値１０９毎に同一条件のグループの範囲を「○」により設定する。これにより、指標値と区切り方法のフルマトリックスで参照グループを生成することなく、指標値１０９毎に有効な範囲の区切り方を指定することができる。
【００５９】
図６は広域エリア情報テーブル４０７の一例を示す図である。広域エリア情報テーブル４０７は、広域エリアの識別子を格納する広域エリアＩＤ６０１と、ＧＰＳ１３１で測定された緯度６０２と、経度６０３及び高度６０４と、隣接エリア６０５と、包含エリア６０６をひとつのエントリに含む。
【００６０】
緯度６０２、経度６０３、及び高度６０４により、各狭域エリアの範囲を指定する。隣接エリア６０５は、各広域エリアに隣接する広域エリアのＩＤを格納する。包含エリア６０６は、各広域エリアに含まれる狭域エリアのＩＤを格納する。狭域エリアを含まない広域エリアも存在する。
【００６１】
図７は狭域エリア情報テーブル４０８の一例を示す図である。狭域エリア情報テーブル４０８は、狭域エリアの識別子を格納する狭域エリアＩＤ７０１と、種別７０２と、狭域エリアの始点の座標（緯度７０３と、経度７０４、及び高度７０５）と、狭域エリアの終点の座標（緯度７０６、経度７０７、及び高度７０８）をひとつのエントリに含む。
【００６２】
狭域エリア情報テーブル４０８は、高速道路や山道など、特別なエリアの範囲を規定する。種別７０２が「高速道路」の場合、全範囲が１つの狭域エリアに属するわけではなく、複数の狭域エリアに分割されてもよい。
【００６３】
図８は参照グループ管理テーブル４０９の一例を示す図である。参照グループ管理テーブル４０９は、参照グループＩＤ８０１と、指標値ＩＤ８０２と、範囲８０３をひとつのエントリに含む。
【００６４】
参照グループＩＤ８０１は、参照グループの識別子で、学習サーバ１０３の参照グループ管理プログラム２０６が設定する。管理者等の指示により、学習サーバ１０３の参照グループ管理プログラム２０６が、参照グループ選択テーブル４０６と、広域エリア情報テーブル４０７、及び狭域エリア情報テーブル４０８を基に参照グループ管理テーブル４０９を生成する。
【００６５】
参照グループ管理テーブル４０９は、学習対象となる指標値（８０２）と範囲（８０３）の組合せを管理する。例えば、参照グループＩＤ８０１が「Ｇ０００１−０００１」の場合、図５に示した参照グループ選択テーブル４０６の指標値名５０１が「速度」について、広域エリア「Ａ１」と狭域エリア「Ｂ１」で取得した指標値の学習を行うことが設定される。
【００６６】
学習サーバ１０３に収集された指標値は、予め設定された参照グループ管理テーブル４０９に従って、１以上の参照グループＩＤ８０１に関連付けられる。
【００６７】
なお、参照グループは、図５に示した参照グループ選択テーブル４０６で、指標値と属性の組み合わせが設定され、学習サーバ１０３は、指標値に対する属性の範囲８０３を設定した参照グループＩＤ８０１を設定する。すなわち、指標値の属性として、地理的な属性である広域エリア５０３が選択されていた場合、学習サーバ１０３は、広域エリア５０３毎に参照グループＩＤ８０１を生成し、参照グループＩＤ８０１単位で学習を行う。
【００６８】
図９は自動車情報テーブル４１０の一例を示す図である。自動車１０７の識別子を格納する自動車ＩＤ９０１と、製造メーカ９０２、及び車種９０３などをひとつのエントリに含む。自動車１０７が測定した指標値ではなく、自動車１０７に対して固定的なデータを格納する。
【００６９】
自動車ＩＤ９０１は、各自動車１０７に予め設定された値で、例えば、登録番号などを用いることができる。
【００７０】
図１０は指標値履歴テーブル４１１の一例を示す図である。指標値履歴テーブル４１１は、自動車ＩＤ１００１と、データ測定日時１００２と、緯度１００３と、経度１００４と、高度１００５と、各指標値１００６、１００７と、広域エリアＩＤ１００８、及び狭域エリアＩＤ１００９をひとつのエントリに含む。
【００７１】
指標値履歴テーブル４１１は、学習サーバ１０３の指標値取得プログラム２０７によって生成及び更新される。自動車ＩＤ１００１には、自動車情報テーブル４１０の自動車ＩＤ９０１の値が格納される。データ測定日時１００２は、自動車１０７のコントローラ１３０がＧＰＳ１３１やセンサ１３２からデータを取得した日時が格納される。
【００７２】
緯度１００３と経度１００４及び高度１００５には、自動車１０７のＧＰＳ１３１が測定した座標が格納される。指標値１００６には、参照グループ選択テーブル４０６の指標値ＩＤ５０２＝「０００１」の「車速」が格納される。指標値１００７には、参照グループ選択テーブル４０６の指標値ＩＤ５０２＝「０００２」の「冷却水温度」が格納される。
【００７３】
広域エリア１００８には、自動車１０７の指標値１０９を測定した広域エリアの識別子が格納され、狭域エリア１００９には、自動車１０７の指標値１０９を測定した狭域エリアの識別子が格納される。
【００７４】
なお、図１０では、指標値１００６、１００７を示したが、図示はしないが参照グループ選択テーブル４０６の指標値ＩＤ５０２が「０００３」以降の指標値についても指標値履歴テーブル４１１にはフィールドが設定され、値が格納される。以下に説明する他のテーブルについても同様である。
【００７５】
図１１は高周波成分履歴テーブル４１２の一例を示す図である。高周波成分履歴テーブル４１２は、自動車ＩＤ１１０１と、データ測定日時１１０２、及び各指標値の高周波成分１１０３、１１０４をひとつのエントリに含む。
【００７６】
高周波成分履歴テーブル４１２は、学習サーバ１０３の高周波成分計算プログラム２０８によって生成される。自動車ＩＤ１１０１には、自動車情報テーブル４１０の自動車ＩＤ９０１の値が格納される。データ測定日時１１０２は、自動車１０７のコントローラ１３０がＧＰＳ１３１やセンサ１３２からデータを取得した日時が格納される。
【００７７】
高周波成分１１０３には、参照グループ選択テーブル４０６の指標値ＩＤ５０２＝「０００１」の「車速」について高周波成分の計算を行った結果が格納される。同様に、高周波成分１１０４には、参照グループ選択テーブル４０６の指標値ＩＤ５０２＝「０００２」の「冷却水温度」について高周波成分の計算を行った結果が格納される。
【００７８】
図１２はアンバランス程度履歴テーブル４１３の一例を示す図である。後述するアンバランス程度計算プログラム２０９は、アンバランス程度履歴テーブル４１３に計算結果を格納する。
【００７９】
アンバランス程度履歴テーブル４１３は、自動車ＩＤ１２０１と、データ測定日時１２０２と、指標値ＩＤ１２０３と、アンバランス程度１２０４と、異常度１２０５、及び参照グループＩＤ１２０６をひとつのエントリに含む。
【００８０】
自動車ＩＤ１２０１には、指標値を取得した自動車１０７の識別子を示す自動車ＩＤ９０１の値が格納される。データ測定日時１２０２には、アンバランス程度を演算した指標値を取得した日時が格納され、指標値履歴テーブル４１１のデータ測定日時１００２が対応する。指標値ＩＤ１２０３には、アンバランス程度を算出した指標値の識別子が格納され、参照グループ選択テーブル４０６の指標値ＩＤ５０２に対応する。
【００８１】
アンバランス程度１２０４には、アンバランス程度計算プログラム２０９の計算結果が格納される。異常度１２０５には、後述するように、異常分析プログラム３１１がアンバランス程度の分布に基づいて計算した結果が格納される。参照グループＩＤ１２０６には、参照グループ管理テーブル４０９の識別子（８０１）が格納される。
【００８２】
図１３はアンバランス程度分布テーブル４１４の一例を示す図である。
【００８３】
アンバランス程度分布テーブル４１４は、参照グループＩＤ１３０１、データ測定日時１３０２、分布の平均１３０３、及び分布の標準偏差１３０４をひとつのエントリに含む。
【００８４】
参照グループＩＤ１３０１には、参照グループ管理テーブル４０９の識別子（８０１）が格納される。データ測定日時１３０２には、アンバランス程度を演算した指標値を取得した日時が格納され、指標値履歴テーブル４１１のデータ測定日時１００２が対応する。分布の平均１３０３及び分布の標準偏差１３０４には、アンバランス程度計算プログラム２０９が計算した結果が格納される。
【００８５】
図１４は異常判定履歴テーブル４１５の一例を示す図である。異常判定履歴テーブル４１５は、検出日時１４０１、自動車ＩＤ１４０２、指標値ＩＤ１４０３、異常度１４０４、及び参照グループＩＤ１４０５を含む。
【００８６】
検出日時１４０１には、異常分析プログラム３１１によって異常であると判定された指標値を、自動車１０７が測定した日時（即ち、アンバランス程度履歴テーブル４１３のデータ測定日時１２０２）が格納される。
【００８７】
指標値ＩＤ１４０３には、異常と判定された指標値の識別子が格納され、参照グループ選択テーブル４０６の指標値ＩＤ５０２に対応する。異常度１４０４には、異常分析プログラム３１１が算出した異常の度合を示す値が格納される。参照グループＩＤ１４０５には、参照グループ管理テーブル４０９の識別子（８０１）が格納される。
【００８８】
図１５は、実施例１の学習サーバ１０３が自動車１０７から指標値１０９を取得する処理の一例を示すシーケンス図である。
【００８９】
自動車１０７のコントローラ１３０は、所定の周期で位置情報、及び各種指標値１０９の測定を行い（１５０１）、測定した指標値１０９（即ち、データ群）を、アクセス網１０６、及びインターネット１０５を介して、学習サーバ１０３へ送信する（１５０２）。
【００９０】
ここで位置情報とは、緯度、経度、高度など、自動車１０７の位置を特定可能な情報である。また、指標値１０９とは、たとえば、走行速度、冷却水の温度、各種加速度、走行距離、及びエンジンの回転数などである。コントローラ１３０は、自動車１０７のメーカや車種の情報も合わせてデータを送信してもよい。アクセス網１０６、及びインターネット１０５は、自動車１０７から送信されたデータを学習サーバ１０３へ転送する（１５０３、１５０４）。
【００９１】
学習サーバ１０３では、自動車１０７から送信された各指標値１０９を指標値取得プログラム２０７が受信し、受信した位置情報、及び各種指標値１０９を基に、指標値履歴テーブル４１１を更新する（１５０５）。具体的には、指標値取得プログラム２０７が受信した位置情報、及び各指標値１０９を指標値履歴テーブル４１１に追記し、予め定めておいた保持期間を過ぎたデータがあれば削除する。
【００９２】
また、指標値取得プログラム２０７が受信した位置情報で、広域エリア情報テーブル４０７及び狭域エリア情報テーブル４０８を検索して、該自動車１０７が含まれる広域エリアＩＤ６０１、及び狭域エリアＩＤ７０１を特定して指標値履歴テーブル４１１に記録する。
【００９３】
広域エリア情報テーブル４０７には、隣接する隣接エリア６０５が記録されており、指標値取得プログラム２０７は、自動車１０７の広域エリアＩＤ６０１を判定する際に、前回受信した位置情報から得た広域エリアＩＤ６０１と、その隣接エリア６０５、その他の広域エリアの順に検索することにより、広域エリアＩＤ６０１の特定時間を短縮することができる。
【００９４】
また、広域エリア情報テーブル４０７は、各広域エリアに含まれる包含エリア６０６も記録している。自動車１０７の狭域エリア１００９の特定は、該自動車１０７の広域エリアを特定した後に、特定した広域エリアＩＤ６０１に含まれる包含エリア６０６について、該自動車１０７の位置情報が含まれているか否かの判定により指標値取得プログラム２０７が行う。
【００９５】
次に、高周波成分計算プログラム２０８が、受信した各指標値１０９、及び指標値履歴テーブル４１１から得られる各指標値の過去の履歴に基づいて、指標値毎に高周波成分を計算し（１５０６）、計算結果を高周波成分履歴テーブル４１２に追記する（１５０７）。
【００９６】
上記計算方法の一例として、高周波成分計算プログラム２０８は、時系列で取得された指標値１０９に対して、ハイパスフィルタを用いて、以下の（１）式で示される平滑化した正規変化率（smoothed normalized rate of variability）を算出する。（１）式において、ｘｔは日時ｔの指標値であり、ｎは平滑の長さ、αは平滑度である。なお、平滑度αは１よりも大きい値に設定される。
【００９７】
【数１】
2017187972.tif 000003
【００９８】
以上のように、自動車１０７から送信された指標値１０９が、指標値取得プログラム２０７によって指標値履歴テーブル４１１に格納されてから、高周波成分計算プログラム２０８によって計算された高周波成分が高周波成分履歴テーブル４１２へ格納される。
【００９９】
図１６は、学習サーバ１０３における、学習処理の一例を示すフローチャートである。学習サーバ１０３は、所定の周期（例えば、５秒間隔）で参照データの学習及び更新を行う。この所定の周期は、自動車１０７のコントローラ１３０がデータをサンプリングして送信する周期とすることができる。
【０１００】
なお、学習サーバ１０３は、データ格納装置１０２に接続されて、データ格納装置１０２上のデータテーブルの読み書き処理を行うが、学習サーバ１０３とデータ格納装置１０２間のデータ送受信は公知又は周知のデータ送受信処理であるため、データテーブルの読み書き処理においてはデータ送受信処理の説明を省略する。状態識別サーバ１０１とデータ格納装置１０２の間のデータ送受信処理の説明も同様に省略する。
【０１０１】
学習サーバ１０３のアンバランス程度計算プログラム２０９は、参照グループ管理テーブル４０９から、未処理の参照グループＩＤ８０１をひとつ選択する（１６０２）。アンバランス程度計算プログラム２０９は、選択した参照グループＩＤ８０１の範囲８０３に含まれる自動車１０７、即ち、広域エリア及び狭域エリアの組、又は製造メーカと車種の組など、参照グループ管理テーブル４０９に指定された範囲８０３に一致する自動車１０７を、指標値履歴テーブル４１１、及び自動車情報テーブル４１０を用いて選択する（１６０３）。
【０１０２】
次にアンバランス程度計算プログラム２０９は、選択された自動車１０７の中から、最新のデータ測定日時１００２が処理対象日時である自動車１０７を更に選択する（１６０４）。なお、処理対象日時は、最新のデータ測定日時１００２が現在日時から所定時間（例えば、５秒間など）だけ過去に遡った日時以内であり、データ測定日時１００２が処理対象日時以内の指標値履歴テーブル４１１のデータまでを処理対象とすることができる。また、最新のデータ測定日時１００２が現在日時から所定時間を超えた古いデータであれば、当該自動車ＩＤ１００１を学習対象から除外することができる。
【０１０３】
次にアンバランス程度計算プログラム２０９は、最終的に選択した全自動車１０７の処理対象である指標値の高周波成分値のアンバランス程度を参照グループＩＤ１９０７毎に計算する（１６０５）。
【０１０４】
アンバランス程度は、選択された自動車１０７の指標値の高周波成分（１１０３、１１０４）と、他の自動車１０７の処理対象の高周波成分（１１０３、１１０４）の平均値との差から算出される。アンバランス程度は、参照グループ内の指標値の高周波成分の分布に対して、当該指標値の高周波成分が前記分布から乖離した度合を示す。なお、アンバランス程度は、参照グループ内の指標値の分布に対して、当該指標値が乖離した度合としてもよい。
【０１０５】
自動車ｉの処理対象の指標値の高周波成分をｚ（ｉ）とすれば、ｍ台の自動車を含むグループにおける第ｉ台目の自動車１０７の処理対象の指標値のアンバランス程度Ｇ（ｚ（ｉ））は以下の（２）式で示される。
【０１０６】
【数２】
2017187972.tif 000004
【０１０７】
換言すれば、アンバランス程度は、当該指標値が、参照グループ内の他の指標値から乖離した度合を示す値であって、当該参照グループの学習結果と比較を行うための比較対象値として算出される。参照グループの学習結果は、後述するように、アンバランス程度の分布の平均と、分布の標準偏差の例を示す。
【０１０８】
次に、アンバランス程度計算プログラム２０９は、算出したアンバランス程度Ｇ（ｚ（ｉ））でアンバランス程度履歴テーブル４１３を更新する（１６０６）。具体的には、アンバランス程度計算プログラム２０９は、算出したアンバランス程度の値をアンバランス程度履歴テーブル４１３に追記し、所定の時間を経過したアンバランス程度履歴テーブル４１３のデータを削除する。
【０１０９】
次に、アンバランス程度計算プログラム２０９は、算出したアンバランス程度の統計分布を算出する（１６０７）。このとき、上記ステップ１６０４で選択した自動車１０７の台数が予め定めたｐ台に満たない場合は、アンバランス程度履歴テーブル４１３から不足分のデータを取得し、アンバランス程度履歴テーブル４１３上のアンバランス程度の統計分布を算出する。
【０１１０】
アンバランス程度計算プログラム２０９は、算出したアンバランス程度の統計分布でアンバランス程度分布テーブル４１４を更新する（１６０８）。具体的には、アンバランス程度計算プログラム２０９は、算出した統計分布をアンバランス程度分布テーブル４１４に追記し、所定の時間を過ぎたデータを削除する。
【０１１１】
次に、アンバランス程度計算プログラム２０９は、参照グループ管理テーブル４０９を参照して未処理の参照グループがあるか否かを判定し、未処理の参照グループがあればステップ１６０２に戻って上記処理を繰り返し、未処理の参照グループがなければ処理を終了する（１６１０）。
【０１１２】
なお、指標値の高周波成分は、以下の（３）式により近似することも可能である。
【０１１３】
【数３】
2017187972.tif 000005
【０１１４】
なお、上記（３）式において、変数ｙは（３）式内の第１式及び第２式で決定される媒介変数である。また、変数ｘは指標値を示し、変数ｔは日時を示し、αは平滑度を示す。
【０１１５】
アンバランス程度の分布は、例えば正規分布に従うと仮定すると、平均と標準偏差により分布を一意に決定できるため、参照グループと処理日時（即ち、データ測定日時）、分布の平均、及び標準偏差を記録すればよい。
【０１１６】
上記学習処理によって、学習サーバ１０３は、所定の周期になると参照グループ選択テーブル４０６の参照グループＩＤ８０１毎に指標値の高周波成分に基づいてアンバランス程度とアンバランス程度の分布を計算して、参照データとしてアンバランス程度履歴テーブル４１３とアンバランス程度分布テーブル４１４を更新する。
【０１１７】
本実施例のアンバランス程度分布テーブル４１４には、参照グループＩＤ１３０１が、図８の参照グループ管理テーブル４０９において指標値ＩＤ８０２と範囲８０３が対応付けられた分布（即ち、平均１３０３及び標準偏差１３０４）がデータ測定日時１３０２毎に格納される。
【０１１８】
これにより、学習サーバ１０３は、複数の自動車１０７から同一のエリアで同一（または直近）の日時の指標値を取得して、データ測定日時１３０２ごとに指標値のアンバランス程度と分布（即ち、平均及び標準偏差）を学習することができる。これによって、複数のＩｏＴ機器としての自動車１０７からデータを収集するため、同一条件を満たす学習用データを短期間で効率的に収集でき、状態の検知精度を向上させることができる。
【０１１９】
図１７は状態識別サーバ１０１で行われる異常検出処理の一例を示すフローチャートである。状態識別サーバ１０１は、所定の周期（例えば、５秒間隔）で異常分析プログラム３１１実行する。
【０１２０】
状態識別サーバ１０１の異常分析プログラム３１１は、アンバランス程度履歴テーブル４１３から、最新のデータ測定日時１２０２が処理対象日時である自動車１０７（自動車ＩＤ１２０１）を選択する（１７０２）。なお、処理対象日時は、現在日時から所定時間（例えば、１０秒間など）だけ過去に遡った日時である。アンバランス程度履歴テーブル４１３で最新のデータ測定日時１２０２が現在日時から所定時間だけ過去に遡ったデータまでを処理対象とすることができる。また、最新のデータ測定日時１２０２が現在日時から所定時間を超えた古いデータであれば、当該自動車１０７を処理対象から除外することができる。
【０１２１】
次に、異常分析プログラム３１１は、選択した自動車１０７の中から未処理の自動車１０７を一台選択する（１７０３）。次に、異常分析プログラム３１１は、アンバランス程度履歴テーブル４１３から当該自動車１０７の最新のデータ群を取得する（１７０４）。
【０１２２】
次に、異常分析プログラム３１１は、未処理の指標値ＩＤ１２０３を１つ選択し（１７０５）、該当する参照グループＩＤ１２０６のアンバランス程度の分布をアンバランス程度分布テーブル４１４から取得する（１７０６）。すなわち、異常分析プログラム３１１は、上記選択した自動車１０７の自動車ＩＤ１２０１と、指標値ＩＤ１２０３でアンバランス程度履歴テーブル４１３を検索して参照グループＩＤ１２０６とアンバランス程度１２０４を取得する。そして、異常分析プログラム３１１は、参照グループＩＤ１２０６に対応する分布の平均１３０３と、分布の標準偏差１３０４をアンバランス程度分布テーブル４１４から取得する。
【０１２３】
異常分析プログラム３１１は、取得した分布（即ち、平均１３０３と標準偏差１３０４）、及び、監視対象の指標値のアンバランス程度１２０４を基に異常度１２０５を算出し、アンバランス程度履歴テーブル４１３に異常度１２０５を格納する（１７０７）。
【０１２４】
更に、異常分析プログラム３１１は、算出した異常度と、予め定めておいた閾値との比較により、指標値が異常か否かを判定する（１７０８）。この判定は、例えば、異常度１２０５が所定の閾値を超えると指標値に異常が発生したと判定される。なお、閾値は参照グループＩＤ８０１毎に予め設定された値である。また、閾値は指標値毎に設定してもよい。
【０１２５】
これにより指標値が異常であれば、異常分析プログラム３１１は、異常判定履歴テーブル４１５に異常が発生した情報を格納する（１７１３）。すなわち、異常分析プログラム３１１は、異常判定履歴テーブル４１５に、異常が発生した指標値のデータ測定日時を検出日時１４０１として、自動車ＩＤ１４０２と、指標値ＩＤ１４０３と、算出された異常度１４０４と、参照グループＩＤ１４０５を追加する。
【０１２６】
ここで異常度とは、例えばアンバランス程度の分布の外側確率を用いて算出してもよい。本実施例では、一例として、
異常度＝｜アンバランス程度  ―  分布の平均値｜／分布の標準偏差
とし、アンバランス程度がアンバランス程度の分布の外側に位置するときほど異常度が大きくなるように定める。
【０１２７】
次に、異常分析プログラム３１１は、未処理の指標値の有無を判定し（１７０９）、未処理の指標値があれば、ステップ１７０５に戻って上記処理を繰り返して、未処理の指標値がなければステップ１７１０に進む。
【０１２８】
次に異常分析プログラム３１１は、未処理の自動車１０７の有無を判定し（１７１０）、未処理の自動車１０７があればステップ１７０３に戻って上記処理を繰り返し、未処理の自動車がなければステップ１７１１に進む。
【０１２９】
異常分析プログラム３１１は、ステップ１７０８の判定により異常と判定された指標値の有無を判定し（１７１１）、異常と判定された指標値があれば異常表示プログラム３１２で異常アラートを出力させ（１７１４）、異常と判定された指標値がなければ処理を終了する（１７１２）。
【０１３０】
上記処理によって、状態識別サーバ１０１の異常分析プログラム３１１では、現在日時から所定時間内に測定された指標値を送信した自動車１０７の全ての指標値について、異常の判定が行われる。そして、指標値に異常が発生した場合には、状態識別サーバ１０１が入出力端末１０４などへアラートを出力することができる。
【０１３１】
本実施例１のＩｏＴシステムでは、多数の端末（即ち自動車１０７）で測定されたデータで、学習サーバ１０３がアンバランス程度の分布を参照グループＩＤ１３０１毎に算出して学習を行う。
【０１３２】
そして、状態識別サーバ１０１は、学習サーバ１０３が学習した結果であるアンバランス程度分布テーブル４１４を利用して自動車１０７の異常判定を行うことができる。アンバランス程度分布テーブル４１４は、処理対象の自動車１０７だけではなく、該当エリアを走行中の多数の自動車１０７の指標値の学習結果であり、多数の自動車１０７の指標値の学習結果をひとつの自動車１０７に用いることで、異常検出の精度を向上させることができる。
【０１３３】
なお、上記ではデータ測定日時で異常検出処理を実施する自動車１０７を選択する例を示したが、これに限定されるものではない。例えば、入出力端末１０４で自動車ＩＤと指標値名５０１及び日付を指定して過去のデータについて状態識別サーバ１０１に異常検出処理をさせたり、自動車１０７のメーカ９０２と車種９０３と日付や広域エリアまたは狭域エリアを指定して異常検出処理をさせてもよい。あるいは、ユーザが入出力端末１０４で自動車ＩＤと指標値名５０１を指定して、リアルタイムで状態識別サーバ１０１に異常検出処理をさせてもよい。
【０１３４】
あるいは、状態識別サーバ１０１は、入出力端末１０４で指定された指標値を受け付けて、当該指標値が所属する参照グループについて異常の検出処理を行うことができる。また、上記では異常の検出を行う例を示したが、異常度と比較する閾値を変更することで異常の予兆を検出することができる。
【０１３５】
図１８は異常が検出されたときの画面処理の一例を示すフローチャートである。この処理は、図１７のステップ１７１４で実行される。
【０１３６】
状態識別サーバ１０１の異常表示プログラム３１２は、入出力端末１０４に異常検出履歴を表示する（１８０２）。異常検出履歴は、後述の図１９Ａに示す。その後、異常表示プログラム３１２はドリルダウンにより、より詳細なデータを表示しても良い。具体的には、検出された異常の中から、入出力端末１０４の操作者が表示対象を指定すると、異常表示プログラム３１２は表示対象の指定の入力を受け付け（１８０３）、対象の自動車１０７の指定日時（または異常発生日時）近傍の各指標値の異常度を読み込む（１８０４）。
【０１３７】
次に異常表示プログラム３１２は、読み込んだデータから、異常度の値の日時毎の最大値を算出し（１８０５）、異常度の最大値のグラフを入出力端末１０４に表示する（１８０６）。最大値の算出時に、ある日時において閾値を超えた指標値は、その後一定時間は最大値選択の対象から外す。これにより、異常を検出した日時の周辺において、その他の指標値の異常の有無も同時に見ることができる。
【０１３８】
操作者が入出力端末１０４により異常度が閾値を超えた箇所を指定すると、異常表示プログラム３１２は異常箇所の指定の入力を受け付け（１８０７）、異常が検出された自動車１０７、及び、異常が検出された参照グループに含まれる複数の自動車１０７の指標値のグラフを入出力端末１０４に表示する（１８０８）。この際、異常が検出された自動車１０７のデータ系列を、太線や異なる色を用いて強調表示しても良い。更に、対象の自動車１０７のデータ系列の異常が検出された日時周辺を、より太い線、異なる色、囲み線、又はこれらの組合せで強調しても良い。
【０１３９】
ステップ１８０４において、対象自動車のデータを選択する代わりに、対象となる参照グループのデータを選択して、ステップ１８０５以降の処理を行っても良い。
【０１４０】
図１９Ａは、入出力端末１０４に表示された異常検出履歴１９０１の例である。異常検出履歴１９０１は、異常判定履歴テーブル４１５と同様の要素を有し、検出日時１９０３、自動車ＩＤ１９０４、指標値ＩＤ１９０５、異常度１９０６、参照グループＩＤ１９０７、及び、異常データを選択するためのチェックボックス１９０２を持つ。
【０１４１】
操作者は入出力端末１０４からチェックボックス１９０２にチェックを入れて表示対象を指定し、図には表示していない「確定」や「進む」などのボタンを押して異常度の表示に進む。
【０１４２】
図１９Ｂ、及び図１９Ｃは、指標値が速度であり、狭域エリアが高速道路の一部区間であるときの異常度、及び指標値を示すグラフの例である。図１９Ｂの異常度のグラフにおいて、操作者が、入出力端末１０４により異常値が閾値１９０８を超えた箇所をクリックすると、異常表示プログラム３１２は、異常を検出した日時の周辺で同じエリアを走行していた他の自動車１０７の速度のグラフをドリルダウンして表示する。図１９Ｃのグラフの例では、ＩＤ−Ａ（１９０９）の自動車１０７の速度が他と比べて不安定に加減速しており、速度の調整が的確に行われていない可能性があることが分かる。
【０１４３】
すなわち、状態識別サーバ１０１は、自動車１０７の運転状態に異常を検出した日時を含む時系列の指標値１０９を出力することで、入出力端末１０４に異常の内容を表示できる。
【０１４４】
他の指標値も同様に異常検出に用いることができる。例えば、広域エリアＡに含まれる自動車１０７のエンジンの冷却温度が外気温の低下に従って緩やかに低下していく中、エンジン冷却水温度が上昇する自動車１０７が一台存在すれば、それは何らかのエンジントラブルの可能性がある。
【０１４５】
本実施例の異常検出処理により、それぞれの指標値の値としては異常な値ではないが、同一条件の他の自動車１０７と比較して、不自然な変化を見せる指標値を検出することができ、異常予兆の早期検出につながる。
【０１４６】
状態識別サーバ１０１が検出した異常は、例えば自動車１０７のオーナーへ定期的に、又は緊急に報告してもよい。また、自動車１０７が自動運転車であれば、状態識別サーバ１０１が異常の重要度（または深刻度）に応じて直接自動車１０７にフィードバックを送り、路肩へ寄せて停車させる処理につなげてもよい。更に、状態識別サーバ１０１が道路管理者や警察などの行政機関に通報してもよい。
【０１４７】
また、変化の軸（即ち、図１９Ｂ、及び図１９ＣのグラフにおけるＸ軸）は必ずしも日時である必要はなく、例えば高速道路の料金所を基点とし、基準点からの距離をＸ軸として結果を表示しても良い。
【０１４８】
また、状態識別サーバ１０１が指標値の高周波成分を扱いやすい形に直してから使用してもよい。例えば、距離と上下の揺れ（即ち上下の加速度）のデータから、状態識別サーバ１０１が単位時間当たりの閾値を超える揺れの回数を算出し、単位時間当たりの揺れの回数を用いて、高周波成分、アンバランス程度、及び異常度を算出してもよい。同一の高速道路を走行中の自動車に本分析処理を適用すると、自動車１０７の不自然な揺れを検出することができる。このように、時間以外の軸を用いて異常の検出を行ってもよい。
【０１４９】
また、速度やエンジン冷却水温度などでは空間を地理的に区切ることにより範囲８０３を指定して参照グループを生成したが、指標値の種類によっては、自動車の製造メーカ、及び車種を用いて参照グループを生成してもよい。
【０１５０】
また、指標値としては平均速度などを用いてもよい。各指標値の効果的な区切り方は、参照グループ選択テーブル４０６により、予め指定する。本参照グループ選択テーブル４０６を用いることにより、指標値と範囲の区切りをフルマトリックスにして参照グループを作ることなく、指標値毎に適切に学習データの範囲を区切ることが可能になり、計算量を削減しつつ、異常検出の精度を向上させることができる。
【０１５１】
また、自動車１０７のコントローラ１３０にデータの測定間隔を一定時間に定めていても、データ測定日時は自動車１０７によって異なる可能性が高い。この場合、データ測定日時はデータの測定間隔で丸めて扱ってもよい。
【０１５２】
また、学習サーバ１０３、及び状態識別サーバ１０１はそれぞれ複数台設置されてもよく、指標値や、範囲などにより、複数のサーバで計算を分担してもよい。これにより、計算速度が速くなる。
【０１５３】
また、本実施例１では状態識別サーバ１０１はデータ格納装置１０２からデータを読み出しているが、状態識別サーバ１０１は、自動車１０７が送信する情報を、データ格納装置１０２を介さずに受信してもよい。
【０１５４】
これにより、定期的な異常検出処理だけでなく、自動車１０７からのデータの受信をトリガーにして異常検出処理を行うことも可能になる。
【０１５５】
また、本実施例１では同一条件を満たす自動車１０７から得られた指標値を基に、高周波成分を用いた異常分析を行ったが、本分析処理に加え、最大値、及び最小値との比較による異常分析など、公知または周知の異常分析手法と組み合わせて異常検出を行ってもよい。
【０１５６】
以上のように、本実施例１によれば、学習サーバ１０３は、所定の周期になると参照グループＩＤ８０１毎に指標値の高周波成分に基づいてアンバランス程度とアンバランス程度の分布を計算して、参照データとして学習する。これにより、学習サーバ１０３は、複数の自動車１０７から同一の条件の指標値を取得して、データ測定日時１３０２ごとに指標値のアンバランス程度と分布（即ち平均及び標準偏差）を学習することができる。これによって、複数のＩｏＴ機器としての自動車１０７からデータを収集するため、同一条件を満たす学習用データを短期間で効率的に収集でき、状態の検知精度を向上させることができる。
【実施例２】
【０１５７】
前記実施例１では、選択した指標値に対して、同一の範囲８０３に含まれる自動車１０７の全てを用いてアンバランス程度を算出した。本実施例２では、学習に用いる自動車１０７の台数ｑを指定し、同一の範囲に含まれる自動車１０７の中からｑ台の自動車１０７を学習用データとして選択して参照用のデータを生成する。
【０１５８】
アンバランス程度計算プログラム２０９は、前記実施例１の図１６に示したステップ１６０４において選択した自動車の中からｑ台の自動車を選択し、選択したｑ台の自動車の高周波成分のアンバランス程度を算出する（１６０５）。
【０１５９】
次に、アンバランス程度計算プログラム２０９は、選択したｑ台のデータを用いてアンバランス程度履歴テーブル４１３を更新する。更に、アンバランス程度計算プログラム２０９は、選択したｑ台のアンバランス程度の分布（即ち平均１３０３及び標準偏差１３０４）を算出し、アンバランス程度分布テーブル４１４を更新する（１６０６）。
【０１６０】
本処理によって得られたアンバランス程度の分布を参照データとして用いる。学習データに選択されなかった自動車１０７では、対象自動車１０７の高周波成分と、先に算出したｑ台の自動車１０７の高周波成分の平均値との差をアンバランス程度として用いる。
【０１６１】
ｑは３以上の数であり、自動車１０７の数が３以上ｑ以下のときには全ての自動車１０７を学習用データとして用いる。ｑ台の自動車１０７は、例えばランダムに選んでよい。監視対象の自動車１０７の数が多いとき、本実施例２によれば、アンバランス程度を算出するための計算量を削減することが可能である。
【実施例３】
【０１６２】
実施例１、２では、一度の送信で一回分のデータを送信したが、本実施例３では、自動車１０７が、複数回のデータをまとめて送信してもよい。例えば、自動車１０７がＸ回分のデータをまとめて送信するケースでは、高周波成分計算プログラム２０８は、自動車１０７からデータを受信すると、受信したデータの回数分の高周波成分の計算を行う。
【０１６３】
また、アンバランス程度計算プログラム２０９は、前回の処理終了後の日時から、日時毎にデータ測定日時が一致するデータを選択し、各日時のデータに対して図１６に示す参照データの学習処理を行う。
【０１６４】
その後、異常分析プログラム３１１も同様に、前回の処理終了後の日時から、日時毎にアンバランス程度履歴テーブル４１３のデータ測定日時１２０２が一致するデータを選択し、各日時のデータに対して図１７に示す異常検出処理を行う。自動車１０７が複数回の送信データをまとめることにより、自動車１０７側のデータ送信処理の負担を軽減することができる。
【０１６５】
なお、本実施例３においても、前記実施例１と同様に、データ測定日時はデータの測定間隔で丸めて扱ってもよい。
【実施例４】
【０１６６】
実施例１〜３では、同一条件を満たす同一日時のデータを集めて参照グループを生成した。本実施例４では、同一条件を満たす過去データを集めて参照グループを生成する。本実施例４においても、データは複数の自動車１０７から収集する。
【０１６７】
また、本実施例４では前記実施例１に示したテーブルのほかに、特定エリア進入履歴テーブル２０００と、特定エリア指標値履歴テーブル２１００と、特定エリア高周波成分履歴テーブル、及び特定エリアアンバランス程度分布テーブル２２００をデータ格納装置１０２に格納する。
【０１６８】
ここで、特定エリアとは、狭域エリアの中で自動車１０７の運転に注意を要するような領域で、例えば、山道の屈曲路や高速道路の合流箇所を含む領域を示す。
【０１６９】
図２０は特定エリア進入履歴テーブル２０００の一例を示す図である。特定エリア進入履歴テーブル２０００は、当該特定エリアに侵入した自動車１０７の識別子を格納する自動車ＩＤ２００１と、特定エリアとして設定された狭域エリアＩＤ２００２と、狭域エリアの始点（７０３、７０４、７０５）を通過した日時を格納する基点日時２００３と、距離の補正量を示す距離補正２００４とを、ひとつのエントリに含む。
【０１７０】
距離補正２００４は、自動車１０７のコントローラ１３０は、所定の周期（例えば、５秒間隔）でデータをサンプリングするので、狭域エリアの始点を通過した日時はデータ測定日時１００２と一致しない場合がある。このため、図２９で示すように自動車１０７の位置を補正する距離を学習サーバ１０３が算出して特定エリア侵入テーブル２０００の距離補正２００４に格納する。
【０１７１】
図２１は特定エリア指標値履歴テーブル２１００の一例を示す図である。特定エリア指標値履歴テーブル２１００は、自動車１０７の識別子を格納する自動車ＩＤ２１０１と、狭域エリアＩＤ２１０２と、基点からの距離２１０３と、指標値２１０４、２１０５とをひとつのエントリに含む。
【０１７２】
基点からの距離２１０３は、狭域エリアの始点（７０３、７０４、７０５）を起点として、データが測定されたときの位置までの距離を示す。基点からの距離２１０３は、自動車１０７から受信した走行距離と起点の位置から学習サーバ１０３で算出する。あるいは、学習サーバ１０３が自動車１０７から受信した位置情報と、起点の位置情報から上記距離を算出するようにしてもよい。
【０１７３】
指標値２１０４、２１０５には、指標値ＩＤ＝０００１のデータと、指標値ＩＤ＝０００２のデータが格納される。なお、図示はしないが、他の指標値についても同様に格納される。
【０１７４】
特定エリア高周波成分履歴テーブルは、自動車ＩＤと、狭域エリアＩＤと、基点からの距離と、指標値ごとの高周波成分をひとつのエントリに含む。特定エリア高周波成分履歴テーブルは、特定エリア指標値履歴テーブル２１００と同じ構造のため、図示は省略する。
【０１７５】
図２２は特定エリアアンバランス程度分布テーブル２２００の一例を示す図である。特定エリアアンバランス程度分布テーブル２２００は、参照グループＩＤ２２０１と、基点からの距離２２０２と、高周波成分の平均２２０３と、分布の平均２２０４、及び分布の標準偏差２２０５とをひとつのエントリに含む。
【０１７６】
これらのテーブル２０００、２１００、２２００は、過去のデータとの比較によりアンバランス程度を算出するケースで用いる。なお、参照グループＩＤ２２０１は、前記実施例１の図８に示した参照グループ管理テーブル４０９により、エリアを含む範囲８０３と指標値ＩＤ８０２の組合せによって決定されるＩＤである。例えば、参照グループ管理テーブル４０９に軸の種類を追加し、データの系列を示す軸として時間又は距離を指定することにより、各参照グループがどの軸を使うかを明確にすることができる。
【０１７７】
本実施例４では、状態識別サーバ１０１が山道を走行中の自動車１０７の異常運転を検出する例を示す。参照データ（アンバランス程度）は、過去に同じ山道を通った複数の自動車１０７のデータ（即ち特定エリアアンバランス程度分布テーブル２２００）を用いる。また、参照データの学習処理、及び異常検出処理では、前記実施例１の時間軸に代わって距離をＸ軸として用いる。これは、状態識別サーバ１０１が山道の同じ地点における高周波成分を用いて異常検出を行うためである。
【０１７８】
自動車１０７（ＩＤ−Ａ）が送信した自動車情報に含まれる位置情報から、アンバランス程度計算プログラム２０９は自動車１０７（ＩＤ−Ａ）の現在地が狭域エリアＢｎの山道１であることを検知する。自動車１０７（ＩＤ−Ａ）から送信された前回のデータでは自動車１０７（ＩＤ−Ａ）が狭域エリアＢｎに入っていなかったとき、アンバランス程度計算プログラム２０９は自動車１０７（ＩＤ−Ａ）が本データ測定時に狭域エリアＢｎに進入したものとして、特定エリア進入履歴テーブル２０００に、自動車ＩＤ２００１、狭域エリアＩＤ２００２、及び基点日時２００３（即ち、本データのデータ測定日時）を記録する。
【０１７９】
自動車１０７（ＩＤ−Ａ）が一定の時間間隔（例えば、５秒間）でデータを測定している場合、高周波成分計算プログラム２０８は、指標値の変化を時間軸から距離軸に変換する。
【０１８０】
図２３は高周波成分計算プログラム２０８による、軸変換処理の一例を示すフローチャートである。まず、高周波成分計算プログラム２０８は、自動車１０７から受信したデータの走行距離を基に、基点からの距離を算出する（２３０２）。
【０１８１】
次に、高周波成分計算プログラム２０８は、未処理の指標値を１つ選択し（２３０３）、基点から一定の距離毎の値を内挿する（２３０４）。次に、高周波成分計算プログラム２０８は特定エリア指標値履歴テーブル２１００を更新する（２３０５）。具体的には、高周波成分計算プログラム２０８は、距離毎の内挿値を特定エリア指標値履歴テーブル２１００に追記する。
【０１８２】
次に、高周波成分計算プログラム２０８は内挿値を用いて高周波成分を算出し（２３０６）、特定エリア高周波成分履歴テーブル（図示省略）を更新する（２３０７）。具体的には、高周波成分計算プログラム２０８は、算出した高周波成分値を特定エリア高周波成分履歴テーブルに追記する。
【０１８３】
次に、高周波成分計算プログラム２０８は未処理の指標値の有無を判定し（２３０８）、未処理の指標値があればステップ２３０３の処理に戻って上記処理を繰り返す。また、全ての指標値に対して処理が終了していれば、処理を終了する（２３０９）。
【０１８４】
上記ステップ２３０４における指標値の内挿方法としては、例えば、隣り合う二つの測定ポイントを結ぶ一次関数を用いることができる。図２４及び図２５を用いて、一次関数を用いた指標値の内挿方法を説明する。
【０１８５】
図２４は、狭域エリアＢｎの山道２４０１である。特定エリア進入履歴テーブル２０００に記録された基点日時２００３は、図２４に示す基点２４０２を通過した日時を示す。
【０１８６】
図２５Ａは、速度を指標値の例として、自動車１０７の測定データを、時間軸でグラフ化したときのイメージ図である。
【０１８７】
各データは、日時と速度の組でプロットされる。高周波成分計算プログラム２０８は、自動車１０７から受信したデータに含まれる走行距離を基に、各日時における基点２４０２からの距離を算出する。
【０１８８】
図２５Ｂ は、基点２４０２からの距離を軸として速度をグラフ化したときのイメージ図である。各データは、基点からの距離と速度の組でプロットされる。高周波成分計算プログラム２０８は、隣り合う二つの点（ｄｘ、ｄｘ＋１）を結ぶ一次関数を用いて、所定距離毎の速度を内挿する。
【０１８９】
図２５Ｂの「△」は所定距離毎の速度の内挿値を示す。上記処理により、高周波成分計算プログラム２０８は、指標値の変化の軸を時間軸から距離軸へ変換する。なお、図２５Ａ、図２５Ｂのグラフは、説明のために速度をグラフ化したものであり、軸変換処理においてグラフを作成する必要はない。また、自動車１０７が一定の距離間隔でデータ測定を行っている場合は、軸の変換は不要である。
【０１９０】
このように、時系列で収集した指標値の値を、予め設定した系列（距離）の値に変換し、当該系列で所定の間隔に補正することで学習を行うことができる。
【０１９１】
図２６に、山道等の特定エリアにおける参照データの学習処理、及び異常検出処理のシーケンスを示す。自動車１０７は、アクセス網１０６、及びインターネット１０５を介して所定の時間間隔でデータを学習サーバ１０３へ送信する（２６０１）。
【０１９２】
アクセス網１０６、及びインターネット１０５は、受信したデータを学習サーバ１０３へ向けて転送する（２６０２、２６０３）。学習サーバ１０３では、指標値取得プログラム２０７が自動車１０７からデータを受信すると、高周波成分計算プログラム２０８が、軸変換処理（２６０４）を行い、データ監視の軸を時間軸から距離軸へ変換する。
【０１９３】
高周波成分計算プログラム２０８は、これまでに受信したデータ系列の数（即ち、過去にデータを受信した自動車の台数）が予め定めた値ｐより大きいか否かを判定する（２６０５）。
【０１９４】
データ系列の数がｐよりも大きい場合は、高周波成分計算プログラム２０８が、データ系列が十分に収集されたと判定して、状態識別サーバ１０１へデータ受信通知を送信する（２６０６）。一方、データ系列の数がｐ以下のときは、高周波成分計算プログラム２０８が、データ系列が不十分と判定して学習処理（２６１１）を行う。
【０１９５】
次に、異常分析プログラム３１１は、学習サーバ１０３からデータ受信通知を受信すると、特定エリア高周波成分履歴テーブル（図示省略）に記録された高周波の値と、特定エリアアンバランス程度分布テーブル２２００に記録された各データを用いて、異常検出処理を行う（２６０７）。
【０１９６】
特定エリア高周波成分履歴テーブルに記録された高周波の値と、特定エリアアンバランス程度分布テーブル２２００に記録された高周波成分の平均値２２０３の差分が対象データのアンバランス程度であり、学習サーバ１０３が算出したアンバランス程度と分布の平均値２２０４の差の絶対値を標準偏差２２０５で割った値が、各指標の異常度になる。即ち、
異常度＝｜アンバランス程度―分布の平均値２２０４｜／標準偏差２２０５
である。
【０１９７】
状態識別サーバ１０１は、異常検出処理の結果、即ち異常の有無を学習サーバ１０３へ通知する（２６０８）。また、状態識別サーバ１０１は、異常検出履歴を入出力端末１０４へ送信して表示させる（２６０９）。なお、異常度の算出は分布の外側確率など、他の方法を用いてもよい。
【０１９８】
学習サーバ１０３では、状態識別サーバ１０１からの結果通知を受信すると、アンバランス程度計算プログラム２０９が受信結果の異常の有無を判定し（２６１０）、異常であれば処理を終了し、異常がなければ参照データの学習処理２６１１を行う。
【０１９９】
図２７に実施例４における参照データ学習処理２６１１のフローチャートを示す。学習サーバ１０３のアンバランス程度計算プログラム２０９は、特定エリア高周波成分履歴テーブルの更新箇所の、基点からの距離２１０３（以下、距離と示す）、即ち、新規データの登録がなされた距離２１０３を特定する（２７０２）。
【０２００】
次に、アンバランス程度計算プログラム２０９は、特定した距離の中から、未処理の距離を１つ選択する（２７０３）。次に、アンバランス程度計算プログラム２０９は、特定エリア高周波成分履歴テーブルから距離２１０３が一致するデータを選択する（２７０４）。
【０２０１】
次に、アンバランス程度計算プログラム２０９は、未処理の指標を１つ選択し（２７０５）、ステップ２７０４で選択したデータを用いて、高周波成分の平均、及びアンバランス程度の分布と標準偏差を算出する（２７０６）。次に、アンバランス程度計算プログラム２０９は、特定アンバランス程度分布テーブル２２００を更新する（２７０７）。
【０２０２】
具体的には、アンバランス程度計算プログラム２０９が、特定エリアアンバランス程度分布テーブル２２００の、現在処理中の指標値及び距離で特定される行のデータを、上記で算出した値に更新する。次に、アンバランス程度計算プログラム２０９は、未処理の指標値の有無を判定し（２７０８）、未処理の指標値があればステップ２７０５へ戻って上記処理を繰り返す。全ての指標値の処理が終了すると、アンバランス程度計算プログラム２０９は、未処理の距離の有無を判定し（２７０９）、未処理の距離があればステップ２７０３へ戻って上記処理を繰り返し、全ての距離の処理が終了すると、学習処理を終了する（２７１０）。
【０２０３】
例えば、速度や加速度に対して本分析を行うと、カーブにおいて通常行われるべき減速が行われていない自動車１０７や、通常よりも大きな横加速度が発生した自動車１０７などが異常分析プログラム３１１により検出される。これにより、危険運転を検出することができる。
【０２０４】
図２８Ａは危険運転の検出の一例を示すグラフである。自動車１０７（ＩＤ−Ａ）の基点からの距離と速度の関係を示すグラフである。図２８Ａは速度に対して上記処理を実施した結果を示す。
【０２０５】
図２８Ｂは危険運転の検出の一例を示すグラフである。自動車１０７（ＩＤ−Ａ）の基点からの距離と横加速度の関係を示すグラフである。図２８Ａ、図２８Ｂは、図１９Ｃの画面表示に相当し、危険運転を検出した自動車１０７（ＩＤ−Ａ）のデータが強調表示される。
【０２０６】
なお、横方向の加速度はカーブの頂点で最大になると考えられる。このため、距離と加速度のグラフにおいて、頂点、即ちグラフの傾きが０となる位置が他のデータ系列とずれている系列では、データ測定日時のずれから基点がずれたと考えられる。アンバランス程度計算プログラム２０９は、新規の自動車１０７からのデータ受信時に、距離の補正を実施してもよい。
【０２０７】
図２９は、距離の補正値算出処理のフローチャートである。アンバランス程度計算プログラム２０９は、特定エリア指標値履歴テーブル２１００のデータを基に、新規データの頂点を選択する（２９０２）。具体的には、アンバランス程度計算プログラム２０９は、特定エリア指標値履歴テーブル２１００の中から、該当する系列の、基点からの距離２１０３が予め定めたＸ以内のデータを選択し、選択したデータの中から加速度が最大になる距離Ｙを検出する。
【０２０８】
次に、アンバランス程度計算プログラム２０９は、新規データの頂点の距離Ｙと、過去に記録されたデータの頂点の距離Ｚの差を算出し、特定エリア進入履歴テーブル２０００の距離補正２００４に記録する（２９０３）。即ち、距離補正値＝Ｙ―Ｚとなる。ここで、距離Ｘは、基点２４０２から最初のカーブを含む値に設定する。高周波成分計算プログラム２０８は、時間軸から距離軸への変換を行う際に、特定エリア進入履歴テーブル２０００に記された距離補正２００４を基に、距離の補正を行う。具体的には、高周波成分計算プログラム２０８は、自動車１０７の走行距離を基に算出した距離から前記補正２００４を減算し、これを距離２０１３として用いる。
【０２０９】
図３０は距離補正処理前の距離と横加速度の関係を示すグラフを示す図である。実線で表したＩＤ−Ａの自動車１０７の加速度は、図中破線で示した過去データの位相とずれている。ＩＤ−Ａの系列に、上記距離補正値＝Ｙ―Ｚで距離の補正を行うことにより、他の系列と位相を合わせることができる。これにより、異常検出の精度が向上する。
【０２１０】
なお、図２６に示したシーケンスは、自動車１０７からのデータを受信するたびに実行してもよいし、複数の受信データをまとめて実行してもよい。
【０２１１】
本実施例により、山道などの特定のエリアにおける危険運転を検出することができる。
【実施例５】
【０２１２】
実施例１から実施例４では、ＩｏＴシステムの例としてテレマティクスサービスの例を説明した。本実施例では、ＩｏＴ端末としてロボットを例に挙げ、その異常検出方法を説明する。
【０２１３】
図３１は本実施例５におけるロボット監視システムの一例を示すブロック図である。複数のロボット３１０４を監視する状態監視センタ３１０３は、学習サーバ１０３と、状態識別サーバ１０１と、データ格納装置１０２と、入出力端末１０４と、ゲートウェイ装置１２１を含み、前記実施例１の図１に示した該当する各装置と同様の構成である。
【０２１４】
ネットワーク３１０２は実施例１と同様にアクセス網１０６とインターネット１０５から構成されても良い。運用サーバ３１０１は、ロボット３１０４のソフトウェアのインストールや、ロボット３１０４で実行するプログラムの指示など、ロボット３１０４が実際に動作するための指示を行うサーバであり、公知又は周知のサーバ装置により実現される。なお、本実施例５は異常検出の説明を目的としており、運用サーバ３１０１の詳細は省略する。
【０２１５】
各ロボット３１０４はネットワーク３１０２を介して運用サーバ３１０１、及び学習サーバ１０３に接続される。なお、本実施例において、ロボット３１０４は必ずしも移動を前提としておらず、有線、又は無線でネットワーク３１０２に接続する。ロボット３１０４は、自立的に、又は運用サーバ３１０１の指示により様々な動作を行う。
【０２１６】
また、ロボット３１０４は、自身を構成する複数のモータの温度や回転角度、ＣＰＵ温度、ジャイロなどを測定するセンサ（図示省略）などを含む。更に、ロボット３１０４はセンサで測定したデータ３１０５を、ネットワーク３１０２を介して学習サーバ１０３へ送信する。
【０２１７】
本実施例５では、複数のロボット３１０４が接続されたＩｏＴシステムにおいて、ロボット３１０４は起動時に所定のテストパターン（例えば人型ロボットの場合、腕や脚の屈伸、及び肩や首の回転など）を実行する。また、ロボット３１０４はテストパターン実行中に、予め設定した時間間隔（例えば、５秒）で各種データの測定を行って、学習サーバ１０３へ送信する。学習サーバ１０３、及び状態識別サーバ１０１は、これらのデータを用いて異常検出を行う。
【０２１８】
また、本実施例５では実施例１における自動車情報テーブル４１０に相当するテーブルとして、ロボット情報テーブルを有する。ロボット情報テーブル（図示省略）には、ロボットＩＤ、ロボットの型式、ソフトウェアバージョンなどを記録する。ここで、ロボットの型式とは、これにより、ロボットの性能が一意に特定されるものとし、複数の項目から構成されても良い。
【０２１９】
また、参照グループ管理テーブル４０９、指標値履歴テーブル４１１、高周波成分履歴テーブル４１２、アンバランス程度履歴テーブル４１３は実施例１と同様の構成のテーブルを有するが、本実施例５においては、前記実施例１の自動車ＩＤをロボットＩＤとし、データ測定日時を経過時間と読み替える。
【０２２０】
経過時間は、テストパターン開始日時から、データ測定日時までの経過時間である。経過時間は、データの測定番号で代用することもできる。参照グループ管理テーブル４０９における範囲は、型式とソフトウェアバージョンの組合せなどで指定する。また、指標値履歴テーブル４１１において、位置情報（即ち、緯度、経度、高度）、及びエリア情報は持たなくてもよい。
【０２２１】
図３２は、本実施例５における参照データ学習、及び異常検出処理を示すシーケンス図である。ロボット３１０４は定時に一斉に起動し（３２０１）、起動後に上述のテストパターンを実行し、テストパターン開始日時を記録する（３２０２）。
【０２２２】
また、ロボット３１０４は、テストパターン実行中に、所定の時間間隔で各種指標値、即ち、モータの温度、及び回転角度、ＣＰＵ温度、ジャイロなどを測定し、測定日時と共に指標値を記録する（３２０２）。
【０２２３】
ロボット３１０４はテストパターンの実行が終了すると、測定したデータを、ネットワーク３１０２を介して学習サーバ１０３へ送信する（３２０３）。送信するデータは、ロボットＩＤ、テストパターン開始日時、及び、各データ測定日時における測定データを含む。各データ測定日時における測定データとは、即ち、データ測定日時、及び各種の指標値（即ち、モータの温度及び回転角度、ＣＰＵ温度、及びジャイロなどの測定値）である。
【０２２４】
ネットワーク３１０２は、受信したデータを学習サーバ１０３へ転送する（３２０４）。学習サーバ１０３では、指標値取得プログラム２０７が受信したデータを基に前記実施例１と同様に指標値履歴テーブル４１１を更新する（３２０５）。次に、高周波成分計算プログラム２０８が前記実施例１と同様に各指標値の各経過時間における高周波成分を計算し、高周波成分履歴テーブル４１２を更新する（３２０６）。
【０２２５】
次に、アンバランス程度計算プログラム２０９は、指標値履歴テーブル４１１に記録された各経過時間に対して、前記実施例１と同様に図１６に示した参照グループ学習フローチャートと同様の処理により、参照グループ学習処理（３２０７）を行う。参照グループ学習処理３２０７が終了すると、アンバランス程度計算プログラム２０９は、状態識別サーバ１０１へ学習終了通知を送信する（３２０８）。
【０２２６】
状態識別サーバ１０１では、異常分析プログラム３１１が学習終了通知を受信し、アンバランス程度履歴テーブル４１３に記録された各経過時間に対して、前記実施例１の図１７に示す異常検出処理フローチャートと同様の処理により異常検出処理を行う（３２０９）。次に、異常表示プログラム３１２は異常検出履歴を入出力端末１０４に表示する（３２１０）。
【０２２７】
また、異常表示プログラム３１２は、前記実施例１の図１８に示した画面処理のフローチャートと同様の処理により、異常個所を表示する。
【０２２８】
本実施例５により、ロボット３１０４のテストパターンを実行中の異常（即ち、モータ温度の異常な上昇や、モータ回転角度の異常など）を検出することができる。
【０２２９】
本実施例では、ロボット３１０４は、テストパターン実行中に測定したデータを、テストパターン実行後にまとめて送信したが、測定データは順次送信してもよい。
【０２３０】
また、ロボット３１０４は、必ずしも一斉に起動する必要はなく、順次起動してもよい。更に、ロボット３１０４は起動直後にテストパターンを実行するだけでなく、所定の日時にテストパターンを実行してもよい。
【０２３１】
この場合、学習サーバ１０３は、前記実施例４の特定エリアアンバランス程度分布テーブル２２００に相当するアンバランス程度分布テーブルを生成する。ただし、前記実施例４に示した基点からの距離２２０２の代わりに、経過時間を用いる。参照グループＩＤ２２０１と経過時間の組合せ毎に高周波成分の平均値２２０３、及び、アンバランス程度の分布の平均２２０４と標準偏差２２０５を記録する。
【０２３２】
状態識別サーバ１０１は、本アンバランス程度分布テーブル２２００を用いて、実施例４と同様の手順で、ロボット３１０４が所定の時間に送信する測定データの異常検出処理を行う。これにより、ロボット３１０４から所定の日時に送信される測定データに対しても、異常検出処理を行うことが可能になる。
【０２３３】
＜まとめ＞
以上のように、上記実施例１〜５によれば、ネットワークに接続された多数の端末（ＩｏＴ端末）が所定の周期でセンシングした指標値（即ちデータ）を学習サーバ１０３で収集し、参照グループ毎にアンバランス程度の分布（即ち平均及び標準偏差）を学習してアンバランス程度分布テーブル４１４を更新する。そして、状態識別サーバ１０１は、監視対象の端末の指標値の高周波成分からからアンバランス程度を算出し、当該指標値を含む参照グループＩＤ１９０７のアンバランス程度の分布から当該指標値の異常度を算出する。そして、状態識別サーバ１０１は、異常度が所定の閾値を超えていれば当該指標値に異常があると判定することができる。
【０２３４】
このように、複数の端末からデータを収集して同一条件を満たす学習データを短期間で効率的に生成することが可能となって、当該学習データ（即ち参照データ）を利用した状態検知の精度を向上させることが可能となる。
【０２３５】
また、上記実施例１〜５によれば、データ格納装置１０２に各テーブルを格納する例を示したが、状態識別サーバ１０１及び学習サーバ１０３にストレージ装置をそれぞれ設けて、各テーブルを格納してもよい。
【０２３６】
また、上記実施例１〜５によれば、状態識別サーバ１０１と学習サーバ１０３を独立した計算機で構成する例を示したが、同一の計算機で、状態識別サーバ１０１と学習サーバ１０３を仮想計算機として提供してもよい。
【０２３７】
上記開示は、代表的実施形態に関して記述されているが、当業者は、開示される主題の趣旨や範囲を逸脱することなく、形式及び細部において、様々な変更や修正が可能であることを理解するであろう。
【０２３８】
例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０２３９】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２４０】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０２４１】
１０１  状態識別サーバ
１０２  データ格納装置
１０３  学習サーバ
１０４  入出力端末
１０５  インターネット
１０６  アクセス網
１０７  自動車
３１０４  ロボット
【図１Ａ】
2017187972.tif 000006
【図１Ｂ】
2017187972.tif 000007
【図２】
2017187972.tif 000008
【図３】
2017187972.tif 000009
【図４】
2017187972.tif 000010
【図５】
2017187972.tif 000011
【図６】
2017187972.tif 000012
【図７】
2017187972.tif 000013
【図８】
2017187972.tif 000014
【図９】
2017187972.tif 000015
【図１０】
2017187972.tif 000016
【図１１】
2017187972.tif 000017
【図１２】
2017187972.tif 000018
【図１３】
2017187972.tif 000019
【図１４】
2017187972.tif 000020
【図１５】
2017187972.tif 000021
【図１６】
2017187972.tif 000022
【図１７】
2017187972.tif 000023
【図１８】
2017187972.tif 000024
【図１９Ａ】
2017187972.tif 000025
【図１９Ｂ】
2017187972.tif 000026
【図１９Ｃ】
2017187972.tif 000027
【図２０】
2017187972.tif 000028
【図２１】
2017187972.tif 000029
【図２２】
2017187972.tif 000030
【図２３】
2017187972.tif 000031
【図２４】
2017187972.tif 000032
【図２５Ａ】
2017187972.tif 000033
【図２５Ｂ】
2017187972.tif 000034
【図２６】
2017187972.tif 000035
【図２７】
2017187972.tif 000036
【図２８Ａ】
2017187972.tif 000037
【図２８Ｂ】
2017187972.tif 000038
【図２９】
2017187972.tif 000039
【図３０】
2017187972.tif 000040
【図３１】
2017187972.tif 000041
【図３２】
2017187972.tif 000042