最終更新日:
同氏によると、データサイエンスの歴史はまだビッグデータがあまりビジネスに関係しない2010年代以前、ビッグデータが注目され始めた2010年代、そしてAIとディープラーニングが流行した2010年代末という3つの時代に区切ることができます。現在のデータサイエンティストは3つめの時代に属しているので、「第三の波」に属していると表現されます。それぞれの時代において求められる「データサイエンティスト像」は異なっていましたが、第三の波に属する現在のデータサイエンティストは「ビジネス・マインド」「ソフトウェア工学の職人技」「統計学とアルゴリズムのツールボックス」「ソフトスキル」の4つのスキルが必要とされます。
こうした必須スキルのなかでも「ビジネス・マインド」がもっとも重要である、と説かれます。というのも、現在のデータサイエンティストはデータを目的に沿って処理するエンジニアというよりは、データからビジネス的価値を創出するシステムを考案する起業家に近い役割が求められるからです。そして、「ビジネス・マインド」以外の3つの必須スキルは、ビジネス的価値を実現するための手段となります。
以上のような「起業家的なデータサイエンティスト」は、ドイツに限らず日本ひいては世界的に求められている人材と言えるのでしょう。
なお、以下の記事本文はDominik Haitz氏に直接コンタクトをとり、翻訳許可を頂いたうえで翻訳したものです。
データサイエンス・スキルのポートフォリオのアップデート
目次 [非表示]
序論
Drew Conwayが作成したデータサイエンスのスキルセットの可視化(※註1)は、よく引用される古典である。様々な異論とデータサイエンスという仕事に求められる多才さのために、この古典に関する多くのバリエーションが生み出された。

データサイエンスに関するベン図。Google画像検索を使って収集。画像出典:
https://sinews.siam.org/Details-Page/a-timely-focus-on-data-science

- 「ハッキングスキル」とは、データを操作・抽出するスキルのこと。例えば、SQLコマンドをデータベースに対して実行するスキルを意味する。
- 「数学と統計学の知識」とは、例えば最小二乗法を知っているというような知識を意味する。データサイエンティストには博士号は必須ではないが、最小二乗法のような数学的概念の理論的背景を知っている必要はある。
- 「実質的な専門知識」とは、データサイエンスを活用して分析したい事象や分野に関する知識のこと。こうした専門知識がないと、有意義なデータ分析をするために不可欠な「データに対する疑問」を抱くことができず、実用的な分析結果を得ることができない。
以上の3つのうち、ハッキングスキルと実質的な専門知識だけを用いてデータ分析することは非常に危険であると指摘される。というのも、この2つのスキルを使うだけで大量の分析を実行できてしまい、その分析結果の意味を理解せずに成果を出したように見せかけることができるからである。
(多くのバリエーションがあるという事態を鑑みると)データサイエンスのスキルセットに関するコンセンサスはないように思われる。さらにはこの分野は進化しているので、欠点はすぐに明らかになり新しい挑戦が生じる。こんな進化をどのように描写できるのだろうか。
データサイエンティストの第一の波は、データがビッグになってデータサイエンスが実際に生まれる前に生じた(2010年代より前):当時は統計学者と常にその周辺にいたアナリストが現在のデータサイエンティストが行っている多くのことを行っていたが、大きな流行とはならなかった。
第二の波:大規模なデータコレクションが、魔法を使って大規模なデータをカネに変えることができるスマートな知性に対する需要を作った。企業はいまだにデータサイエンティストにはどのような種類のヒトを雇うべきか模索しており、しばしば科学科の卒業生に頼っていた。第二の波に属するデータサイエンティストは実に多くのことを行ったが、彼らが注意深く作り上げたモデルはしばしばPoCの段階で終わってしまい、現実的な変化をもたらすことには失敗した。
そして現在、2010年代の終わりにディープラーニングとAIが流行するただなかでデータサイエンティストの第三の波に突入した:この波に属するデータサイエンティストは試行錯誤してイノベーションを起こし、効率的にビジネス的価値を見つけ出して素晴らしいデータ製品を作って実装するまでに乗り越えるべきギャップを埋めるのである。こうした第三の波に属するデータサイエンティストは、どんなスキルが要求されるのだろうか。

第三の波におけるデータサイエンティストのスキルポートフォリオ
・・・
1.ビジネス・マインドセット
ビジネス・マインドセットはデータサイエンスのスキルセットの核である。というのもこの精神が目標を設定し、それを達成するためにそのほかのスキルを適用するからだ。Patrick McKenzie(※註2)は自身のブログへの投稿で以下のように表明した。
エンジニアはビジネス価値を創出するために雇われるのであって、何かをプログラミングするためではない:ビジネスは、常に非合理かつ政治的な理由によって物事を進める[…]、しかし、概してビジネスにおいては何が収益を増やすか、あるいはコストを削減するかに集中しながら物事が進められるのだ。
以上と同様にデータサイエンティストはビジネス的価値を創出するために雇われているのであって、モデルを構築するためではないのだ。データサイエンティストたる者は次のように自問してみよう:自分が仕事した結果は、企業の意思決定にどんな影響を及ぼすだろうか。自分の仕事が及ぼす影響を最大化するためには、何をすべきなのか。こうした起業家精神を持ち合わすことによって、第三の波に属するデータサイエンティストは実行可能な洞察を生み出すだけではなく、現実的な変化をもたらすことを追求するのだ。
自分が属する組織におけるカネの流れを眺めよう―もっとも大きなコストがかかっていたり、あるいは収益を上げている部署がもっとも高い財政的レバレッジをもたらしているだろう。しかしながら、ビジネス的価値とはあいまいな概念である:それは会計年度におけるコストや収益を超えたものだ。試行錯誤してイノベーティブなデータ文化を作ることは、長期的な企業の競争力を増進するだろう。
仕事に優先順位をつけ、いつ仕事を終えるかを知ることは効率性のカギとなる。何が収益を減らすかについて考えてみよう:予測精度をあと0.2%上げようとしてモデルを調整するのに何週間も費やすことに価値はあるだろうか。十分良いものがしばしば現実的な完璧となるのだ。
Conwayのスキルセットで3分の1を占めるドメイン知識は、決して無視されるべきものではない ― しかし、どんな現場においてもドメイン知識はたいてい仕事を通して学ぶべきものだ。ドメイン知識には企業がしたがうプロセス、命名規則、そして特殊性といった諸々のものと同様に業界知識も含まれる。こうした知識はデータサイエンティストの仕事の条件となるフレームを設けるだけではなく、データを理解し解釈するためにしばしば必要不可欠なものでもある。
シンプルかつ愚かであり続ける
Half of the time when companies say they need "AI" what they really need is a SELECT clause with GROUP BY.
You're welcome.
— Mat Velloso (@matvelloso) May 30, 2018
低い所にぶら下がっている果実を見つけると、早く勝利する。既存のデータウェアハウスにシンプルなSQLのクエリを実行するだけで、製品マネージャーや経営陣に知られていなかった知見が得られる。シンプルで美しい回帰モデルで十分なところで最先端のディープラーニングモデルにこだわるような「バズワード駆動的なデータサイエンス」を実行するという罠に陥らないことだ。そうすれば、モデルの構築と実装、そして管理に関わる業務がずっと少なくなる。複雑なことを知っているが、複雑すぎることは行わないこと。
・・・
2.ソフトウェア工学の職人技
(第二の波における)データサイエンティストに必要なのは厳密なソフトウェア工学というよりは「ハックするスキル」だという考えは、繰り返し批判されてきた(※註4)。可読性、モジュール性、あるいはバージョン管理の欠如はコラボレーション、再現性、そして生産性を妨げてしまう。
以上のような考えに代えて、厳密なソフトウェア工学に由来する職人技を学ぼう。コードをテストしバージョン管理ツールを使おう。(例えばPEP8のような)すでに確立されたコードスタイルに従い、(例えばPyCharmのような)統合開発環境の使い方を学ぼう。ペア・プログラミングを試そう。コードをモジュール化し文書化して、変数には意味のある名前をつけてリファクタリング、リファクタリング、リファクタリングだ。
データ製品の迅速なプロトタイピングと実装のあいだにあるギャップを埋めよう:そのためにはログを採取し表示するツールの使い方を学ぼう。仕事の結果をほかのヒトに提供するために(例えばFlaskを使うような)REST APIの作り方を学ぼう。自分の仕事をDockerコンテナに移す方法、あるいはHerokuのようなプラットフォームに実装する方法を学ぼう。モデルを自分のノートPCのなかで腐らしてしまう代わりに、自社のITビジョンにぴったりフィットするようなデータ駆動型サービスの中に包み込んでしまおう。
Data science code doesn’t need to follow the rules of good software engineering, because data science is not about creating software but about experimenting with building prototypes of models.
Great tip from @jeremyphoward
— Graham Lea (@evolvable) May 2, 2018
以上のようなデータサイエンスにはソフトウェア工学のルールは不要とする意見に対し、イギリスの金融グループであるロイズ・バンキング・グループでリード・データサイエンティストを務めるNadbor Drozdは、自身のブログでデータサイエンスはソフトウェア工学のサブセットと述べたうえで、データサイエンティストとは「高度な数学に精通しているソフトウェアエンジニア」と定義して、データサイエンティストもソフトウェア工学のルールに従うべきと主張した。
・・・
3.統計学とアルゴリズムのツールボックス
データサイエンティストは、統計学とりわけ機械学習に関する基本概念を完全に理解していなければならない(大学のSTEM教育はこうした理解の基礎を獲得するおそらく最良の方法だろう)。以上の理解を得るために何が重要かに関するリソースは大量にあるので、ここではこれ以上追求しない。データサイエンティストはしばしば顧客に対してアルゴリズム、統計的不確実性のような概念、あるいは相関と因果の混同にもとづいた洞察の危険性について説明しなければならないだろう。
・・・
4.ソフトスキル
ヒューマンスキルは技術的スキルと同じくらい仕事の生産性に関わる重要なことなので、第三の波に属するデータサイエンティストはヒューマンスキルが関わる領域でうまく立ち回れるように意識的に努力しよう。
他人とうまく仕事する
同僚に相談しよう ― たいていのヒトは喜んで助けてくれるし、アドバイスをくれるだろう。そして、他人に平等に接すること:データサイエンティストは上等な学位と洗練されたアルゴリズムの理解を持っているかもしれないが、他人は自分が経験していないことを経験しているものだ(このことは社交上の基本的なアドバイスである。しかし傲慢なIT専門職に会ったことのないヒトなどいるだろうか)。
顧客を理解する
正しくフォローアップできるような質問を尋ねよう。もし顧客や上司が何かのカギとなるような値を計算させたりチャート表を作るように頼んだら、「なぜですか。何のためにですか。あなたが達成したいこととは何ですか。提出した結果にもとづいて、どんなアクションを起こすのですか」と尋ねてみよう。こう尋ねるのは、問題の核についてより理解するためである。それから求める結果を得る方法をいっしょに考えてみよう ― そのうえで当初提案されたものより目標をより良く達成するほかの方法があるかどうか、考えてみよう。
企業の政治を操縦する
ネットワーキングしよう。そうする理由は他人が自分のキャリアを有利にすることを期待するからではなく、親しみやすいヒトになるためだ。似たような仕事の話題でヒトとつながろう。もし自社にネットワーキングするためのプラットフォームがないならば、それを作ろう。カギとなる利害関係者を特定し、そのヒトが抱えている問題について助ける方法を考えてみよう。他人を早めに巻き込んで彼らを変革のプロセスの一部としよう。企業とは合理的な存在ではなく、非合理的な人間の集まりであることを忘れないようにしよう。
結果についてコミュニケーションする
可視化とプレゼンのスキルを高めよう。顧客の立場からコミュニケーションするようにしよう:どのようにしたら顧客の質問に正確に答えられるだろうか。異なったレベルでコミュニケーションし、自分の仕事の詳細をまとめることを学ぼう。派手な多次元プロットはヒトを容易く惹きつけるが、しばしばシンプルな棒グラフがより効率的にメッセージを伝える。とにかく成果を披露しよう:ヒトは働く姿を見たり、素晴らしい仕事をしているところを見ると信頼するものなのだ。
自分自身を評価する
自分の問題と目標についてコミュニケーションをはかり、積極的に助言を探すこと。データサイエンスのコミュニティの内外にロールモデルを探し、そのモデルから学ぶようにしよう。
・・・
何か見落としたことがある?以上の話に完全には同意できない?そんな時はあなたの意見をコメント欄でシェアしてください!
原文
『The Third Wave Data Scientist』
著者
Dominik Haitz
翻訳
吉本幸記(フリーライター、JDLA Deep Learning for GENERAL 2019 #1取得)
編集
おざけん