データサイエンス

【2019年度最新版】データサイエンティストに必要なスキルは?

21世紀で最もセクシーな職業とも称される「データサイエンティスト」。

「最近その名前は見かけるようになったけど、具体的なことはあまり知らない…」という方もいらっしゃるのではないでしょうか。

この記事は、

「データサイエンティスト」に興味はあるが、具体的にどのような仕事をしていて、どのようなスキルが求められるかわからない

という方向けの内容になっています。

データサイエンティストとは?

一般社団法人データサイエンティスト協会によるデータサイエンティストの定義は、
「データサイエンス力、データエンジニアリング力をベースにデータから価値を創出し、ビジネス課題に答えを出すプロフェッショナル」とされています。(参考:データサイエンティスト協会)
カタカナが多く、少しわかりづらいですね。

簡単に言うと、

「世の中にあふれる様々なデータを用いて調査・分析を行い、組織の直面している課題解決を目指す専門家」

です。

一昔前までは「データサイエンティスト」という名前はあまりメジャーではありませんでしたが、情報化社会の進展により世の中のデータ量が増大するとともに、そのデータから価値を見出そうとする動きが加速し、データサイエンティストの名前は世の中に広がりました。
今後、データ量は爆発的に増えていくことが予想されるので、これからの時代における、注目の職業といえます。

データサイエンティストですが、実際になるためにはどのようなスキルが必要なのかはあまり知られていません。
そこで、まずはデータサイエンティストになるために必要なスキルを紹介します。

データサイエンティストに必要なスキル

一般社団法人データサイエンティスト協会によると、データサイエンティストに必要なスキルは主に3つに分けられます。
ビジネス力・データサイエンス力・データエンジニア力です。
一つずつ見ていきましょう。

ビジネス力

“課題背景を理解した上で、ビジネス課題を整理し、解決する力”です。

主要なキーワード:データの理解・検証、論理的思考、活動マネジメント

・データの理解・検証
データは、何も知らない人からするとただの数字であり、何の意味も持ちません。
その数字は何を意味しているのか理解し、裏では何が起こっているかを予測できる力が必
要です。
また、そのデータをどのような切り口から分析すればよいか、自分の中で仮説を立て、検証
方法の立案まで行う必要があります。
最後には、分析プロセス全体を、ビジネス的観点から見て妥当であるかを判断したり、分析で得られた示唆が新しい知見であるかを判断します。

・論理的思考
簡単に言うと、他人にわかりやすく伝える能力です。
データの分析結果が何を意味するのか、言葉にして伝える能力や、テキストや図表を含んだレポートを作成する能力、ロジカルにプレゼンを行う能力などが含まれます。

・活動マネジメント
プロジェクトを滞りなく進行させる能力です。
スケジュール設定や、遅延が発生した時のリカバリー対応、チーム内でのナレッジ共有などを行う能力が含まれています。

データサイエンス力

“情報処理、人工知能、統計学などの 情報科学系の知恵を理解し、使う力”です。

主要なキーワード:Data visualization(データの可視化)、機械学習、統計知識

・Data visualization(データの可視化)
情報の量は年々増え続けています。
膨大なビックデータの中から、課題解決のために必要なデータを抽出するなどの作業で、データ量を減らして可視化しなければなりません。
また、それはデータ解析部門以外の人にとっても、わかりやすいものである必要があるため、多角的な視点からデータを扱う力も求められます。

・機械学習
先に述べたように、データ量は増加する一方で、それに伴い分析で扱うデータ量も増大しています。そのような傾向の中で、人力で分析を行っていてはどうしても限界があります。
そこで登場するのが機械学習です。機会に自動的に分析を行ってもらうことで、短時間でより多くのデータを使った分析が可能になります。
Random Forestなどの機械学習にあたる解析手法を理解していることはもちろん、アンサンブル学習(Random Forest, バギングなど)による分析を、自らの手で実際に行い、それ分析結果を理解できる知識基盤も必要です。
※アンサンブル学習…単一のモデルではなく、複数のモデルを融合させた学習モデルです。
一人で考えるよりも、複数人で考えたほうが良いアイデアが浮かびやすいという考え方と同じです。

・統計知識
データを分析するとき、統計の知識がないと何もできません。
相関係数や確立などに関する基礎知識から、回帰分析に関する知識、t検定やカイ二乗検定をはじめとした検定の知識も求められます。

データエンジニア力

“データサイエンスを意味のある形に使えるようにし、実装、運用できるようにする力”です。

主要なキーワード:環境構築、データ収集・蓄積・加工、プログラミング

・環境構築
データを扱ううえで基盤となる、システムの構築から運用、場合によっては分析機能の追加やシステム変更を行う能力が必要です。
データサイエンティストというと、データ分析がメインのように思われる方もいると思いますが、適切なデータ分析を行うためにはそれに適した環境を作らなければなりません。
その意味で、システムに関する能力は極めて重要だといえます。

・データ収集・加工
必要なデータを収集、加工することで、データ分析の精度は上がります。
データ収集では、SDKやAPIといった機能の内容を把握していることは基本で、iOS, Androidなどのデータ取得の設計を理解しておくことも必要です。
中級・上級のデータサイエンティストは、異なるプラットフォーム(iOS, Androidなど)からそれぞれデータを取得していては時間がかかりますので、プラットフォームの違いを超えてデータを取得するためのプログラムを実装することで、時間短縮を実現しています。
データ加工では、取得したデータにフィルタリング処理、ソート処理、クレンジング処理、サンプリング処理など様々な処理を施し、データを扱いやすい形に変えます。

・プログラミング
データエンジニア力とは、“データサイエンスを 意味のある形に使えるようにし、実装、運用できるようにする力”です。
この「実装」をするために必要なのがプログラミングスキルです。
基礎としては、CSV, RDBなどのデータ処理を実装できることが求められます。
プログラミング言語としては、最も人気なPythonやR、SQLあたりをまずは極めておくとよいでしょう。

データサイエンティストの仕事のプロセス


ここでは、データサイエンティストの仕事内容をイメージしやすくするために、データマイニングのプロセスを簡単に紹介します。
※CRISP-DMという、データマイニングの基本的なプロセスをまとめた方法論に基づいて作成しています。

・Business Understanding(業務理解・課題設定)
最初のフェーズであり、最も重要といっても過言ではないフェーズです。
なぜなら、ここで課題設定を間違えてしまうと、後のフェーズがすべて無駄になってしまう可能性があるからです。
ビジネスの構造を正確に理解したうえで、適切な課題設定を行うことが重要です。
自分一人でビジネスを理解することは困難なので、場合によっては関係者にヒアリングを行う必要があります。

・Data Understanding(データ理解)
データを集め、理解するフェーズです。
ただデータを集めただけでは、それらは何の意味も持たない数字の集まりでしかありません。そのデータが何を意味しているのか、その裏側で何が起きているのかを想像することも
大切です。ここでも場合によっては関係者にヒアリングを行い、データへの理解を深めます。

・Data Preparation(データ準備)
データを集めて、そのままデータ分析に使える、という状況は稀です。
次のフェーズのModelingを行うためには、データを扱いやすい形に変換するなど、前処理をしなければなりません。
非常に時間のかかるフェーズで、データ処理中に「分析するうえで必要なデータが足りない」となった場合、一つ前のフェーズに戻って再度データを集める必要もあります。

・Modeling(モデリング)
ビジネス課題を解決に導くための数理モデルを実際に構築するフェーズです。
世間一般的なデータサイエンティストのイメージはこの作業かもしれません。
一つのモデルのみを用いて分析することは珍しく、通常はいくつかのモデルで分析したのち、その中から最適なモデルを選びます。

・Evaluation(評価)
構築したモデルを評価するフェーズです。
モデルの精度を検証し、実際にビジネスを適用した時に課題を解決できるか評価します。
その他、設定した課題は解決するものの、別の部分での問題を生み出さないか、なども考慮します。

・Deployment(実装・実行)
構築したモデルに基づき、具体的なビジネスの施策を実行します。
データサイエンティストは、データを分析して終わりではありません。
データを分析して得られた結果を用いて、今まで抱えてきたビジネス課題を解決できて初めて成功と言えます。
データサイエンティスト自身が施策を実行することは少ないかもしれません。
施策を実行する担当者に、分析結果等をわかりやすく伝えることも仕事の一部です。

どのような人がデータサイエンティストに向いているか

最近注目されているデータサイエンティストですが、どのような人が向いているのでしょうか。
それはズバリ、【新しいことを抵抗なく受け入れ、自発的に学ぶことができる人】です。
データサイエンティストは、文系要素(ビジネス力)と理系要素(データサイエンス力・データエンジニア力)を兼ね備えた職業です。(文系・理系という分け方はもはや古いかもしれませんが、わかりやすくするために用います)
しかし、最初からそれら両方の能力がある人は少なく、多くの人はもともと文系と理系のどちらか一方のスキルしか持っておらず、後からもう一方の能力を伸ばしています。
そのため、文系の人であれば理系の内容、理系の人であれば文系の内容を学ぶ意欲さえあれば、自分の持っていない能力を伸ばし、データサイエンティストを目指すことは十分に可能です。
文系理系の進路を自分で選んだ人は、自分の選ばなかったほうの分野に興味をもって学ぶ必要があるため、「数学が嫌いだから文系を選んだ」など、抵抗のある人にとっては難しいかもしれません。逆に、「文系理系どちらでもよかった」という人は抵抗も少ないはずなので、チャンスがあります。
まだまだ新しいことを積極的に学びたいという意欲を持ち合わせている人は、キャリアとして考えてみてはいかがでしょうか。

まとめ

以上、データサイエンティストになるために必要なスキルをまとめました。
「3つのスキルを極めている」という方はデータサイエンティストの中でもごく一部なので、今からでも遅くはありません。
自分に足りないスキルを積極的に伸