渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

データサイエンティスト(本物)は決して幻の職業などではない

かつて拙著出版の際に大変お世話になった技術評論社技評)さんから、『データサイエンティスト養成読本』改定2版のPRとして以下の記事がリリースされていました。この記事がもう何と言いますか、「読めばそのままデータサイエンティスト(本物)もしくはグローバルにおけるData Scientistのスキル要件になっている」ほどの素晴らしい記事なので、ぜひ皆様にはご一読をお薦めいたします。

ちなみにここであえて「本物」と銘打ったのは、少し前にもどこかで論じられていた記憶があるのですが、要は「なんちゃってデータサイエンティスト」は含まないということです。僕の知る限り、日本国内でデータサイエンティストと言うと「データサイエンティスト(カナ)」と方々から侮られるのが常なのですが、それはそもそも後述するように数年前に大量に発生したデータサイエンティスト(本物)でも何でもない専門的スキルに乏しい人々のことが世間では想起されやすいから、ではないかと思われます。


これに対し、グローバルにおけるData Scientistは(後述するようにまだ幻滅期を迎えていないだけかもしれないものの)例えばInsight Data Science Fellows Programが掲げるようにそれなりにきちんと専門性のはっきりしたスキルが求められる傾向にあるように見受けられます。Insightに限って言えば、統計学・機械学習・アルゴリズムを含むプログラミング全般・データ基盤技術の教育がなされているとのことなので、グローバルというか少なくともUSではそれらがData Scientistの必須スキルとして認識されていることなのでしょう。海の向こうとの彼我の差を思うと嘆かざるを得ません。


そう言えば、昨年このブログでもデータサイエンティスト(本物)のスキル要件について論じたことがあったんですが、最近の「人工知能」ブームによってデータサイエンティスト(本物)というよりは機械学習エンジニア系の求人が激増したこともあり、人材要件・スキル要件周りの議論が再び混沌としてきている印象があります。

ということで、技評さんの素晴らしい記事を踏まえながら久しぶりの与太話エントリを書いてみようと思います。


何故データサイエンティスト(カナ)は幻の職業になってしまったのか


これについては当ブログでも散々論じてきましたが、技評さんの今回の記事の以下の指摘が端的で分かりやすいかと思います。むしろ、出版社たる技評さんがここまで踏み込んで書くとは凄いことだなぁと感心してしまったくらいです(笑)。

「セクシー」として取り上げられたデータサイエンティストは,多くの人が就きたい職業として注目を浴びることになりました。ビッグデータというキーワードもそれ以前から流行していましたので,企業がデータ分析できる人材を探す時期ともマッチしていました。ふだんデータに関わることのあるエンジニアやマーケッターだけでなく,さまざまな人たちがデータサイエンティスト職を志望したのです。


しかし,実際の仕事は泥臭い作業が多く,プログラミング技術も必要です。これらは,すでにデータ分析を仕事にしている方々からは明確な事実でしたが,志望者の多くは自分のスキルとのギャップに戸惑うことになります。メディアはデータサイエンティストを注目の職業として取り上げ続けたためバズワード化する一方で,ギャップの激しさを嘲笑して本当のデータサインティストのスキルを持つ人はいない,とまで言われることにもなります。(中略)


技術的な内容に触れていない書籍をたよりにデータサイエンティストを志した方は,残念としか言いようがありません。
(太字筆者)

基本的にはこの説明が全てです。つまり、プログラミングのスキルがなくコードを書けず、(例えば)ぽちぽちクリックするだけでそれっぽい結果らしきものが出るようなツールを使うだけの「なんちゃってデータサイエンティスト」たちが大量に露出したことで、結果的にデータサイエンティストという語自体の評価をも下げる結果になってしまったということです。


2014年ぐらいまで続いていたデータサイエンティスト(カナ)ブームの中で一番残念だったことは、それらの「なんちゃってデータサイエンティスト」たちの多くが様々な現場で微妙なレベルのアウトプットを出しまくり*1、あまつさえ種々のメディアに登場してはあまり質の高くないコンテンツを大量に流布させたことだと個人的には見ています*2。それが「データサイエンティスト(カナ)って大したことないね、いてもいなくても同じなのでは」という周囲からの失望と嘲笑を誘い、結果的に「データサイエンティストなんてものはただの幻想だし必要とされない」という世間の風潮を生み出してしまったのではないでしょうか。


そのためか、今でもデータサイエンティスト(本物)と称されて然るべきレベルのスキルの持ち主であっても、「データサイエンティスト」と呼ばれることを頑なに拒否する人々がデータ分析業界やその関連分野に沢山います*3。さらに、そういった実力者の人々の側からも「データサイエンティスト」という概念そのものへの否定的なコメントが続いた時期も一時ありました*4。その結果として、「データサイエンティスト」という語自体が一種の差別表現として使われることすらあります。個人的には悲しい話だなと思う限りです*5


ちなみに、上の方で「グローバルのData Scientistはちゃんとしている」という話をしたものの、実態としてはグローバルとか海外でもデータサイエンティスト周りについて総花的で中身の薄いデタラメな言説というのは結構目立つものです*6。日本という国だからこそブームが過熱してデータサイエンティスト(カナ)のせいで(本物)の価値までもが下がってしまったというわけでもなく、単に海外でもそれに近い残念な事例が多いもののちゃんとした事例の方が多いこともあってまだ幻滅期に到達していないだけなのでは?というのが僕個人の見立てです。


データサイエンティスト(本物)には統計学機械学習とプログラミングのスキルが求められる


これは僕もこのブログでずっと以前から言い続けていることです。そして技評さんの記事もまた、同じことを指摘しています。

しかし,実際の仕事は泥臭い作業が多く,プログラミング技術も必要です。これらは,すでにデータ分析を仕事にしている方々からは明確な事実でしたが……(中略)……種種雑多なデータを扱うデータサイエンティストはそれを整形して活用するためのプログラミングや統計知識が必要です。具体的にはRやPythonといったプログラミング言語のスキル基本的な統計解析の知識にあわせて最近では機械学習の知識も必要になっているかもしれません。

(太字筆者)

ここで言うプログラミングのスキルとは、例えばあらゆるアルゴリズム理論を網羅して競技プログラミングで勝ち抜けるような超絶技巧レベルまでは流石に意味しないと思われます。どちらかと言うと「データ分析のインフラの一つとして業務に支障をきたさないレベルでこなせる」程度のスキルなのではないかと。もちろんプロダクトアウト出来るレベルのスキルがあった方が良いに決まっていますが、システム実装を別に行うエンジニア部門が存在するような現場であれば、分析する側としてはたかだか社内ツールのプロトタイプをコードで組める程度で十分なはずです。


一方、先述した当ブログの過去記事では以下の4要件を挙げました。

基本的にはこれでデータサイエンティスト(本物)のスキル要件は事足りると思います。そして僕も前職及び現職ではデータ分析職育成もやっていました(やっています)が、この4要件を満たすレベルまで到達した人であれば大抵のデータ分析案件は理論的な妥当性も押さえつつ確実にこなせるようになる、というのを実際に目の当たりにしています。


裏を返せば、この4要件のいずれか1つでも欠けると色々問題が起きるということです。特にコードが組めなければよく分からないクリック一発で動くブラックボックスのような何かに頼らざるを得ませんし、SQLが書けなければデータ抽出は他人任せにせざるを得ません。そうなるとデータ分析のインフラ的要素として重要視される「前処理」も外部に依存することになり、データ品質・妥当性の担保*7というメタな部分に脆弱性を抱えることになります。これではデータ分析のプロとは言えません。


昨今はどこのデータ分析部門でも分業化が進んでいるので必ずしも1人で何でも出来る必要はなくなってきていますが、それでもデータ分析プロセスの全体像を1人で確実に網羅的に把握できる能力は今でも極めて重要です。しかしながら、プログラミングを含むIT基盤技術のスキルがないと、それすらも覚束なくなります*8。プログラミング技術が必要たる所以です。


なお若干脱線すると、仮にこれが産業界で働くデータ分析職ではなく学術界で働く研究者であったとしても、やはりプログラミングのスキルは必要だと思われます。何故なら、研究成果として新たに打ち立てた理論やアルゴリズムも最後は何がしかのプログラム実装として動く例を見せなければいけないからです。余談ながら、最先端の(特に機械学習の)研究分野で活躍する(特に若手の)研究者の多くは、プログラミングのスキルも凄い人が多いなと色々なところ*9で見ていて感じています。


データ分析職である以上はデータ分析スキルを有することが第一義、ビジネススキルは第二義以降


先述したように、データサイエンティストがデータ分析職である以上は統計学機械学習・IT基盤技術のスキルは必須だと僕は考えます。理由は単純で、それは「データ分析を専門的に扱う」ことがその職掌だからです。


そして、それと同じくらいデータ分析スキルを学び続けられるという意欲的な姿勢も必須だと考えられます。何故なら、tech業界全体と同様にデータ分析業界では日進月歩を超える勢いで技術が進歩していくからです。例えば、僕がデータ分析業界に舞い込んで以降の4年間だけでもこれだけの進歩やトレンドの変化が毎年あります*10

これらの猛烈な勢いで進歩していく技術やトレンドについていけなければ、極端な話を言えばより進んだ技術を用いる競合他社に勝てなくなるということもあり得ます。おまけに、これらの技術やトレンドについていくにはOSSなどの実装が現れる前から既に存在する理論的基礎もある程度理解しておかなければいけません*11。それ故、新しい技術を学び続けられるというのもデータサイエンティスト(本物)にとっては重要な素養だと言えるかと思います。


しかしながら、2014年ぐらいまでのデータサイエンティスト(カナ)ブームの頃は、世間知らずの学者やら技術オタクやらが迷い込んでくるのを警戒でもしたのか、どういうわけか「ビジネススキルがなければデータサイエンティストとは言えない」という言説が様々な書籍やメディア上で非常に盛んに喧伝されていました。


その結果、いつの間にか主客顛倒して「ビジネススキルさえあれば誰でもデータサイエンティストと名乗れる」というおかしな運動*12が起きるようになりました。あまつさえ、ひたすらビジネス要件やビジネス的問題解決の話題に終始しているだけなのに「データサイエンティストの活躍事例集」をうたうような書籍*13まで大量に出回るようになりました。残念な「なんちゃってデータサイエンティスト」が大量に登場したのも同じ頃です。これもまた、世間の「データサイエンティスト(カナ)」に対する失望と嘲笑を誘った側面は否めません。技評さんの記事でも

技術的な内容に触れていない書籍をたよりにデータサイエンティストを志した方は,残念としか言いようがありません。

と書かれていますが、まさに残念としか言いようのない帰結だと思います。


もちろん、産業界に身を置くデータ分析職としてのデータサイエンティストである以上は、ビジネス環境に適応できること、ビジネス課題に全てを落とし込めることは必須の要件です。それこそtech業界のエンジニアに往々にしてビジネス感覚が求められるように、データサイエンティストにもビジネススキルが求められるのはごく自然なことです。しかしながら、本義的には「データ分析の専門スキルを活かしてビジネスに貢献する」というのがその職掌であるわけで、なればこそデータサイエンティスト(本物)にとってはデータ分析スキルを有することが第一義であり、ビジネススキルは第二義以降に位置付けられるべきかと。ビジネス感覚だけは立派でも全くコードの書けないtech業界のエンジニアは一般に評価されませんが、データサイエンティスト(本物)でも基本的には同じことです。


データサイエンティスト(本物)もしくはData Scientist、そして機械学習エンジニアの現在の人材市場動向


f:id:TJO:20160921003123p:plain

これも少し前の記事に書いた話題ですが、一つだけ補足しておくと「人工知能」ブームの影響を受けて、データサイエンティスト(本物)と同時に機械学習エンジニアの求人が増えているというのが人材市場の現状だと個人的には睨んでいます。ここで言う機械学習エンジニアとは、その名の通り「機械学習アルゴリズム開発・実装に特化した人材」であり、どちらかというとアドホック分析よりもシステム実装の業務に従事することが多い人々です。

しかしながら、上記のブログ記事で書いたように様々な市場要因・人材移動などの影響を受けて、大雑把に言って「首都圏全体でデータサイエンティスト(本物)と機械学習エンジニアを合わせて500人程度」という全体の規模は変わらないまま、というのが僕の見立てです。しかも、上記記事で指摘したようにその総勢500名はかなり偏って分布しています*14。そのため、データサイエンティスト(本物)そして機械学習エンジニアが足りなくなる日は早晩やってくるはずです。


にもかかわらず、その時になっても「データサイエンティスト=幻の職業」という先入観が世間に浸透したままであれば、恐らく首都圏界隈に限らず日本全体のデータ分析業界、それどころか今後データ分析に依拠していこうとしている産業の多くは停滞してしまうことでしょう。なればこそ、データサイエンティスト(本物)そして機械学習エンジニアをデータ分析業界としては増やしていかなければならない、と僕個人は考えています*15


そこは流石にデータ分析業界の実力者をズラリと執筆陣に揃える技評さんらしく、記事中でもこう書かれています。

データサイエンティストはけして幻の職業ではありません。本書の執筆者もデータサイエンティストとして活躍している方々ですが,それぞれ得意なジャンルも所属する業種もバラバラな印象を持ちます。最低限のスキルを持った上で,自分の得意なジャンルで勝負しているデータサイエンティストが多いのかもしれません。


「結局プログラミングの知識が必要なのか」と思わない限りデータサイエンティストの道は開けています。

まさにこの通りだと思います。上記の「総勢500名」の中で僕が実際に存じ上げている人たちも、基本的にその得意なジャンル・所属する業種・そして出自はおろか肩書きすらも皆バラバラだったりします。それでも、データ分析にかける情熱とプログラミングのスキルを武器に、データサイエンティストという肩書きの人も、データサイエンティストとは名乗っていない人も、統計学機械学習の刃を磨き続け、それぞれの分野で勝負し続けています。統計学機械学習とプログラミングさえ身に付けられれば、データサイエンティスト(本物)への道はいつでも開けています。


既に日本のデータサイエンティストブームは峠を越して幻滅期も通り過ぎ、極めて低レベルの定着期に突入している感が否めませんが、それでも上記の通り「人工知能ブーム」に伴い統計学機械学習のスキルを持つ人材の需要は再びじわじわと増え続けているという感覚があります。なればこそ、僕個人としては、どのような肩書きであれ新たにデータ分析業界に参入してくる若い人たち(この言い方オッサン臭いな)が増えることを期待したいと思います。


データサイエンティスト(本物)をこれから目指す人にお薦めの書籍2点+1


そんなわけで、一応改めてここでデータサイエンティスト(本物)をこれから目指す人にお薦めの書籍をピックアップしておきます。これまた昨年末に書いた書評記事でほぼほぼ代替可能なんですが(笑)。なお、いずれの書籍もある程度基礎の基礎レベルの知識を事前に持っていることが前提です。


改訂2版 データサイエンティスト養成読本 [プロになるためのデータ分析力が身につく! ] (Software Design plus)

改訂2版 データサイエンティスト養成読本 [プロになるためのデータ分析力が身につく! ] (Software Design plus)

トップバッターは言うまでもなく、技評さんの『データサイエンティスト養成読本』改定2版。データサイエンティスト(本物)を目指す人が最低限知っておくべき統計学機械学習・プログラミング・データ基盤技術の基礎が、コンパクトに詰まっています。またこの3年間のデータ分析技術の進歩を反映して、色々と増補されたり差し替えられたりしており、きちんとup-to-dateな内容になっています。


データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

機械学習に関して言えば、これまた技評さんのこちらがお薦め。当ブログでも以前書評しましたが、現状では初心者が読める機械学習の本はこれ一択だと思って間違いないです。何故機械学習が有用なのかというコンセプトレベルでの解説から、具体的なR, Pythonなどのプログラミング言語での実践に至るまで網羅的に取り上げられています。


手を動かしながら学ぶ ビジネスに活かすデータマイニング

手を動かしながら学ぶ ビジネスに活かすデータマイニング

はい、手前味噌で恐縮です(笑)。同じ技評さんから拙著も出させていただいているので、完全に便乗して宣伝しているだけです(汗)。とりあえず2014年当時の内容としては網羅的に取り上げたつもりなので、Rだけで全部勉強したいという人には手前味噌ながらいつもお薦めさせていただいております。ただ、これ以降例えばRでもH2OやMXnetによるDeep Learning実装が本格化したり、Stanによるベイジアンモデリング周りも進歩したりしているので、いずれ改訂する必要がありそうです。。。まだ需要があれば、の話ですが。


最後に


偉そうに長々と書き連ねてきましたが、僕自身も未だ学ばなければならないことだらけの発展途上の身です。。。学ぶ姿勢が不足すれば、その瞬間に「なんちゃってデータサイエンティスト」に転落しかねないというのが日進月歩のデータ分析業界の常なので、いい年こいたオッサンですが頑張ってこれからも業界の流れに食らいついていこうと思います。いやもう既に置いていかれて、自分も「なんちゃって」になっているのではないか*16という恐怖しか感じない今日この頃です(汗)。

*1:ここでは一例として、「交差検証という概念自体を知らない」自称データサイエンティストという事例を複数見かけたことがあるという件を挙げるに留めておきます

*2:あえて例示はしません

*3:単にその語感が嫌いとか自分はサイエンティストなんかじゃないとかいう人もいますが笑

*4:そう言えば僕もデータサイエンティスト(カナ)を散々disってましたっけ、あっはっは(汗)

*5:いやお前もdisってただろとか突っ込まれるとですね(汗)

*6:あえて例示はしませんが、例えばAnalytic BridgeやData Science Central辺りを眺めていると結構目に付きます

*7:抽出したデータが本当に求めていたものなのかどうかとか、前処理の結果がその後の分析プロセスに正しく適合しているかどうかとか

*8:例えば前処理のコードを書いた経験があれば用意されたデータを見ただけで前処理が間違っていると判断できることがままあるが、それもできないということにもなる

*9:それこそNIPSやKDDのようなトップカンファレンスの場など

*10:全てを網羅しているわけではない点はご容赦あれ

*11:例えば機械学習に関して言えば、理論的基礎を知らないと実装はOSSで簡単に済ませたとしても肝心のパラメータチューニングが出来なかったりする

*12:あえて例示はしません

*13:あえて例示はしません

*14:要は特定の企業に集中しているということです。なお企業名はあえて例示しません

*15:そんなのどうでもいい、という人もいるとは思いますが

*16:お前はもうそうなっているよというツッコミはご勘弁を(泣)