(57)【要約】  【課題】  過去の通行履歴の比較的乏しい通りでも、所要時間を精度よく予測できるようにする技術を提供すること。  【解決手段】  通行する可能性のある交差点及び道路の主要地点をノードとしてマークし、ノード間を結ぶリンクにラベルとして、文字列を付与する。ラベルとしての文字列は、好適にはリンク毎に一意的であるが、一意的でないラベルも使用することができる。そうしておくと、過去に記録した学習用の経路は、文字列の並びとして表現される。一方、所要時間を予測したい所与の経路もまた同様に、文字列の並びとして表現される。こうして経路が文字列の並びで表されると、文字列カーネル法と呼ばれる類似度の尺度が使えるようになる。本発明によれば、ガウス過程回帰という手法を用いたコンピュータの処理によって自動的に、その類似度を元に、過去に記録した経路情報が重み付けされる。そしてその重み付けの情報を用いて確率的に、上記所与の経路の所要時間が予測される。【選択図】  図６
2010072986.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの処理によって、経路を走行する所要時間を予測するシステムであって、
前記コンピュータがデータを読み書き可能な記憶手段と、
地理的な複数の地点をノードとし、該ノードを結ぶ経路をリンクとし、該個々のリンクにはラベルが付与され、異なる該ノード間を前記リンクで結ぶ経路の情報を、該ラベルを用いて、該経路の所要時間の情報とともに、前記記憶手段に保存する手段と、
前記ラベルを用いてあらわされた、所要時間を予測したい経路を提供する手段と、
前記記憶手段に保存された経路及び時間情報と、前記所要時間を予測したい経路とを、前記ラベルの列を文字列として、文字列カーネル法によりカーネル関数を決定することにより類似度比較して、類似度を計算する手段と、
前記類似度に基づき、前記記憶手段に保存されている経路の情報を、ガウス過程回帰法により、重み付けする手段と、
前記重み付けの情報に基づき、前記所要時間を予測したい経路の所要時間を予測する手段とを有する、
所要時間予測システム。
【請求項２】
前記所要時間を予測するための分散の値を提供するための手段をさらに有する、請求項１のシステム。
【請求項３】
前記分散は、ユーザーが提供した値である、請求項２のシステム。
【請求項４】
前記分散は、前記記憶手段に保存されている前記経路と、その所要時間の値に基づき、ガウス過程回帰法のエビデンス近似で計算された値である、請求項２のシステム。
【請求項５】
前記文字列カーネル法が、p-スペクトルカーネル法である、請求項１のシステム。
【請求項６】
前記カーネル関数には、道路事情に依存する属性項が追加されている、請求項１のシステム。
【請求項７】
前記重み付けの情報と、前記分散の値に基づき、前記予測された所要時間の分散の値を計算する手段をさらに有する、請求項２のシステム。
【請求項８】
コンピュータの処理によって、経路を走行する所要時間を予測する方法であって、
地理的な複数の地点をノードとし、該ノードを結ぶ経路をリンクとし、該個々のリンクにはラベルが付与され、異なる該ノード間を前記リンクで結ぶ経路の情報を、該ラベルを用いて、該経路の所要時間の情報とともに、前記コンピュータの記憶手段に保存するステップと、
前記ラベルを用いてあらわされた、所要時間を予測したい経路を提供するステップと、
前記記憶手段に保存された経路及び時間情報と、前記所要時間を予測したい経路とを、前記ラベルの列を文字列として、文字列カーネル法によりカーネル関数を決定することにより類似度比較して、類似度を計算するステップと、
前記類似度に基づき、前記記憶手段に保存されている経路の情報を、ガウス過程回帰法により、重み付けするステップと、
前記重み付けの情報に基づき、前記所要時間を予測したい経路の所要時間を予測する手段とを有する、
所要時間予測方法。
【請求項９】
前記所要時間を予測するための分散の値を提供するためのステップをさらに有する、請求項８の方法。
【請求項１０】
前記分散は、ユーザーが提供した値である、請求項９の方法。
【請求項１１】
前記分散は、前記記憶手段に保存されている前記経路と、その所要時間の値に基づき、ガウス過程回帰法のエビデンス近似で計算された値である、請求項９の方法。
【請求項１２】
前記文字列カーネル法が、p-スペクトルカーネル法である、請求項８の方法。
【請求項１３】
前記カーネル関数には、道路事情に依存する属性項が追加されている、請求項８の方法。
【請求項１４】
前記重み付けの情報と、前記分散の値に基づき、前記予測された所要時間の分散の値を計算するステップをさらに有する、請求項９の方法。
【請求項１５】
コンピュータの処理によって、経路を走行する所要時間を予測するプログラムであって、
前記コンピュータに、
地理的な複数の地点をノードとし、該ノードを結ぶ経路をリンクとし、該個々のリンクにはラベルが付与され、異なる該ノード間を前記リンクで結ぶ経路の情報を、該ラベルを用いて、該経路の所要時間の情報とともに、前記コンピュータの記憶手段に保存するステップと、
前記ラベルを用いてあらわされた、所要時間を予測したい経路を提供するステップと、
前記記憶手段に保存された経路及び時間情報と、前記所要時間を予測したい経路とを、前記ラベルの列を文字列として、文字列カーネル法によりカーネル関数を決定することにより類似度比較して、類似度を計算するステップと、
前記類似度に基づき、前記記憶手段に保存されている経路の情報を、ガウス過程回帰法により、重み付けするステップと、
前記重み付けの情報に基づき、前記所要時間を予測したい経路の所要時間を予測する手段を実行させる、
所要時間予測プログラム。
【請求項１６】
前記所要時間を予測するための分散の値を提供するためのステップをさらに有する、請求項１５のプログラム。
【請求項１７】
前記分散は、ユーザーが提供した値である、請求項１６のプログラム。
【請求項１８】
前記分散は、前記記憶手段に保存されている前記経路と、その所要時間の値に基づき、ガウス過程回帰法のエビデンス近似で計算された値である、請求項１６のプログラム。
【請求項１９】
前記文字列カーネル法が、p-スペクトルカーネル法である、請求項１５のプログラム。
【請求項２０】
前記カーネル関数には、道路事情に依存する属性項が追加されている、請求項１５のプログラム。
【請求項２１】
前記重み付けの情報と、前記分散の値に基づき、前記予測された所要時間の分散の値を計算するステップをさらに有する、請求項１６のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、交通路において、ある経路を乗物などで走行する際の所要時間を予測するシステム、方法及びプログラムに関するものである。
【背景技術】
【０００２】
近年、交通量の予測が都市計画上重要な問題となってきている。いわゆる、高度道路交通システム（Intelligent Transportation System）が、特に１９９０年代後半以降、活発に研究されている。
【０００３】
その際に１つの課題となるのは、ある経路に沿っての所要時間をシステム的に予測することである。なぜなら、保安上、利便性、その他の理由で、任意の経路間のおおよその所要時間を予測できるようにしておくことが望ましいからである。
【０００４】
従来技術として、特開平１１−３０６４８０号公報に記載された技術は、高速道路の通行券データから対象区間の各単位区間の基準走行所要時間を作成する基準ファイルを作成し、この作成された基準走行所要時間の中から過去数日分の類似の基準走行所要時間を取り出し、統計モデルのパラメータを推定するとともに、この推定されたパラメータを用いて当日の走行所要時間を予測することを開示する。
【０００５】
一方、より最近の文献として、特開２００３−２７２０８４号公報や、"T. Nakata and J. Takeuchi, Mining traffic data from probe-car system for travel time prediction. In Proc. ACM SIGKDD Intl. Conf. Knowledge Discovery and Data mining, pages 817-822, 2004"には、自己回帰モデルに立脚した時系列モデルに基づく所要時間予測システムが記述されている。
【０００６】
しかし、自己回帰モデルを精度よく推定するためには、十分多くのサンプルが必要であり、このため、所要時間予測の対象は、多くのサンプルが得やすい高速道路、幹線道路、及び大通りに限られていた。
【０００７】
一方で、カーナビゲーションシステムと連動した高精度の道路交通システムを実現しようとすると、所定の精度を得るために多くのサンプルを要する従来の技術だと、高速道路、幹線道路、及び大通りを外れて抜け道や脇道に車が入ってしまうと、そのような抜け道や脇道に関するサンプルまでも事前に多数集めるのは困難であるため、そのような過去の通行履歴の乏しい通りの所要時間を、所定の精度で予測することが困難であった。
【０００８】
【特許文献１】特開平１１−３０６４８０号公報
【特許文献２】特開２００３−２７２０８４号公報
【非特許文献１】T. Nakata and J. Takeuchi, Mining traffic data from probe-car system for travel time prediction. In Proc. ACM SIGKDD Intl. Conf. Knowledge Discovery and Data mining, pages 817-822, 2004
【発明の開示】
【発明が解決しようとする課題】
【０００９】
この発明の目的は、事前に記録した経路の所要時間のデータに基づき、過去の通行履歴の比較的乏しい通りでも、所要時間を精度よく予測できるようにする技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記を解決すべき課題として研究した結果、本願発明者は、次のような技法に想到した。
【００１１】
先ず、本発明の前提として、通行する可能性のある交差点及び道路の主要地点をノードとしてマークし、ノード間を結ぶリンクにラベルとして、文字列を付与する。ラベルとしての文字列は、好適にはリンク毎に一意的であるが、一意的でないラベルも使用することができる。例えば、「北向き」、「南向き」、「北北西」のような方向を、符合化したラベルを使用することができる。より一般的には、８バイトであらわされる整数で足りる。そうしておくと、過去に記録した学習用の経路は、文字列の並びとして表現される。
【００１２】
一方、所要時間を予測したい所与の経路もまた同様に、文字列の並びとして表現される。
【００１３】
こうして経路が文字列の並びで表されると、文字列カーネル法と呼ばれる類似度の尺度が使えるようになる。文字列カーネルはバイオインフォマティックス（計算生物学）の分野でＤＮＡ配列等を比較する目的で開発された類似度尺度であって、分類などのタスクにおいてその有効性が知られている。好適な文字列カーネル法は、p-スペクトルカーネル法である。
【００１４】
本発明によれば、ガウス過程回帰という手法を用いたコンピュータの処理によって自動的に、その類似度を元に、過去に記録した経路情報が重み付けされる。そしてその重み付けの情報を用いて確率的に、上記所与の経路の所要時間が予測される。
【発明の効果】
【００１５】
以上のように、この発明によれば、経路に対して文字列カーネル法を適用した結果の値で重み付けすることによって、ガウス過程回帰により確率的に、所要時間を予測することができるので、ガウス過程回帰のパラメータ近接付けの性質により、サンプルの少ない付近の経路に対しても比較的精度のよい所要時間の予測を与えることができる。また、ガウス過程回帰を適用したことにより、自然に所要時間の予測の分散も提供される。
【発明を実施するための最良の形態】
【００１６】
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
【００１７】
図１を参照すると、本発明の一実施例に係るシステム構成及び処理を実現するためのコンピュータ・ハードウェアのブロック図が示されている。図１において、システム・バス１０２には、ＣＰＵ１０４と、主記憶（ＲＡＭ）１０６と、ハードディスク・ドライブ（ＨＤＤ）１０８と、キーボード１１０と、マウス１１２と、ディスプレイ１１４が接続されている。ＣＰＵ１０４は、好適には、３２ビットまたは６４ビットのアーキテクチャに基づくものであり、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、インテル社のＣｏｒｅ（商標）  ２  ＤＵＯ、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。主記憶１０４は、好適には、５１２ＫＢ以上の容量、より好ましくは、１ＧＢ以上の容量をもつものである。
【００１８】
ハードディスク・ドライブ１０８には、個々に図示しないが、オペレーティング・システム及び本発明に係る処理プログラム、地図情報、地図表示プログラム、図２及び図３に関連して後で説明する、予め測定または用意された経路とその時間情報などが、格納されている。オペレーティング・システムは、Ｌｉｎｕｘ（商標）、マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００、アップルコンピュータのＭａｃ  ＯＳ（商標）などの、ＣＰＵ１０４に適合する任意のものでよい。
【００１９】
キーボード１１０及びマウス１１２は、オペレーティング・システムが提供するグラフィック・ユーザ・インターフェースに従い、ディスプレイ１１４に表示されたアイコン、タスクバー、ウインドウなどのグラフィック・オブジェクトを操作するために使用される。キーボード１１０及びマウス１１２はまた、後述する地図上の経路指示操作や、所要時間予測プログラムを開始または終了する操作を行うためにも使用される。
【００２０】
ディスプレイ１１４は、これには限定されないが、好適には、１０２４×７６８以上の解像度をもち、３２ビットtrue colorのＬＣＤモニタである。ディスプレイ１１４は、所要時間を予測する経路を含む地図などを表示するために使用される。
【００２１】
ハードディスク・ドライブ１０８にはさらに、後述する本発明に係る計算処理を行うプログラムが格納されている。このプログラムは、Ｃ＋＋、Ｃ＃、Ｊａｖａ（商標）などの既存の任意のプログラム言語で書くことができる。オペレーティング・システムとして、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）２０００などを使用する場合には、Ｗｉｎ３２  ＡＰＩの機能を利用して、ＧＵＩも含むアプリケーション・プログラムとして実装することができる。
【００２２】
バス１０２にはさらに、ＵＳＢインターフェース１１６を介して、ディスプレイ１１４上に表示されている上で、所要時間を予測すべき経路を入力するためのタブレット１１８が接続される。タブレット１１８は、それには限定されないが、例えば、特開２００１−２７３０８９号公報に記載されたような技術を実装したものでよい。要するに、入力ペンでタブレットをなぞった軌跡が、座標としてコンピュータ本体に取り込まれるようなインターフェースをもつものである。
【００２３】
なお、図示しないが、図１のシステムは、ＴＣＰ／ＩＰなどのプロトコルにより、ネットワーク接続され、このネットワークを介して、地図情報、地図表示プログラム、予め測定または用意された経路とその時間情報などを取得するようにしてもよい。
【００２４】
図２は、特定の領域内で予め所要時間を測定した経路x(1), x(2), ..., x(i),...,x(N)を示す。便宜上、図２では、x(1)とx(i)とx(N)だけが図示されている。これらの経路は、予め、ドライバーが、可能な限り法定速度を維持しつつ、出発点から目的地まで、車で走行した経路である。その際、所要時間を測定し、例えば経路x(i)の所要時間を、y(i)として記録する。
【００２５】
これらの事前の走行経路と時間の情報は、多ければ多いほどよく、また、隈なく走っていればいるほど好ましいが、経路の組み合わせの多さに鑑みると、あまり稠密に経路を走って測定しておくことは限界がある。
【００２６】
実際の経路の測定は、走行する自動車に搭載されているＧＰＳを使って、システム的に行うことができる。すなわち、ＧＰＳが、地図情報によりノードとして登録されている位置に自動車が差し掛かっていることを示すと、システムは、その位置を記録する。こうして記録した複数の位置を繋ぐと、経路が決まる。１つの位置から次の位置までのリンクに、適当なアルゴリズムにより、文字列が割り当てられることになる。
【００２７】
あるいは、実際に車で走行する以外に、地図上の距離と法定速度その他の経験的な値を用いて、ある経路に沿った所要時間を見積もって記録しておくこともできる。
【００２８】
図３は、ある次元走行経路x(i)を拡大してその一部を示すものである。すなわち、本発明を適用するために、特定の領域に対応する地図内での道路の要所（交差点、Ｔ字路、その他の道路上の主要地点）に、ノードとしての記号Pj-1、Pj, Pj+1, ...を割り当てておく。このような地図上のノードの情報は、これには限定されないが、例えば、
http://www.gsi.go.jp/MAP/CD-ROM/2500/t2500.htm  などに示されている電子地図を使用することにより取得することができる。
【００２９】
図３では、道路は模様付きの領域で示され、実際に走行した経路は、実線で示されている。
【００３０】
図３に示されているように、経路は、ノードとノードを結ぶ道路としてのリンクの集まりからなる。そこで、本発明によれば、そのような各々のリンクには、ラベルまたは文字列が割り当てられる。
【００３１】
ラベルまたは文字列は、好適には、long型の8バイトの整数である。例えば、10150600のような文字列である。しかし、これには限定されず、乱数的に生成した、A53wKz9sのようなアルファベットと数字交じりの文字列でもよい。
【００３２】
各ノードにＩＤが付与されるので、そのようなＩＤを使用して、リンクに割り当てる文字列を生成することもできる。
【００３３】
あるいは、ランダムに生成した一意的な文字列を順次リンクに割り当ててもよい。
【００３４】
図３で、Pj-1,Pj,Pj+1,Pj+2,Pj+3などと示すのが地図上でのノードで、
Lm, Lm+1, Lm+2, Lm+3などで示すのが、それらのノードを間をつなぐリンクに付与された、ラベルとしての文字列である。このようなラベルを用いて、経路x(i) = (...,Lm, Lm+1, Lm+2, Lm+3, .. )のように、経路は、文字列の並びとしてあらわすことができる。そのような文字列は地図全体で一意的であるのが望ましいが、例えば、ノードを結ぶリンクの方向（南南西、北北西、緯線に対する角度など）を用いて文字列を決定することもでき、すると、文字列は地図全体で必ずしも一意的にならないが、それでも本発明に使用することができる。
【００３５】
図４は、図１に示すタブレット１１８で入力された、所要時間を予測すべき経路xである。この入力のために、例えば、ディスプレイ１１４上に地図を表示し、オペレータがタブレット１１８上で、入力ペンを操作するにつれて、ディスプレイ１１４に表示された地図上で、経路を所定の色の実線で示すなどのインターフェースが１つの例であるが、このようなインターフェースに限定されず、マウス１１２での操作など、当業者に知られている任意のインターフェースを使用し得ることを理解されたい。
【００３６】
このようにして入力された経路xは、その通過地点のノードの列に従い、図３に関連したのと同じ方法で、文字列の並びに変換される。すなわち、入力された経路xが、図２で予め入力された経路x(1), x(2), ..., x(i),...,x(N)のどれかと部分的に一致するなら、その一致する部分では、同一の文字列を付与されることになる。
【００３７】
次に、本発明に従う所要時間予測技術のアルゴリズムと、その実装について説明する。以下のアルゴリズムを実行するためのプログラムは、予め、Ｃ＋＋、Ｃ＃、Ｊａｖａ（商標）などの既存の任意のプログラム言語で書かれてコンパイルされ、実行可能プログラムとしてハードディスク・ドライブ１０８に保存されている。そうして、キーボード１１０あるいはマウス１１２の操作に応答して、オペレーティング・システムがそのプログラムを主記憶１０８にロードして実行させる。実行結果は、ディスプレイ１１４に表示され、あるいは、ハードディスク・ドライブ１０８に保存される。
【００３８】
先ず、予め保存されている学習用の経路とその所要時間のデータを次のとおり、改めて定式化する。
データＤ ≡ {(x(n),y(n)|n = 1,2,...,N}
ここで、x(n)は、予め保存されているn番目の経路、y(n)はその所要時間である。
【００３９】
ここで、先ず、本発明が利用するガウス過程回帰モデルについて説明する。本願発明者による考察によれば、経路とその所要時間yの間には、複雑な関数関係が存在し、それは到底、線形回帰や多項式回帰では想定し得ないものである。
【００４０】
そこで、次のような確率モデルを仮定した。
p(y(n)|fn) = N(y(n)|fn,σ2)
【００４１】
N(y(n)|fn,σ2)は、ガウス分布であり、具体的には次のように定義される。
【数１】
2010072986.tif 000003
【００４２】
すなわち、N(y(n)|fn,σ2)は、y(n)を確率分布とする正規分布を表し、その平均がfn、分散がσ2である。σはデータＤから決めるのが望ましいが、ユーザーがその値を指定してもよい。また、fnは回帰モデルの潜在変数であり、データＤから決める必要がある。この潜在変数は、観測値と同じ個数あるので、原理的には、任意の非線形関係を表現することができる。
【００４３】
fnに関するここでの唯一の仮定は、それが、次のような平均ゼロの事前分布に従うということである。
p(fN) = N(fN|0,K)
【００４４】
ここでfN = (f1,f2,...,fN)Tであり、Kは、x(n)をもとに生成された、カーネル行列と呼ばれる共分散行列である。本発明で使用する具体的なKの計算法については、後で詳細に説明する。
【００４５】
図５は、ガウス過程回帰の模式図である。この図から見て取れるように、各測定データx(n)に対して、y(n)を計算する際に、裏でパラメータfNが  考慮されている。各測定データx(n)は互いに独立であるが、fnは異なるn同士で関係がある。すなわち、類似しているx(n)同士は、fnも似ているはずである、という仮定がある。
【００４６】
すると今度は、x(n)同士の類似度をどう定義するか、という問題に行き着く。本発明によれば、x(n)は文字列の並びとしてあらわされ、その文字列の並び同士として、類似度が計算される。このことも、後で詳細に説明する。
【００４７】
図６は、データＤに基づき、本発明の一実施例に従い、カーネル行列、その他の必要なパラメータを計算するための処理のフローチャートである。本発明においては、分散の値σも事前に与えられるが、この実施例では、σは、ユーザーが手操作でシステムに入力するものとする。
【００４８】
図５のステップ６０２では、n = 1,2,...,Nというループの中で、m = 1,2,...,Nというループを廻し、そこで、ステップ６０４とステップ６０６が繰り返し実行される。すなわち、ループは、N2回実行される。
【００４９】
ステップ６０４では、経路x(n)と、経路x(m)が、図３に示すような対応により、文字列の並びに変換される。なお、予め経路x(n)及び経路x(m)が、文字列の並びに変換されている場合には、このステップは省略できる。
【００５０】
ステップ６０６では、経路x(n)と、経路x(m)に基づき、カーネル行列Ｋの(n,m)要素が計算される。このとき、p-スペクトラムカーネル法という手法が使用される。それは、下記のような式に基づく。
【数２】
2010072986.tif 000004
【００５１】
ここで、Nu(x(n))というのは、部分文字列uがx(n)においてあらわれる回数であり、Σpは、長さpの部分文字列の集合をあらわす。ここで本実施例において、好適には、pは2または3である。pはこのように事前に決められた定数なので、以下の説明では、便宜上省略することがある。
【００５２】
Nu(x(n))の計算の簡単な実装は次のとおりである。
（1）x(n)の長さpの部分系列を、先頭から順に列挙し、すべてハッシュ表Aに格納しておく。このAは、部分系列をキーとし、出現回数を値とするようなハッシュ表である。
（２）同様に、x(m)の長さpの部分系列をすべてハッシュ表Bに格納しておく。
（３）Aのそれぞれのキー（これをuとする）について、Aにおける値を取り出す。それがNu(x(n))である。
（４）uが、Bのキーとして含まれていれば、その値を取り出す。それがNu(x(m))である。含まれていなければ Nu(x(m)) = 0である。
なお、その他のさまざまな実装の方法については、http://www.kernel-methods.net/ などを参照されたい。
【００５３】
なお、文字列の長さによるカーネル関数の変化を吸収するために、
次のようにkp(x(n),x(m))を正規化しておくものとする。
【数３】
2010072986.tif 000005
【００５４】
このようにして、ステップ６０２で、kp(x(n),x(m))を(n,m)要素とするカーネル行列Ｋが得られる。
【００５５】
ステップ６０８では、Ｃ = Ｋ + σ2ＩNにより、先ず行列Ｃが計算される。
ここで、ＩNとは、N×Nの単位行列である。
【００５６】
こうしてＣが計算されると、次はＣの逆行列Ｃ-1の計算である。行列の次数が数千以上になると、直接逆行列を計算する方法が困難になる。そこで、Leon Bottou, Olivier Chapelle, Dennis DeCoste and Jason Weston, et. "Large-Scale Kernel Machines", MIT Press, 2007, Chap 9などに記述されている方法を使うと、実際的な計算量で計算することが可能となる。
【００５７】
こうしてステップ６０８でＣ-1が計算されると、その結果は一旦、ハードディスク・ドライブ１０８に記憶される。具体的には、Ｃ-1の各要素が、インデックス付きでハードディスク・ドライブ１０８に記憶される。
【００５８】
ステップ６１０では、ｂ ≡ Ｃ-1yNが計算されて、その結果がハードディスク・ドライブ１０８に記憶される。尚ここで、yN = (y(1),y(2),...,y(N))Tである。
このｂは後で、実際に所要時間予測の計算に使われることになる。
【００５９】
図７は、タブレット１１８などによって入力された新たな経路xに関して、所要時間とその分散を計算して出力するための処理を示すフローチャートである。図７において、ステップ７０２では、経路xに関して、次のようにして、ベクトルｋが計算される。
ｋ ≡ (k(x,x(1)), k(x,x(2)),...,k(x,x(N)))T
ここの関数k()は、図６のステップ６０６で使われたものと同じである。
【００６０】
ステップ７０４では、ｄ ≡ Ｃ-1ｋが計算されて、その結果がハードディスク・ドライブ１０８に記憶される。
【００６１】
ステップ７０６では、経路xに関して所要時間の予測値m = ｋTｂが計算されて出力される。このベクトルｂは、図６のフローチャートのステップ６１０で計算され、ハードディスク・ドライブ１０８に記憶されているものである。この計算された結果は、好適には、適当なＧＵＩを使って、自動的にディスプレイ１１４に表示される。
【００６２】
ステップ７０８では、下記の式で示される所要時間の分散s2が計算されて、出力される。
s2 = σ2 + k(x,x) - ｋTｄ
この式で、k(x,x)は、図６のステップ６０６で使われたものと同じであり、ｄは、ステップ７０４で計算されてハードディスク・ドライブ１０８に記憶されたものである。この計算された結果は、好適には、適当なＧＵＩを使って、自動的にディスプレイ１１４に表示される。
【００６３】
図８は、図６の計算処理の別の実施例に係る処理のフローチャートである。図８において、ステップ８０２、８０４及び８０６は、図６のフローチャートのステップ６０２、６０４及び６０６と同じでよいので、説明を省略する。
【００６４】
ステップ８０８が、図６のフローチャートのステップ６０８と異なるのは、与えられる分散σが、ユーザーによる所与ではなくて、ガウス過程回帰のエビデンス近似という手法によって計算されることである。エビデンス近似とは、対数周辺尤度を最大化するようにσを決める方法である。
【００６５】
対数周辺尤度とは、下記のような式で定義される：
【数４】
2010072986.tif 000006
ただし、この式で、p(y(n)|fn) = N(y(n)|fn,σ2)
【００６６】
正規分布の式を入れて積分を行うと、yN = (y(1),y(2),...,y(N))Tに対して、次のようになる。
【数５】
2010072986.tif 000007
【００６７】
ここで、行列Ｃは、ステップ６０８などで説明したものと同じである。この式を最大にするσを、解析的に求めることは困難なので、勾配法を用いる。すなわち、上記の式をσ2で偏微分すると、次のような式が得られる。
【数６】
2010072986.tif 000008
この勾配の式において、ｂ ≡ Ｃ-1yNである。
【００６８】
この勾配の式を用いて、次のようにしてσが求められる。
（１）σの初期値として、例えば、{y(1), y(2),...,y(N)}の分散を用いる。
（２）現在のσにおいて、ｂ = Ｃ-1yN及び、tr(Ｃ-1)を計算し、これらを上記勾配の式に当てはめることによって、上記勾配の値
【数７】
2010072986.tif 000009
をもとめる。
（３）次に、ある小さい値λを用いて、σの値を次のように変更する。
【数８】
2010072986.tif 000010
（４）このように変更した値σを数５に代入する。
（５）そこで、数５の前回からの変化量がある閾値よりも小さくなっていると、収束していると看做して、そのときのσの値が、結果の値である。まだ収束していると看做せない場合は、ステップ（２）に戻る。
【００６９】
図８のフローチャートのステップ８０８に戻って、このようにしてσの値が決定されると、後は、図６のステップ６０８の場合と同様にして、Ｃ-1が計算され、ハードディスク・ドライブ１０８に記憶される。
【００７０】
ステップ８１０は、図６のステップ６１０の場合と同様でよいので、説明を省略する。
【００７１】
なお、カーネル関数kp()を下記のように変更することができる。
k(x(n),x(m)) = kp(x(n),x(m)) + k0(x(n),x(m))
【００７２】
この追加項k0(x(n),x(m))は、例えば下記のような式である。
【数９】
2010072986.tif 000011
【００７３】
ここで、属性集合Aは、工事中、高速道路その他の属性を示すものである。wlは、属性lの場合の重みで1 〜 3程度の値、vl(x(n))は、x(n)が属性lを満たす場合には1、属性を満たさない場合には0となる。このような追加項を付加することによって、カーネル関数に道路事情を反映させることができる。
【００７４】
以上、道路上の経路の所要時間予測に適用する例に関連して本発明の実施例を説明してきたが、これには限定されず、スーパーの動線解析などに本発明を適用することも可能である。
【００７５】
例えば、スーパー内での所要時間の予測に適用するだけではなく、ある経路を顧客が動いた経路とその結果の商品売り上げ金額のデータが関連づれられて保存されていると、所要時間ではなく、売り上げ金額の予測を行うこともできる。すると、それをさらに進めて、売り上げを伸ばすような動線をもたらすようなスーパーのレイアウト設計の検討にも、本発明を適用することができる。
【図面の簡単な説明】
【００７６】
【図１】本発明を実施するためのハードウェア構成のブロック図である。
【図２】事前に記録され保存された複数の経路を示す図である。
【図３】図２の経路のノードとリンクのラベルを示す図である。
【図４】地図上で、入力された経路を示す図である。
【図５】ガウス過程回帰の原理を示す図である。
【図６】第１の実施例に係る、所要時間予測のための必要なパラメータを計算するための処理のフローチャートを示す図である。
【図７】計算されたパラメータを用いて、所要時間の予測値と分散の値を出力するための処理のフローチャートを示す図である。
【図８】第２の実施例に係る、所要時間予測のための必要なパラメータを計算するための処理のフローチャートを示す図である。
【図１】
2010072986.tif 000012
【図２】
2010072986.tif 000013
【図３】
2010072986.tif 000014
【図４】
2010072986.tif 000015
【図５】
2010072986.tif 000016
【図６】
2010072986.tif 000017
【図７】
2010072986.tif 000018
【図８】
2010072986.tif 000019