シリーズ「データ分析入門」第10回:初心者から実践的データサイエンティストになるための勉強法とおすすめ書籍10選!!

みなさん、こんにちは。デジタルボーイです。今回はシリーズ「データ分析入門」の最終回として、初心者におすすめのデータサイエンティストになるためのおすすめの勉強法とおすすめ書籍について解説したいと思います。

ちなみに、今回紹介する本については、すべて、僕が実際に購入し読んだ書籍に限って紹介しています。そのため、世の中にある良い本も、ご紹介できていない点はご了承ください。

記事を書いた人

デジタルボーイです。
データサイエンス歴20年以上のおっさんです。中小企業診断士として、データサイエンス、WEBマーケティング、SEOに関するデータ分析、コンサルティングの仕事をしています。自己紹介の詳細はコチラ

目次

データサイエンスの上達のコツはできるだけツールを使うこと!

みなさん、データサイエンティストとは、どのような人をイメージしますか?

ちなみに、ChatGPTに「一般的な普通の日本人で、会社員で、データサイエンティストである人が、仕事をしている画像を作って」とお願いしてみるとこんな画像を作ってくれました。

みなさんの想像するデータサイエンティストとは近いですか?遠いですか?少なくとも、データ分析ツールをPCで使っている様子は、多くの人が想像するデータサイエンティストのイメージではないでしょうか?

僕が考える、データサイエンティストとして最低限必要なスキルは「データ分析ツールをむちゃくちゃ使いこなせること」だと考えています。もし、このスキルがあれば、会社でもビジネスでも通用できると思います。

一方で、大学で数学科などを卒業した人に多いのですが、「統計学や数学の高度な知識は持っていても、実際にデータ分析ツールがあまり使えない」という人にも会ったことがあります。大学などの研究機関では「統計学や数学の高度な知識」で素晴らしい研究者になれるのですが、実際のビジネスの場面では、残念ながら知識だけで活躍できる場面はほとんどありません。

そのため、僕自身は、社会でデータサイエンティストとして活躍するためには、まず第一にデータ分析ツールを使いこなせるスキルを身につけることだと考えています。そのため、これからデータサイエンティストを目指される方は、データ分析ツールを使いこなすということをはじめの目標に勉強をしていただければと思います。今回の記事も、データ分析を使いこなすことを前提とした、書籍のご紹介となります。

また、データ分析のツールについては、こちらにも記事を書いていますのでよかったら見てください。

現代のデータサイエンス勉強法

僕がデータ分析を始めたのは大学に入ってからで、2000年くらいでした(おっさんです)。その頃はどんな世の中だったかというと、インターネットがやっと一般人にも普及し出した頃でした。そのため、データ分析のノウハウや知識はほぼ、書籍から入手する以外にはありませんでした。

2000年ごろのデータ分析の情報源
書籍 > インターネット

ところが、今はどうでしょうか?データ分析のための知識はネット上に非常にたくさんあり、また、PythonやRといった高機能な統計ツールもインターネットから無料でダウンロードでき、マニュアルもインターネット上で閲覧できます。また、最新のデータ分析ツールの情報は書籍ではなく、インターネットで入手しなければなりません。このような状況では、2000年ごろと比較すると、データ分析関連の情報はインターネットの方が情報量でも鮮度でも、書籍の情報量を上回っていると言えます。

現在のデータ分析の情報源
書籍 < インターネット

このような点から、現在では、データサイエンスの情報を入手しようとした場合、まず初めに、インターネットから入手する癖をつけるといいでしょう。

ChatGPT時代のデータサイエンス勉強法

データサイエンスを勉強する際に、ここ数年で、さらに環境が変わりました。それはChatGPTの存在です。データサイエンスの学習をする際、自分のやりたいことをプログラムしようとした場合、かなりの精度で再現してくれます。

例えば、こんな命令をChatGPTにしました。

ChatGPTへの命令
df_resultは以下のカラムを持つ、時系列の株データである。
「date code next_open next_date long short」
codeは銘柄コードである。
カラムlongがtrueの場合、購入シグナルであり同一行のnext_openが購入金額、next_dateが購入日である
カラムshortがtrueの場合、売却シグナルであり同一行のnext_openが売却金額、next_dateが売却日である
各銘柄で、ある行のlongがtrueであれば、その日以降の最も近いshortがtrueの行が、当該購入に対する売却の手仕舞いである。
以上より、各銘柄における購入と売却の対となるデータを出力するサンプルコードを出せ

すると、ChatGPTは次のようなコードを返してきました(内容を理解する必要はありません)。

import pandas as pd

# df_result がすでに存在し、適切なデータを含んでいると仮定します。
# 以下のコードはその df_result を処理する方法を示しています。

# 各銘柄ごとに処理を行います。
def process_group(group):
    # 購入シグナルの行を抽出
    long_signals = group[group['long']].reset_index()
    # 売却シグナルの行を抽出
    short_signals = group[group['short']].reset_index()
    
    # 購入と売却のペアを格納するリスト
    pairs = []
    
    # 購入シグナルごとに対応する売却シグナルを探す
    for _, long_row in long_signals.iterrows():
        # 購入日以降の売却シグナルをフィルタリング
        potential_shorts = short_signals[short_signals['date'] > long_row['date']]
        if not potential_shorts.empty:
            # 最も近い売却シグナルを選択
            short_row = potential_shorts.iloc[0]
            pairs.append((long_row['date'], long_row['next_open'], long_row['next_date'],
                          short_row['next_open'], short_row['next_date']))
    
    # ペアのリストをデータフレームに変換
    pairs_df = pd.DataFrame(pairs, columns=['Buy_Date', 'Buy_Price', 'Buy_Next_Date', 'Sell_Price', 'Sell_Next_Date'])
    return pairs_df

# code ごとにグループ化し、上記の処理を適用
result_pairs = df_result.groupby('code').apply(process_group).reset_index(drop=True)

print(result_pairs)

このPythonコードを実際に自分のPCで動かすと、見事、思い通りの結果を返してくれました。さらに、こんなお願いをしました。

ChatGPTへの命令
上のコードに対して、他にもっと早いやり方はない?

するとChatGPTは次のように、修正したPythonコードを返してくれました(内容を理解する必要はありません)。

import pandas as pd

# df_result の long が True か NaN であるとき、NaN を False に変換
df_result['long'] = df_result['long'].fillna(False)
df_result['short'] = df_result['short'].fillna(False)

# 購入シグナルと売却シグナルのみを抽出
longs = df_result[df_result['long']]
shorts = df_result[df_result['short']]

# 'code' と 'date' でソート(必要に応じて)
longs = longs.sort_values(['code', 'date'])
shorts = shorts.sort_values(['code', 'date'])

# merge_asof を使用して最も近い売却シグナルを購入シグナルにマッチング
merged = pd.merge_asof(longs, shorts, by='code', on='date', suffixes=('_buy', '_sell'),
                       direction='forward')

# 結果の表示(必要なカラムのみを選択)
result_pairs = merged[['code', 'date_buy', 'next_open_buy', 'next_date_buy', 
                       'next_open_sell', 'next_date_sell']]

print(result_pairs)

このコードは先述のコードよりもすっきりしており、かつ、処理スピードも速く思ったとおりの結果を出してくれました。もちろん、質問の仕方によっては、思い通りの結果を返してくれなかったり、正しい回答をしない場合もあります。しかし、ちょっとした調べ物をしたい場合、インターネットで検索してやり方をいろんなサイトで探すことに比べると、格段に調べ物のスピードは速くなりました。

そのため、データサイエンスを勉強する際は、ChatGPTは必須のツールだと言えます。以上を元に、データサイエンスを勉強する際の僕なりのおすすめのやり方について整理したいと思います。

ChatGPT時代のデータサイエンス勉強法:

  • データ分析入門者は、自分が使うデータ分析ツールを早い段階で決めてしまう!!
  • 書籍は、全体像をざっと、わかりやすく勉強したい場合など、最小限に抑える!!
  • 入門書を勉強した後は、実データとツールを使って、どんどん分析しながら勉強すること!!
  • 分析については、わからない点は積極的にChatGPTを使い、効率化を目指す!!
  • 体系的に理解したい場合は、インターネット上のマニュアルなどの公式情報に普段からあたるようにする

以上のように、データサイエンスを勉強する場合、購入する書籍は最小限に抑えることが実は、データ分析上達のカギだと思います。

この前提のもと、最小限度のおすすめ書籍に絞って、紹介していきますね!

また、勉強用の実データについての記事や、データサイエンティストに必要なスキルについてはこちらにも参考記事を書いていますので、よかったら見てくださいね

データサイエンスおすすめ書籍10選!!

以下ではデータサイエンス関連のおすすめ書籍をご紹介します。Amazonへのリンクは貼っていますが、当サイトはアフェリエイトは一切やっておらず、このサイトにAmazonからの入金はありませんwww

データ分析の初歩の初歩

データ分析の基礎については、多くの名著がありますが、その中でも一つだけおすすめしたいと思います。今まで、算数や数学に遠のいていた方にとっては、以下の本については、入門書といっても正直、非常に難解だと感じると思います。しかし、何度も何度も熟読することで、理解できる内容だと思います。そのため、次の本については、一回読んだだけで、理解するものだとは、絶対に思わずに、長年、何度も熟読するつもりで、挑んでみてください!

タイトル:「心理統計学の基礎」
おすすめ度:★★★★★

この本は僕がデータ分析の入門者だった頃に勉強した本で、今から20年以上も前の2002年初版の本です。ちなみに、この記事を書くにあたって、評判の良いデータ分析の入門書を実際に、かなりの冊数を購入し、読んでみました。しかし、残念ながら、僕が調べた限り、本書を超える入門書は見当たりませんでした。

2002年に比べて、データサイエンスを取り巻く状況は大きく変わっています。ただし、入門者が身につけるべき統計的な入門的な知識はほとんど変わっていません。そして、本書の有用性は、出版当初に比べ現在でも見劣りするするものではないと断言します。

勉強の仕方としては、次のように読んでみるといいでしょう。

  • 算数や数学が苦手な人・・・頑張って4章まで何度も熟読しましょう
  • 算数や数学が普通の人・・・8章までを何度も熟読しましょう
  • 算数や数学が好きな人・・・全章読破してみましょう。

統計関連の書籍は一度読んで身につくものでは、決してありません。そのため、何度も何度も、読み返しながら理解していくものと考えてください。

ちなみに、この本は、著者が在籍した大学の教育学部で心理学を勉強する学生向けの統計学の教科書ですが、当時の心理学で統計学に入門する学生の多くは、本書のお世話になっていました。文系学部の学生向けの教科書ということもあり、非常に丁寧な説明がされている名著です。また、著者に限らず、心理学関連の統計・データ分析の書籍は、文系学部生向けの書籍のため、数式だけでどんどん理論を展開する理系的な書籍と異なり、非常に丁寧な入門書の名著が多いです。

Pythonをメインツールとして使う方向け

Pythonについては、Python言語の「文法の学習」「Pythonによるデータ分析」の2つの観点で学習するといいでしょう。本記事でも2つの観点からご紹介します。

1. Python言語の入門書

Python言語の勉強のやり方としては、「Pythonの公式サイトのチュートリアルを一通り実際にやってみること」、これを当面の目標としてください。ただし、チュートリアルをこなしていく中で、初心者にとってわかりにくいところや疑問に思うところがあると思います。この点について、インターネットの情報やChatGPTなどと一緒に、入門書を並行で読みながら学習する、というスタンスでいいでしょう。

タイトル:「基礎Python」「Python基礎入門」
初心者おすすめ度:
★★★

Python言語の文法的な入門書2冊です。とは言え、正直、Pythonの文法的な入門書については、特にどれがいいというものはありません。なんでもいいかなと思っています。その中で、左の「基礎Python」はKindleアルティメットに登録している方は0円で読めるという点で、おすすめです。右の「Python基礎入門」は他書に比べて出版年月日が新しく、情報が新しいためという点で、おすすめです。あくまで、チュートリアルを主たる学習教材と考えて、参考書として活用してもらえればいいと思います。

2. Pythonによるデータ分析入門書

タイトル:「Python実践データ分析100本ノック」
初心者おすすめ度:★★★★★

Pythonでデータの加工や集計、データ分析を行う上で必要な基本的な知識がコンパクトにまとまっています。これからPythonデータ分析を始めようという方には特におすすめです。おすすめの勉強の仕方ですが、ひと昔前でしたら写経(本に書いてあるプログラムを実際に自分で打ち込んで動かしてみる)をお勧めしていましたが、ChatGPTの存在する現在、写経が最良の学習法であるのか、僕も自信がありません。そのため、最速で本書を学習することを目的とするなら、「本書の内容を一通り理解した後、ChatGPTに命令することで本書のブログラムをChatGPTである程度、再現できるようになること」を目標としてみるといいと思います。

例えば、本書にはCSVファイルを読み込んで最初の10行をアウトプットするプログラムが掲載されてます。そのコードを何も本を読まずにプログラミングできるのがベストかもしれませんが、ChatGPTで同様の処理が行えるコードを生成させれれば、それでも十分データ分析は可能です。例えば、こんな風にChatGPTに命令してみます。

ChatGPTへの命令分:
Pandasを使い、カレントディレクトリのcustomer_master.csvというファイルを読み込み、最初の10行を出力するpythonサンプルコードを作れ

すると、以下のようにChatGPTは返してくれました。

import pandas as pd

# CSVファイルを読み込む
df = pd.read_csv('customer_master.csv')

# 最初の10行を出力する
print(df.head(10))

本書のプログラムと同等のプログラムをChatGPTが生成しました。この状況を、「書籍内容をChatGPTで再現できた」というように、本記事では定義したいと思います。そして、本書の100の例に対して、ChatGPTで思い通りに再現できれば、学習できたとみなしていいと僕自身は考えます。ChatGPTで思い通りにPythonコードが再現できれば、その後はどんどん、実データで分析を進めていくことをお勧めします。

タイトル:「Kaggleで勝つ データ分析の技術」
初心者おすすめ度:★★★★

本書はデータ分析コンペディションであるKaggleのデータを元に、機械学習について解説した本です。データの予測精度を上げるためのデータの加工や工夫(特徴量エンジニアリング)については本当に参考になりました。特に、これまでの予測の本といえば、多くが伝統的な「時系列モデル」を扱った書籍であるのに対して、本書では時系列モデルについては一切触れていません(多分)。この点から、個人的にはこの本は、「新時代の予測のための本」の最初にして最高の書籍と言って、過言ではないでしょう。本書は、非常に実践的で具体的な内容の良書と言えます。データ分析コンサルとして仕事をする上では、個人的には必須の本だと思っています。出版年は2019年とやや古いため、コードについてはChatGPTでプログラムを再現しながら楽手を進めていくといいでしょう。

R言語をメインツールとして使う方向け

R言語は、Ptyhonと異なり、システム開発のための開発言語としては利用されません。データ分析や統計解析に特化したプログラミング言語になります。そのため、Pythonと異なり、R言語そのものの文法の学習は不要です。R言語の場合は、いきなりデータ分析の勉強から突入して構いません。

一方で、Pythonに比べてると比較的アカデミックな利用者が多いように思います。そのようなことから、WEB上では、一般の方向けのチュートリアルの決定版のようなものが、見当たりません。その分、以下の書籍でチュートリアルの学習も兼ねてしっかりと学習することをお勧めします。

タイトル:「R/RStudioでやさしく学ぶプログラミングとデータ分析」
初心者おすすめ度:★★★★★

ひと昔前は、RはRコンソールという文字だけの画面で分析していましたが、最近ではRStudio(あーるすたじお・あーるすてゅーでぃお)というGUIベースの統合開発環境を利用するケースも増えています。これからRを学習されたいとう方はRと一緒にRStudioの導入もぜひおすすめします。そして、本書はRやRStudioの導入・環境構築から、基本的な文法と、データの加工集計分析まで一通りこなせる内容となっています。特にRStudioを前提とした解説や、分析ツールの使い方も触れている、入門書としての良書と言えます。学習のやり方としては、本書の前半で触れているRとRStudioの環境構築を自身のPCでも実際に行い、ツールの使い方をしっかりと習得し、その後はひと通り内容を学習し、あとは必要に応じて、ChatGPTで再現できるようにしておけばOKです。その後はどんどんじつデータで分析を進めていきましょう。

ちなみに、Rの環境構築についてはこちらにも記事を書いていますので、参照ください。

Excel /Accessをメインツールとして使う方向け

職場などで、データ分析ツールとしてPythonやRを使えず、ExcelやAccessを使って分析をする必要がある方は結構いらっしゃると思います。ExcelやAccessを使っても十分分析は可能です。Excelを使った分析の最大のメリットは操作に慣れているという点でしょう。オフィス勤務の方でしたら誰もが使っているツールですからね!

一方、難点としては、PythonやRのようにプログラムでツールを操作するのではなく、GUIを主にクリックでツールを操作する必要があるため、ChatGPTによるプログムの再現の恩恵に預かれないという点です。そのため、学習にあたっては、書籍で触れてあることをきちんと実際に自分でもPCで操作をなぞって、勉強することが重要だと考えます。

タイトル:「データ分析の教科書」
初心者おすすめ度:★★★★★

データ分析の初歩についてExcelを使いながら、非常に丁寧に解説している書籍です。パン屋を例にしたデータの分析というストーリーに基づいた内容のため、その点はわかりやすいでしょう。特に、売上データだけでなく、人件費データや製造データなど様々なデータを例にパン屋の経営を分析するような書籍は、僕自身は見たことがなく、この点は唯一無二のExcel分析の書籍と言えるでしょう。

ただし、Excelという操作性の関係上、かなりの紙面をExcelの操作に費やさなければならず、この点はPythonやRの書籍に比べて、ゴチャゴチャしていて読みにくいと感じる方もいるでしょう。とはいえ、内容的には申し分なく、Excelによるビジネスデータ分析の入門書としては良書であり、Excelでこれから分析をしようと思う方にとっては、必須の書籍と言えます。

タイトル:「できるAccessクエリ データ抽出・分析・加工に役立つ本」
初心者おすすめ度:★★★

Excelでデータ分析する際、データ件数を1万件を超えたあたりから、処理が重くなるなどして、かなりストレスが増えてきます。このような場合、データの処理、加工については予めAccessで行い、最後の分析だけExcelで行うなどの工夫が必要となります。そのため、Excelをメインツールとされる方は、Accessによるデータの加工・集計についても知っておいて損はないでしょう。

上記の書籍はAmazonアルティメット会員であれば無料で読むことができます。また、紙面もフルカラーで、ツールの操作説明も非常に事細かに書いており、親切丁寧な書籍です。事例については81のレッスンからなっており、このレッスンをトレースすることができれば、Accessでのデータ処理は一通り学習できる内容になっています。

特に第8章はデータの分析と集計に関して解説しており、データのグルーピングによる集計やクロス集計について解説しています。この箇所がきちんと習得できれば、Accessで集計・分析は実行してしまい、Excelはグラフのためのツールとして使うということも可能です。ちなみに、僕も大昔、電通関連の仕事をしていた時は、その会社がAccessとExcelしか導入していなかったため、大量データをAccessでほとんど集計し、最後の最後でExcelのピボットテーブルで表を作り、パワーポイントに貼り付けて、資料を作るということをやっていました。

データサイエンスで使う数学

データサイエンスを行う上で、数学は必ず必要かといえば、そんなことはありません。ツールが発達した現在、数学的に理解しなくとも、ツールでデータ分析は可能です。車の内部構造を理解しなくとも、車の運転はできるようなものですね。

とは言え、数学を知っておくことは損ではありません。例えば、ディープラーニングの画像処理で認識精度を上げたいと考えた場合、ディープラーニングの内部構造を理解することは、認識精度を向上させるのに非常に役に立ちます。ディープラーニングのモデルの内部構造を理解するために、書籍を紐解いていくと、どうしても統計学や数式にぶち当たります。

この際、文系学部だったり、大学で数学を学んでいない方は、もお、お手上げかというとそうではありません。基本的な統計学やデータ分析で使う初歩的な数学は、狭い範囲の学習で理解することができます。具体的には、「線形代数」と「微積分」です。この2つの分野については、理系大学生の2年生くらいの初歩的な内容を理解するだけでも、データ分析やディープラーニングや統計学の本の内容はかなりわかるようになるはずです。

そして、世の中には、データ分析や統計学やディープラーニングでよく使う数学を効率的に勉強できる書籍というものがあるんです!

タイトル:「統計学のための数学入門30講」
初心者おすすめ度:★★★★

この本は、僕が大学院を卒業し、サラリーマンになってから出会った本です。それまでは、統計学に必要な数学に絞った書籍というものはなかったため、私立文系だった僕は、線形代数や微積分については理系学生が学ぶ教科書で勉強していました。ただし、線形代数や微積分も統計に必要なものに絞った書籍ではないため、難解な概念もあり、悪戦苦闘したことを覚えています。それがサラリーマンになった後にこの本に出会って、僕は「こんなにわかりやすい数学の本があるなんて!」と、衝撃を受けました。もし、学生時代にこの本に出会っていれば、違った人生だったんじゃないかと思うくらいです。

著者は早稲田大学の理工学部の統計学の教授で、この本は、学部生向けに、統計を学ぶ上で必要な数学をできるだけ端的にわかりやすく効率よく学習してもらうために執筆したものです。そして、何が良いって、この本で出てくる線形代数や微積分の内容は、統計学で使うことを前提としているため、いちいち、「この理論は統計のコレコレで使われている」というように理論の目的を教えてくれるんです。これは文系の僕にとってはとてもありがたく、勉強する上でモチベーションの維持にも効果があります。

もし、しっかりと統計に必要な数学について勉強してみようと思われる方は、この本は、非常におすすめです!

コンサルティングノウハウ

もし、あなたが将来、データ分析コンサルとして独立を考えている場合、コンサルティングノウハウは必須のスキルと言えます。なぜなら、多くの場合、企業はデータ分析を依頼する場合、そのニーズは「データ分析をやってもらいたい」ではなく「データ分析を行い我が社にとって経営を改善したい」からです。そのため、単にデータ分析ができるだけでなく、データ分析を行なったとに、その結果をどのようにビジネスに繋げ効果を上げるのか、提案できるスキルが必要です。

正直、この点については、書籍を読むだけで身につくものではなく、日々の仕事やらお客さんとの接し方で学ぶことが多いです。とは言え、全く勉強できないかというとそうでもありません。次の書籍は経営コンサルティングのバイブルと言われている書籍です。

タイトル:「経営コンサルティング」
初心者おすすめ度:★★★★★

この本は、経営コンサルティングを行う際の手順や、契約のやり方などについて紹介せれています。正直、ここに書かれてあるコンサルの手順を実際にトレースできるかというと、僕はできないため、ここで書かれているよりも、もう少し簡易的なやり方で進めています。ただ、僕自身は、この本については定期的に読み返すようにしています。この本は、僕自身が行なっているコンサルの進め方を毎年アップデートするためのヒントをくれる書籍と言えます。

また、みなさんにとって、この書籍に書いてある標準的なコンサルの手順を頭の中に入れておくことは、コンサルを目指す上で有効です。日々の仕事で、自分がコンサルとして独立した場合、「こんな感じで進めるんだけどな〜」とイメージするだけでも、トレーニングになります。コンサルの手順をイメージしながら仕事をすることで、コンサルとしての考え方や発想を取り入れ、コンサルスキルが蓄積されるのだと思います。そのため、この書籍を読むことで、コンサルスキルが身につくというものではなく、コンサルスキルを身につけるための土台を作るために、この本を読むというような姿勢で挑んでいただけるとベストだと思います。きっと、数年後、分析コンサルとして独立する際は、役に立つはずです。

まとめ

以上がデータサイエンティストになるためのおすすめ書籍です。今回の書籍については僕が実際に読んでおすすめできるものに限っているため、学生時代に読んだものなど、若干古いものがありますが、書籍として古くとも、内容として古いものを紹介はしていないつもりです。今でも十分役に立つ、名著ばかりをです。

ぜひ、参考にしていただき、データサイエンティストとしての道を歩んでくださいね!

目次