210 likes | 381 Views
文字列カーネルを用いた 旅行時間予測. IBM 東京基礎研究所 井手 剛 、加藤 整. 問題設定 : 任意の経路に沿った所要時間(旅行時間)を予測したい. 「過去の交通履歴データが与えられた時、 任意の経路 x に対する旅行時間 y の確率分布を求めよ」 交通履歴データ D は ( 経路 , 旅行時間 ) の N 個の集まりとして与えられる D のすべての経路は 同一の始点・終点を共有すると仮定. 旅行時間. 入力経路. destination. ( x ( i ) , y ( i ) ). x. 「リンク」 隣接する交差点の間の道
E N D
文字列カーネルを用いた旅行時間予測 IBM東京基礎研究所 井手 剛、加藤 整 | 2009/06/17 | JSAI 09
問題設定:任意の経路に沿った所要時間(旅行時間)を予測したい問題設定:任意の経路に沿った所要時間(旅行時間)を予測したい • 「過去の交通履歴データが与えられた時、任意の経路 x に対する旅行時間 y の確率分布を求めよ」 • 交通履歴データ Dは (経路, 旅行時間) の N 個の集まりとして与えられる • D のすべての経路は同一の始点・終点を共有すると仮定 旅行時間 入力経路 destination (x(i ), y(i )) x • 「リンク」隣接する交差点の間の道 • 「経路」つながったリンクの系列 (x(j ), y(j )) origin | 2009/06 | JSAI 09
発表の内容 • 問題設定 • 問題の背景 • 定式化 • 数値計算 • 実験結果 | 2009/06 | JSAI 09
travel time [s] date 背景 (1/2): 既存の時系列解析的手法は、交通量の乏しいリンクには使いにくい • 定番的手法: 特定のリンクに対する時系列モデリング • 特定のリンクに着目し、自己回帰モデルを立てる • 時間の関数として交通量を予測 • 既存手法の限界: 低流量リンクに有用でない • 1時間に数台、といったような道だと、精度のよい自己回帰モデルを作れない • しかし一般に、ある経路にはそういうマイナーな道も含まれる(裏道など) Traffic history on a particular link | 2009/06 | JSAI 09
背景 (2/2): トラジェクトリからの知識発見は盛り上がりつつある研究テーマ • ハリケーンの通過経路の解析 • トラジェクトリのクラスタリングや、仲間外れの検出 • 店舗内お買い物経路の解析 • 顧客の購買行動を予測、分類 • 旅行時間予測 (← この発表) • 各経路に対して旅行時間を予測する “Trajectory Outlier Detection: A Partition-and-Detect Framework”, Jae-Gil Lee, Jiawei Han, Xiaolei Li, ICDE 2008. “An exploratory look at supermarket shopping paths”, Jeffrey S. Larson, et al. , 2005. | 2009/06 | JSAI 09
要するに回帰の問題を解きたい。ただし、入力はベクトルでなくて、経路。要するに回帰の問題を解きたい。ただし、入力はベクトルでなくて、経路。 • 入力 = 経路 (or トラジェクトリ) • 出力 = 旅行時間 ? 旅行時間 [s] 経路 ?謎? 解決策 • トラジェクトリ同士の類似度だけで回帰式を書き下す • 類似度のために文字列カーネルを使う • 正規過程回帰により確率的予測を行う | 2009/06 | JSAI 09
定式化 (0/4): カーネル回帰ではサンプル同士の類似度行列だけで回帰式を書き下せる • 普通の回帰モデルは、入力としてデータのベクトルを必要とする • 入力 = データ行列 • カーネル回帰は類似度行列(カーネル行列)さえあればよい • 入力 = カーネル行列 • 類似度だけが必要で、明示的に入力ベクトルを与える必要はない 入力空間の次元 サンプル数 サンプル数 サンプル数 | 2009/06 | JSAI 09
定式化 (1/4):経路同士の類似度を文字列カーネルで計算する • それぞれの経路は、シンボル列として記述できる • たとえば各リンクのID番号そのものを「シンボル」とみなせる • 例: 3番目のサンプルはこんな感じだったり • ストリングカーネルは、文字列同士の自然な類似度尺度 • p-spectrum kernel [Leslie 02] というものを使う リンクID 経路 x(i) における部分文字列 uの出現回数 p 個の連続したシンボルからなる部分系列の集合 | 2009/06 | JSAI 09
定式化 (2/4):p-スペクトラムカーネルの直感的説明 – “分割して比べる” • Step 1: 各経路を部分系列に分解 • Step 2: 共起の回数を数える • 例: p = 2, Σ = {東, 西, 南, 北} • もし u = = (西, 北) なら Nu(blue) = 2 およびNu(red) = 3. = + + + + + + = + + + + + + + | 2009/06 | JSAI 09
定式化 (3/4): 回帰モデルとしては正規過程回帰を使う。このモデルの二つの仮定 • 仮定 1: 観測ノイズは正規分布 • 仮定 2: 「潜在変数」 の分布も正規分布 • 「xが近ければ、潜在変数の値も似ているはず」 • つまり、「回帰曲線はある程度滑らかなはず」 : 経路 iと j の間のカーネル関数 潜在変数 観測値 | 2009/06 | JSAI 09
定式化 (4/4): 回帰モデルとしては正規過程回帰を使う。予測分布 は解析的に求まる • 予測分布もまた正規分布に • (詳細略) 正規過程回帰の予測分布 入力経路 平均 m(x) 分散 s2(x) 旅行時間 (上位パラメター) | 2009/06 | JSAI 09
数値計算 (1/2):上位パラメター(hyper-parameters) もデータから決められる • は周辺化尤度を最大化することでデータから決められる • 対数周辺化尤度(対数エビデンス)の定義 • この最大化問題は に対する固定点方程式に帰着できる • 勾配法を使わなくても済む • 要するに を順番に解く • ただし、各反復ステップでCholesky分解が必要 • より効率のよい計算手法の開発は将来の課題 | 2009/06 | JSAI 09
数値計算 (2/2):計算手順の要約 | 2009/06 | JSAI 09
実験 (1/4): 京都市街の地図の上で人工的に交通流を発生させる • IBM Mega Traffic Simulator を使う • エージェントベースのシミュレーター • 複雑なドライバーの挙動をモデリング可能 • データ生成の手順 • 所与の始点・終点の間で N0本の最短経路を求める • ポアソン分布に従うように、始点から車を入れる • 各時刻において、法定速度と車両間隔の関数として車の速度を決める • 交差点での待ち時間 は入力パラメターとする • 終点に到着したら、各リンクで費やした旅行時間を足し上げて総旅行時間とする | 2009/06 | JSAI 09
実験 (2/4): 3つのカーネル関数を比較した • 「IDカーネル」 • p-スペクトラムカーネル。ただしアルファベット はIDそのものの集合 • 部分系列の長さ pは入力パラメター • 「方向カーネル」 • p-スペクトラムカーネル。ただしアルファベット はリンクの方向で、{東, 西, 南, 北}。 • 地図の緯度経度の情報から方向は求められる • 「面積カーネル」 • 2つの経路の間のはさむ面積 • 普通の意味での距離(ユークリッドなど)の対応物とみなせる | 2009/06 | JSAI 09
実験 (3/4): 予測値と実測値の間の相関係数を評価尺度に採用 • 評価尺度 r : 予測値と実測値の間の相関係数 • N = 100 経路で訓練し、残りでテスト • 全部で N0 = 132 経路を生成 • 変えてみるパラメター • 交差点での待ち時間 • 部分系列の長さ | 2009/06 | JSAI 09
ID kernel 実験 (4/4): ID文字列カーネルが最もよい予測精度を示した • 異なる部分系列長 p の比較(IDと方向カーネル) • の時、p = 2 が最もよい結果 • 主たる寄与は各経路単独のもの • 交差点での挙動を考えに入れることで予測精度が増す • 異なるカーネルを比較 • IDが最もよい: r が高く、分散が小さい • 面積カーネルはダメ • トラジェクトリの形状はむしろ積極的に無視すべき • 直感的に妥当な距離尺度がまるで役に立たないという面白い例 | 2009/06 | JSAI 09
まとめ • 旅行時間予測の問題を、トラジェクトリマイニングの問題として(初めて)定式化した • 次の二つの手法を新たに導入した • 交通シミュレーションのデータを用いた実験で、十分な予測能力が確かめられた トラジェクトリ同士の 類似度として文字列カーネルを用いること 旅行時間予測のために正規過程回帰を用いること | 2009/06 | JSAI 09
お疲れ様です ! | 2009/06 | JSAI 09
Predictive distribution can be derived analytically See the paper for details Assumption 1: Gaussian observation noise Assumption 2: Gaussian prior “Curve should be smooth” One-page summary of Gaussian process regression (GPR) Latent variable Observation | 2009/06 | JSAI 09
Intuitions behind p-spectrum kernel – “split-and-compare” • Step 1: Split sequences into subsequences • Step 2: Sum up number of co-occurrences • Example: p = 2 case, alphabet = link ID • k2(red, blue) = 2*beta • Note that turning patterns at intersections matter when p >2 = + + + + + + = + + + + + + | 2009/06 | JSAI 09