データサイエンティスト特論が良かった

はじめに

データサイエンティスト特論という大学院の授業を取りました。久しぶりに学びの多い授業だったので忘れないうちに学んだことなどをまとめておこうと思います。

どんな講義?

その名の通りデータサイエンスする、土曜に3時限ぶっ通し×5回やるタイプの集中講義。学外に募集をかけてるらしく、電通大の大学院生以外にも社会人(多い)や他大生の人もいました。 前半の2回はKaggleを使って課題を解くタイプのデータ分析、後半の3回は4人程度のチームになって、企業の実際のデータを使ってビジネスアイデアを考えるというもの。 どんなデータだったかというのは提供していただいている企業からの守秘義務があるので詳しく話せませんが、顧客のデータから

何をやった?

守秘義務があるので詳しくは言えませんが、大まかに言うと要因分析をしました。 いくつか手法を試す中で、自分がロジスティック回帰を、もう一人の方がXGBoostを試す、という役割でした。

学んだこと

分析技術的なこと

  • 学習データに連続量でないもの(ex: idや日付など)が含まれている場合はone-hot encodingする必要がある。
    • ただし、種類が多すぎる場合にone-hotするとメモリが足りなくなることがあるので、その場合は値を切り捨てるor減らすテクニックが必要
    • ロジスティック回帰の場合はもちろん、XGBoostの場合にも必要
  • ロジスティック回帰の場合は変数の重みに差が出ないよう、標準化する必要がある。
    • 最初、正規化してしまっていた。なぜ標準化にする必要があるかというと、データの中にとびぬけて大きいパラメータがあった場合にそれに引っ張られて他のパラメータ群の相対的な差異が小さすぎるようになってしまうから。
  • ロジスティック回帰で変数重要度を測る場合は、係数の大きさで比較すればいい
    • 得られた係数には負の値のものもあり扱いに迷ったが、モデルが正の方向に傾くのに寄与する要因が知りたかったので単純に大きい順に見ればいいと知った。(教えてもらった)
  • ロジスティック回帰はフィッティングしすぎないために正則化すると良い
    • L1正則化とL2正則化があり、前者は余分な説明変数を省く効果が、後者はモデルの過学習を防ぐ効果がある
    • scikit-learnに付属するロジスティック回帰のメソッドはデフォルトでL2正則化になっている罠(TAの人も愚痴ってた)
    • ちなみにこの「正則化」は「正則行列」の「正則」とは意味が違う

ビジネスアイデアのこと

自分の勝手な判定ですが、大きく以下の3種類のアプローチがあったと思います。

  1. 客観的情報からの仮説→アイデア→アイデアの検証

    • 客観的情報というのは、企業から渡されたデータではなく、例えばその企業の業績情報や、自分達がユーザとなってみての感想などです。
    • 例えばですが、「客足が減っている」や「メニューが高く感じる」といった情報があったときに、まずその原因について「近隣に競合店舗ができたからだ」などと仮説を立てて見る方法です。
    • その仮説から問題を解決するためのアイデアを出します。
    • データは、そのアイデアを実現するための「材料」として使っていました。
    • 一番多かったです。
  2. イデア→アイデアの検証

    • 自分たちがユーザになってみる前段階はあるものの、基本的に前調査はそれぐらいでアイデアを出してしまい、その検証をしてみるという流れでした。
    • このチームもデータは、そのアイデアを実現するための「材料」として使っていました。
    • 2チームぐらいありました。
  3. データ分析→アイデア(自分たち)

    • まず与えられたデータから何が言えるんだろうか、という考えで、最初からデータ分析してみます。
    • 自分たちのチームと、最後にデモがあったTAの方がこの方法でした。
    • ただ、TAの方は「ユーザの分布」など様々な観点(守秘義務があるから詳しくは言えない...)からデータを見ていたのが違いだと思います。
    • 自分たちは「変数重要度」しか見ていませんでした。
    • 変数重要度を正しく求めるためにAUC(モデルの精度)を上げる、というプロセスはよかったと思いますが、変数重要度だけに囚われてしまっていたのが残念だったとかなと思います。
    • データをざっと見て分からないときには「極端な理想の世界を考える」ことから課題を見つける場合もあるそうです。

1や2は研究などでもよくやる手法で、一番着実だと思いますが、2の方法もいいと思いました。 2の方法のメリットは他の方法では思いつかないアイデアが思いつくことだと思います。アイデアのもとになるのはデータだけでなく、その人の感性などもあるからです。 実際、企業の方から「仕事ではこういうアイデアは中々出ない。でも面白そうだから実際に採用したいね」という声をもらってました。

また、自分たちは3の方法だったので、他のチームの発表を聞いてデータの二面性というものを感じました。 1や2の方法はデータの「材料」としての面を、3の方法はデータの「分析対象」としての面を利用していたと思います。 「この材料で何ができるだろうか?」という考えと「こう分析されたからこうしたらどうだろう?」というアプローチの違いで生まれるアイデアも変わってくるのが面白いと思いました。

まとめ

土曜日に3時限ぶっ続けで授業はつらかった一方、実際に手を動かす講義だったこともあり学ぶものは多かったし楽しかったです。 研究や就職後にも役立つ内容だと思うので、これを見て興味を持った方は受けてみることをおすすめします。 (ちなみに社会人が取ると30万円くらいかかるそうです。)