『時系列分析と状態空間モデルの基礎:RとStanで学ぶ理論と実装』のサポートページです。

本書に使用したサンプルデータとR,StanのコードはすべてGitHubから参照できます。
緑色の「Clone or download」というボタンをクリックしてから「Download ZIP」をクリックすると、すべてのファイルをZIP形式でダウンロードできます。
書籍のサンプルコードとデータ

 
注意事項(2018年4月15日追記)
第5部11章(p272)のautoplot関数の実行時にエラーとなった場合は、RStudioを再起動したうえで、以下のコードを実行してみてください。
zooパッケージの仕様変更に伴い、グラフが正しく描画できなくなるエラーはこれで解決できるはずです。

 


時系列分析と状態空間モデルの基礎:
RとStanで学ぶ理論と実装



 
ハヤブサの表紙が目印です。
Twitterでは「#隼時系列本」のハッシュタグをお使いください。

Amazonでは在庫切れで価格が高騰することがあります。
定価は消費税8%で2700円です。ご注意ください。
 

丸善さん/ジュンク堂書店さんの在庫はこちらから確認できます。
紀伊国屋書店さんの在庫はこちらから確認できます。
書店に置かれていなくても、取り寄せてもらうことができるはずです。

出版社のWebサイトから直接購入することもできます。
送料は無料で後払いです。
出版社のWebサイトはこちらです

基本情報

  • 出版社  : プレアデス出版
  • 著者   : 馬場真哉(このサイト、Logics of Blueの管理人です)
  • タイトル : 時系列分析と状態空間モデルの基礎:RとStanで学ぶ理論と実装

2018年2月中旬発売。
2018年4月に重版となりました(2018年4月15日追記)。

かなり詳細に目次やR関数一覧を作っています。
書籍を購入されるかどうか、こちらを見てご判断いただいても良いかと思います。

2018年2月7日追記
本文の1部を公開しました。状態空間モデルを推定するためのパッケージであるKFASの使い方に関する内容です。
第5部8章ー実装:KFASの使い方

2018年4月15日追記
出版社のサイトから、第1部の1~2章を試読することができるようになりました。
お勧め書籍|プレアデス出版

 

書籍の特徴

Box-Jenkins法と状態空間モデルという、時系列分析の二大フレームワークを一気に学べる、時系列分析の入門書です。状態空間モデルは、線形ガウス状態空間モデルだけでなく、一般化状態空間モデルについても言及しました。
また、見せかけの回帰・VARモデル・GARCHモデルといった重要なトピックも併せて解説。
時系列分析を初めて学ぶという方でも、基礎から応用まで順を追って学べます。

全体を通して「時系列モデルの”考え方”」がつかめるように配慮しました。
そのため、第1部では分析ツールの話は出てこず、データ生成過程の解説から始まります。この方が、最終的には実務においても役に立つと信じています。

もちろんタイトルの通り、RとStanを用いた実装の仕方も解説しています。forecastやKFASパッケージを用いた効率的な分析、ggplot、ggfortifyによる美麗なグラフ、そしてStanを用いたベイズモデリングを学びます。

 

書籍の内容

タイトル「時系列分析状態空間モデル」の通り、全体の半分が状態空間モデルで、残りの半分がBox-Jenkins法などの時系列モデルの解説となっています。

状態空間モデルの前座としてARIMAの紹介を挟んでいるわけではありません。
この本では、データの変換やARIMA次数の決定方法、季節性・外生変数の組み込み方、モデルの残差チェックなど、Box-Jenkins法を使いこなすための様々な技術を解説しています。
Box-Jenkins法は「時系列データをどのように分析するか」という知恵と工夫の集積です。Box-Jenkins法を学ぶことで、データの定常性や和分過程といった基礎概念や残差の自己相関のチェックといった実務的な技術を体系的に学ぶことができます。

もちろん状態空間モデルも指数を割いて解説しています。
状態空間モデルはやや複雑な概念です。そのため、状態空間モデルの導入・線形ガウス状態空間モデル・一般化状態空間モデルと3つの部に分けて解説を行いました。

線形ガウス状態空間モデルを学ぶパートでは、ローカルレベルモデルを対象として、カルマンフィルタと散漫カルマンフィルタ、対数尤度と散漫対数尤度を、ライブラリを用いずに実装します。dlmパッケージではカルマンフィルタが、KFASパッケージでは散漫カルマンフィルタが実装されています。両パッケージでなぜ推定結果が異なるのか、その理由がわかるはずです。
また、ローカル線形トレンドモデルなどは、推定された「トレンド」の解釈で戸惑う方も散見されます。1次のトレンドや2次のトレンドという用語を学ぶだけでなく、トレンドが変化するとはどのような状況か、そもそもトレンドとは何者か、数式・日本語・シミュレーションを通して丁寧に解説します。
応用編において用いるパッケージはKFASで統一しました。dlmに関しては当サイトで様々な解説がありますし、KFASの方が実行速度が速いことが理由です。1つのパッケージに絞ることで、覚えるべき内容が減り、状態空間モデルの”考え方”に注力できるようになります。非ガウシアンなモデルはStanに譲ることで、覚えるべき文法をさらに減らしました。
代わりに線形ガウス状態空間モデル推定におけるKFASの使い方については妥協なく解説しました。パラメタ推定・フィルタリング・平滑化・予測・補間・信頼区間と予測区間の使い分け・トレンドや季節成分の抽出など、この本を読めば、KFASの基本的な使い方に困ることはないはずです。

一般化状態空間モデルを学ぶパートでは、「ベイズの定理とは何か」という基本から解説をはじめます。ベイズ推論においてなぜ乱数生成アルゴリズムが必要なのか、そしてハミルトニアンモンテカルロ法はどのようにして効率的なサンプリングを可能としているのか、その概要をつかむことができます。
応用編ではランダムエフェクトの入ったポアソン分布に従うデータなどを扱います。Stanのインストールから一般化状態空間モデルの推定までしっかりと学べます。

大きなフレームワークからは外れますが、見せかけの回帰・VARモデル・GARCHモデルといった「時系列分析をするにあたって、是非知っておいてほしい考え方」については章を分けて解説しています。

「これはやっちゃダメ」とか「これを使うべき」とかいったルールを覚えるのではなく、そもそも「時系列データを分析するとは一体何か」を学んでほしい。
こういったことを念頭に、初めて時系列分析を学ぶ人に知っておいてほしい”考え方”を解説しました。

 

この本に載っていないこと

この本だけでは学ぶことができない内容もあります。
”考え方”の説明に注力した分、実際にスクラッチから時系列モデルを構築するような技術的な側面は大きく削りました。GARCHなどのパラメタ推定の方法についてはほぼノータッチです。
カルマンフィルタや平滑化についてもローカルレベルモデルしか解説していません。より一般的な線形ガウス状態空間モデルのカルマンフィルタの計算式などは成書に譲ることとなりました。
ベイズ推論についても同様で、あくまでもそのアイデアを述べるにとどまっています。

この本でもたびたび引用させていただいた、沖本(2010)『計量時系列分析』や野村(2016)『カルマンフィルタ』、松浦(2016)『RとStanでベイズ統計モデリング』、岩波データサイエンス刊行委員会(2017)『岩波データサイエンスVol6』といったより高度な書籍への橋渡しを狙って執筆したこともあります。隼時系列本を読んだ後にこれらの書籍を読まれると、より理解が深まるかと思います。

状態空間モデルにおいては、カルマンフィルタとMCMCによる推定方法しか記載がありません。
粒子フィルタなどの手法については言及しておりません。

また、以下の内容についても記載がありません
・facebook社のprophet
・機械学習法による時系列分析
・指数平滑化法やHolt-Winters法、X11といった統計モデル以前の潮流
データ生成過程を推定するという大きな思想から外れてしまい、全体のバランスをとることが難しいと考えたからです。

 

この本を読む前提となる知識

時系列分析は統計学の応用編です。
隼時系列本は、統計学に関する深い知識を要求しないように配慮しましたが、検定や推定、回帰分析や最小二乗法などはある程度知っておくと理解が深まります。

統計学の基礎に自信がないという方は、前著『平均・分散から始める一般化線形モデル入門』を読まれると良いかと思います。
『平均・分散から始める一般化線形モデル入門』の次に読む本として隼時系列本を提案したという経緯もありますので、難易度的にはちょうどいいはずです。表紙もほとんど同じデザインで作っていただいております。
もちろん内容に直接の関係はないですので、隼時系列本だけでも完結しています。

『平均・分散から始める一般化線形モデル入門』のサポートページ

 
 
更新履歴
2018年1月19日:新規追加
2018年2月07日:書籍本文を一部公開したため、その旨を追記。
2018年2月27日:書籍の購入方法について追記。
2018年3月09日:書籍のリンク先を変更
2018年4月15日:autoplot関数のエラー対応・出版社の試読ページへのリンク・重版した旨を追記
2018年4月25日:書籍のコードとデータをGItHubで管理するようにしたので、ダウンロード先のURLを修正