Rei Frontier Tech Blog

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

人流データのご紹介

こんにちは!レイ・フロンティアの佐藤です( ^ω^ )

レイ・フロンティア株式会社では行動データを基に様々な分析、可視化、統計データのレポーティング、機械学習を用いた推定レポートなどを行っております。

今回は「渋谷スクランブルスクエア」へ行った人はその後どこへ向かうのかを可視化しましたのでご紹介致します💁‍♀️

こちらの施設は2019年11月1日に開業したばかりの施設で渋谷駅直結と立地が良好。オフィスやショップ、屋上には展望台もあり、地元の人から観光まで幅広い需要がありそうです😊

 

 【データ計測期間  2019/11/1~2019/11/10】

■施設の場所は渋谷駅JR線の東口方面に位置します。

f:id:reifrontier-blog:20191115180536p:plain

 

■渋谷スクランブルスクエアを出て1時間後に滞在していた場所を可視化しました。

山手線沿線へ移動している印象です。

f:id:reifrontier-blog:20191115180553p:plain

 

■駅ごとにみてみると新宿、東京、恵比寿、五反田、品川、大崎、を利用している人が多いです。

f:id:reifrontier-blog:20191115181258p:plain

f:id:reifrontier-blog:20191115181106p:plain

f:id:reifrontier-blog:20191115181127p:plain

 ■平日と休日の比較では平日の滞在者が多く、平日1に対して休日が約0.7でした。 また、スクランブルスクエアを出発して1時間後の移動先である新宿や東京、大崎といった駅と併せて考えると、平日はスクランブルスクエア近隣での商談後に同施設に立ち寄り、その後それぞれのオフィスに戻る為にこれらの駅で乗り換えた。
休日はこれらの駅を中継して帰宅したという行動が考えられます。

 

 もちろん最も多い滞在場所は渋谷駅近郊です。引き続き同エリア内に滞在している様子です。例えば渋谷駅周辺では、ハチ公前へ流れている人が多いようです。知人と待ち合わせをしてさらに別の目的地へ移動するのかもしれません。

f:id:reifrontier-blog:20191115181147p:plain


開業後4日間で33万人もの方が来館している渋谷スクランブルスクエア。今後も賑わっていきそうですね✨

 

最後まで読んで頂きありがとうございました。

 ■レイ・フロンティアの公式サイトはこちらです↓💁‍♀️

【レイ・フロンティア株式会社・公式サイト】

© OpenStreetMap contributors

SilentLogをカスタマイズしてみた

こんにちは!レイ・フロンティアの佐藤です( ^ω^ )

 今日は弊社アプリSilentLogの画面をカスタマイズしてみたいと思います🤗✨

 

アプリ画面上部を下向きにシュっとなぞると設定画面が出てきました。

f:id:reifrontier-blog:20191025111525p:plain
f:id:reifrontier-blog:20191025111721j:plain


「全般」で設定を変更出来ます。

早速やってみましょう🎵🎶

 

 ◾︎カラー

f:id:reifrontier-blog:20191025112630j:plain

ここでは歩数を表示している丸い部分の縁取りのカラーを自分好みに設定できます。
女子らしくFlowerPinkにしてみました👩

 

◾︎バッテリー

f:id:reifrontier-blog:20191025112902j:plain

バッテリーの消費を抑える事ができます。
スマホの使用頻度が高い方は低消費モードがオススメです👍

 

◾︎消費カロリー

f:id:reifrontier-blog:20191025113630j:plain

身長と体重を入力すると1日の消費カロリーを自動で計算してくれて、タイムラインに表示する事が可能です。
ランチを食べ過ぎてしまった日は帰り道に沢山歩いて消費カロリーUP😉✨

 

 ◾︎背景写真

f:id:reifrontier-blog:20191025120556j:plain

デフォルトの写真もありますが、私はお気に入りを数枚設定🥰

 

では設定した画面をみてみましょう💁‍♀️

f:id:reifrontier-blog:20191025120744j:plain

f:id:reifrontier-blog:20191025120850j:plain


選んだ写真が背景にゆ〜ったり流れてきました。いつでもお気に入りの写真が見れて癒されます。
ピンクの配色で女性らしい印象に変わりましたね✨

カロリーも表示されてヘルスケアもばっちり✌

引きこもりぎみの佐藤は自分好みにカスタマイズされたSilentLogで楽しく日々の運動不足を解消していこうと思います😉🙌

 

■SilentLogの公式サイトはこちらです↓💁‍♀️

SilentLog | 毎日の振り返りをもっと楽しくするアプリ

 

最後まで読んで頂きありがとうございました。

機械学習とデータ分析

レイ・フロンティア株式会社 アルバイトの古川です。

今日はこちらで機械学習についての記事を書かせていただくことになりました。

 

突然ですが「統計学」と「機械学習」の関係についてどう考えているでしょうか。

 

「統計学と機械学習」は全く別のようですが、背景にある数学的な道具立ては「全く一緒」と言っても過言ではありません。

統計解析手法と機械学習手法を数学的に記述するやり方は「基本的に全く同じ」だそうです。機械学習を学ぶ上で、統計学を学ぶことは大きな意味があると思います。

知識は浅いですが、このブログを通して代表的なデータ分析手法を紹介していけたらと思います。

 

今回の分析手法は・・・アソシエーション分析

 

associationの直訳は提携,関連。アソシエーション分析とは「条件Aに当てはまるうち○○%が条件Bに当てはまる」という関連を分析する手法です。アソシエーション・ルールでは「Aという条件の時にBが起こる確率は○○という表現をします。({A}⇒{B})。またアソシエーション・ルールは、必ずしも1項目どうしのルールに限らず{AかつB}⇒{C}というルールもあります。

二つ以上の事物の互いの関係を表す相関と似ていますが、アソシエーション分析の場合は「{A}⇒{B}」の場合と「{B}⇒{A}」の場合では、結果が異なります。(相関係数は同じになります。)

 

表記法:{A}⇒{B}

左辺:条件部(left-hand-side:LHS)

右辺:結論部(right-hand-side:RHS)

評価法:

支持度(support)

全データの中で{A}⇒{B}というルールが出現する割合です。この指標が大きいほど、全体の中でそのルールが出現する割合が高くなります。ネットショップのレコメンドで表示される商品は支持度(検索した商品⇒レコメンド商品) が高いと言えるでしょう。逆に小さいと、利用し難い指標となります。

計算方法

支持度({A}⇒{B})=条件部Aと結論部Bをともに含むデータ数/全データ数

 

確信度(confidence)

信頼度とも言います。条件部(A)の項目が出現する割合の中で、条件部(A)と結論部(B)が同時に出現する割合です。この指標が大きいほどA,Bの項目は関連が強いということになります。このため、相関係数に近い意味を持つ指標とも言えます。

計算方法

確信度(A⇒B)=条件部Aと結論部Bをともに含むデータ数/条件部Aを含むデータ数

A,Bという2つの項目の関連性は確信度で把握できますが、解釈には注意が必要です。「支持度」が低くても、「確信度」が高い場合は、条件Aの時は殆ど条件Bになります。条件Bが多い場合は、「確信度」も「支持度」も上がり、条件Aも条件Bも満たすことが多くなります。逆に、条件Bが少ない場合は、「確信度」が低下します。

 

リフト値(lift)

リフト値とは、条件A(前提部)を満たすうち条件B(結論部)を満たす割合が、全てのデータの中で条件B(結論部)を満たす割合よりどれだけ多いかを倍率で示したものです。

計算方法

リフト値=確信度(A⇒B)/(結論部Bを含むデータ数/全データ数)

リフト値が低ければ、条件Bを満たす割合は単独で大きく、条件Aとの関連性が少ないと考えられます。つまり、条件Aと条件Bの確信度が高くても、その関連性は少ないという解釈になります。一般的な目安として、リフト値が1より大きい場合は有効なルールとされています。

 

アソシエーション分析では抽出されたアソシエーション・ルールが全て有益な示唆になる訳ではなく、3つの指標を相互に確認しながら判断します。また、そのルールが分析の目的に合致しているか、現場で再現させることが可能かどうかも考慮して、最終的にいくつかのルールを採用します。

実用例としては「商品B の単独の売れ行きがあまり良くないが商品Aを買う人が高確率で商品Bを買うことがわかった時、商品Bを商品Aの隣に置く」というようなことです。主にマーケティングの手法として用いられることが多いようです。スーパーの商品陳列に統計学が利用されていて、消費者は統計通りにカゴに商品を入れていく・・・なんだか少し操られているようですね。

 

最後までお読みいただきありがとうございました。 

 

 

 

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

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

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

今回は「GPSデータをクラスタリングしてみた」の続きで、さらなる深掘り分析を行いましたので、その結果をまとめます。

 

目次

 

分析の概要

今回は主に 「グラフ」を用いて分析しました。

グラフについて

グラフとは、頂点の集合と、その間の接続関係を表す枝の集合で構成されています。

\(G=(V,E)\) で表現され、\(V\) は頂点の集合、\(E\) は枝の集合です。

図で表すと下図のようになります。

f:id:reifrontier-ml:20190725140209p:plain

 

本分析で使用するグラフに関する用語は、グラフに関する用語の詳細説明で説明しています。

 

分析の手順

分析の大まかな流れは、下記のようになります。

1. GPSデータをクラスタリングする

前回の記事「GPSデータをクラスタリングしてみた」の方法でクラスタリングします。

2. 1.で得られたクラスタをグラフの頂点にする

3. 頂点間に枝を設定する

枝の設定(有向枝、無向枝、重み等)は、分析の種類によって異なります。

4. 構成したグラフに対し、グラフアルゴリズムを適用する

 

本分析で使用するグラフアルゴリズムについては、グラフアルゴリズムの詳細説明で説明しています。

  

分析1 : 滞在地点クラスタ間の人の流れを分析

分析の目的

滞在地点のクラスタに対し、どのクラスタ間の人の流れが多いかを分析する

 

分析の手順

1. 滞在地点をクラスタリングする

2. 得られたクラスタをグラフの頂点に設定

3. クラスタ間の人の流れをグラフの枝に設定

クラスタ間を移動した人数を計算し、移動した人が存在すれば枝を設定し、その人数を枝の重みに設定する。移動した人が存在しなければ枝を設定しない。

4. 得られたグラフに対し、最大全域木を求める

5. 得られた最大全域木の枝の頂点間が人の流れが多い経路とする

 

分析結果1

2019年10連休(4/27~5/6)に、東京スカイツリーに滞在があるSilentLogユーザーに対する結果です。 

得られた最大全域木を図で表すと下図のようになります。

f:id:reifrontier-ml:20190731143021p:plain

 

主な経路を抽出すると、下記のようになります。
①東京スカイツリー から 上野アメ横

東京スカイツリー \( \to \) 浅草仲見世商店街 \( \to \) 上野駅 \( \to \) 上野アメ横

 

②東京スカイツリー から 東京タワー

東京スカイツリー \( \to \) 浅草仲見世商店街 \( \to \) 大門駅 \( \to \) 御成門駅 \( \to \) 東京タワー

 

③東京スカイツリー から 六本木ヒルズ

東京スカイツリー \( \to \) 北千住駅 \( \to \) 六本木ヒルズ

 

④東京スカイツリー から お台場ダイバーシティ東京

東京スカイツリー \( \to \) 浅草仲見世商店街 \( \to \) 新橋駅 \( \to \) お台場ダイバーシティ東京

 

⑤東京スカイツリー から 亀戸天神

東京スカイツリー \( \to \) 錦糸町駅 \( \to \) オリナス錦糸町 \( \to \) 亀戸天神

 

連休なので、東京スカイツリーを訪れた人は、他の東京の観光地も併せて訪れていることが分かりました。

分析結果2

2019年10連休(4/27~5/6)に、京都駅に滞在があるSilentLogユーザーに対する結果です。クラスタの場所は京都市内に限定しました。

得られた最大全域木を図で表すと下図のようになります。

f:id:reifrontier-ml:20190731162230p:plain

 

経路の起点として、京都駅と河原町の2地点存在することが分かりました。

京都駅からの主な目的地は、

三十三間堂、伏見稲荷大社、金閣寺、嵐山、二条城

となっていました。

河原町からの主な目的地は、

平安神宮、清水寺、下鴨神社

となっていました。

 

分析2:滞在地点クラスタ間での通過駅の分析

分析の目的

分析1で得られた経路(最大全域木)を更に分析し、通過駅を抽出する

 

分析の手順

(手順1 ~ 4は分析1と同じです。)

1. 滞在地点をクラスタリングする

2. 得られたクラスタをグラフの頂点に設定

3. クラスタ間の人の流れをグラフの枝に設定

クラスタ間を移動した人の人数を数え、移動した人が存在すれば枝を設定し、人数を枝の重みに設定する。移動した人が存在しなければ枝を設定しない。

4. 得られたグラフに対し、最大全域木を求める

5. 最大全域木で定義された枝に対し、そこを経由したユーザーを取得

6. 取得したユーザーに対し、移動経路と駅の地点との比較を行い、通過した駅を抽出する

7. 通過した駅をグラフの頂点、通過した駅間を時系列で順番に有向枝を設定し、グラフを構成する

8. 求めたグラフにおいて最短パスを求める

9. 抽出した最短パスから経由した駅、使用した路線が抽出できる

 

分析結果

2019年10連休(4/27~5/6)に、東京スカイツリーに滞在があるSilentLogユーザーに対する結果です。

通過した駅から利用した路線を抽出した主な結果は下記になります。

 

(1) 東京スカイツリー から 六本木ヒルズの経路

分析1で抽出した経路の結果は、

東京スカイツリー \( \to \) 北千住駅 \( \to \) 六本木ヒルズ

でした。

通過した駅から抽出した利用路線の結果は、

東京スカイツリー から 北千住駅 までは、東武伊勢崎線

北千住駅 から 六本木ヒルズ までは、東京メトロ日比谷線

でした。

 

(2) 東京スカイツリー から お台場ダイバーシティ東京

分析1で抽出した経路の結果は、

東京スカイツリー \( \to \) 浅草仲見世商店街 \( \to \) 新橋駅 \( \to \) お台場ダイバーシティ東京

でした。

通過した駅から抽出した利用路線の結果は、

東京スカイツリー から 浅草仲見世商店街 までは、東武伊勢崎線

浅草仲見世商店街 から 新橋駅 までは、都営浅草線

新橋駅 から お台場ダイバーシティ東京 までは、ゆりかもめ

でした。

 

まとめ

今回は、グラフ理論を用いて分析を行いました。

グラフにより行動情報をモデル化し、グラフアルゴリズムを適用することにより、経路や通過駅を抽出しました。

 

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

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

 

詳細説明

グラフに関する用語

本分析で使用したグラフに関する用語について説明します。

 

有向枝

向きの情報を付加した枝です。

例えば、頂点Aから頂点Bに移動したことを表現する場合に、頂点Aから頂点Bに矢印の有向枝を設定します。

 

無向枝

向きの情報を付加せず、接続情報のみの枝です。

 

無向グラフ

無向枝のみのグラフです。

 

有向グラフ

有向枝のみのグラフです。

 

パス(経路)

ある頂点からある頂点に至るまでの経由した頂点の列です。

例)下図において、頂点Aから頂点Dまでのパスは、[A, B, D]と表せる。

f:id:reifrontier-ml:20190725142422p:plain

 

連結グラフ

任意の2頂点間にパスが存在するグラフです。

 

閉路

始点と終点が同一のパスです。

例)下図においては、パス[A, B, C, A]が閉路となります。

f:id:reifrontier-ml:20190725162133p:plain

 

閉路の無い連結グラフです。

 

枝の重み

枝に数値を設定でき、コスト、距離などを設定します。

重みが設定されているグラフを重み付きグラフと言います。

 

全域木

グラフの全ての頂点とそのグラフを構成する辺の一部分のみで構成される木です。

 

その他

その他、グラフ理論に関する詳細は、下記をご参照ください。

ja.wikipedia.org

 

グラフについてに戻る

 

グラフアルゴリズム

ここでは、本分析で使用したグラフアルゴリズムについて説明します。

 

最大全域木

最大全域木とは、各辺に重みがある場合、最大の総和コストで構成される全域木です。

最小全域木もありますが、これは、最小の総和コストで構成される全域木のことです。

最大全域木も最小全域木も同じ方法で求めることができます。

 

例)下図の場合、赤線の全域木が最大全域木となります。

f:id:reifrontier-ml:20190725165534p:plain

 

最大全域木を求める代表的なアルゴリズムとしては、「クラスカル法」と「プリム法」が存在します。

 

・クラスカル法

クラスカル法については以下を参照してください。下記は「最小全域木」を求める方法が紹介されていますが、「最小」を「最大」に読み替えていただければ、最大全域木を求めることができます。

ja.wikipedia.org

 

・プリム法

プリム法については以下を参照してください。こちらも「最小全域木」を求める方法ですので、「最小」を「最大」に読み替えていただければ、最大全域木を求めることができます。

ja.wikipedia.org

 

最短パス

最短パスとは、重み付きグラフにおける2頂点間のパスの中で、 重み総和が最小なパスです。

例)下図の場合、A から D の最短パスは、[A, C, B, D]となります。

f:id:reifrontier-ml:20190801085716p:plain


最短パスを求める代表的なアルゴリズムとしては、「ダイクストラ法」が存在します。

 

最短パスに関する詳細は、下記をご参照ください。

ja.wikipedia.org

 

分析の手順に戻る

 

ライフログを活用した国内旅行回数の推定

 レイフロンティア株式会社では、SilentLogを介して蓄積されたユーザのライフログを用いて、ユーザの睡眠時間や利用路線、旅行回数を推定する機能を開発しています。この推定結果はペルソナの設定に活用でき、顧客像をより理解することに役立ちます。

では、どのようなロジックで機能を開発しているか、具体例を挙げて紹介します。

 

国内旅行回数の推定

★ 旅行回数の定義

 皆さんはどの程度の頻度で、日本国内を旅行されるでしょうか?人によって、年に数回と少なめであったり、月に3回と多めであったりするかもしれません。

改めて「旅行」という言葉の定義を考えてみます。旅行とは一時的に家を離れて他の土地へ行くこと、旅行回数はその頻度です。

ここで、旅行回数=旅行日数ではないことに注意して下さい。例えば、3日連続で旅行しても、それは1回の旅行としてカウントします。

 以上の前提から、当社では推定すべき旅行回数を以下のように定義しました。

-----------------------------------
・生活圏(自宅と職場の距離)を超えて移動すれば、旅行したとみなす
・旅行した日が連続していれば、その複数日を1回の旅行としてカウントする
-----------------------------------

職業や働き方によっては、生活圏が狭いユーザも存在します。例えば、生活圏が3km未満のユーザの場合、5km移動すれば旅行したとみなされます。旅行の定義にそぐわない、違和感を感じませんか?

この違和感を解消するために、生活圏に係数をかけた距離を超えて移動すれば、旅行したとみなすようにします。この係数は、アンケート回答ユーザの職業別平均距離を計算し、その平均距離ごとに決定します。

 

f:id:reifrontier-ml:20190630140621p:plain

★ 旅行回数推定の仕組み

 機械学習モデルを使って、ある月の旅行回数を推定します。このモデルには、次のデータを入力として投入します。
-----------------------------------
・推定したい月の1ヶ月〜3ヶ月前の旅行回数
・推定したい月の3ヶ月前の歩数
-----------------------------------

そして、このモデルは、ある月の旅行回数を0回または1回以上として出力します。0回または1回以上という数字は、一般的な旅行回数の感覚と合わせています。以下のグラフをご覧下さい。

 

f:id:reifrontier-ml:20190630140952p:plain

 

これは、ユーザアンケート「1年間に何回旅行したか?」の回答結果です。最もユーザ数の多い旅行回数は1回、続けて0回です。旅行回数0回から4回までのユーザ数は、全体の80%を超えています。このことから、毎月旅行するユーザは僅かである(=0回)と言えます。

 

以上から、1年間に複数回旅行しない傾向を読み取れます。ということは、1ヶ月に複数回旅行する可能性も低い、つまり、旅行したか/しなかったか、の2値で考えることができます。

 

 また、モデルは最終的に、SVM(サポートベクタマシン)で作成しました。SVMは機械学習アルゴリズムの一つです。分類と回帰モデルを作成できますが、ここでは分類モデルを作成しました。

SVMはまず、データを分離しやすいようカーネル法で空間を変換します。そして、マージン(分離線の幅)を最大化するようモデルを作成します。マージン最大化は、モデルの汎化能力を高める効果があります。

 f:id:reifrontier-ml:20190713184543p:plain


 以上が、当社で開発中のサービスの一つ「国内旅行回数の推定」の概要です。ある月の旅行回数が分かれば、キャンペーンを行う、広告を掲示するなどの具体的な施策へとつなげられます。ぜひ当社のサービスをご利用ください!

 

www.rei-frontier.jp

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 お台場ダイバーシティ東京

 

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

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

が読み取れます。

また、

錦糸町、曳舟、北千住

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

 

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

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

層の理論:その4

レイ・フロンティア株式会社のデータアナリストの齋藤です.
前回の続きを書いていきます.

層係数コホモロジー(続)

定義13.(コホモロジー)\(\mathscr{F}\)を\(X\)上の層,\(0 \rightarrow \mathscr{F} \rightarrow \mathscr{C}^\ast (\mathscr{F})\)を\(\mathscr{F}\)の標準的軟弱分解とする.このとき,
$$\begin{align} Z_\Phi^p(X;\mathscr{F}) &= \mathrm{Ker}\{ \Gamma_\Phi (X; \mathscr{C}^p(\mathscr{F})) \to \Gamma_\Phi (X; \mathscr{C}^{p+1}(\mathscr{F})) \}\\
B_\Phi^p(X;\mathscr{F}) &= \mathrm{Im}\{ \Gamma_\Phi (X; \mathscr{C}^{p-1}(\mathscr{F})) \to \Gamma_\Phi (X; \mathscr{C}^p(\mathscr{F})) \} \\
H_\Phi^p(X;\mathscr{F}) &= Z_\Phi^p(X;\mathscr{F}) / B_\Phi^p(X;\mathscr{F}) \end{align}$$とおく.ここで,\(\mathscr{C}^{-1}(\mathscr{F}) = 0\)と約束する.\(H_\Phi^p(X;\mathscr{F})\)を,\(\mathscr{F}\)に係数をもち\(\Phi\)に台をもつ\(p\)次のコホモロジー群(cohomology group)という.

コホモロジー群の基本的な性質を示すために,ホモロジー代数の一般論から以下の補題を用意します(詳細は,例えば一松信『多変数解析函数論』p.181を見よ):

補題5.いま,$$0 \rightarrow A^\ast \xrightarrow{\mu} B^\ast \xrightarrow{\nu} C^\ast \rightarrow 0$$が複体の完全列とすれば,次のコホモロジー群の完全列が定義できる:$$\begin{align}
0 &\rightarrow H^0(A^\ast) \rightarrow H^0(B^\ast) \rightarrow H^0(C^\ast) \\ &\rightarrow H^1(A^\ast) \rightarrow H^1(B^\ast) \rightarrow H^1(C^\ast) \\ &\rightarrow H^2(A^\ast) \rightarrow H^2(B^\ast) \rightarrow H^2(C^\ast) \\ &\rightarrow H^3(A^\ast) \rightarrow \cdots \end{align}$$

定理3. (i) \(H_\Phi^0(X;\mathscr{F}) = \Gamma_\Phi (X; \mathscr{F})\) である.
(ii) 完全列$$0 \rightarrow \mathscr{F}^\prime \xrightarrow{i} \mathscr{F} \xrightarrow{h} \mathscr{F}^{\prime \prime} \rightarrow 0 \qquad \cdots (\ast)$$が与えられれば,次の長完全列が存在する:$$\begin{align}0 &\rightarrow H_\Phi^0(X;\mathscr{F}^\prime) \rightarrow H_\Phi^0(X;\mathscr{F}) \rightarrow H_\Phi^0(X;\mathscr{F}^{\prime \prime}) \\ &\rightarrow H_\Phi^1(X;\mathscr{F}^\prime) \rightarrow H_\Phi^1(X;\mathscr{F}) \rightarrow H_\Phi^1(X;\mathscr{F}^{\prime \prime}) \\ &\rightarrow H_\Phi^2(X;\mathscr{F}^\prime ) \rightarrow \cdots \cdots \end{align}$$
(iii) 各行が層の完全列よりなる可換図式
f:id:reifrontier:20180205145225p:plain:w300
が与えられたとき,次の図式は可換である:
f:id:reifrontier:20180205145608p:plain:w400
(iv) \(\mathscr{F}\)が軟弱層ならば,$$H_\Phi^p(X;\mathscr{F}) = 0 ,\ p>0$$.
(証明) (i) \( 0 \rightarrow \mathscr{F} \rightarrow \mathscr{C}^0(\mathscr{F}) \rightarrow \mathscr{C}^1(\mathscr{F})\)の完全性により,つぎの完全性がしたがう:$$0 \rightarrow \Gamma_\Phi(X;\mathscr{F}) \rightarrow \Gamma_\Phi(X;\mathscr{C}^0(\mathscr{F})) \rightarrow \Gamma_\Phi(X;\mathscr{C}^1(\mathscr{F}))$$(命題2).これが示すべきことである.
(ii) 定理1と定理2を組み合わせることにより,次の可換図式の各業の完全性が導かれる:
f:id:reifrontier:20180205145902p:plain:w500
これと補題5から長完全列が構成できる.
(iii) 明らか.
(iv) \(\mathscr{F}\)の標準的軟弱分解において,\(\mathscr{F}\)を含めすべての項が軟弱層である.ゆえに,系3により,$$0 \rightarrow \Gamma_\Phi(X;\mathscr{F}) \rightarrow \Gamma_\Phi(X;\mathscr{C}^0(\mathscr{F})) \rightarrow \Gamma_\Phi(X;\mathscr{C}^1(\mathscr{F}))$$は完全列である.これが示すべきことである.■

定義14.(層の複体)層の複体(complex)とは,層\(\mathscr{L}^p ,\ p = 0,1,2,\ldots\)と準同型\(d^{\prime \prime}: \mathscr{L}^p \to \mathscr{L}^{p+1}\)の列$$0 \rightarrow \mathscr{L}^0 \xrightarrow{d^{\prime \prime}} \mathscr{L}^1 \xrightarrow{d^{\prime \prime}} \mathscr{L}^2 \xrightarrow{d^{\prime \prime}} \cdots$$で,\(d^{\prime \prime} \circ d^{\prime \prime} = 0\)なるものをいう.このとき,\(\mathscr{L}^\ast\)の\(p\)次のコホモロジー群とは,$$\mathscr{H}^p(\mathscr{L}^\ast) = \mathrm{Ker}(\mathscr{L}^p \xrightarrow{d^{\prime \prime}} \mathscr{L}^{p+1}) / \mathrm{Im}(\mathscr{L}^{p-1} \xrightarrow{d^{\prime \prime}} \mathscr{L}^p)$$なる商層のことである.

いま,\(\mathscr{C}^\ast(\mathscr{L}^q)\)を\(\mathscr{L}^q\)の標準的軟弱分解とし,$$\begin{align} d^\prime &: \mathscr{C}^p(\mathscr{L}^q) \to \mathscr{C}^{p+1}(\mathscr{L}^q) \\ d^{\prime \prime} &: \mathscr{C}^p(\mathscr{L}^q) \to \mathscr{C}^p(\mathscr{L}^{q+1}) \end{align}$$を準同型とすると,$$K^{p,q} = \Gamma_\Phi(X, \mathscr{C}^\ast(\mathscr{L}^q)) ,\ K = \bigoplus _{p,q} K^{p,q} \qquad \cdots ( \natural )$$なる2重複体を考えることができます.

定理4.\(\mathscr{F}\)を\(X\)上の層とする.$$0 \rightarrow \mathscr{F} \rightarrow \mathscr{L}^0 \rightarrow \mathscr{L}^1 \rightarrow \cdots$$を\(\mathscr{F}\)のある分解,すなわち\(\mathscr{F}\)上の完全な複体とする.\(q = 0,1,2,\ldots\)に対し,$$H_\Phi^p(X;\mathscr{L}^q) = 0$$が成立すれば,$$H_\Phi^p(X;\mathscr{F}) = H^p(\Gamma_\Phi(X;\mathscr{L}^\ast)) \quad q \geq 0$$が成立する.ここで,\(H^p(\Gamma_\Phi(X;\mathscr{L}^\ast))\)は複体\(\Gamma_\Phi(X;\mathscr{L}^\ast)\)の\(p\)次のコホモロジー群を表す.
(証明) \( (\natural)\)の記号のもとで,以下の可換図式を考える.ただし,\(\Gamma_\Phi(X;\mathscr{F})\)を\(\Gamma_\Phi(\mathscr{F})\)と書くように,\(X\)を省略している:
f:id:reifrontier:20180205151832p:plain:w600
コホモロジー群に関する仮定により,第二列以降の列はすべて完全である.また,\(\mathscr{C}^p(\mathscr{F})\)は軟弱であり,定理2により\(p = 0,1,2,\ldots\)に対し,$$0 \rightarrow \mathscr{C}^p(\mathscr{F}) \rightarrow \mathscr{C}^p(\mathscr{L}^0) \rightarrow \mathscr{C}^p(\mathscr{L}^1) \rightarrow \cdots$$は完全であるから,定理3(iv)により第一列のコホモロジー群と第一行のコホモロジー群は同型になる.これより結論を得る.■

系4.$$0 \rightarrow \mathscr{F} \rightarrow \mathscr{L}^0 \rightarrow \mathscr{L}^1 \rightarrow \cdots$$を層\(\mathscr{F}\)の軟弱分解とすれば,定理4の同型が成立する.
(証明) 定理3(iv)により,定理4の仮定が成り立つ.■

相対コホモロジー群

定義15.(相対コホモロジー)\(S\)を位相空間\(X\)の部分集合とするとき,$$\Phi_S = \{ A \subset X ; A \subset S かつ A は X で閉 \}$$は\(X\)で台の族をなす.この\(\Phi_S\)で$$H_S^p(X;\mathscr{F}) = H_{\Phi_S}^p(X;\mathscr{F})$$と定義し,\(S\)に台をもち\(\mathscr{F}\)に係数をもつ\(X\)の\(p\)次の相対コホモロジー群(relative cohomology group)という.\(S=X\)のときは次のように書く:$$H^p(X;\mathscr{F}) = H_X^p(X;\mathscr{F})$$

以下では,\(S\)が\(X\)の閉集合の場合のみ\(H_S^p(X;\mathscr{F})\)を考察することにします.もし\(S\)が閉集合ならば,\(\Phi_S\)は\(S\)の閉部分集合の全体と一致します.
相対コホモロジー群は,定理3の性質の他に,次の性質をもちます:

定理5.(切除定理)\(S \subset X\)を局所閉,\(W_1 , W_2\)を\(S\)の開近傍とする.このとき,$$H_S^p(W_1;\mathscr{F}) \cong H_S^p(W_2;\mathscr{F})$$なる同型がある.
(証明) \(0 \rightarrow \mathscr{F} \rightarrow \mathscr{L}^0 \rightarrow \mathscr{L}^1 \rightarrow \cdots \)を\(\mathscr{F}\)の軟弱分解とする.系4により,\(j = 1,2\)に対して$$H_S^p(W_j;\mathscr{F}) = H^p(\Gamma_S(W_j;\mathscr{L}^\ast))$$ゆえに\(\Gamma_S(W_1;\mathscr{L}^k) \cong \Gamma_S(W_2;\mathscr{L}^k)\)より望んでいた同型が得られる.■

定義16.\(S \subset X\)は局所閉とする.$$H^p[S;\mathscr{F}] = \mathrm{ind-}\lim_{W \in \mathfrak{R}(S)}H_S^p(W;\mathscr{F})$$とおく.ここで\(\mathfrak{R}(S)\)は\(S\)の開近傍全体を表す.
切除定理により,\(W \in \mathfrak{R}(S)\)に対して標準的写像$$H_S^p(W;\mathscr{F}) \overset{\sim}\longrightarrow H^p[S;\mathscr{F}]$$は同型です.また,とくに\(S\)が開集合であれば$$H^p(S;\mathscr{F}) \cong H^p[S;\mathscr{F}]$$が成り立ちます.

定理6. (i) \(S \subset X\)を局所閉,\(W \in \mathfrak{R}(S)\)とする.このとき,次の長完全列がある:$$\begin{align} 0 &\rightarrow H_S^0(W;\mathscr{F}) \rightarrow H^0(W;\mathscr{F}) \rightarrow H^0(W\setminus S;\mathscr{F}) \\ &\rightarrow H_S^1(W;\mathscr{F}) \rightarrow H^1(W;\mathscr{F}) \rightarrow H^1(W\setminus S;\mathscr{F}) \\ &\rightarrow H_S^2(W;\mathscr{F}) \rightarrow \cdots \end{align}$$ (ii) \(W_1 \supset W_2 \supset W_3\)を\(X\)の開集合とすれば,次の列は完全である:$$\begin{align} 0 &\rightarrow H_{W_1 \setminus W_2}^0(W_1;\mathscr{F}) \rightarrow H_{W_1 \setminus W_3}^0(W_1;\mathscr{F}) \rightarrow H_{W_2 \setminus W_3}^0(W_2;\mathscr{F}) \\ &\rightarrow H_{W_1 \setminus W_2}^1(W_1;\mathscr{F}) \rightarrow H_{W_1 \setminus W_3}^1(W_1;\mathscr{F}) \rightarrow H_{W_2 \setminus W_3}^1(W_2;\mathscr{F}) \\ &\rightarrow H_{W_1 \setminus W_2}^2(W_1;\mathscr{F}) \rightarrow \cdots \end{align}$$
(証明) \(\mathscr{L}\)が軟弱層であるとすれば,系1より,列$$0 \rightarrow \Gamma_S(W;\mathscr{L}) \rightarrow \Gamma(W;\mathscr{L}) \rightarrow \Gamma_S(W\setminus S;\mathscr{L}) \rightarrow 0$$は完全である.したがって,\(0 \rightarrow \mathscr{F} \rightarrow \mathscr{L}^\ast\)を\(\mathscr{F}\)の軟弱分解とすれば,次の複体の列は完全である:$$0 \rightarrow \Gamma_S(W;\mathscr{L}^\ast) \rightarrow \Gamma(W;\mathscr{L}^\ast) \rightarrow \Gamma_S(W\setminus S;\mathscr{L}^\ast) \rightarrow 0$$ゆえに,補題5によりコホモロジー群の長完全列を得る.
(ii) 複体の完全列$$0 \rightarrow \Gamma_{W_1 \setminus W_2}(W_1;\mathscr{L}^\ast) \rightarrow \Gamma_{W_1 \setminus W_3}(W_1;\mathscr{L}^\ast) \rightarrow \Gamma_{W_2 \setminus W_3}(W_2;\mathscr{L}^\ast) \rightarrow 0$$により結論を得る.■

系5.\(S_1 \subset X\)を局所閉,\(S_2 \subset S_1\)を\(S_1\)の閉部分集合とする.このとき,次は完全列である:$$\begin{align} 0 &\rightarrow H^0[S_2;\mathscr{F}] \rightarrow H^0[S_1;\mathscr{F}] \rightarrow H^0[S_1\setminus S_2;\mathscr{F}] \\ &\rightarrow H^1[S_2;\mathscr{F}] \rightarrow H^1[S_1;\mathscr{F}] \rightarrow H^1[S_1\setminus S_2;\mathscr{F}] \\ &\rightarrow H^2[S_2;\mathscr{F}] \rightarrow \cdots \end{align}$$
(証明2) \(S_1 = W_1 \setminus W_3 ,\ S_2 = W_1 \setminus W_2\)となるように\(W_1 \supset W_2 \supset W_3\)を選び,定理6(ii)を用いればよい.■

参考文献

[1] 森本光生(1976), "佐藤超関数入門", 共立出版