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

注: python

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

 

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

統計數據分析的目的是經過一部分不肯定的觀測現象瞭解一個複雜的,真實世界。數據的不肯定性致使了咱們得到的關於現象知識的不肯定。該理論的一個主要目標是量化這種不肯定性。 框架

 

1、常見詞彙表

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

決策理論(Decision theory)使咱們可以經過隨機的觀測樣本,以一個可以控制的風險,對一個未知過程進行決策。 函數

 

2、頻率論和貝葉斯方法

         對於不肯定性的度量至少有兩種不一樣的考慮方式,這致使了兩種不一樣類型的推理/決策方法/其餘統計問題,咱們稱之爲頻率論(frequentist貝葉斯方法(Bayesian methods) 工具

         頻率論方法經過大量獨立實驗將機率解釋爲統計均值(大數定律) ;貝葉斯方法則將機率解釋爲信念度(degree of belief)(不須要大量的實驗) 。當考慮的試驗次數很是少的時候,貝葉斯方法的解釋很是有用。此外,貝葉斯理論將咱們對於隨機過程的先驗知識歸入考慮,當咱們得到的數據愈來愈多的時候,這個先驗的機率分佈就會被更新到後驗分佈中。 post

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

 

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

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

         使用參數推理方法,能夠認爲模型屬於已知的某個機率分佈簇(family of probability distributions),該模型有一個或多個有待估計的數值參數。

         使用非參數推理方法,在模型中不須要進行這樣的假設,這使得模型的創建很是靈活。然而這種方法一般在實施和解釋的時候會更加複雜。

 

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

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

 

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

一、  寫出假設,尤爲是零假設(Null hypothesis),它與咱們要(以必定的置信度)證實的假設相反。

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

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

 

咱們將一枚硬幣拋擲次,觀察到正面的次數是次。咱們想知道這枚硬幣是不是公平的(零假設)。這個例子很是簡單可是對於教學來講至關不錯,此外,它仍是許多複雜方法的基礎。

咱們使用表示伯努利分佈,其中是未知參數。伯努利變量定義爲:

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

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

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

一、            咱們假設通過次投擲硬幣後,出現正面的次數是。咱們選擇顯著性水平爲0.05,這枚硬幣是否公平?咱們的零假設是:這枚硬幣是公平的()。

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

三、            如今經過z-score,咱們能夠用下面的方式計算

四、            這個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》中給出了關於該問題的一些深刻話題。


5、使用貝葉斯方法

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

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

         這裏,咱們將使用貝葉斯方法從新進行以前的硬幣拋擲實驗

 

具體作法:

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

 

一、  首先,咱們假設是一個在[0,1]上服從均勻分佈的隨機變量。這就是咱們的先驗分佈:對於全部的來講,

二、  而後,咱們開始拋擲次硬幣,將定義爲第次拋擲硬幣試驗的結果(反面是0,正面是1)。

三、  當觀測到的機率分佈變爲何?貝葉斯公式使咱們能夠計算後驗機率分佈:

四、  咱們在Python中根據上述數學公式定義後驗分佈,咱們將這個式子定義爲二項分佈的機率論密度函數(Probability Mass Function, pmf)的倍:

五、  在觀測到次正面和總次數時咱們對這個分佈的圖像進行繪製:

 

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

 

工做原理:

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

 

貝葉斯定理:

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

         在一個機率集合中,上述正向的過程被表示爲一個條件機率,這是模型被徹底指定後觀測數據出現的機率。與此相同的,反向的過程也能夠表示爲一個條件機率,這在獲得觀測數據(咱們進行試驗後能夠獲得的數據)後提供了關於(咱們正在尋找的)模型的信息。

         貝葉斯定理是對機率過程進行反轉的通用框架的核心。它能夠被定義爲:

                                             

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

        

在貝葉斯公式中,反映了咱們對於模型的先驗知識。是數據的分佈,它一般被描述爲對的積分。

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

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

二、  爲模型指定先驗知識();

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

 

計算後驗分佈

在這個例子中,咱們能夠經過貝葉斯定理獲得後驗分佈服從下面的公式:

                                                        

因爲是相互獨立的,所以咱們能夠獲得(是正面向上的次數):

                                             

此外,咱們能夠分析計算以下積分(使用分部積分推導):

                                     

最終,咱們將獲得:

                                 

對後驗機率進行最大估計

         咱們能夠從後驗分佈中進行點估計。例如,對於這個分佈中的q做最大後驗估計(maximum a posteriori(MAP) estimation)。

         這裏咱們能夠經過對後驗機率中的求導進行估計,假定能夠獲得:

                   

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

相關文章
相關標籤/搜索