《Python貝葉斯分析》從務(wù)實(shí)和編程的角度講解了貝葉斯統(tǒng)計(jì)中的主要概念,并介紹了如何使 用流行的 PyMC3 來構(gòu)建概率模型。閱讀本書,讀者將掌握實(shí)現(xiàn)、檢查和擴(kuò)展貝 葉斯統(tǒng)計(jì)模型,從而提升解決一系列數(shù)據(jù)分析問題的能力。本書不要求讀者有任 何統(tǒng)計(jì)學(xué)方面的基礎(chǔ),但需要讀者有使用 Python 編程方面的經(jīng)驗(yàn)。
本書介紹了貝葉斯統(tǒng)計(jì)中的主要概念,以及將其應(yīng)用于數(shù)據(jù)分析的方法。本書采用編程計(jì)算的實(shí)用方法介紹了貝葉斯建模的基礎(chǔ),使用一些手工構(gòu)造的數(shù)據(jù)和一部分簡(jiǎn)單的真實(shí)數(shù)據(jù)來解釋和探索貝葉斯框架中的核心概念,然后在本書涉及的模型中,抽象出了線性模型用于解決回歸和分類問題,此外還詳細(xì)解釋了混合模型和分層模型,并單獨(dú)用一章討論了如何做模型選擇,還簡(jiǎn)單介紹了非參模型和高斯過程。
本書所有的貝葉斯模型都用PyMC3實(shí)現(xiàn)。PyMC3是一個(gè)用于概率編程的Python庫(kù),其許多特性都在書中有介紹。在本書和PyMC3的幫助下,讀者將學(xué)會(huì)實(shí)現(xiàn)、檢查和擴(kuò)展貝葉斯統(tǒng)計(jì)模型,從而解決一系列數(shù)據(jù)分析的問題。
從本書你將學(xué)到:
從實(shí)用的角度理解基本的貝葉斯概念;
學(xué)習(xí)如何用PyMC3構(gòu)建概率模型;
掌握檢查和修改模型的技能;
利用分層模型的優(yōu)勢(shì)給模型加入結(jié)構(gòu);
針對(duì)不同的數(shù)據(jù)分析問題,找到合適的模型;
學(xué)會(huì)在不確定的情況下做模型選擇;
用回歸分析預(yù)測(cè)連續(xù)變量,用邏輯回歸或softmax做分類;
學(xué)習(xí)如何從概率的角度思考,釋放貝葉斯框架的靈活性與力量。
Osvaldo Martin 是阿根廷國(guó)家科學(xué)與技術(shù)理事會(huì)(CONICET)的一名研究員。該理事會(huì)是負(fù)責(zé)阿根廷科技進(jìn)步的主要組織。Osvaldo Martin 曾從事結(jié)構(gòu)生物信息學(xué)和計(jì)算生物學(xué)方面的研究,此外,他在應(yīng)用馬爾科夫蒙特卡洛方法模擬分子方面有著豐富的經(jīng)驗(yàn),尤其喜歡用 Python 解決數(shù)據(jù)分析問題。他曾講授結(jié)構(gòu)生物信息學(xué)、Python 編程等課程,還開設(shè)了貝葉斯數(shù)據(jù)分析的課程。Python和貝葉斯統(tǒng)計(jì)改變了他對(duì)科學(xué)的認(rèn)知和對(duì)問題的思考方式。他寫本書的動(dòng)力是希望借助 Python 幫助大家理解概率模型,同時(shí),他也是 PyMOL 社區(qū)(一個(gè)基于C/Python 的分子可視化社區(qū))的活躍成員,他也對(duì)PyMC3 社區(qū)做了一些貢獻(xiàn)。
譯者簡(jiǎn)介
田俊,計(jì)算機(jī)專業(yè)碩士。2016 年畢業(yè)于中國(guó)科學(xué)院自動(dòng)化研究所,主要研究方向?yàn)樽匀徽Z言處理中的短文本分類,畢業(yè)后曾在滴滴出行擔(dān)任算法工程師,目前在微軟從事自然語言處理方面的工作。
中文版審校者簡(jiǎn)介
勞俊鵬,心理學(xué)博士,PyMC團(tuán)隊(duì)成員。2014年畢業(yè)于英國(guó)格拉斯哥大學(xué),主要研究認(rèn)知神經(jīng)心理學(xué)。2013年至今在瑞士弗里堡大學(xué)從事心理學(xué)研究,專攻數(shù)據(jù)建模分析和神經(jīng)計(jì)算模型。
第 1章 概率思維——貝葉斯推斷指南 1
1.1 以建模為中心的統(tǒng)計(jì)學(xué) 1
1.1.1 探索式數(shù)據(jù)分析 2
1.1.2 統(tǒng)計(jì)推斷 3
1.2 概率與不確定性 4
1.2.1 概率分布 6
1.2.2 貝葉斯定理與統(tǒng)計(jì)推斷 9
1.3 單參數(shù)推斷 11
1.3.1 拋硬幣問題 11
1.3.2 報(bào)告貝葉斯分析結(jié)果 20
1.3.3 模型注釋和可視化 20
1.3.4 總結(jié)后驗(yàn) 21
1.4 后驗(yàn)預(yù)測(cè)檢查 24
1.5 安裝必要的 Python 庫(kù) 24
1.6 總結(jié) 25
1.7 練習(xí) 25
第2章 概率編程——PyMC3 編程指南 27
2.1 概率編程 27
2.1.1 推斷引擎 28
2.2 PyMC3 介紹 40
2.2.1 用計(jì)算的方法解決拋硬幣問題 40
2.3 總結(jié)后驗(yàn) 47
2.3.1 基于后驗(yàn)的決策 48
2.4 總結(jié) 50
2.5 深入閱讀 50
2.6 練習(xí) 51
第3章 多參和分層模型 53
3.1 冗余參數(shù)和邊緣概率分布 53
3.2 隨處可見的高斯分布 55
3.2.1 高斯推斷 56
3.2.2 魯棒推斷 59
3.3 組間比較 64
3.3.1 “小費(fèi)”數(shù)據(jù)集 65
3.3.2 Cohen’s d 68
3.3.3 概率優(yōu)勢(shì) 69
3.4 分層模型 69
3.4.1 收縮 72
3.5 總結(jié) 74
3.6 深入閱讀 75
3.7 練習(xí) 75
第4章 利用線性回歸模型理解并預(yù)測(cè)數(shù)據(jù) 77
4.1 一元線性回歸 77
4.1.1 與機(jī)器學(xué)習(xí)的聯(lián)系 78
4.1.2 線性回歸模型的核心 78
4.1.3 線性模型與高自相關(guān)性 83
4.1.4 對(duì)后驗(yàn)進(jìn)行解釋和可視化 86
4.1.5 皮爾遜相關(guān)系數(shù) 89
4.2 魯棒線性回歸 95
4.3 分層線性回歸 98
4.3.1 相關(guān)性與因果性 103
4.4 多項(xiàng)式回歸 105
4.4.1 解釋多項(xiàng)式回歸的系數(shù) 107
4.4.2 多項(xiàng)式回歸——終極模型? 108
4.5 多元線性回歸 108
4.5.1 混淆變量和多余變量 112
4.5.2 多重共線性或相關(guān)性太高 115
4.5.3 隱藏的有效變量 117
4.5.4 增加相互作用 120
4.6 glm 模塊 120
4.7 總結(jié) 121
4.8 深入閱讀 121
4.9 練習(xí) 122
第5章 利用邏輯回歸對(duì)結(jié)果進(jìn)行分類 123
5.1 邏輯回歸 123
5.1.1 邏輯回歸模型 125
5.1.2 鳶尾花數(shù)據(jù)集 125
5.1.3 將邏輯回歸模型應(yīng)用到鳶尾花數(shù)據(jù)集 128
5.2 多元邏輯回歸 131
5.2.1 決策邊界 132
5.2.2 模型實(shí)現(xiàn) 132
5.2.3 處理相關(guān)變量 134
5.2.4 處理類別不平衡數(shù)據(jù) 135
5.2.5 如何解決類別不平衡的問題 137
5.2.6 解釋邏輯回歸的系數(shù) 137
5.2.7 廣義線性模型 138
5.2.8 Softmax 回歸或多項(xiàng)邏輯回歸 139
5.3 判別式和生成式模型 142
5.4 總結(jié) 144
5.5 深入閱讀 145
5.6 練習(xí) 145
第6章 模型比較 147
6.1 奧卡姆剃刀——簡(jiǎn)約性與準(zhǔn)確性 147
6.1.1 參數(shù)太多導(dǎo)致過擬合 149
6.1.2 參數(shù)太少導(dǎo)致欠擬合 150
6.1.3 簡(jiǎn)潔性與準(zhǔn)確性之間的平衡 151
6.2 正則先驗(yàn) 152
6.2.1 正則先驗(yàn)和多層模型 153
6.3 衡量預(yù)測(cè)準(zhǔn)確性 153
6.3.1 交叉驗(yàn)證 154
6.3.2 信息量準(zhǔn)則 155
6.3.3 用 PyMC3 計(jì)算信息量準(zhǔn)則 158
6.3.4 解釋和使用信息校準(zhǔn) 162
6.3.5 后驗(yàn)預(yù)測(cè)檢查 163
6.4 貝葉斯因子 164
6.4.1 類比信息量準(zhǔn)則 166
6.4.2 計(jì)算貝葉斯因子 166
6.5 貝葉斯因子與信息量準(zhǔn)則 169
6.6 總結(jié) 171
6.7 深入閱讀 171
6.8 練習(xí) 171
第7章 混合模型 173
7.1 混合模型 173
7.1.1 如何構(gòu)建混合模型 174
7.1.2 邊緣高斯混合模型 180
7.1.3 混合模型與計(jì)數(shù)類型變量 181
7.1.4 魯棒邏輯回歸 187
7.2 基于模型的聚類 190
7.2.1 固定成分聚類 191
7.2.2 非固定成分聚類 191
7.3 連續(xù)混合模型 192
7.3.1 beta- 二項(xiàng)分布與負(fù)二項(xiàng)分布 192
7.3.2 t 分布 193
7.4 總結(jié) 193
7.5 深入閱讀 194
7.6 練習(xí) 194
第8章 高斯過程 195
8.1 非參統(tǒng)計(jì) 195
8.2 基于核函數(shù)的模型 196
8.2.1 高斯核函數(shù) 196
8.2.2 核線性回歸 197
8.2.3 過擬合與先驗(yàn) 202
8.3 高斯過程 202
8.3.1 構(gòu)建協(xié)方差矩陣 203
8.3.2 根據(jù)高斯過程做預(yù)測(cè) 207
8.3.3 用 PyMC3 實(shí)現(xiàn)高斯過程 211
8.4 總結(jié) 215
8.5 深入閱讀 216
8.6 練習(xí) 216