Minami Aoyama Night#4での発表資料です。
位置情報ビッグデータ分析の舞台裏望月 優2017/09/15 Minami Aoyama Night #4
View Slide
Speaker望月 優 (もちづき ゆう)● 株式会社ナビタイムジャパン○ 2014 年入社○ 交通コンサルティング事業 開発リーダー○ データ分析業務, データ分析基盤構築業務など
Our Work
Our Company
Our Business
Our Business交通・地域の最適化によって, 安心して移動できる社会を目指す.
Our Data Resources
Our Data Analysis分析事例: 交差点通過にかかる所要時間第 34 回交通工学研究発表会論文:http://consulting.navitime.biz/pdf/monograph_20140807.pdf発表資料:http://consulting.navitime.biz/pdf/presentation_20140807.pdf
Our Data Analysis分析事例: 目的地アソシエーション分析第 12 回観光情報学会全国大会論文:http://consulting.navitime.biz/pdf/monograph_20161105_1.pdf発表資料:http://consulting.navitime.biz/pdf/presentation_20161105_1.pdf
Our Data Analysis分析事例: 訪日外国人の滞在先分析第 12 回観光情報学会全国大会論文:http://consulting.navitime.biz/pdf/monograph_20150619_01.pdf発表資料:http://consulting.navitime.biz/pdf/presentation_20150619_01.pdf
Infrastructure for Analysis
Analysis Flow● SQL-Based AnalysisLog Collection Preprocessing Analysis EnvironmentSoftwareInfrastructure
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
Spatial Operations● PostGIS, or other GEOS Bindings○ Shapely, for Python
Visualization● QGIS, for Reporting
Visualization● QGIS Web Client, for Interactive Reporting
Visualization● Original Web Systems, in the NEAR FUTURE
Development
位置データの意味付け● 位置の意味付け○ 住所 / 地域メッシュ○ どの施設 / どの道路● 移動の意味付け○ 移動しようとした / 移動しようとしたが結局しなかった / 実際に移動した○ 通過した / しばらく滞在した / 住み着いた○ 順調に通過した / 通過に苦労した○ どこから来た / どこへ行った
技術的困難● 空間演算は高コスト○ ポリゴンの辺が増えるほど , なにかと遅くなる.○ 特にビッグデータなので結構シビア .● 時系列を追う処理の実装が高コスト○ ある 1 点だけでなく, 前後の点列も含めて考える必要がある .○ SQL だけで実現するのは到底無理 .○ SQL だけで書けないと営業メンバが困る .
空間演算の高速化● Simplifying Polygons○ ポリゴンを簡略化して頂点を減らす .○ GEOS でアルゴリズム提供 . PostGIS ではST_Simplify 系関数で実現可.○ 実装を変更せずに簡単に実現できる .地図出典: 国土数値情報 http://nlftp.mlit.go.jp/ksj/
空間演算の高速化● Spatial Indexing○ 簡単な計算で, 確実にマッチしないポリゴンを省く .○ Bounding Box を利用した R-tree が有名.■ ネイティブライブラリがあります .■ Python Binding もあります.引用: https://ja.wikipedia.org/wiki/R%E6%9C%A8
空間演算の高速化● Geohashing○ 緯度経度から簡単に計算できるハッシュ値に変換する.■ GeoHash, 地域メッシュコードなど .○ Polygon 簡略化の一種であり , SpatialIndexing ともいえる.○ ポリゴン計算が一切省かれるので , 高速かつ実装が容易.地図出典: 国土数値情報 http://nlftp.mlit.go.jp/ksj/
時系列データ処理のスケールアウト● MapReduce でストリーム処理させる.○ Reduction において, キーでまとめて時間でソートする .■ ソートは勝手に行われないので忘れずに .■ ただし対象はビッグデータなので , メモリを使いすぎないよう気をつける .○ 特定のキーでまとめるところは共通化できるので , フレームワーク化しておく .
システム化● 難しいことは SQL ではなく事前計算でLog Collection Preprocessing Analysis EnvironmentSoftwareInfrastructure可能な限り事前計算で吸収する
データ商材の育成ポイントSQL でできることを増やせば, プロトタイピングの速度が上がるLog Collection Preprocessing Analysis EnvironmentSoftwareInfrastructureつまりここが大事!
Thank You!