Rei Frontier Tech Blog

人工知能を活用した位置情報分析プラットフォーム「SilentLog Analytics」を運営する、レイ・フロンティア株式会社のエンジニアメンバーで運営する技術ブログです。

GPSデータをクラスタリングしてみた

レイ・フロンティア株式会社 機械学習エンジニアの野島です。 

レイ・フロンティア株式会社では、SilentLogを介して得られる行動情報を蓄積し、分析しています。

今回は、その行動情報から得られる滞在地点のGPSデータ(緯度、経度、時間)を用い、

  • どの場所が滞在ユーザー数が多いのか
  • ある場所に滞在したユーザーは、その他の場所でどの場所に滞在することが多いのか

を分析しましたので、その結果をまとめます。

 

 

分析の流れ

以下の流れで分析を行いました。

  • 入力:分析対象期間
  • 出力:滞在したユーザーが多い地点
  1. ユーザーの抽出
  2. 対象ユーザーの滞在データの抽出
  3. 滞在地点をクラスタリング
  4. クラスタごとの滞在ユーザーを抽出
  5. クラスタを滞在ユーザー数でソートして上位を出力

ユーザーの抽出

特に指定しなければSilentLog全ユーザーということになりますが、あるランドマーク(例えば、東京駅)に指定期間内に滞在したユーザーを抽出するといったこともできます。

ランドマークに滞在したユーザーを抽出することにより、そのランドマークに滞在したユーザーは、他のどのランドマークに滞在するといった傾向を分析することもできます。

 

対象ユーザーの滞在データの抽出

当社DBにアクセスして、抽出したユーザーの滞在データを取得します。

取得できるデータとしては以下になります。

  • ユーザーID
  • 緯度
  • 経度
  • 滞在した日時

 

滞在地点をクラスタリング

クラスタリングアルゴリズムとしては、DBSCANを採用しました。

DBSCANとは一般的なクラスタリングアルゴリズムの一つで、以下の特徴があります。

  • クラスタ数を指定しなくて良い
  • ノイズを除去することができる
  • クラスタ形状が任意の形状となる

 DBSCANにおける詳細情報は下記をご参照ください。

ja.wikipedia.org

 

クラスタごとの滞在ユーザーを抽出、クラスタを滞在ユーザー数でソートして上位を出力

 クラスタと滞在地点情報(ユーザーID、緯度・経度)が紐付いているので、クラスタごとのユーザー数をカウントし、ユーザー数で降順でソートし、上位を出力する。

 

抽出結果

2019年6月21日~6月24日までの全SilentLogユーザーを対象にした日別滞在場所トップ30を抽出

まず最初に、平日と土日を含む期間で抽出してみました。

抽出結果は下記の表になります。

順位 2019年6月21日(金) 2019年6月22日(土) 2019年6月23日(日) 2019年6月24日(月)
1 東京駅 新宿駅 新宿駅 東京駅
2 新宿駅 渋谷駅 池袋駅 新宿駅
3 渋谷駅 池袋駅 大阪駅 渋谷駅
4 大阪駅 大阪駅 渋谷センター街 新橋駅
5 池袋駅 銀座四丁目交差点 東京駅 品川イーストワンタワー
6 品川イーストワンタワー 東京駅 銀座三丁目 大阪駅
7 秋葉原駅 横浜駅 横浜駅 池袋駅
8 横浜駅 秋葉原駅 秋葉原駅 秋葉原駅
9 名古屋駅 上野アメ横 名古屋駅 横浜駅
10 恵比寿駅 名古屋駅 上野アメ横 名古屋駅
11 川崎駅 川崎駅 川崎駅 恵比寿駅
12 上野駅 なんば 品川駅 川崎駅
13 東京ミッドタウン 品川駅 吉祥寺サンロード商店街 浜松町駅
14 飯田橋駅 新橋駅 新大阪駅 上野駅
15 新大阪駅 吉祥寺サンロード商店街 武蔵小杉駅 北千住駅
16 赤坂見附駅 神戸三宮駅 二子玉川駅 田町駅
17 浜松町駅 恵比寿駅 なんば 大崎駅
18 田町駅 錦糸町駅 錦糸町駅 六本木一丁目駅
19 博多駅 大宮駅 恵比寿駅 銀座四丁目交差点
20 五反田駅 京都駅 大宮駅 赤坂見附駅
21 大崎駅 博多駅 ラフォーレ原宿ショッピングセンター 豊洲駅
22 大宮駅 中野サンプラザ 北千住駅 博多駅
23 神田駅 高田馬場駅 京都駅 赤坂駅
24 六本木ヒルズ 立川駅 中野サンプラザ 新大阪駅
25 京都駅 新大阪駅 立川駅 大阪アクア堂島浜NBFタワー
26 目黒駅 あべのハルカス 神戸三宮駅 高田馬場駅
27 錦糸町駅 北千住駅 高田馬場駅 錦糸町駅
28 赤羽駅 仙台駅 羽田空港第二ビル 目黒駅
29 北千住駅 町田駅 自由が丘駅 飯田橋駅
30 中野サンプラザ 自由が丘駅 赤羽駅 吉祥寺駅

 

上位の地点は、下記JR東日本各駅の乗車人員の上位駅とほぼ一致しました。

www.jreast.co.jp

 

土日になると、

上野アメ横、吉祥寺、なんば、自由が丘

などのショッピングを目的としたと推測される地点がランクインしています。

 

2019年10連休(4/27~5/6)に羽田空港に滞在したSilentLogユーザーの、その他の滞在場所ユーザー数トップ30を抽出

次に、2019年の10連休に着目して抽出してみます。

最初は、10連休ということで遠距離を移動する人が多いと思いますので、羽田空港を利用した人(羽田空港に滞在がある人)をターゲットにして抽出してみました。

抽出した結果は以下になります。

順位 場所
1 新宿駅
2 東京駅
3 品川駅
4 有楽町駅
5 渋谷センター街
6 横浜駅
7 福岡空港
8 上野アメ横
9 新千歳空港
10 浜松町駅
11 池袋駅
12 秋葉原駅
13 大阪伊丹空港
14 博多駅
15 川崎駅
16 那覇空港
17 京急蒲田駅
18 西鉄福岡駅
19 新橋駅
20 すすきの駅
21 浅草仲見世商店街
22 札幌駅
23 ラフォーレ原宿ショッピングセンター
24 新大阪駅
25 GINZA SIX
26 東京スカイツリータウン
27 大阪駅
28 蒲田駅
29 恵比寿駅
30 二子玉川駅

 

羽田空港とセットとなる空港としては、

福岡空港、新千歳空港、大阪伊丹空港、那覇空港

でした。

羽田空港で東京に来て、その後の向かう先としては

新宿、渋谷、池袋、銀座、上野アメ横、原宿、浅草、東京スカイツリー
のような場所であったと推測できます。

 

2019年10連休(4/27~5/6)に東京スカイツリータウンに滞在したSilentLogユーザーの、その他の滞在場所ユーザー数トップ30を抽出

次に、羽田空港を利用した人が訪れた先として挙がっていた「東京スカイツリー」に着目して、そこに滞在があるユーザーについて抽出してみました。

東京スカイツリーに訪れた人がセットとして訪れる場所はどこだったか?を調べるためです。

抽出した結果は以下になります。

順位 場所
1 浅草仲見世商店街
2 東京駅
3 錦糸町駅
4 上野駅
5 秋葉原駅
6 有楽町駅
7 渋谷ハチ公
8 上野アメ横
9 新宿駅
10 北千住駅
11 渋谷ヒカリエ
12 新宿駅東口
13 オリナス錦糸町
14 銀座四丁目交差点
15 新橋駅
16 羽田空港第二ターミナル
17 曳舟駅
18 横浜駅
19 池袋駅西口
20 渋谷センター街
21 六本木ヒルズ
22 亀戸天神
23 GINZA SIX
24 池袋駅東口
25 日本橋三越本店
26 東京タワー
27 羽田空港第一ターミナル
28 本所吾妻橋駅
29 京成曳舟駅
30 お台場ダイバーシティ東京

 

東京スカイツリータウンとセットとなる観光地として、

浅草、上野アメ横、銀座、六本木ヒルズ、亀戸天神、東京タワー

が読み取れます。

また、

錦糸町、曳舟、北千住

は乗り換え駅であると推測できます。

 

今回の記事は以上となります。

今後も本ブログを通して発信していきます。