關(guān)于我們
書單推薦
新書推薦
|
統(tǒng)計反思:用R和Stan例解貝葉斯方法
本書以Stan統(tǒng)計軟件為基礎(chǔ),以R代碼為例,提供了一個實際的統(tǒng)計推斷的基礎(chǔ)。從貝葉斯統(tǒng)計方法的角度出發(fā),介紹了統(tǒng)計反思的相關(guān)知識,以及一些常用的進行類似權(quán)衡的工具,展示了兩個完整的*常用的計數(shù)變量回歸,介紹了應(yīng)對常見的單一模型無法很好地擬合觀測數(shù)據(jù)的排序分類模型與零膨脹和零增廣模型,提出了基于貝葉斯概率和*熵的廣義線性分層模型以及處理空間和網(wǎng)絡(luò)自相關(guān)的高斯過程模型。本書適合統(tǒng)計、數(shù)學(xué)等相關(guān)專業(yè)的高年級本科生、研究生,以及數(shù)據(jù)挖掘的從業(yè)人士閱讀。
本書能增加你對統(tǒng)計模型的理解和信心,F(xiàn)在,基于模型的統(tǒng)計對編程有基本的要求,本書能促使你一步一步地計算原本自動的過程。書中獨特的計算過程可確保你了解足夠的細節(jié),以便你在建模工作中合理地選擇和解釋模型。
本書從貝葉斯的角度介紹了廣義線性分層模型,通過貝葉斯概率和*熵的基礎(chǔ)邏輯解釋模型,涵蓋從基礎(chǔ)的回歸分析到分層模型的內(nèi)容。作者還討論了測量誤差、缺失數(shù)據(jù),以及處理空間和網(wǎng)絡(luò)自相關(guān)的高斯過程模型。 本書特色: 將代碼嵌入講解的正文,你能夠在閱讀的過程中實踐代碼并查看結(jié)果。 通過實際數(shù)據(jù)分析的例子來講解概念。 詳細地講解代碼,讓你能夠診斷并且糾正問題。 傳授重要但是不常見的編程技巧。 展示相同的數(shù)學(xué)模型如何能有不同的實踐方法。 在選讀部分提供更加詳細的數(shù)學(xué)解釋。 在作者的網(wǎng)站和Github頁面上提供相應(yīng)的R包。
譯 者 序 這是我希望在學(xué)習貝葉斯統(tǒng)計的時候首先閱讀的一本書。與其說貝葉斯是一種不同的統(tǒng)計方法,不如說它是一種不一樣的統(tǒng)計哲學(xué),也是一種看待生活中很多問題的不同的視角。不是所有的應(yīng)用數(shù)據(jù)科學(xué)領(lǐng)域都需要用到貝葉斯,但即使你所處的行業(yè)用得很少,了解貝葉斯的基本概念也是很有必要的。因為這種根據(jù)證據(jù)改變自己想法的思維方式能幫助我們約束直覺,這是一種高級的思維方式。貝葉斯推斷不外乎計算在某假設(shè)下事情可能發(fā)生的方式的數(shù)目。事情發(fā)生方式多的假設(shè)成立的可能性更高。一旦我們定義了假設(shè),貝葉斯推斷會強制施行一種通過已經(jīng)觀測到的信息進行純邏輯的推理過程。頻率法要求所有概率的定義都需要和可計數(shù)的事件以及它們在大樣本中出現(xiàn)的頻率聯(lián)系起來。這使得頻率學(xué)的不確定性依賴于想象的數(shù)據(jù)抽樣的前提如果多次重復(fù)測量,我們將會收集到一系列呈現(xiàn)某種模式的取值。這也意味著參數(shù)和模型不可能有概率分布,只有測量才有概率分布。這些測量的分布稱為抽樣分布。這些所謂的抽樣只是假設(shè),在很多情況下,這個假設(shè)很不合理。而貝葉斯方法將隨機性視為信息的特質(zhì),這更符合我們感知的世界運轉(zhuǎn)模式。所以,在很多應(yīng)用場景中,貝葉斯也更加合適。總體說來,本書有如下亮點:1.可重復(fù)。這點實在是太重要了。書中的數(shù)據(jù)很容易獲取,書中的代碼、建模過程都可以重復(fù)。讀者可以在閱讀的過程中實踐代碼,并且生成書中展示的結(jié)果。也可以自己修改代碼,看看結(jié)果的變化,這對理解內(nèi)容有極大的幫助。2.前3章中有我見過的對貝葉斯及哲學(xué)最清晰的講解。對于那些只想知道貝葉斯模型是什么但不想花太多時間深入學(xué)習更加復(fù)雜的貝葉斯模型的讀者,推薦仔細閱讀前3章。第1章反思了流行的統(tǒng)計和科學(xué)哲學(xué),指出我們不該僅使用各種自動化的工具,而應(yīng)該學(xué)著在實際應(yīng)用中建立、評估不同的模型。接下來的第2章和第3章介紹了貝葉斯推斷和進行貝葉斯計算的基本工具。其中作者的講解方式很繞、很慢,特別強調(diào)了概率理論的純邏輯解釋。但我希望讀者能夠耐心地認真閱讀這3章,這對以深入理解貝葉斯為目標的人來說,一點兒也不啰嗦。3.本書提供了R包rethinking來實現(xiàn)模型,使用更加簡單直接。更好的方法當然是直接學(xué)習使用Stan。rethinking中的一些函數(shù)(map和map2stan)對stan進行包裝,隱藏了背后的stan代碼,這使得一些錯誤信息讓人難以理解。如果要在工作中應(yīng)用書中介紹的模型,最好還是在之后花時間學(xué)習Stan。好在讀過本書之后,學(xué)習Stan應(yīng)該不難。4.rethinking包中自帶的數(shù)據(jù)以及一些繪圖函數(shù)可極大地幫助讀者對真實數(shù)據(jù)進行建模,并且通過可視化解釋結(jié)果。在這些繪圖的函數(shù)中,有些能直接對后驗預(yù)測進行可視化,并通過這種方式比較模型和參數(shù)。對于簡單的模型,可以通過參數(shù)估計總結(jié)表來理解模型。但只要模型稍微復(fù)雜一點,尤其是含有交互效應(yīng)(見第7章),解釋后驗分布就會變得很難。如果要在模型解釋中考慮參數(shù)間的相關(guān)性,那可視化就不可或缺。5.書中的一些關(guān)于社會科學(xué)的例子不僅展示了如何建立模型,更重要的是展示了如何定義問題本身。社會學(xué)的問題往往是開放的,很復(fù)雜。所以通過數(shù)據(jù)建模解決這類問題的難點不僅僅是模型本身,還有將開放式問題轉(zhuǎn)化成一個封閉式問題的過程。本書中有很多這樣的例子,而且作者對數(shù)據(jù)所處的實際語境也進行了詳細的解釋。為了使行文更加通順,在翻譯的過程中采用了較多的意譯,有的地方加上了譯者注以幫助讀者理解。華章公司的編輯對本書的翻譯工作給予了大力的支持和幫助。在此對所有為本書中文版問世做出努力的人表示感謝!由于譯者水平有限,書中難免有錯誤和不妥之處,懇請讀者批評指正。
林 薈2018年12月 前 言石匠,開始動工之前(Masons,when they start upon a building),總會小心測試鷹架(Are careful to test out the scaffolding)。 確保模板不會滑落在繁忙的街口(Make sure that planks wont slip at busy points),牢牢釘好每把梯子,拴緊所有螺絲(Secure all ladders, tighten bolted joints)。 這一切付出在完工后都得被拆除(And yet all this comes down when the jobs done),展露結(jié)實的石墻(Showing off walls of sure and solid stone)。 所以,親愛的,就算我們之間的橋梁(So if, my dear, there sometimes seem to be),偶爾因為老舊看似即將倒塌(Old bridges breaking between you and me)。 別害怕。讓那鷹架倒下吧(Never fear. We may let the scaffolds fall),相信我們建造的墻堅不可摧(Confident that we have build out wall)。 (《鷹架》(Scaffolding),作者Seamus Heaney, 19392013) 本書意在幫助你增進統(tǒng)計模型的知識以及使用模型的信心。就像造墻時的鷹架,能夠幫助你建造需要的石墻,雖然最終你要將鷹架拆除。因此,本書講解的方式有些拐彎抹角,但那是為了促使你們親自實踐模型背后的每一個計算步驟,雖然真實建模的過程常常是自動的。這樣小題大做是為了讓你能夠?qū)Ψ椒ū澈蟮募毠?jié)有足夠的了解,以能夠合理地選擇和解釋模型。雖然你最終會用一些工具自動建模,但剛開始放慢步伐、夯實基礎(chǔ)是很重要的。耐心建立堅實的墻然后再拆去鷹架。目標讀者本書主要面向自然和社會科學(xué)的研究人員,可以是新入學(xué)的博士生,也可以是有經(jīng)驗的專業(yè)人士。你需要有回歸的基本知識,但不一定需要對統(tǒng)計模型駕輕就熟。如果你接受這樣的事實:一些在21世紀早期廣泛使用的典型統(tǒng)計學(xué)方法并非完全正確,其中大部分和p值以及令人迷惑的各種統(tǒng)計檢驗有關(guān)。如果你在一些雜志和書上讀到過一些替代的方法,但不知道從何學(xué)習這些方法,那么本書就是為你而寫的。事實上,本書并不是要直接抨擊p值和相關(guān)的方法。在我看來,問題并不在于人們習慣用p值來解決科學(xué)界的各種問題,而在于人們忽略了許多其他有用的工具。因此,我假定本書的讀者已經(jīng)準備好不使用p值做統(tǒng)計推斷。僅有這種心理準備還不夠,最好能有一些文獻資料幫助你探查與p值和傳統(tǒng)統(tǒng)計檢驗有關(guān)的錯誤及誤解。即使我們不用它們,也要對其有所了解。我因此查閱了一些相關(guān)的資料,但由于本書篇幅所限不能詳細討論,否則本書會太厚,也會打亂原本的教學(xué)節(jié)奏。這里要提醒一點,反對p值不僅僅是貝葉斯學(xué)派的觀點。事實上,顯著性檢驗?zāi)軌颍ㄆ鋵嵰惨呀?jīng))構(gòu)建為貝葉斯過程。其實真正促使人們避免使用顯著性檢驗的是出于認識論的考慮,關(guān)于這一點我會在第1章簡單討論。教學(xué)方法本書使用更多的是程序代碼而非數(shù)學(xué)公式。直到真正對算法付諸實踐,即使最出色的數(shù)學(xué)家可能也無法理解該過程。因為用代碼實踐的過程去除了算法中所有模棱兩可的地方。因此,如果一本書同時教你如何實踐算法的話,學(xué)習起來會更輕松。展示代碼除了有利于教學(xué)也是必需的,因為許多統(tǒng)計模型現(xiàn)在都需要計算,純數(shù)學(xué)的方法無論如何也不能解決問題。你在本書后面部分可以看到,同樣的數(shù)理統(tǒng)計模型的實現(xiàn)方法可以有多種,而且我們有必要區(qū)分這些方法。當你在本書之外探索更高級或更有針對性的統(tǒng)計模型時,這里強調(diào)的編程計算知識將幫助你識別和應(yīng)對各種實際困難。本書的每一部分都只揭示了冰山一角。我絲毫沒有涵蓋所有相關(guān)內(nèi)容的打算,而是試圖將其中一些東西解釋清楚。在此嘗試中,我在數(shù)據(jù)分析的實例中穿插了許多模型概念和內(nèi)容。例如,書中沒有一個單元專門講預(yù)測變量的中心化,但我在數(shù)據(jù)分析中使用并解釋了這項技術(shù)。當然,不是所有讀者都喜歡這樣的講解方式。但是我的很多學(xué)生喜歡這種講解方式。我很懷疑這樣的講解能否對大部分要學(xué)習這些內(nèi)容的讀者起作用。從心底來說,這反映了我們在現(xiàn)實中是如何在自己的研究中學(xué)會這些方法的。如何使用本書這不是參考書,而是教科書。本書不是讓你在遇到問題時用來查閱相關(guān)部分的,而是一個完整連貫的教學(xué)過程。這在教學(xué)上很有優(yōu)勢,但可能不符合很多科學(xué)家現(xiàn)實中的閱讀習慣。本書正文中有很多代碼。這樣做是因為在21世紀從事統(tǒng)計分析工作必須要會編程,或多或少會一些。編程不是候選技能,而是必備技能。在書中的很多地方,我寧可過多地展示代碼,也不愿過少展示代碼。根據(jù)我對編程新手的教學(xué)經(jīng)驗,當學(xué)生手上有可以運行的代碼時,讓他們在此基礎(chǔ)上修改比讓他們從0開始寫程序效果更好。我們這代人可能是最后一代需要用命令的方式操作計算機的了,因此編程也越來越難教。我的學(xué)生非常熟悉計算機,但他們不知道計算機代碼長什么樣。[=1(]本書要求讀者具備什么基礎(chǔ)?[=]本書的目的不是教讀者關(guān)于編程的基本知識。我們假設(shè)讀者已經(jīng)知道R的基本安裝和數(shù)據(jù)處理知識。在大多數(shù)情況下,入門級的R編程介紹便足夠。據(jù)我所知,許多人覺得Emmanuel Paradis所著的《R for Beginners》很有幫助。你可以通過鏈接http://cran.r-project.org/other-docs.html找到該指南以及許多入門級教程。要順利閱讀本書,你得知道y<-7指的是將7這個值賦給變量y。你要知道后面緊跟括號的符號是函數(shù)。你要能夠辨認出循環(huán)并且知道命令可以相互嵌套(遞歸)。除了使用循環(huán),知道R可以將很多代碼矢量化也很重要。但是閱讀本書不要求你精通R語言。在書中你會不可避免地看到一些之前沒有見過的代碼。在書中我會盡量對一些特別重要或者不常見的編程技巧進行說明。事實上,本書花了大量篇幅解釋代碼。這么做的原因是學(xué)生確實需要這樣的解釋。除非能將每行命令同與之對應(yīng)的方法目標聯(lián)系起來,不然當代碼無法運行時,學(xué)生無法判定錯誤原因。我在講授數(shù)理進化論理論的時候也遇到過這樣的問題學(xué)生的代數(shù)知識比較薄弱,當他們答不上題時,通常不知道是因為數(shù)學(xué)上的小疏忽還是策略問題。書中對代碼進行延伸介紹的目的在于幫助讀者理解代碼,之后在實踐中能夠自己發(fā)現(xiàn)并且修正錯誤。[=1(]代碼使用。[=]書中的代碼都帶有藍底,相應(yīng)的代碼輸出在其下以等寬字體展示。例如:R code0.1 在代碼旁邊有一個數(shù)字標識,你可以在本書的網(wǎng)站上尋找相應(yīng)的代碼文本文件。希望讀者能夠跟上教學(xué)進度,運行書中的代碼,然后將輸出結(jié)果和書中展示的結(jié)果進行比較。我非常希望你能夠自己運行代碼,因為和你不能光靠看李小龍的電影就學(xué)會功夫一樣,你不能僅靠閱讀一本書而不實踐就學(xué)會編寫統(tǒng)計模型程序。你得真正到格斗場上出拳,當然也可能挨拳。如果你覺得困惑,記得你可以獨立運行每行代碼,檢查過程中的每一步計算。這是你學(xué)習和解決問題的方式。例如,下面的代碼用一種讓人抓狂的方法計算10乘以20:R code0.2 如果你不理解某個特定的步驟,你可以隨時查看那一步之后變量x的內(nèi)容。你要用這種方式學(xué)習書中的代碼。對于你自己寫的代碼,可以用這種方法找到代碼中的錯誤并修復(fù)它們。[=1(]選讀部分。[=]本書中的選讀部分真正閱讀起來是這樣的。書中有兩類選讀部分:1)再思考(Rethinking);2)深入思考(Overthinking)。再思考部分看起來是這樣的:再思考:再想想。再思考部分意在提供更廣泛的資料,略微提及當前介紹的方法和與其他方法的聯(lián)系,提供一些背景材料,或者指出一些常見誤解。這些文本框是選讀部分,但它使本書更完整并能激發(fā)讀者進一步思考。深入思考部分看起來是這樣的: 深入思考:親自實踐。深入思考部分提供了更詳細的代碼解釋或數(shù)學(xué)背景。這部分材料對理解主要文本并不那么關(guān)鍵,但它也很有價值,尤其是在第二遍閱讀的時候。例如,有時你的計算方式對結(jié)果是有影響的。從數(shù)學(xué)的角度看下面這兩個表達式是等價的:p1=log(0.01200)p2=200log(0.01) 但是當你用R進行計算時,這兩種方法得到的結(jié)果不同:R code0.3 第二種方法得到的結(jié)果是正確的。之所以會有這樣的問題,是因為R對小數(shù)的近似,計算機將很小的值近似為0。精度的缺失可能導(dǎo)致推斷結(jié)果大幅度偏差。這就是為什么我們在統(tǒng)計計算時,總使用概率的對數(shù)值,而非概率本身。初次閱讀本書時,你可以跳過所有的深入思考部分。[=1(]命令行是最好的工具。[=]在21世紀,要達到能夠?qū)嵺`統(tǒng)計推斷的編程水平并不是那么復(fù)雜,但一開始你對此不太熟悉。為什么不教讀者使用現(xiàn)成的用戶交互軟件呢?學(xué)習如何用命令行進行統(tǒng)計分析的好處遠高于點擊菜單。誰都知道命令行功能很強大,但同時它的速度也很快,并且符合道德義務(wù)。因為用代碼分析無形中對分析過程進行了存檔。幾年以后你可以通過這些代碼重復(fù)之前的分析。你也可以重復(fù)使用之前寫的代碼,將它們分享給同事。鼠標點擊的方式使得過程無法追蹤。一個嵌入R代碼的文件可以保存分析過程。一旦你習慣用這種方式計劃、運行并且保存分析過程,在之后的職業(yè)生涯中會獲益不斷。如果你始終用鼠標點擊的方法,那在之后要不停重復(fù)。不像使用代碼,相同的分析只需要編寫一次代碼,之后可以用它進行同樣的分析。分析過程的保存和可重復(fù)也是起碼的科學(xué)道德,日后的檢查以及項目的迭代也建立在此基礎(chǔ)上。用代碼進行統(tǒng)計分析可自然而然地達到這個結(jié)果,而鼠標點擊卻不行。因此,我們不是因為要證明自己的技術(shù)實力或者自己是人才才使用命令行的。我們使用命令行是因為它確實更好。使用命令行一開始可能比鼠標點擊難,因為你需要學(xué)習一些基本的語句才能開始使用。但是為了提高工作效率,我們應(yīng)該使用命令行。[=1(]你該如何工作。[=]如果我只是告訴你們使用命令行而不告訴你們怎么使用,那也太不厚道了。對于那些之前使用其他語言的人,你們可能要再學(xué)一些新語言的規(guī)則,但變化并不大。對于那些之前只用鼠標點擊菜單的統(tǒng)計軟件的讀者,開始可能會覺得很不習慣,但過幾天就會適應(yīng)了。對于那些之前使用過其他通過命令行進行分析的軟件(如Stata和SAS)的讀者,還需要調(diào)整適應(yīng)。我會先解釋總的方法,然后解釋為什么Stata和SAS的使用者也需要適應(yīng)。首先,使用腳本統(tǒng)計分析是在一個純文本編輯器和R語言之間來回切換。純文本編輯器是用來創(chuàng)建和修改簡單無格式文本文件的程序。常見的有Notepad(Windows操作系統(tǒng))、TextEdit(Mac OS X操作系統(tǒng))、Emacs(大部分*NIX系統(tǒng),包括Mac OS X)。還有很多專門針對程序員的高大上的文本編輯器。我們推薦讀者使用RStudio或者Atom文本編輯器,它們都是免費的。注意MSWord不是簡易文本,不要用它來寫代碼。你要通過簡易文本編輯器記錄在R中執(zhí)行過的代碼。你一定不想直接在R控制器中鍵入代碼。你該在簡易文本編輯器中寫代碼,然后復(fù)制粘貼到R控制器中運行;蛘咭淮涡詫⒋a文本讀入R。如果你只是用R進行數(shù)據(jù)探索、查錯,或者僅僅只是嘗試一些代碼,那可以直接將代碼鍵入控制器。但任何嚴謹?shù)墓ぷ鞫紤?yīng)該用文本編輯器記錄代碼,原因之前已經(jīng)講過了。你可以在R代碼中添加評論來幫助你編寫代碼,也方便之后回顧代碼。在評論前鍵入#符號。為了確保大家理解,下面是一小段完整的進行線性回歸的程序,使用R中的一個內(nèi)置數(shù)據(jù)集。即使你現(xiàn)在不知道該代碼是干什么的,但是希望你能將其看作一個基本的擁有注釋的格式清晰的例子。R code0.4 1英尺30.48厘米編輯注最后,即使是那些熟悉Stata和SAS腳本語言的人,也需要重新學(xué)習R。像Stata和SAS這類程序語言對應(yīng)的處理信息范式和R是不同的。在使用中,過程命令如PROC GLM是在模仿菜單命令。這些過程會產(chǎn)生大量使用者不需要的默認輸出。R不是這樣的,它強制使用者自己決定需要輸出什么信息。你可以先用R擬合統(tǒng)計模型,然后接著用命令獲取相應(yīng)擬合結(jié)果信息。通過書中的例子,讀者會更加熟悉這樣的調(diào)查范例。但要注意,你需要主動決定需要模型的哪方面信息。安裝R包rethinking書中的代碼例子要求你安裝R包rethinking。該包中含有例子中用到的數(shù)據(jù)以及本書使用的許多建模工具。rethinking包本身依賴于另外一個包rstan來擬合本書后半部分講到的更加高級的模型。你必須先安裝rstan包。根據(jù)你的系統(tǒng),依照mc-stan.org網(wǎng)站上的相應(yīng)安裝指示。你需要安裝C 編譯器(也叫作工具鏈)和rstan包。網(wǎng)站上有關(guān)于如何安裝這兩者的說明。接下來你就能夠在R中安裝rethinking和其依賴的包,安裝代碼如下:R code0.5注意rethinking不在CRAN的包列表中,至少現(xiàn)在還沒有。把包上傳到CRAN并沒有實質(zhì)的好處。你總能通過搜索引擎找到關(guān)于安裝最新版本rethinking包的說明。如果你在使用包時發(fā)現(xiàn)任何bug,可以到github.com/rmcelreath/rethinking上查看是否有現(xiàn)成的解決方法。如果沒有,你可以提交一個bug報告,這樣在有解決方法時你會收到通知。此外,如果你想對包中的一些函數(shù)進行修改,包的所有源代碼可以在那里找到。大家可以自行從Github上fork該包,任意修改。致謝在本書的寫作過程中許多人提供了寶貴的意見及想法。他們大多數(shù)是選修我教授的統(tǒng)計學(xué)課程的研究生,還有一些征求我意見的同事。這些人教我如何教授這些知識,有時我學(xué)習新的知識就是因為他們需要。許多人付出時間對本書的一些章節(jié)或者其中的代碼進行了評論。這些人有:Rasmus Bth、Ryan Baldini、Bret Beheim、Maciek Chudek、John Durand、Andrew Gelman、Ben Goodrich、Mark Grote、Dave Harris、Chris Howerton、James Holland Jones、Jeremy Koster、Andrew Marshall、Sarah Mathew、Karthik Panchanathan、Pete Richerson、Alan Rogers、Cody Ross、Noam Ross、Aviva Rossi、Kari Schroeder、Paul Smaldino、Rob Trangucci、Shravan Vasishth、Annika Wallin以及很多匿名的審稿人。Bret Beheim和Dave Harris很給力,他們對本書早期版本給予了大量的建議。Caitlin DeRango和Kotrina Kajokaite花時間改進了幾章和章后的習題。Mary Brooke McEachern對本書的內(nèi)容和講解方式提供了重要意見,并且對本書的寫作給予了支持,對(書中的不足之處)表現(xiàn)出寬容。許多匿名審稿人對各章提供了詳細的反饋。他們中沒有一個人是完全贊同本書的,書中的所有錯誤和不足都由本人負責。但是正是因為我們各執(zhí)己見,才使本書更加與眾不同。本書獻給Parry M.R.Clarke博士(19772012),是他促使我寫作本書。Parry對統(tǒng)計、數(shù)學(xué)和計算機科學(xué)的探索幫助了他身邊的每一個人。他讓我們變得更好。 目 錄 譯者序 前言 第1章 布拉格的泥人1 1.1 統(tǒng)計機器人1 1.2 統(tǒng)計反思4 1.2.1 假設(shè)檢驗不是模型5 1.2.2 測量很關(guān)鍵8 1.2.3 證偽是一種共識10 1.3 機器人工程的3種工具10 1.3.1 貝葉斯數(shù)據(jù)分析11 1.3.2 分層模型14 1.3.3 模型比較和信息法則15 1.4 總結(jié)16 第2章 小世界和大世界18 2.1 路徑花園19 2.1.1 計算可能性20 2.1.2 使用先驗信息23 2.1.3 從計數(shù)到概率24 2.2 建立模型26 2.2.1 數(shù)據(jù)背景26 2.2.2 貝葉斯更新27 2.2.3 評估28 2.3 模型組成30 2.3.1 似然函數(shù)30 2.3.2 參數(shù)31 2.3.3 先驗32 2.3.4 后驗33 2.4 開始建模35 2.4.1 網(wǎng)格逼近36 2.4.2 二項逼近37 2.4.3 馬爾可夫鏈蒙特卡羅40 2.5 總結(jié)41 2.6 練習41 第3章 模擬后驗樣本43 3.1 后驗分布的網(wǎng)格逼近抽樣46 3.2 樣本總結(jié)47 3.2.1 取值區(qū)間對應(yīng)的置信度48 3.2.2 某個置信度下的取值區(qū)間49 3.2.3 點估計52 3.3 抽樣預(yù)測55 3.3.1 虛擬數(shù)據(jù)55 3.3.2 模型檢查57 3.4 總結(jié)61 3.5 練習61第4章 線性模型64 4.1 為什么人們認為正態(tài)分布是常態(tài)65 4.1.1 相加得到正態(tài)分布65 4.1.2 通過相乘得到正態(tài)分布67 4.1.3 通過相乘取對數(shù)得到正態(tài)分布67 4.1.4 使用高斯分布68 4.2 用來描述模型的語言70 4.3 身高的高斯模型71 4.3.1 數(shù)據(jù)72 4.3.2 模型73 4.3.3 網(wǎng)格逼近后驗分布76 4.3.4 從后驗分布中抽取樣本77 4.3.5 用map擬合模型79 4.3.6 從map擬合結(jié)果中抽樣82 4.4 添加預(yù)測變量84 4.4.1 線性模型策略85 4.4.2 擬合模型88 4.4.3 解釋模型擬合結(jié)果89 4.5 多項式回歸101 4.6 總結(jié)105 4.7 練習105 第5章 多元線性回歸108 5.1 虛假相關(guān)110 5.1.1 多元回歸模型的數(shù)學(xué)表達112 5.1.2 擬合模型113 5.1.3 多元后驗分布圖114 5.2 隱藏的關(guān)系122 5.3 添加變量起反作用128 5.3.1 共線性129 5.3.2 母乳數(shù)據(jù)中的共線性132 5.3.3 后處理偏差136 5.4 分類變量138 5.4.1 二項分類139 5.4.2 多類別141 5.4.3 加入一般預(yù)測變量144 5.4.4 另一種方法:獨一無二的截距144 5.5 一般最小二乘和lm145 5.5.1 設(shè)計公式145 5.5.2 使用lm146 5.5.3 從lm公式構(gòu)建map公式147 5.6 總結(jié)148 5.7 練習148 第6章 過度擬合、正則化和信息法則150 6.1 參數(shù)的問題152 6.1.1 更多的參數(shù)總是提高擬合度153 6.1.2 參數(shù)太少也成問題156 6.2 信息理論和模型表現(xiàn)158 6.2.1 開除天氣預(yù)報員158 6.2.2 信息和不確定性161 6.2.3 從熵到準確度163 6.2.4 從散度到偏差165 6.2.5 從偏差到袋外樣本167 6.3 正則化169 6.4 信息法則171 6.4.1 DIC173 6.4.2 WAIC173 6.4.3 用DIC和WAIC估計偏差176 6.5 使用信息法則178 6.5.1 模型比較178 6.5.2 比較WAIC值180 6.5.3 模型平均185 6.6 總結(jié)187 6.7 練習188第7章 交互效應(yīng)190 7.1 創(chuàng)建交互效應(yīng)192 7.1.1 添加虛擬變量無效195 7.1.2 加入線性交互效應(yīng)是有效的197 7.1.3 交互效應(yīng)可視化199 7.1.4 解釋交互效應(yīng)估計200 7.2 線性交互的對稱性203 7.2.1 布里丹的交互效應(yīng)203 7.2.2 國家所屬大陸的影響取決于地勢204 7.3 連續(xù)交互效應(yīng)205 7.3.1 數(shù)據(jù)206 7.3.2 未中心化的模型206 7.3.3 中心化且再次擬合模型209 7.3.4 繪制預(yù)測圖212 7.4 交互效應(yīng)的公式表達214 7.5 總結(jié)215 7.6 練習215 第8章 馬爾可夫鏈蒙特卡羅218 8.1 英明的馬爾可夫國王和他的島嶼王國219 8.2 馬爾可夫鏈蒙特卡羅221 8.2.1 Gibbs抽樣222 8.2.2 Hamiltonian 蒙特卡羅222 8.3 初識HMC:map2stan224 8.3.1 準備225 8.3.2 模型估計225 8.3.3 再次抽樣226 8.3.4 可視化227 8.3.5 使用樣本229 8.3.6 檢查馬爾可夫鏈230 8.4 調(diào)試馬爾可夫鏈231 8.4.1 需要抽取多少樣本232 8.4.2 需要多少條馬氏鏈233 8.4.3 調(diào)試出錯的馬氏鏈234 8.4.4 不可估參數(shù)236 8.5 總結(jié)238 8.6 練習239 第9章 高熵和廣義線性模型241 9.1 最大熵242 9.1.1 高斯分布246 9.1.2 二項分布248 9.2 廣義線性模型253 9.2.1 指數(shù)家族254 9.2.2 將線性模型和分布聯(lián)系起來256 9.2.3 絕對和相對差別259 9.2.4 廣義線性模型和信息法則259 9.3 最大熵先驗260 9.4 總結(jié)260 第10章 計數(shù)和分類261 10.1 二項回歸262 10.1.1 邏輯回歸:親社會的大猩猩262 10.1.2 累加二項:同樣的數(shù)據(jù),用累加后的結(jié)果271 10.1.3 累加二項:研究生院錄取272 10.1.4 用glm擬合二項回歸模型278 10.2 泊松回歸279 10.2.1 例子:海洋工具復(fù)雜度281 10.2.2 MCMC島嶼287 10.2.3 例子:曝光和抵消項288 10.3 其他計數(shù)回歸290 10.3.1 多項分布290 10.3.2 幾何分布294 10.3.3 負二項和貝塔二項分布295 10.4 總結(jié)295 10.5 練習295 第11章 怪物和混合模型297 11.1 排序分類變量297 11.1.1 案例:道德直覺298 11.1.2 通過截距描繪有序分布299 11.1.3 添加預(yù)測變量303 11.2 零膨脹結(jié)果變量307 11.3 過度離散結(jié)果310 11.3.1 貝塔二項模型311 11.3.2 負二項或者伽馬泊松分布314 11.3.3 過度分散、熵和信息理論314 11.4 總結(jié)315 11.5 練習315 第12章 分層模型318 12.1 案例:蝌蚪數(shù)據(jù)分層模型320 12.2 變化效應(yīng)與過度擬合/擬合不足326 12.2.1 建模327 12.2.2 對參數(shù)賦值328 12.2.3 模擬存活的蝌蚪329 12.2.4 非聚合樣本估計329 12.2.5 部分聚合估計330 12.3 多重聚類332 12.3.1 針對不同黑猩猩分層333 12.3.2 兩重聚類334 12.3.3 更多的聚類337 12.4 分層模型后驗預(yù)測337 12.4.1 原類別后驗預(yù)測338 12.4.2 新類別后驗預(yù)測339 12.4.3 聚焦和分層模型342 12.5 總結(jié)345 12.6 練習345 第13章 解密協(xié)方差347 13.1 變化斜率348 13.1.1 模擬數(shù)據(jù)349 13.1.2 模擬觀測351 13.1.3 變化斜率模型352 13.2 案例分析:錄取率和性別357 13.2.1 變化截距357 13.2.2 性別對應(yīng)的變化效應(yīng)358 13.2.3 收縮效應(yīng)360 13.2.4 模型比較360 13.2.5 更多斜率361 13.3 案例分析:對黑猩猩數(shù)據(jù)擬合變化斜率模型361 13.4 連續(xù)變量和高斯過程368 13.4.1 案例:島嶼社會工具使用和空間自相關(guān)368 13.4.2 其他距離375 13.5 總結(jié)375 13.6 練習375 第14章 缺失數(shù)據(jù)及其他378 14.1 測量誤差379 14.1.1 結(jié)果變量誤差381 14.1.2 結(jié)果變量和預(yù)測變量同時存在誤差383 14.2 缺失數(shù)據(jù)385 14.2.1 填補新皮層數(shù)據(jù)385 14.2.2 改進填補模型389 14.2.3 非隨機390 14.3 總結(jié)392 14.4 練習393 第15章 占星術(shù)與統(tǒng)計學(xué)394 參考文獻398
你還可能感興趣
我要評論
|