『Pythonではじめる時系列分析入門』の特徴は著者がまとめているように以下の三点です。
- 理論とPython実装をバランスよく学べる、初心者向け入門書である
- 古典的な技術から、比較的新しい手法まで解説してる
- 実践的な実装技術や分析におけるTipsについても解説している
Pythonのサンプルコードは著者のサポートページにリンクのあるGithubからダウンロードできます。Pythonを動かす環境の構築方法は本の第2部に解説してあります。著者の言う通り、venvを新しく作ってそこに必要なライブラリを一括でインポートしてJupyter Notebookで動かすのが良いと思います。ライブラリの一括インポートの仕方も解説してあります。私の場合、既にAnacondaをインストールしていたせいか、venvからJupyter Notebookを開こうとしてもAnacondaから開かれてしまって混乱しましたが、一度venv内で「pip install notebook」としてインストールしてからは問題なくvenvのJupyter Notebookが動き、Pythonのサンプルコードも問題なく動きました。
内容としては、初心者向け入門書ということで、一変数の時系列に絞って、古典的かつ単純な予測手法から、季節調整とトレンド除去、指数平滑法、sktimeによる実装、交差検証法、Box-Jenkins法(ARMA、ARIMA、SARIMAX)、モデル選択、単位根検定、そして状態空間モデルまで丁寧に解説されていきます。
ライブラリとしてはsktimeとstatsmodelsを主に利用しています。「本書ではstatsmodelsで理論を学び、sktimeで実用的な実装をするという役割分担としています」。
第6部では機械学習法としてLightGBMやニューラルネットワークと深層学習が解説してあるのもうれしいところです。
初心者向け入門書ということで、文章も直感的に理解できるように分かりやすく丁寧に書かれていて、ところどころで数式を補足するスタイルになっています。一方で、VARなどの多変量解析などは思い切って省かれています。
まとめると、Pythonで時系列分析を始めたい人にとっての最適な一冊としてお勧めです。