Upgrade to Pro — share decks privately, control downloads, hide ads and more …

位置情報ビッグデータ分析の舞台裏

 位置情報ビッグデータ分析の舞台裏

Minami Aoyama Night#4での発表資料です。

NAVITIME JAPAN

October 04, 2017
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Research

Transcript

  1. Speaker 望月 優 (もちづき ゆう) • 株式会社ナビタイムジャパン ◦ 2014 年入社

    ◦ 交通コンサルティング事業 開発リーダー ◦ データ分析業務, データ分析基盤構築業務など
  2. Our Data Analysis 分析事例: 訪日外国人の滞在先分析 第 12 回観光情報学会全国大会 論文: http://consulting.navitime.biz/pdf/mon

    ograph_20150619_01.pdf 発表資料: http://consulting.navitime.biz/pdf/pres entation_20150619_01.pdf
  3. Spatial Operations • GIS (Geographic Informaton Systems) ◦ 地理情報システム. 地理情報をうまいこと取り扱う枠組みを指す

    . ▪ 作成する, 保存する, 描画する, 演算する, etc. ◦ しばしば利用されるベクタ表現方法 ▪ 位置は緯度・経度を座標として表現される . ▪ 地域の形状はポリゴンとして提供される . • たとえば: http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03-v2_3.html ◦ 参考) http://www.gsi.go.jp/GIS/whatisgis.html
  4. 位置データの意味付け • 位置の意味付け ◦ 住所 / 地域メッシュ ◦ どの施設 /

    どの道路 • 移動の意味付け ◦ 移動しようとした / 移動しようとしたが結局しなかった / 実際に移動した ◦ 通過した / しばらく滞在した / 住み着いた ◦ 順調に通過した / 通過に苦労した ◦ どこから来た / どこへ行った
  5. 技術的困難 • 空間演算は高コスト ◦ ポリゴンの辺が増えるほど , なにかと遅くなる. ◦ 特にビッグデータなので結構シビア .

    • 時系列を追う処理の実装が高コスト ◦ ある 1 点だけでなく, 前後の点列も含めて考える必要がある . ◦ SQL だけで実現するのは到底無理 . ◦ SQL だけで書けないと営業メンバが困る .
  6. 空間演算の高速化 • Simplifying Polygons ◦ ポリゴンを簡略化して頂点を減らす . ◦ GEOS でアルゴリズム提供

    . PostGIS では ST_Simplify 系関数で実現可. ◦ 実装を変更せずに簡単に実現できる . 地図出典: 国土数値情報 http://nlftp.mlit.go.jp/ksj/
  7. 空間演算の高速化 • Spatial Indexing ◦ 簡単な計算で, 確実にマッチしないポリゴンを省く . ◦ Bounding

    Box を利用した R-tree が有名. ▪ ネイティブライブラリがあります . ▪ Python Binding もあります. 引用: https://ja.wikipedia.org/wiki/R%E6%9C%A8
  8. 空間演算の高速化 • Geohashing ◦ 緯度経度から簡単に計算できるハッシュ値 に変換する. ▪ GeoHash, 地域メッシュコードなど .

    ◦ Polygon 簡略化の一種であり , Spatial Indexing ともいえる. ◦ ポリゴン計算が一切省かれるので , 高速か つ実装が容易. 地図出典: 国土数値情報 http://nlftp.mlit.go.jp/ksj/
  9. 時系列データ処理のスケールアウト • MapReduce でストリーム処理させる. ◦ Reduction において, キーでまとめて時間でソートする . ▪

    ソートは勝手に行われないので忘れずに . ▪ ただし対象はビッグデータなので , メモリを使いすぎないよう気をつける . ◦ 特定のキーでまとめるところは共通化できるので , フレームワーク化しておく .