実践 時系列解析
――統計と機械学習による予測

[cover photo]
  • 2021年09月 発行
  • 484ページ
  • ISBN978-4-87311-960-1
  • 原書: Practical Time Series Analysis
  • フォーマット 本 PDF EPUB

オライリー・ジャパンで書籍を購入:
定価3,960円

Ebook Storeで電子版を購入:
価格3,168円

時系列データが使われる範囲は広く、医療データ、金融分析、経済予測、天気予報など、さまざまな分野で使われています。本書は時系列データを通してデータ解析手法を学んでゆくアプローチで、データのクリーニング、プロットの方法、入出力など基本的なトピックについてひととおりカバーしてから、さまざまな分野の事例を数多く取り上げ、統計的手法と機械学習手法の両方を時系列データに適用し、また人気のオープンソースツールも積極的に取り入れた手法を紹介します。プログラムにはRとPythonの両方を利用。データセットやコードはGitHubからダウンロード可能です。

関連書籍

NumPyによるデータ分析入門
Pythonによるデータ分析入門 第2版
エレガントなSciPy

はじめに

1章 時系列の概論と簡単な歴史
    1.1 時系列の多様な用途の歴史
        1.1.1 時系列問題としての医学
        1.1.2 気象予測
        1.1.3 経済成長の予測
        1.1.4 天文学
    1.2 時系列解析の人気に火がつく
    1.3 統計的時系列解析の起源
    1.4 機械学習を用いた時系列解析の起源
    1.5 参考文献

2章 時系列データの見つけ方と前処理
    2.1 時系列データをどこで見つけるか
        2.1.1 前処理済みデータセット
        2.1.2 発掘した時系列データ
    2.2 表データの集合から時系列データの集合を作成する
        2.2.1 事例:収集した時系列データを組み立てる
        2.2.2 発掘した時系列の構築
    2.3 タイムスタンプ処理のトラブル
        2.3.1 何のタイムスタンプか
        2.3.2 データを理解するためにタイムスタンプをあて推量する
        2.3.3 意味のあるタイムスケールとは何か
    2.4 データのクリーニング
        2.4.1 欠損値の処理
        2.4.2 アップサンプリングとダウンサンプリング
        2.4.3 データの平滑化
    2.5 季節性データ
    2.6 タイムゾーン
    2.7 先読みの回避
    2.8 参考文献

3章 時系列の探索的データ解析
    3.1 よく使用される手法
        3.1.1 プロット
        3.1.2 ヒストグラム
        3.1.3 散布図
    3.2 時系列専用の探索的手法
        3.2.1 定常性とは
        3.2.2 ウィンドウ関数の適用
        3.2.3 自己相関の理解と識別方法
        3.2.4 擬似相関
    3.3 知っていると便利な可視化手法
        3.3.1 1次元の可視化
        3.3.2 2次元の可視化
        3.3.3 3次元の可視化
    3.4 参考文献

4章 時系列データのシミュレーション
    4.1 時系列のシミュレーションの特殊性
        4.1.1 シミュレーション対予測
    4.2 コードで見るシミュレーション
        4.2.1 自分で作業を行う
        4.2.2 自動で走るシミュレーション世界を構築する
        4.2.3 物理シミュレーション
    4.3 シミュレーションについて最後に一言
        4.3.1 統計シミュレーション
        4.3.2 ディープラーニングシミュレーション
    4.4 参考文献

5章 時間データの保管
    5.1 要件の定義
        5.1.1 ライブデータ対保管データ
    5.2 データベースを使った解決策
        5.2.1 SQL対NoSQL
        5.2.2 人気の高い時系列データベースとファイルを使った解決策
    5.3 ファイルを使った解決策
        5.3.1 NumPy
        5.3.2 pandas
        5.3.3 標準Rの代用品
        5.3.4 Xarray
    5.4 参考文献

6章 時系列に使える統計モデル
    6.1 線形回帰を使わない理由
    6.2 時系列用に開発された統計的手法
        6.2.1 自己回帰モデル
        6.2.2 移動平均モデル
        6.2.3 自己回帰和分移動平均モデル
        6.2.4 ベクトル自己回帰
        6.2.5 統計モデルのバリエーション
    6.3 時系列用の統計的手法の長所と短所
    6.4 参考文献

7章 時系列に使える状態空間モデル
    7.1 状態空間モデルの長所と短所
    7.2 カルマンフィルタ
        7.2.1 概要
        7.2.2 カルマンフィルタのコード
    7.3 隠れマルコフモデル
        7.3.1 モデルの仕組み
        7.3.2 モデルの当てはめ方
        7.3.3 コードを使ってHMMを当てはめる
    7.4 ベイズ構造時系列モデル
        7.4.1 bsts用のコード
    7.5 参考文献

8章 特徴量の生成と選択
    8.1 簡単な例
    8.2 特徴量の計算で一般に考慮すべきこと
        8.2.1 時系列の特性
        8.2.2 領域知識
        8.2.3 考慮すべき外的なこと
    8.3 インスピレーションを得るための特徴量が見つかる場所のカタログ
        8.3.1 オープンソースの時系列特徴量生成ライブラリ
        8.3.2 領域特化型特徴量の例
    8.4 生成した特徴量から選ぶ方法
    8.5 結びの考察
    8.6 参考文献

9章 機械学習による時系列解析
    9.1 時系列の分類
        9.1.1 特徴量選択と生成
        9.1.2 決定木手法
    9.2 クラスタリング
        9.2.1 データから特徴量を生成する
        9.2.2 時間を意識する距離計量
        9.2.3 クラスタリングのプログラム
    9.3 参考文献

10章 ディープラーニングによる時系列解析
    10.1 ディープラーニングの概念
    10.2 ニューラルネットワークのプログラミング方法
        10.2.1 データ、記号、演算、層、グラフ
    10.3 訓練用パイプラインの構築
        10.3.1 データセットの検分
        10.3.2 訓練用パイプラインの手順
    10.4 フィードフォワードネットワーク
        10.4.1 単純な事例
        10.4.2 アテンション機構を使ってフィードフォワードネットワークにもっと時間を意識させる方法
    10.5 CNN
        10.5.1 単純な畳み込みモデル
        10.5.2 もう1つの畳み込みモデル
    10.6 RNN
        10.6.1 電力使用量の事例の続き
        10.6.2 オートエンコーダによる技術革新
    10.7 アーキテクチャの組み合わせ
    10.8 本章のまとめ
    10.9 参考文献

11章 誤差の測定
    11.1 予測の検証方法の基本
        11.1.1 バックテストのモデル別考慮事項
    11.2 予測はいつ十分に良いとみなせるのか
    11.3 シミュレーションを行ってモデルの不確実性を推定する
    11.4 複数タイムステップ先の予測
        11.4.1 関心限界に直接当てはめる
        11.4.2 遠い時間限界に対する再帰的方法
        11.4.3 時系列に適用したマルチタスク学習
    11.5 モデル検証の落とし穴
    11.6 参考文献

12章 時系列モデルの当てはめと提供の性能に関する考慮事項
    12.1 より一般的なユースケース向けのツールを使って作業する
        12.1.1 横断面データ用に構築されたモデルは、サンプルを超えてデータを「共有」しない
        12.1.2 事前計算をしないモデルはデータ測定と予測生成の間に無用なラグを生む
    12.2 データ保存形式の長所と短所
        12.2.1 データをバイナリ形式で保存する
        12.2.2 データの上を「スライド」できるようにデータを前処理する
    12.3 性能の考慮に合わせて解析を修正する
        12.3.1 手持ちの全データを使うことが必ずしもよいとは限らない
        12.3.2 複雑なモデルが常に複雑さに見合うほど成績がよいわけではない
        12.3.3 その他の高性能ツール
    12.4 参考文献

13章 ヘルスケア分野への適用
    13.1 インフルエンザ予測
        13.1.1 ある都市部のインフルエンザの事例研究
        13.1.2 インフルエンザ予測の最先端とは
    13.2 血糖値の予測
        13.2.1 データのクリーニングと探索
        13.2.2 特徴量生成
        13.2.3 モデルの当てはめ
    13.3 参考文献

14章 金融分野への適用
    14.1 金融データの取得と探索
    14.2 ディープラーニング用の金融データの前処理
        14.2.1 生の値に注目している量を追加する
        14.2.2 先読みを含めずに注目している量をスケーリングする
        14.2.3 ニューラルネットワーク用にデータを整形する
    14.3 RNNの構築と訓練
    14.4 参考文献

15章 政府機関が公表する時系列
    15.1 政府が公表するデータの入手方法
    15.2 時系列ビッグデータの探索
        15.2.1 データを処理しながらアップサンプリングと集約を行う
        15.2.2 データのソート
    15.3 時系列データのオンライン統計分析
        15.3.1 残りの質問
        15.3.2 さらなる改良
    15.4 参考文献

16章 時系列パッケージ
    16.1 大規模予測
        16.1.1 Googleの産業的な社内予測
        16.1.2 FacebookのオープンソースのProphetパッケージ
    16.2 異常値検出
        16.2.1 Twitterのオープンソース異常値検出パッケージ
    16.3 他の時系列パッケージ
    16.4 参考文献

17章 予測の予測
    17.1 サービスとしての予測
    17.2 ディープラーニングによる確率的な可能性の強化
    17.3 統計学に代わる機械学習の重要性の増加
    17.4 統計学と機械学習の手法の組み合わせの増加
    17.5 日常生活にかかわる予測の増加

索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]