【原】對頻率論(Frequentist)方法和貝葉斯方法(Bayesian Methods)的一個總結


注:

本文是對《IPython Interactive Computing and Visualization Cookbook》一書中第七章【Introduction to statistical data analysis in Python – frequentist and Bayesian methods】的簡單翻譯和整理,這部分內容主要將對統計學習中的頻率論方法和貝葉斯統計方法進行介紹。

 

本文將介紹如何洞察現實世界的數據,以及如何在存在不確定性的情況下做出明智的決定。

統計數據分析的目的是通過一部分不確定的觀測現象了解一個復雜的,真實世界。數據的不確定性導致了我們獲得的關於現象知識的不確定。該理論的一個主要目標是量化這種不確定性。

 

一、常見詞匯表

統計推理(Statistic inference)包括通過部分的不確定的觀察數據獲取一個關於未知過程的信息。特別是,估計(Estimation)承擔着獲取用於描述該過程的數學變量的大致度量。

決策理論(Decision theory)使我們能夠通過隨機的觀測樣本,以一個能夠控制的風險,對一個未知過程進行決策。

 

二、頻率論和貝葉斯方法

         對於不確定性的度量至少有兩種不同的考慮方式,這導致了兩種不同類型的推理/決策方法/其他統計問題,我們稱之為頻率論(frequentist貝葉斯方法(Bayesian methods)

         頻率論方法通過大量獨立實驗將概率解釋為統計均值(大數定律) ;貝葉斯方法則將概率解釋為信念度(degree of belief)(不需要大量的實驗) 。當考慮的試驗次數非常少的時候,貝葉斯方法的解釋非常有用。此外,貝葉斯理論將我們對於隨機過程的先驗知識納入考慮,當我們獲得的數據越來越多的時候,這個先驗的概率分布就會被更新到后驗分布中。

         頻率論和貝葉斯方法都各有其優劣的地方。例如,頻率論方法比貝葉斯方法更容易實施,然而卻更難解釋。對於頻率論應用的典型錯誤可以參看:《Statistics Done Wrong》。

 

三、參數推理方法 vs 非參數推理方法

         在許多情況下,我們的分析是基於概率模型,這個模型描述了數據是如何產生的。概率模型沒有實體(reality),它僅僅是一個用來指導分析的數學對象。一個好的模型可能非常有用,而一個不好的模型可能會誤導你。

         使用參數推理方法,可以認為模型屬於已知的某個概率分布簇(family of probability distributions),該模型有一個或多個有待估計的數值參數。

         使用非參數推理方法,在模型中不需要進行這樣的假設,這使得模型的建立非常靈活。然而這種方法通常在實施和解釋的時候會更加復雜。

 

四、使用簡單的z-test開始假設檢驗(頻率論方法)

         統計假設檢驗允許我們在數據不完整的情況下做出決策,當然從定義上說,這些決策是不確定的。統計學家已經制定了嚴格的方法來評估這種風險。然而,在進行決策的過程中總會涉及一些主觀性。理論只是在不確定的世界中幫助我們進行決策的一種工具。

 

在進行假設檢驗時許多頻率論的方法大致上包含以下步驟:

1、  寫出假設,尤其是零假設(Null hypothesis),它與我們要(以一定的置信度)證明的假設相反。

2、  計算檢驗統計量,這是一個數學公式,取決於檢驗的類型,模型,假設和數據。

3、  使用計算出的值接受假設,或者拒絕假設,或者未能得出結論。

 

我們將一枚硬幣拋擲次,觀察到正面的次數是次。我們想知道這枚硬幣是否是公平的(零假設)。這個例子非常簡單但是對於教學來說相當不錯,此外,它還是許多復雜方法的基礎。

我們使用表示伯努利分布,其中是未知參數。伯努利變量定義為:

l  0(硬幣是反面)的概率是

l  1(硬幣是正面)的概率是

下面是進行簡單的統計Z檢驗所需的步驟:

1、            我們假設經過次投擲硬幣后,出現正面的次數是。我們選擇顯著性水平為0.05,這枚硬幣是否公平?我們的零假設是:這枚硬幣是公平的()。

2、            我們開始計算z-score,它是由下面的公式定義的(xbar是對分布平均的估計):

3、            現在通過z-score,我們可以用下面的方式計算

4、            這個0.05小,因此我們拒絕零假設並且得出結論:這枚硬幣可能是不公平的。

 

工作原理

         這個拋擲硬幣的實驗被模擬成個獨立同分布的隨機變量,它們都服從伯努利分布。每個代表一次硬幣拋擲。實驗結束后,我們從這些變量中得到了真實的值(樣本)。一個不同的概念通常用來區分隨機變量(概率對象)和實際的值(樣本)。

         下面的公式給出了樣本均值的定義(這里是硬幣正面出現的比例):

                                                                               

已知伯努利分布的期望和方差,我們來計算:

                                                                            

                                                                   

z檢驗(z-test)是對進行的標准化(減去均值,除以它的標准差,使得形成的變量均值為0,標准差為1)。

                                                         

         根據零假設,獲取的z-test比指定的高的概率是什么?這個概率就被稱作是(雙側)。根據中心極限定理(Central Limit Theorem),對於比較大的來說,z-test近似的服從一個標准正態分布,因此我們可以得到:

                                               

         下面的一幅圖對z-score進行了說明:

在上面的公式中,是標准正態分布的累計分布函數(cumulative distribution function)。在SciPy中,可以通過scipy.stats.norm.cdf來計算它。因此,給定一個從數據中計算得到的z-test值,我們就可以通過該函數來計算其。在零假設下,觀察到z-test的概率應該遠遠大於給定的置信度。

         如果5%(在實驗開始時選擇的顯著性水平)小,我們可以得出結論:

l  零假設是不正確的,也就是說硬幣是不公平的;

l  或者零假設是正確的,得到這樣的是由於運氣太差了,因此我們不能得出結論。 


在這種框架下我們無法消除這兩種選擇的歧義,但通常情況下都會選擇第一種結論。這是這種方法的一個缺陷,雖然也可以使用一些其他的方法來解決這個問題(例如,我們可以分別獨立進行多次不同實驗來觀察它們的結果)。 

         許多統計檢驗都使用上述這個模式來檢驗數據中存在的各種特性,《Statistical hypothesis testing》中給出了一些常見的統計假設檢驗。

         由於解釋起來並不容易,即使在同行評審(peer-reviewed)的科學出版物中,仍然可能會出現錯誤的結論。 Statistics Done Wrong》中給出了關於該問題的一些深入話題。


五、使用貝葉斯方法

         上一節中,我們使用了頻率論的方法來對不完整的數據進行假設檢驗。本節中,我們將介紹另一種基於貝葉斯理論的方法。其主要思想是將未知參數當作是隨機變量,就像描述試驗時使用的變量一樣。關於參數的先驗知識被集成到模型中,隨着觀察到的數據越來越多,這些知識會被一直更新。

         頻率論方法和貝葉斯方法對於概率的解釋不太一樣。頻率論認為概率是當樣本的數量趨近於無窮時(樣本出現)頻率的極限。貝葉斯方法將其解釋為一種信念(belief),它將會隨着觀測數據的增加而不斷被更新。

         這里,我們將使用貝葉斯方法重新進行之前的硬幣拋擲實驗

 

具體做法:

         我們將定義為觀察到硬幣正面的概率。在上一節中只是一個固定的數字,然而此處我們將其看作是一個隨機變量。最初,這個變量遵循一種稱之為先驗分布(prior distribution)的分布,它代表了在開始進行拋擲硬幣之前我們對於的知識。我們將會在每次試驗之后更新這個分布(后驗分布,posterior distribution)。

 

1、  首先,我們假設是一個在[0,1]上服從均勻分布的隨機變量。這就是我們的先驗分布:對於所有的來說,

2、  然后,我們開始拋擲次硬幣,將定義為第次拋擲硬幣試驗的結果(反面是0,正面是1)。

3、  當觀測到的概率分布變為什么?貝葉斯公式使我們可以計算后驗概率分布:

4、  我們在Python中根據上述數學公式定義后驗分布,我們將這個式子定義為二項分布的概率論密度函數(Probability Mass Function, pmf)的倍:

5、  在觀測到次正面和總次數時我們對這個分布的圖像進行繪制:

 

這條曲線代表了在觀測到61次正面后,對於參數的信念。

 

工作原理:

在這節中我們將會解釋貝葉斯定理,然后解釋這個例子背后的數學細節。

 

貝葉斯定理:

使用一個數學模型來對數據進行解釋是數據科學中非常通用的一個想法,這被定義為一個單向的過程:。一旦這個模型被確定,數據科學家的任務就變為利用數據恢復關於該模型的信息。換句話說,我們想對原始的過程進行反轉:

         在一個概率集合中,上述正向的過程被表示為一個條件概率,這是模型被完全指定后觀測數據出現的概率。與此相同的,反向的過程也可以表示為一個條件概率,這在得到觀測數據(我們進行試驗后可以得到的數據)后提供了關於(我們正在尋找的)模型的信息。

         貝葉斯定理是對概率過程進行反轉的通用框架的核心。它可以被定義為:

                                             

當我們得到了觀測數據后,這個公式提供了關於模型的信息。貝葉斯公式被廣泛的應用於信號處理,統計,機器學習,反向問題(inverse problems)和許多其他的科學應用。

        

在貝葉斯公式中,反映了我們對於模型的先驗知識。是數據的分布,它通常被描述為對的積分。

總之來說,貝葉斯公式為我們提供了一個關於數據推斷的通用路線圖:

1、  為正向過程(數據推理過程)指定一個數學模型);

2、  為模型指定先驗知識();

3、  為求解公式進行分析或者數值運算;

 

計算后驗分布

在這個例子中,我們可以通過貝葉斯定理得到后驗分布服從下面的公式:

                                                        

由於是相互獨立的,因此我們可以得到(是正面向上的次數):

                                             

此外,我們可以分析計算如下積分(使用分部積分推導):

                                     

最終,我們將得到:

                                 

對后驗概率進行最大估計

         我們可以從后驗分布中進行點估計。例如,對於這個分布中的q作最大后驗估計(maximum a posteriori(MAP) estimation)。

         這里我們可以通過對后驗概率中的求導進行估計,假定可以得到:

                   

時,該表達式等於0,這就是對於參數的最大后驗估計。在這個例子中,這個值恰好是實驗中正面向上出現的比例。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM