まずは蝋の翼から。

学んだことを書きながら確認・整理するためのメモブログ。こういうことなのかな?といったことをふわっと書いたりしていますが、理解が浅いゆえに的はずれなことも多々あると思うのでツッコミ歓迎

The Third Wave Data Scientist

The Third Wave Data Scientistという記事を読んだのでテキトーに要約(意訳)。

The Third Wave Data Scientist - Towards Data Science

The Third Wave

First Waveでは、実データを主とした非ビッグデータ(2010年代以前)、Second Waveはビッグデータによって生じた。そして、2010年代後半の今、Deep LearningやAIを用いたデータプロダクトによって、ビジネス的な価値を効率よく出そうというThird Waveが生じている。

そのような状況下では、以下のような図で表されるスキルセットが要求される。

f:id:chito_ng:20190415084947p:plain
リンク先からの引用

Business Mindset

他のすべてのスキルの核となり、このBusiness Mindsetによって生まれる事柄を達成するために他のスキルが要求される。

これは何が言いたいかというと、データサイエンティストはSecond Waveのときに要求された「どれだけ良いモデルを作成できるか」といったスキル的な事柄によって雇用されるのではなく、「ビジネス的価値をどれだけ生むかどうか」によって雇用されるようになっていく、という意味である。そのため、Third Wave以降のデータサイエンティストは、常に「このアウトプットは会社の意思決定にどう影響するだろうか?」ということを考え、会社にとって何かを変えるような施策として、実現可能なインサイトの発見が必要とされる。

例えば、シンプルな回帰分析でビジネス的なインパクトを十分出せるのであれば、Deep Learningのような複雑なモデルを使った分析をする必要はない。

また、スキルセットにはドメイン知識が必要では、という話もありこれは確かに必要ではあるが仕事をやってるうちに習得できるため、コアではない。

この章の個人的な感想

このあたりは日本でもよく聞く話。「1ヶ月かけて0.01%精度を上げるために時間をかけてモデルをチューニングする」ということはよく陥りがちだし、アカデミックの世界では必要となることだが「1ヶ月0.01%の精度向上がどの程度ビジネス的な価値があるか」という視点で考える必要がある。0.01%向上した結果、1000万円の価値があるとする。年商1億円くらいの会社であれば1割に匹敵するのでこれは価値があることだが、年商100億の会社であればあまり価値がないし、場合によっては1ヶ月あればシンプルなモデルを多数の案件で回すことで1億稼ぎ出したりすることもある。

Software Engineering Craftsmanship

Second Wave下のデータサイエンティストは、ソフトウェアエンジニアにコードの可読性やバージョン管理、再現性、プロダクト化への意識が低いという批判をされている。 Third Wave化では、データドリブンなシステムなどが構築されていくので、ソフトウェアエンジニアでは当たり前のようにされている、上記事柄への意識が必要とされる。

この章の個人的な感想

データドリブンマーケティングが云々は最近よく聞くし、データをもとに意思決定をするならばデータサイエンティスト周りだけでなく皆が使える状態のデータが必要となる。そうなったときにプロダクト化は必須だし、その場合ソフトウェアエンジニアの助けが必要。実際このような背景から上記のように「データサイエンティストのコードは糞」という話はよく聞くなー、と。

あとここで言及はないが、今後はデータサイエンティスト複数人でのデータ分析も増えてくるので、そのときにこのようなスキルも不可欠になりそう。そのため、チーム分業で今までやってきたエンジニアが積み重ねてきた「誰かと一緒に開発していく」知識がデータサイエンティストにも必要不可欠になりそう。

弊社のエンジニア出身のデータサイエンティストはそのあたりの意識が強いのだが、「データサイエンスのバージョン管理情報や、コーディングスタイル情報があんまり見つからないのはそういう文化があまりなかったからなんだろうか。。。」ということを最近言ってたり。ちなみにこういう動きからなのか、この前のTokyo.Rでバージョン管理の話がありましたね。

speakerdeck.com

Statistics and Algorithms Toolbox

統計と機械学習のベース概念の理解が必要になる。これは、統計的な理屈やアルゴリズムをもとにした説明をクライアントにする必要があるからだ。

この章の個人的な感想

これは割と言われていることな気がするが、おそらくデータドリブンのようにビジネス側の人にもサイエンスをもとにした結果報告が行われ始めるゆえに、「なんかこうなりました」ではなく、ちゃんと説明できるようにしましょう、という話か。ただ、全くその知識がない人に統計的な説明や手法の説明をしても伝わるのだろうか、という懸念はある。まぁだからこそ、最近流行の機械学習の根拠のような話が出てきているのだろうが。

Soft Skills

人に関係することは、生産性に直面する技術となる。そのため、以下のようなことは意識的に努力すべき。

他の人との良好な関係

同僚の相談に乗ったりして職場で良好な関係を作ろう!これは社会人として当たり前のことではあるが、IT系の人は割と横柄な態度の人が多い

この章の個人的な感想

お、おう。。。って感じ。まぁ話の流れ的にはソフトウェアエンジニアをはじめとして他の技術領域の人と接することが今後は増えるゆえに、そのあたりちゃんとして心理的安全性を確保することで仕事をやりやすくしよう的な話か?

クライアント理解

結果をみせたときに、「何故こうなったか?どうやってやるか?それをどう達成するか?結果をどう活かしたらいいか?」といったような、クライアントからの質問は問題の本質をついていることが多い。そのため、そのような疑問にクライアントと一緒に解決していくことが問題解決のなによりの近道となる。

この章の個人的な感想

いくらドメイン知識があろうと、クライアントの方がドメイン知識は豊富だから勘が効くし、なによりもその問題に対して直面している本人なので近道なのは間違いない。

結果の伝え方

可視化やプレゼンスキルを磨こう。わかりやすく、見栄えがいい可視化/伝達をおこなわれることでクライアントの信頼を獲得することができる。

自己評価

内外に目的や問題を共有できる人を探したりロールモデルとなる人をみつけよう。

全体のまとめ

要するに、データサイエンティスト部署だけ、さらにいえば一人で黙々とモデルを作成するような時代は終わり、今後のデータサイエンティストはビジネス領域を意識して作業をおこなう必要がある。そのため、非データサイエンティストとのコミニュケーションは必要不可欠で、非データサイエンティストにわかりやすい説明や伝達をおこなうことが重要になる。また、分析対象も中小レイヤーから具体レイヤーに降りてくることで「なにがビジネス的なインパクトを与えるか」ということが重要になり、その問題を考えるスキルやどう実現するか、といった設計が今までとは違うレイヤーで必要になる。

・・・的な話だろうか。 上述の意訳のように、割と大雑把な読解しかできていないところはあるが結構な部分は日本でも数年前からよく聞く話な気もする。ただ、直接的に言及がなく間接的に言っているのか、勝手に独自解釈が暴走してそう思っているかはわからないが、個人的には「非データサイエンティストとのコミニュケーション」は割と目新しかった。このデータサイエンティストのThird Waveと同様の波はおそらくエンジニア界隈に先にやってきている。そのため、エンジニア界隈ではこのようなソフトスキルの重要性はよく説かれている。

そのため、エンジニア界隈のソフトスキル論、例えば非エンジニアとの意思伝達や、プロダクト意識について学ぶのが近道だと思う。また、個人的には最近はデータサイエンティスト領域も個人作業ではなくデータサイエンティストチームでの共同作業が増えてきている気がするのでバージョン管理や可読性といったような、エンジニアでは当たり前となっているソフトスキルや、ある問題に対してエンジニア的な解決方法で汎化し、非エンジニアにも使えるようにするといったようなこともデータサイエンティストには必要になってきているように感じる。