Rei Frontier Tech Blog

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

SilentLogのプレミアム機能のご紹介

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

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

 

今回は弊社アプリSilentLogの4つのプレミアム機能をご紹介します😊アプリをより便利に使える有料機能です。

 

①パスコードロック機能

アプリの起動時にパスコードロックをつける事が可能です。大切な記録を守ってくれて安心ですね✨解除はTouchld,Faceldなどでも行えます。

設定は「全般」→「パスコード」より行えます。

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

 

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

 

②天気表示機能

天気(予報)と気温が画面左上に表示されます。「あの日は雨だったからいつもとは別のルートを歩いたんだ」など出来事をより鮮明に思い出せます。

ちなみに天気は20種類の中から予報されます🌞☔

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

 

③まとめ機能

・1日のすべての行動経路の地図の表示

・メモ管理

・タグ管理

ができます。

まとめた記録は保存・転送が可能です。

 例えば、「旅行へ行った日の行動経路の地図を友達とLINEでシェアしたい!」時は次の手順で転送出来ます。

1.転送したい日付のログを表示します。

2.右下の「まとめ」をタップする。

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

3.選択した日付の1日の行動経路の地図とタグが表示されます。

地図は拡大・縮小が可能で、地図下部の「タップしてメモを記入」をタップするとコメントを入力する事もできます。

f:id:reifrontier-blog:20200120174338p:plain
4.「画像共有」→「LINE」→共有したい人を選択→右上の「転送」をタップ

これで友達へ画像の転送が完了です🤗

 

④検索機能

タグで見たいログが検索ができます。

例えば「ジム」のタグを作成していた場合、検索スペースに「ジム」と入力すると該当する記録一覧が表示されます。「先週何回ジムに通ったかな~」と思い出したい時にさっと調べる事ができます。

●タグの作成方法

1.タグをつけたい地図を表示し該当の場所をタップ。(ピンマークがある場所にタグをつけられます。)

2.「名前を編集」をタップ。

3.タグとして表示したい名前を入力。

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

●検索方法
1.画面右上の「検索」をタップ。

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

2.検索窓に見たいタグ名を入力すると該当のログが出てきます。

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

 

プレミアムチケットは「アカウント」より購入が可能です。

 ~料金はこちらです~

・30日間:250円

・90日間:610円(1か月あたり約203円に✨)

・1年間:1,960円(1か月あたり約163円に✨)

 

日記として、旅行の記録として、お気に入りの飲食店のメモとして、便利で楽しいアプリです。是非お試しください✨

 

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

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

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

 

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

【SilentLog・公式サイト】

 

東京都でクリスマスに人口密度の高まるエリア

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

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

 

今月はクリスマスという事で、都内でクリスマスに人口密度が高まるのは何処なのかを調べてみました🎄✨

データの計測は昨年【2018年12月17日(火)と2018年12月24日(火)】の比較です。

 

まず、東京都を区画ごとにグループ化し各日付の人口数を抽出しました。次に2018年12月17日(火)と2018年12月24日(火)の人口数の差分を出し、1以上のエリアをクリスマスの方が人口が多いエリアとし、可視化しました。それがこちらです。

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

青色が濃い程、人口密度の高いエリアです。

データから池袋、新宿、渋谷、上野、浅草、東京スカイツリー駅、田町、江東区、銀座辺りの人口密度が高い事がわかります。

各エリアを拡大した図がこちらです。

【池袋】百貨店のある駅周辺や、西口のグルメ通り付近、商業施設サンシャインシティのある東池袋方面に人が集まっています。

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

【新宿】駅はもちろんの事、南新宿に人が集まっています。南口から代々木方面に広がる遊歩道のサザンテラスでは昨年に引き続き今年もイルミネーションが演出されるようです。

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

【渋谷】渋谷から原宿の間に人が集まっている様子です。この辺りは遊歩道のキャットストリートがありオシャレなカフェや個性的なショップが並びます。

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

【上野、浅草、東京スカイツリー駅、田町】上野の動物園通り、観光スポットでもある浅草の浅草寺付近や東京スカイツリー、田町は浅草~上野間の移動で通過している人が多そうです。

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

【江東区】レストランやイルミネーションで人気のスポットお台場、有明。そして有明から繁華街の錦糸町にかけても賑わっているようです。

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

【銀座】メインストリートの中央通りに面している銀座四丁目、五丁目付近は飲食店や商業施設GINZASIXもあり人が集中しています。また、バス停のある銀座西六丁目付近も人口密度が高まっています。

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

 

都内のクリスマスに人口密度が高まるエリアのご紹介でした。

皆様、楽しいクリスマスをお過ごしください✨

 

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

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

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

© OpenStreetMap contributors

人流データのご紹介

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

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

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

こちらの施設は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