これまで別記事「文系ビジネスパーソンこそ統計学を学ぶべき理由」において、経営や事業について知見のある文系ビジネスパーソンが「統計学」や「プログラミング」を学ぶことで、データサイエンティストとして即戦力になることをお話しました。
データサイエンティストに「ビジネス力(BUSINESS PROBLEM SOLVING)」「データサイエンス力(DATA SCIENCE)」「データエンジニアリング力(DATA ENGINEERING)」の3つが必要であるという点については、別記事データサイエンティストに必要な3つの能力とはの中で詳しくお話しています。
それでは、私のような文系のビジネスパーソンがそれぞれの能力を身につけたい場合に、どのような学習ルートを辿ればいいのでしょうか。これから複数回にわたり、文系の人向けの学習ルートや教材をご紹介します。まずはデータエンジニアリングの学習ルートについてお話します。
なぜデータサイエンティストにプログラミングスキルが求められるのか
「データエンジニアリング力」とはPythonやRでプログラミングする力のことです。しかし、なぜデータサイエンティストにプログラミングスキルが求められるのでしょうか。データエンジニアリングを学習する大前提として、まずはなぜデータ分析にプログラミングが必要なのかという点についてお話します。
実際のところ、皆さんのパソコンに入っているエクセル(Excel)でもデータ分析はできます。関数の機能がエクセルにもあり、「データ分析」というタブを使うことで、グラフ作成はもちろん、推測、トレンド分析、簡単な統計の分析や予測などもできてしまいます。マイクロソフト社もデータ分析タブには力を入れているようで、機能が拡張され続けています。以前は自分でアドインしなければならなかったのですが、今は標準機能として利用できます。
プログラミングに抵抗がある文系の人でもエクセルだったら使ったことがあるという人は多く、使い慣れたエクセルでのデータ分析からスタートする場合も多いです。実際に、世の中にはエクセルでのデータ分析が得意な人も数多く存在します。一方で、エクセルで分析を行うにしても、「分散」「有意水準」など、統計の用語を知っておかないと正しく機能を使うことができません。そのためにも、基礎的な統計用語の知識は必要になります。
エクセルのデータ分析では物足りなくなる
しかし、一般的にエクセルでデータ分析を重ねていくと、そのうちに必ず物足りなくなる時がやってきます(笑)。正確に言えば、エクセルでの分析だけをやっていてもそうはなりませんが、統計学などを学び始めると「もっとこうしたほうがいいのではないか」といったアイデアが浮かび、分析手法をカスタマイズしたくなるのです。エクセルでもある程度のカスタマイズはできますが、やりにくいです。そのため、統計分析のためのプログラム言語を使いたくなってくるのです。
エクセルやPython/Rで統計学入門を学んでみる
データエンジニアリングの学習は、エクセルやPython、Rを使って入門の統計学を学ぶというやり方がおすすめです。Webデザイナーが、フォトショップを使いながらデザインの技法に付いて学ぶようなイメージです。これには具体的に下記の3ステップがあります。
データ分析に関する基本操作を覚える
基本操作にはプログラム言語を使うので、ここは文系の人にはやや敷居が高いです。ただ、現在はWebエンジニアの世界でも文系のプログラマが活躍していますし、プログラミングの学校なども数多くあります。ゲームを作る人もプログラムをやったりするので、数学の知識がなくてもプログラム言語自体は習得できます。
エクセルを使うのであればプログラム言語は不要なので、基本操作は楽です。エクセルでも数千行程度のデータは扱えますし、MacのM1チップなどを使えば1万行や2万行の大量のデータも扱うことができます。分析手法をカスタマイズせず、テンプレート的な統計分析でも色々な分析ができるため、このようなエクセルを使って統計分析を進めていくのはアリだと思います。
一方で、エクセルよりもPythonやRを使ったほうが、出力するグラフなどカスタマイズできます。エクセルのグラフも一応は修正ができますが、プログラム言語で作ったほうが色々な見せ方ができ、自由度が高く汎用性が高いのです。カスタム性が高いので、プログラム言語に抵抗ががない人は、PythonやRを使ってデータ分析を行ったほうがコスパはいいと思います。
データの前処理ができるようになる
データ分析において大変重要となるのがデータの前処理です。データさえきちんとした形で整っていれば、あとはコンピューターが自動で処理をしてくれます。アンケート調査などでも、最初からきれいなデータが手に入るわけではないので、いらないものを切り落として削除するなどの作業が必要になります。この前処理が必要なのはエクセルもPythonもRも同様です。初めは大変ですが、最終的にはこれを自分でできるようにならなければいけません。
データを整えるというのは、料理でいえばきちんと皮むきをしたり、食べやすい大きさに切ったり、鱗や中骨を抜いたりするという下ごしらえに当たります。ここさえきちんとやっておけば、あとは茹でたり煮たり、調味料を入れたりするなどの処理は、書いたプログラムに沿って、もしくはエクセルであれば選んだ関数に沿って自動的に行われます。
よく使うライブラリを使いこなせるようになる
どんな分析をするのかという統計的な分析手法は「ライブラリ」でリスト化されています。本棚に統計の処理が本として並べてあり、必要な際に「これ使をおう」と、インストールするイメージです。そのため、必要なものを選べるようによく使うライブラリの用途を知っておく必要があります。
逆に言えば、どの本を取ってくるのかさえ分かればそれでOKであり、それぞれのライブラリについて、中の数理統計モデルの細かい計算を理解する必要はありませんが、よく使うライブラリではどのような数理統計モデルが使われているのかを理解しておくことが重要です。
絵の心得がない人でもフォトショップを使えば、それらしいグラデーションをつけることができます。ただ、処理は全てフォトショップがするとしても、「グラデーションとはどのような処理か」といった知識は必要です。これと同様に、よく使うライブラリについて「これはどのような処理が行われるのか」というのを理解しておく必要があります。
まとめ:
データサイエンティストには、大量のデータをPythonやRでプログラミングする力が求められます。エクセルでもデータ分析はできますが、効率や汎用性の高さを考えれば、PythonやRを身につけたほうがいいでしょう。そのためには「基本操作」「データの前処理」「よく使うライブラリ」の3つを理解しておく必要があります。
データエンジニアリングを学ぶ具体的な教材などについては、別記事文系ビジネスパーソンにおすすめの学習教材「データエンジニアリング」で紹介しています。