時間序列分析實戰:基於機器學習和統計學 Practical Time Series Analysis: Prediction with Statistics and Machine Learning

[美] 艾琳·尼爾森(Aileen Nielsen)

  • 時間序列分析實戰:基於機器學習和統計學-preview-1
  • 時間序列分析實戰:基於機器學習和統計學-preview-2
時間序列分析實戰:基於機器學習和統計學-preview-1

商品描述

時間序列在現代生活中無處不在,它也是數據分析的重要對象。本書介紹時間序列分析的實用技巧,展示如何結合機器學習方法和傳統的統計方法來分析各類時間序列數據,並提供Python示例和R示例。本書共有17章,首先概覽時間序列分析的歷史,然後介紹數據的獲取、清洗、模擬和存儲,接著關註可用於時間序列分析的建模技術,最後探討時間序列分析在幾個常見領域中的應用。

本書適合與時間序列打交道的數據分析師、數據工程師、數據科學家及其他相關從業人員閱讀。

作者簡介

【作者简介】

 

艾琳·尼尔森(Aileen Nielsen)是软件工程师和数据分析师。她毕业于耶鲁大学和普林斯顿大学,从事过多个领域的时间序列研究工作,包括医疗行业、物理学研究和金融行业等。她目前专注于研发用于预测的神经网络。

 

【译者简介】

 

王祎,拥有6年软件开发、数据与人工智能领域方面的工作经验,现任ThoughtWorks机器学习工程师。为金融、汽车、药企等客户提供过专业服务,在利用时间序列进行预测、数据分析、数据可视化等方面拥有丰富的经验。

 

冯英睿,在数据与人工智能领域有14年工作经验,现任ThoughtWorks数据科学家。为银行、电信、汽车和制造业等客户提供过专业服务,在利用时间序列进行预测、故障诊断、异常检测和预测性维护等方面拥有丰富的经验。

目錄大綱

前言 xi

第 1章 時間序列:概述和簡史 1

1.1 時間序列在歷史上的各種應用 1

1.1.1 醫學中的時間序列問題 2

1.1.2 氣象預測 5

1.1.3 經濟增長預測 5

1.1.4 天文學 7

1.2 時間序列分析的興起 7

1.3 統計時間序列分析的起源 8

1.4 時間序列分析在機器學習領域的起源 9

1.5 更多資源 10

第 2章 時間序列的發現與整理 11

2.1 時間序列數據何處尋 11

2.1.1 準備好的數據集 12

2.1.2 “找到的時間序列” 16

2.2 將表集合改造成時間序列數據集合 17

2.2.1 示例:組裝時間序列數據集合 18

2.2.2 構造“找到的時間序列” 23

2.3 時間戳問題 25

2.3.1 誰的時間戳 25

2.3.2 推測時間戳以理解數據 26

2.3.3 什麽是有意義的時間尺度 27

2.4 清理數據 28

2.4.1 處理數據缺失 28

2.4.2 上採樣和下採樣 38

2.4.3 數據平滑 40

2.4.4 季節性數據 44

2.4.5 時區 47

2.4.6 預防前瞻 50

2.5 更多資源 51

第3 章 針對時間序列的探索性數據分析 53

3.1 常用方法 53

3.1.1 折線圖 54

3.1.2 直方圖 56

3.1.3 散點圖 57

3.2 探索時間序列數據的方法 59

3.2.1 理解平穩性 60

3.2.2 應用窗口函數 64

3.2.3 理解和識別自相關性 67

3.2.4 偽相關性 76

3.3 一些有用的可視化方式 78

3.3.1 一維可視化 78

3.3.2 二維可視化 79

3.3.3 三維可視化 86

3.4 更多資源 89

第4 章 模擬時間序列 90

4.1 模擬時間序列有何特別之處 91

4.2 代碼模擬 91

4.2.1 自己動手 92

4.2.2 構建一個自行運轉的模擬世界 97

4.2.3 物理模擬 102

4.3 寫在最後 107

4.3.1 統計模擬 108

4.3.2 深度學習模擬 108

4.4 更多資源 108

第5 章 存儲時間序列 109

5.1 定義需求 110

5.2 數據庫解決方案 113

5.2.1 SQL與NoSQL 113

5.2.2 流行的時間序列數據庫 116

5.3 文件解決方案 119

5.3.1 NumPy 119

5.3.2 Pandas 120

5.3.3 R 語言中的標準格式 120

5.3.4 Xarray 120

5.4 更多資源 121

第6 章 時間序列的統計模型 123

6.1 為什麽不使用線性回歸 123

6.2 時間序列的統計方法 125

6.2.1 自回歸模型 125

6.2.2 移動平均模型 136

6.2.3 差分自回歸移動平均模型 140

6.2.4 向量自回歸模型 149

6.2.5 多樣的統計模型 152

6.3 時間序列統計模型的優缺點 153

6.4 更多資源 154

第7 章 時間序列的狀態空間模型 155

7.1 狀態空間模型的優缺點 156

7.2 卡爾曼濾波器 157

7.2.1 概述 157

7.2.2 為卡爾曼濾波器編碼 159

7.3 隱馬爾可夫模型 163

7.3.1 模型的工作原理 163

7.3.2 如何擬合模型 165

7.3.3 通過編碼實現擬合 167

7.4 貝葉斯結構時間序列 171

7.5 更多資源 176

第8 章 時間序列的特徵生成與選擇 178

8.1 入門示例 179

8.2 生成特徵時需要考慮什麽 180

8.2.1 時間序列的性質 180

8.2.2 領域知識 181

8.2.3 外部考慮因素 181

8.3 何處尋找特徵靈感 181

8.3.1 開源時間序列特徵生成庫 182

8.3.2 特定領域的特徵示例 185

8.4 生成特徵後如何進行選擇 188

8.5 結語 190

8.6 更多資源 191

第9 章 針對時間序列的機器學習 193

9.1 時間序列分類 194

9.1.1 生成並選擇特徵 194

9.1.2 決策樹方法 197

9.2 聚類 203

9.2.1 由數據生成特徵 204

9.2.2 具有時間感知能力的距離度量指標 210

9.2.3 聚類代碼 213

9.3 更多資源 215

第 10 章 針對時間序列的深度學習 217

10.1 深度學習概念 219

10.2 通過編程實現神經網絡 220

10.3 構建訓練流程 224

10.3.1 檢查數據集 224

10.3.2 訓練流程的步驟 227

10.4 前饋網絡 240

10.4.1 一個簡單示例 241

10.4.2 運用註意力機制使前饋網絡更具時間意識 243

10.5 捲積神經網絡 245

10.5.1 一個簡單的捲積模型 246

10.5.2 其他可用的捲積模型 248

10.6 循環神經網絡 250

10.6.1 繼續研究用電量示例 252

10.6.2 創新:自編碼器 253

10.7 組合架構 254

10.8 結語 258

10.9 更多資源 258

第 11 章 測量誤差 260

11.1 基礎知識:如何檢驗預測結果 261

11.2 預測結果何時才算足夠好 263

11.3 通過模擬估計模型中的不確定性 265

11.4 預測多步 268

11.4.1 直接擬合感興趣的範圍 268

11.4.2 針對較遠時間步的遞歸方法 268

11.4.3 對時間序列應用多任務學習 268

11.5 模型驗證陷阱 269

11.6 更多資源 269

第 12 章 擬合及使用時間序列模型時的性能考量 271

12.1 使用為一般用例構建的工具 272

12.1.1 用於橫截面數據的模型不在樣本間“共享”數據 272

12.1.2 沒有預先計算的模型造成數據測量與預測間的非必要延遲 273

12.2 數據存儲格式的優缺點 274

12.2.1 以二進制格式存儲數據 274

12.2.2 以能夠在數據上“滑動”的方式預處理 275

12.3 為適應性能考量而修改分析 275

12.3.1 使用所有數據不一定更好 275

12.3.2 復雜的模型並不總是表現得更好 276

12.3.3 簡要介紹可用的高性能工具 276

12.4 更多資源 277

第 13 章 醫療保健應用 278

13.1 流感預測 278

13.1.1 案例研究:發生在大都市的流感疫情 278

13.1.2 流感預測領域的最新技術 291

13.2 血糖水平預測 292

13.2.1 探索和清洗數據 293

13.2.2 生成特徵 297

13.2.3 擬合模型 303

13.3 更多資源 307

第 14 章 金融應用 308

14.1 獲取並探索金融數據 308

14.2 金融數據預處理與深度學習 314

14.2.1 由原始數據生成新指標 314

14.2.2 轉換數據並避免前瞻 315

14.2.3 為神經網絡格式化數據 317

14.3 構建並訓練循環神經網絡 319

14.4 更多資源 325

第 15 章 政務應用 326

15.1 獲取政府數據 327

15.2 探索時間序列大數據 328

15.2.1 在遍歷數據時進行上採樣並聚合 331

15.2.2 對數據排序 331

15.3 時間序列數據的在線統計分析 335

15.3.1 剩餘問題 343

15.3.2 後續改進 344

15.4 更多資源 344

第 16 章 時間序列工具包 345

16.1 規模化預測 345

16.1.1 谷歌內部的工業級預測框架 346

16.1.2 Facebook的Prophet開源工具包 347

16.2 異常檢測 351

16.3 其他時間序列工具包 353

16.4 更多資源 354

第 17 章 關於預測的預測 355

17.1 預測即服務 355

17.2 深度學習提高了概率 356

17.3 重要性正由統計方法向機器學習方法轉移 356

17.4 更深入地結合統計方法和機器學習方法 357

17.5 涉及日常生活的更多預測 357