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

サマリビューを起点としたデータ分析ワークフロー

 サマリビューを起点としたデータ分析ワークフロー

2021/06/11(金) に開催したExploratory データサイエンス勉強会#19のラクスル株式会社のご登壇資料です。

26a31e16aab1fc9c4522dfa3a2c8ce6c?s=128

Ikuya Murasato

June 11, 2021
Tweet

Transcript

  1. © RakSul,Inc. All Rights Reserved. Exploratory データサイエンス勉強会 ラクスル株式会社 根来哲也 2021/6/11

  2. © RakSul,Inc. All Rights Reserved. 根来哲也(ねごろてつや) • データサイエンティスト @ ラクスル株式会社

    (2020/4〜) • 大学ではバイオインフォマティクスを専攻 • 修士課程を卒業後、就職 データサイエンティスト・ソフトウェアエンジニアとして職務に従事 自己紹介
  3. © RakSul,Inc. All Rights Reserved. 3 Our Vision: 「仕組みを変えれば、世界はもっと良くなる。」 これまでデジタル化があまり進んで来なかった事業領域に

    変革をもたらすことをミッションとしている。 • 印刷事業のラクスル • 運送事業のハコベル • TVCM事業のノバセル といった事業を展開。 ラクスルでのデータ活用について: • 全社横断的なデータ分析チームは現在2名 • 他にも各事業部にデータアナリスト・サイエンティストが在籍 ラクスルについて
  4. © RakSul,Inc. All Rights Reserved. イベント・採用情報 ©RakSul,Inc. AllRights Reserved. We

    are hiring ! • データサイエンティスト • データアナリスト 募集情報はこちら
  5. © RakSul,Inc. All Rights Reserved. 今後のイベント 7/7 19時~ DeNA・ラクスルCTOが語る 『エンジニアの育て方と育ち方』 イベント・採用情報

    ©RakSul,Inc. AllRights Reserved. 最新の情報は こちら @raksuldev
  6. © RakSul,Inc. All Rights Reserved. 6 • ラクスルでの Exploratory 利用シーン

    & Exploratory と他のツールの比較 • 事例紹介 ◦ 事例1: 送客プロジェクト ◦ 事例2: セールスリスト分析 アジェンダ
  7. © RakSul,Inc. All Rights Reserved. ラクスルでの Exploratory 活用シーン & Exploratory

    と他のツールの比較
  8. © RakSul,Inc. All Rights Reserved. 8 社内分析環境について • BigQuery に

    DWH • 利用する分析ツールは現状ではメンバーの裁量 • 非エンジニアでも SQL を書けるメンバー多数 ツールの使い分け(個人的な) • 計算したいものが明確かつ単純: BigQuery -> Google Spread • データの探索、SQL では難しい処理や可視化 -> Exploratory • 機械学習、一般的でない手法、非構造化データ(表形式でないデータ) -> スクリプティング(主に Python) ラクスルの社内分析環境と Exploratory 利用シーン
  9. © RakSul,Inc. All Rights Reserved. 9 BigQueryに接続したいときは、データフレームから追加

  10. © RakSul,Inc. All Rights Reserved. 10 • 素早く正確に答えを出したい • 結果について更に深掘りしたい

    ◦ データ分析は反復的なプロセス ◦ ある分析によってわかった結果を受けてさらに新しい分析を行う ◦ 例) 教育関係のユーザに対して小冊子がよく売れることがわかった → その中でも特にどういった層に売れている?よく売れる時期は?   他によく買っている商品は? • 分析の過程についてあとから検証したい ◦ 分析結果についての疑問が分析後しばらくしてから出てくる ◦ 例) 結果を共有して一週間後に関係者から質問が来た しばらく深掘りした結果、以前の仮説と反する部分が出てきた データ分析における一般的な課題
  11. © RakSul,Inc. All Rights Reserved. 11 データ分析ツールには下のような性質が欲しい • 必要な計算ができる •

    操作が楽 • 計算結果が見やすい • 修正が容易 • 過去行なった分析の再実行が簡単で、同じ結果が得られる • 過去に行なった分析手順を流用しやすい これらの点において Exploratory は非常に優れたツールであると感じる 分析に使うツールいくつかと比較していく データ分析ツールの備えていて欲しい性質
  12. © RakSul,Inc. All Rights Reserved. 12 Excel や Google Spreadsheet

    などで分析する メリット • GUI で操作が簡単 • 計算の途中経過が追いやすい デメリット • できることの幅が狭い • デバッグが困難 スプレッドシート
  13. © RakSul,Inc. All Rights Reserved. 13 スクリプトをエディタで書いてターミナルから実行する スクリプト(Python 、Rなど)

  14. © RakSul,Inc. All Rights Reserved. 14 メリット • どんな処理でもできる •

    ワンコマンドで再実行 • コードが使い回しやすい • バージョン管理しやすい デメリット • 作業量が増えがち • コードと出力が別のファイルになり、散逸しがち スクリプト
  15. © RakSul,Inc. All Rights Reserved. 15 Web ブラウザ上で Python や

    R のコードを実行し、 実行結果をまとめたドキュメントとして表示できる分析環境 Jupyter Notebook
  16. © RakSul,Inc. All Rights Reserved. 16 メリット • コードと結果を並べて作業ができる •

    ファイルが散逸しない • GitHub 上でも見られる デメリット • 表が見づらい • バージョン管理システムとの相性が悪い • コードの再利用性が低い Jupyter Notebook
  17. © RakSul,Inc. All Rights Reserved. 17 メリット • 必要な作業が少なく、インタラクティブ •

    コードでも書ける • 処理を修正した時に再計算される • コードに出力できる デメリット • 非構造化データ(表形式にならない画像やネットワーク構造など)を 扱いづらい • 扱うデータフレームの種類が増えると作業が大変 • 今まで同じようなことを行うコードを書くのに費やした時間を無駄に感じる Exploratory
  18. © RakSul,Inc. All Rights Reserved. 事例紹介1〜送客プロジェクト〜

  19. © RakSul,Inc. All Rights Reserved. 19 背景: 昨年ラクスルと提携を開始したサービス、ペライチとのアカウント提携の案内を登録の確 度の高いユーザーさんに送ることにした。 分析内容:

    ペライチにすでに登録していたユーザーさんのデータが存在していたため、 ユーザ属性との相関を見た上で対象ユーザーを絞り込むことにした。 ビジネス側からの仮説: 特にユーザーの職種と法人としての規模が重要では? 案件概要  
  20. © RakSul,Inc. All Rights Reserved. 20 利用データ ア カ ウ

    ン トの 有 無 (論 理 値 、 目 的 変 数 ) ユ ー ザ ID(整 数 値 ) 法 人 ユ ー ザ か 否 か (論 理 値 ) 規 模 (カ テ ゴ リ 値 ) 業 種 (カ テ ゴ リ 値 ) 利 用 し た こ と の あ る 商 品 (カ テ ゴ リ 値 ) ※説明ではダミーデータを 利用します
  21. © RakSul,Inc. All Rights Reserved. 21 • ビジネス側からの仮説(登録とユーザーの職種や法人規模との関係) を調べたい •

    上記以外にも、登録に関係する変数がないかも調べたい →多くのチャートを作成して、変数間の関係を調べる必要がある。 しかし、素早く正確にやりたい…… 課題  
  22. © RakSul,Inc. All Rights Reserved. 22 サマリビューの相関モードを利用する 相関モードの利用

  23. © RakSul,Inc. All Rights Reserved. 23 相関モードの利用 目的変数 has_acount を選択する。

    それぞれのプロットが目的変数との相関関係を示すものに切り替わる。
  24. © RakSul,Inc. All Rights Reserved. 24 可視化のタイプを「不確実性」に切り替える。 相関モードの利用

  25. © RakSul,Inc. All Rights Reserved. 目的変数と、 「employee_size」「industry」変数は相関がある 「is_biz」「product_category」 変数は相関がない ※

    どうしてそう読み取れるのか? 読み方については 次のスライドで 25     相関モード(不確実性)からわかること
  26. © RakSul,Inc. All Rights Reserved. 26 エラーバープロットの解釈 前提:手元のデータから計算した指標は「真の」値からズレている可能性がある • 計測時のノイズ

    • サンプルの偏り 指標を単純に比較した場合にミスリーディングになる可能性がある そこで、点ではなく「この指標はこの範囲内に収まる可能性が高い」という 範囲を見る 「エラーバーに重なっている部分がないもの同士は明確に異なる」 と考えられる
  27. © RakSul,Inc. All Rights Reserved. 相関の強い変数順にソートができる。 特に変数が多い場合は便利 27 相関ビューのソート

  28. © RakSul,Inc. All Rights Reserved. サマリビューからエラーバーチャートを簡単に作成できる 28 チャートの作成

  29. © RakSul,Inc. All Rights Reserved. 29 業種とアカウント所持の間に相関があることを示すエラーバーチャートが完成 チャートの作成

  30. © RakSul,Inc. All Rights Reserved. 30 • ビジネスサイドの仮説通りの変数と強い相関があった ◦ 「どのカテゴリに特に効果がありそうか」

    「どの程度の差があるのか」など、仮説をさらに推し進めたところまで 把握することができた • 実際にメールマガジンを送った際にも反応の差が見られた • 他の変数よりもはっきりと効いていることがサマリビューによって 容易に見て取れた • 30分くらいで作業が終わった ◦ Python で作業していたらおそらく1日分程度の工数になっていた 分析についてまとめ
  31. © RakSul,Inc. All Rights Reserved. 事例紹介2〜セールスリスト分析〜

  32. © RakSul,Inc. All Rights Reserved. 32 背景: ラクスルの新機能である法人アカウント機能について営業を行なっていたが、 営業先が多いためコストがかなりかかっていた。 ある程度確度の高そうなユーザーから営業をかけるようにしたかった。

    分析内容概要: 営業の確度の予測モデルを作れないか? 少なくとも影響の大きそうな変数を絞り込むことはできないか? 予測モデルをいきなり作るのはデータ点数の関係で難しそうなので、 まずはデータを分析してフィードバックしつつデータを溜めていくことにした。 利用データ: • 法人規模、利用部署などの顧客の基本情報 • 登録日、最初の購買日、直近の購買日 • 利用状況(直近 30/60/90/180/365 日での 利用ユーザ数、売上、購入頻度、購入商品数) ※ 以降の説明ではダミーデータを用いており、上記の変数全てを含んでいません 案件概要
  33. © RakSul,Inc. All Rights Reserved. 33 一口に予測モデルを作ると言っても、そこに至るまでには様々な処理をしたり、確認をす る必要がでてくる。 また予測モデルを構築した後も構築したモデルに対する理解、チューニングが必要にな る。

    • データの理解 • データの前処理・加工 • 手法の選定・モデル構築 • モデルの性能評価 • 上記の結果を元に、モデルの汎用性をあげるためのチューニングと再構築 コードを書く場合、一つ一つのステップごとに処理を行うためのコードを書いて、さらにと きには処理結果の確認のための可視化のためのコードを書く必要がある。 →やらないといけないこと、確認しないといけないことはたくさん
  34. © RakSul,Inc. All Rights Reserved. 34 このパートですが、以下のような構成、スライドで説明いただくと分かりやすいかと思いました 1. サマリビューで間違いないかチェックができる 2.

    必要な前処理を行いながら、同時にその結果を確認することができる。期待する結果が得られているかを理解すること ができる。 a. 最初のステップにハイライトする、スクリーンショット b. 3番目か4番目のステップをハイライト、スクリーンショット 3. もし、期待していないような結果が得られていないようであれば、ステップの中身を編集してUIからアップデートして、正 しい結果に修正できているかも確認できる a. ステップの中身をクリックして、ダイアログを出すスクリーンショット 4. データを整えることができたら、先程説明したように、相関モードを利用できるが、さらに、相関モードから、列を選択し て、目的変数に関する予測モデルを構築することができる a. 相関モードのスクリーンショット(線形の相関があるのかどうかがわかり、手法の選択に役立つ) b. 相関モードからモデルを作成する、スクリーンショット c. 変数重要のタブにフォーカスがあたっているスクリーンショット(既存のスクリーンショット) 5. さらに、予測モデルを構築するときに、相関の強い変数があると悪影響を及ぼすためチャートやアナリティクスを使って 変数間の相関を理解して、事前に相関関係を理解することができる。 a. チャート(ex.散布図)、相関(アナリティクス)のスクリーンショット 6. それらの結果を元に、再度モデルに投入する変数をアップデートすることで、モデルの精度を上げていくことがができる a. モデル作成画面、説明変数をハイライトするスクリーンショット b. ROCのスクリーンショット(精度が改善しているかどうかがわかる) 7. (省略してもいいかも)さらに、データをフィルタするなどして深掘りをすることができる。(繰り返しを使ってもよいかと思 いました)
  35. © RakSul,Inc. All Rights Reserved. 35 まずはサマリビューで見てみる。以下のようなことが素早くチェックできる。 • データ型はどうなっているか? •

    定数になっている変数はないか? • 欠損値が多すぎる変数はないか? • 変数はどのように分布しているか? データ理解 データ読み込みや前処理に明らかな間違いがないか確認できる。 適用すべき機械学習の目星がつく場合もある。
  36. © RakSul,Inc. All Rights Reserved. 36 業種をフィルタリングする処理を追加 前処理

  37. © RakSul,Inc. All Rights Reserved. 37 業種をフィルタリングする処理を追加 前処理

  38. © RakSul,Inc. All Rights Reserved. 38 フィルタリングが意図通りうまくいったのかが サマリビューからすぐにチェックできる 前処理    

  39. © RakSul,Inc. All Rights Reserved. 39 最初に変数間の相関をチェックする。 • 変数間の関係が大雑把にわかる •

    特に、強い相関のある変数同士を把握する 「アナリティクス」タブから新しい分析を追加し、「相関」を選ぶ 「変数の列」をクリックし、表示される画面で数値変数全てを選択し OKをクリック 変数の選定(変数間の相関をチェック)            
  40. © RakSul,Inc. All Rights Reserved. 40 frequency_180d と frequency_90d、PU_180d と

    PU_90d の間には 強い相関がある • 線形回帰を利用した場合悪影響を及ぼすかもしれない • それぞれ 180d か 90d かどちらかに絞っても良さそう 変数の選定(変数間の相関をチェック)        
  41. © RakSul,Inc. All Rights Reserved. 41 サマリビューの相関モードからモデル作成ができる ⌘ を押しながらモデルに組み込みたい変数のプロットをクリックしていき、 ∨マークをクリックして手法を選択(今回はランダムフォレストを利用)

    モデル構築
  42. © RakSul,Inc. All Rights Reserved. 42 ランダムフォレストモデルが作成できた モデル構築

  43. © RakSul,Inc. All Rights Reserved. 43 予測マトリックスから正解率がわかる …しかし今回は全データを学習に使ってしまっており、性能評価ができない (機械学習アルゴリズムがカンニングしている状態) モデルの性能評価

  44. © RakSul,Inc. All Rights Reserved. 44 テストモードを利用する 訓練データと検証データを分けて各種指標を自動計算してくれる モデルの性能評価(訓練データと検証データを分ける)

  45. © RakSul,Inc. All Rights Reserved. 45 訓練データと検証データを分けて、改めて性能検証 モデルの性能評価 TRUE の予測性能が顕著に低い

    データ中の目的変数のほとんどがFALSEなら 「FALSEを返すだけのモデルでも一見高性能」なため
  46. © RakSul,Inc. All Rights Reserved. 46 チューニング(データの不均衡の調整) 例えば、データの不均衡を調整することで先述の問題を回避する

  47. © RakSul,Inc. All Rights Reserved. 47 データの不均衡を調整した結果、実測値=TRUEにおける性能が大きく改善した チューニング(データの不均衡の調整)

  48. © RakSul,Inc. All Rights Reserved. 48 モデルの性能が上げられたところで、モデルの中身を見ていく 「変数重要度」をクリックし、プロットを表示 重要度が高い変数ほどモデルの分類性能に貢献している 今回は

    • frequency_180d • PU_90d が高重要度 チューニング(変数重要度の確認)
  49. © RakSul,Inc. All Rights Reserved. 49 ここまでの結果から、変数を絞り込んでも良いのでは? と考えられた サマリビューから、変数を絞り込んでモデルを作成する チューニング(変数を絞り込んでモデルを再作成)

  50. © RakSul,Inc. All Rights Reserved. 50 変数を絞り込む前後での性能を比較する 絞り込むことによって性能に大きな差は出ていない ※ 誤分類率以外は大きいほど性能が良い

    チューニング(性能比較) 全変数利用 変数絞り込み後
  51. © RakSul,Inc. All Rights Reserved. 51 • セールス先の優先順位づけに使えそうな変数を洗い出すことができた。 ◦ 引き続き営業

    & データ収集中 • Exploratory は機械学習を行う際にも力を発揮する ◦ 様々な処理のステップを確実に進められる ◦ 修正や結果の深掘りも容易 ◦ Exploratory で実装されていない手法を最終的に使う場合にも EDA や特徴量エンジニアリングに併用できる まとめ
  52. © RakSul,Inc. All Rights Reserved. イベント・採用情報 ©RakSul,Inc. AllRights Reserved. We

    are hiring ! • データサイエンティスト • データアナリスト 募集情報はこちら