前言
為什麼要寫這本書?
2016 年10 月,筆者出版了R 語言預測一書,書中歸納了筆者在預測領域的一些思考和經驗,並透過書籍的媒介作用,和讀者們進行了一次深度的對話交流。書中基於R 語言對常用的資料分析、預測類別演算法進行了實現,並結合案例說明了預測模型的實現過程。該書自出版以來,不斷收到讀者的好評,筆者也時常收到讀者發來的郵件,或是對書籍內容有興趣,希望可以長期交流,或是提出書籍中存在的一些瑕疵,希望在下一個版本中進行改善,或是諮詢一些實際業務問題,如此等等。整體來看,R 語言預測一書還是很受讀者喜愛的。
由於人工智慧在近些年的發展,Python 語言越來越流行,更多的朋友想從Python 入手學習新興技術。為了能將R 語言預測的精華介紹給更多的讀者,筆者開始考慮將其改寫為Python 版本。與R 語言預測相比,本書加入了使用深度學習演算法來做預測的內容,同時刪除了一些不必要的段落,在程式方面也做了很多最佳化,相信能夠給讀者帶來更好的閱讀、學習體驗。
閱讀對象
➢對資料採擷、機器學習、預測演算法及商業預測應用有興趣的大專院校師生;
➢從事資料採擷工作,有一定經驗的專業人士;
➢各行各業的資料分析師、資料採擷工程師;
➢對資料採擷、預測專題有興趣的讀者。
勘誤和支援
由於筆者的水準有限,撰寫的時間也很倉促,書中難免會出現一些錯誤或不準確的地方,懇請讀者批評、指正。讀者可以把意見或建議直接發至筆者的電子郵件cador.ai@aliyun.com。書中的資料和程式,可透過訪問網站(www.cador.cn)來取得。筆者會定期發佈勘誤表,並統一回覆。同時,如果你有什麼問題,也可以發郵件來提問,筆者將儘量為讀者提供最滿意的解答,期待你們的回饋。
如何閱讀這本書
本書包含 3 篇,共有10 章。
第 1 章介紹預測的基本概念,以及大數據時代預測的特點,並結合案例說明,最後基於Python 說明一個預測案例。本章適合初學者入門。
第 2 章介紹預測的方法論。預測流程是基礎,它說明了預測實施的各個階段;預測的指導原則是預測工作者一定要會的。另外,還介紹了預測工作的團隊要求。本章內容適合長期品味,活學活用。
第 3 章介紹分析方法,本章內容是資料分析、資料採擷常見的分析方法,出現在這裡,主要是為預測技術的資料處理做準備。如果預測工作者沒有掌握有效的分析想法和方法,就直接去提煉指標和特徵,那麼預測工作是很難進行下去的。本章提供了規律發現的常用方法和技巧。
第 4 章介紹特徵工程,不僅介紹了常見的特徵轉換方法,還介紹了特徵組合的方法,特別值得一提的是,本章包含了特徵學習的方法,它是基於遺傳程式設計實現的。從事資料採擷的朋友都很清楚,好的特徵在建模時是非常重要的,然而,有時我們直接拿基礎資料去建模,效果不見得好,如果進行規律採擷,那麼也比較費時費力,比較好的做法就是特徵自動產生。有興趣的讀者,可以細緻品味這一章。
從第 1 章到第4 章為本書的第1 篇,主要介紹預測的入門知識,如果讀者對預測有一定的功力,則可以跳過本部分,直接進入第2 篇,了解預測演算法的基本原理和實現。
第5 章介紹模型參數的最佳化。我們在建立資料採擷和預測模型時,參數的確定通常不是一步合格的,常常需要做一些最佳化或改進,以提升最後的效果。本章介紹的遺傳演算法、粒子群最佳化、模擬退火等問題求解演算法,有助找到模型的最佳或接近最佳的參數。
第 6 章介紹線性回歸技術,主要包含多元線性回歸、Ridge 回歸、Lasso 回歸、分位數回歸、穩健回歸的內容。在實際工作或實作中,讀者應該有選擇地使用對應的回歸方法,以確保應對回歸問題的有效性。
第 7 章介紹複雜回歸技術,主要包含梯度提升回歸樹(GBRT)、神經網路、支援向量機、高斯過程回歸的內容。這是回歸技術的進階部分,有關統計學以及機器學習的內容,想挑戰難度的讀者,一定要好好讀一讀這部分。
第 8 章介紹時間序列分析技術,主要包含Box-Jenkins 方法、門檻自回歸模型、GARCH 模型族、向量自回歸模型、卡爾曼濾波、循環神經網路、長短時記憶網路等內容。本章不僅介紹了常見的Box-Jenkins 方法,還介紹了門檻自回歸等高階時序分析技術。
從第 5 章到第8 章為本書的第2 篇,主要介紹預測演算法,本部分的演算法選擇有一定的難度,基本包含了常見的以及部分高階的預測回歸演算法,讀者可細細品味。
第 9 章介紹短期日負荷曲線預測技術,首先介紹電力企業負荷預測的企業知識,接著從預測的基本要求出發,經過預測的建模準備,進入預測建模的環節。本章使用了DNN 和LSTM 兩種演算法來建立預測模型,並對預測效果進行了評估。
第 10 章介紹股票價格預測技術,基於VAR 和LSTM 兩種演算法對預測模型進行了實現,檢驗了預測的準確性。
最後兩章為本書的第 3 篇,主要介紹預測案例。由於商業關係,有些案例分析的細節內容不便在書中全面多作說明,有興趣的讀者,可以發郵件聯繫筆者。
本書原始程式碼下載
本書作者為中國大陸人士,為維持程式執行正確,提供簡體中文版原始程式碼供讀者下載,請至本公司官網https://deepmind.com.tw/尋找本書程式下載。
致謝
感謝電子工業出版社的編輯石倩,沒有你的敦促,筆者可能不會這麼快地寫完這本書,同時也感謝電子工業出版社!感謝造物主給我一顆孜孜不倦的心,讓我在學習的道路上不至於因工作忙碌而有所懈怠,也不至於因有所成就而不知進取。青山不改,綠水長流。謹以此書,獻給我最親愛的家人和朋友,以及熱愛Python和從事資料相關領域的朋友們。
遊皓麟