ISBN 9784254122824

Pythonによる実務で役立つデータサイエンス練習問題200+ (2) : 科学計算の基礎と予測・最適化

Pythonによる実務で役立つデータサイエンス練習問題200+ (2) : 科学計算の基礎と予測・最適化
著者
久保 幹雄
出版社
朝倉書店
刊行
2023-05

概要

SciPy・PyMC・PuLPを使った科学計算・予測・最適化をJupyterで体得する

想定読者

第1巻でNumPy/Pandas/可視化の基礎を習得済みで、ベイズ推論・数理最適化・スケジューリング最適化に踏み込みたいデータサイエンティスト・オペレーションズリサーチ実務者

こんな人には向いていない

  • PythonやNumPy/Pandasに触れたことがない初学者(第1巻の習得が前提)
  • 機械学習・深層学習の手法を主に学びたい読者(それらは第3巻が担当)
  • 数理最適化の理論・証明体系を体系的に学びたい読者(本書は問題演習中心で理論の網羅性は低い)

読了後にできるようになること

  • SciPyを用いた科学技術計算(数値積分・補間・信号処理等)をJupyter上で実装できる
  • PyMCによるベイズ推論モデルを構築し、事後分布をサンプリング・可視化できる
  • Prophetを用いて時系列データの予測モデルを組み、トレンド・季節性を分解できる
  • NetworkXでグラフ・ネットワーク構造を表現し、最短経路・クラスタリング等のアルゴリズムを適用できる
  • PuLP/Gurobiで線形計画・混合整数計画問題をモデリングし、Pythonから求解できる
  • 制約最適化システムSCOPとスケジューリング専用システムOptSeqで複雑な割り当て・順序問題を解ける

本書のキー概念(章解説)

  • 第 9 章 科学技術計算パッケージ SciPy — 数値積分・最適化・補間など幅広い機能を持つSciPyの基礎を演習形式で固める章
  • 第 10 章 PyMCによるベイズ推論とProphetによる時系列データの予測 — 確率的プログラミングと時系列予測という2つの高度なトピックを並走させる構成。Prophetのパラメータ調整まで踏み込む
  • 第 11 章 グラフ・ネットワークパッケージ NetworkX — サプライチェーン・社会ネットワーク分析など実務グラフ問題へのアプローチを体験できる
  • 第 12 章 PuLPとGurobi/Pythonによる最適化問題のモデリング — オープンソース(PuLP)と商用ソルバー(Gurobi)の両方でMILP問題をモデリングする実践演習
  • 第 13 章 制約最適化システムSCOP — 変数・制約・目的関数の定式化をSCOP固有のAPIで記述する演習。組合せ最適化の入り口として機能する
  • 第 14 章 スケジューリング最適化システムOptSeq — ジョブスケジューリング特化のシステムで、工程・資源制約を持つ問題を解く実践的な章

ハイライト

  • 実践的なPythonプログラミングをJupyter上でさらに練習。科学技術計算モジュールSciPy、PyMCによるベイズ推論とProphetによる時系列データの予測、ネットワークモジュールNetworkX、PuLPとGurobiによる最適化モデリング、制約最適化、スケジューリング最適化(第2巻の扱うトピック全体像が端的に示されており、第1巻との差分(=本巻の学習価値)が最も明確に読み取れる箇所)

編集メモ

Qiita言及0件・累計likes 0。楽天ランキング履歴の情報なし。朝倉書店の専門書シリーズとして一定の読者層はあるが、外部シグナルは確認できず supplementary と判定

読む前に押さえておきたいこと

  • Python基本文法(リスト内包表記・クラス・例外処理)
  • NumPy配列操作とPandasのDataFrame基本操作(第1巻相当)
  • 線形代数の基礎(行列・ベクトル・固有値の概念レベル)
  • 確率・統計の初歩(確率分布・期待値・ベイズの定理の概念)

学習のコツ

  • 第2巻は第1巻(NumPy/Pandas/statsmodels)の習得を前提とする設計のため、第1巻の章末問題をひと通り解いてから着手すると演習の詰まりが少ない
  • 第10章(PyMC + Prophet)は独立性が高く、ベイズ推論に関心がある読者は第9章より先に読み始めても支障がない
  • 第12〜14章はソルバー環境の構築(Gurobi ライセンス取得 / SCOP・OptSeqのインストール)に時間がかかる場合があるため、環境準備を先行させておくとスムーズ
  • Jupyter Notebookはチャプターごとにリセットして実行するとモジュールの名前空間干渉を防ぎやすい
出版社による内容紹介

1巻で学んだデータ解析の基盤技術に加えて,実践的なPythonプログラミングをJupyter上でさらに練習.[内容]科学技術計算モジュールSciPy/PyMCによるベイズ推論とProphetによる時系列データの予測/ネットワークモジュールNetworkX/PuLPとGurobiによる最適化モデリング/制約最適化/スケジューリング最適化 【全巻構成】 第1巻 1. ビックデータとアナリティクス 2. 数値計算パッケージ NumPy 3. データ解析パッケージ Pandas 4. matplotlibを用いた可視化入門 5. 対話型可視化パッケージ plotly 6. データを可視化するための方法( plotly express ) 7. Python言語先進的プログラミング 8. statsmodelsを用いた統計分析 第2巻 9. 科学技術計算パッケージ SciPy 10. PyMCによるベイズ推論とProphetによる時系列データの予測 11. グラフ・ネットワークパッケージNetworkX 12. PuLPとGurobi/Pythonによる最適化問題のモデリング 13. 制約最適化システムSCOP 14. スケジューリング最適化システムOptSeq 第3巻 15. scikit-learnを用いた機械学習 16. fastaiによる深層学習 17. PyCaretを用いた自動機械学習

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。