1. 程式人生 > >怎麼用Q-Q圖驗證資料集的分佈

怎麼用Q-Q圖驗證資料集的分佈

 樣本資料集在構建機器學習模型的過程中具有重要的作用,樣本資料集包括訓練集、驗證集、測試集,其中訓練集和驗證集的作用是對學習模型進行引數擇優,測試集是測試該模型的泛化能力。

        正負樣本資料集符合獨立同分布是構建機器學習模型的前提,從概率角度分析,樣本資料獨立同分布是正負樣本資料是從某一特定的資料分佈隨機抽取得到的,且正負樣本的分佈是不一樣的。舉例來說,若我們用非洲的西瓜作為訓練集,然後用中國的西瓜作為測試集,則資料集可能不滿足同分布這一前提;拋硬幣是最簡單的獨立同分布;用較專業的學術用語來舉例,若訓練資料集符合正態分佈,測試集符合均勻分佈,那麼資料集不滿足獨立同分布這一前提。

        本文用Q-Q可以分析不同資料集是否為同一分佈,且可以用Q-Q圖來驗證資料集是否符合正態分佈。

一、累積分佈函式與分位數

        累計分佈函式(CDF,Cumulative Distribution Function),顧名思義,是概率累計的過程。對某一變數X取值為x,則x的累計分佈函式是所有小於x值的概率相加,公式如下:

        分位數(quantile)的概念與累計分佈函式類似,也是一種概率累計過程,如第一四分位數是累積分佈概率達到0.25時所對應的變數值,第二四分位數是累計分佈概率達到0.5時多對應的值,第三四分位數是累計分佈概率達到0.75時對應的值,公式如下:

α代表累計概率,分位數為Zα:

P(X<=Zα) = α ;

 

二、Q-Q圖定義

        Q-Q是一種散點圖,橫座標為某一樣本的分位數,縱座標為另一樣本的分位數,橫座標與縱座標組成的散點圖代表同一個累計概率所對應的分位數。若散點圖在直線y=x附近分佈,則這兩個樣本是同等分佈;若橫座標樣本為標準正態分佈且散點圖是在直線y=x附近分佈,則縱座標樣本符合正態分佈,且直線斜率代表樣本標準差,截距代表樣本均值。

        如上圖左上角圖為某一資料的累計概率分佈函式,右上角為標準正態分佈的累計概率分佈函式,對上述兩圖取同一個累計概率值對應的分位數,繪製散點圖,由圖可知,資料符合正態分佈,斜率和截距分別代表資料的標準差和均值。

QQ圖中正態分佈直線的推導:

        若資料x是正態分佈的,那麼f(x)是一個正態分佈的概率密度函式,根據正態分佈的特性,資料x對應的標準正態分佈函式的概率密度函式:

                            y =f((x-m)/std),其中m為樣本均值,std為樣本標準差

        橫座標的資料分佈是標準正態分佈,概率密度函式為f(n),由QQ圖定義可知兩者是一一對應的,因此有:

                            (x-m)/std = n ;

                            即:x = n*std + m;

所以直線的斜率代表標準差,截距代表均值。

 

三、構建普通QQ圖

        普通QQ圖用於評估兩個資料集的分佈的相似程度,如上節所說的,若散點圖在直線y=x附近,則兩個資料集的分佈類似。普通QQ圖與正態QQ圖的不同點在於普通QQ圖的橫座標是未知資料集的分位數,正態QQ圖的橫座標是標準正態分佈的分位數,其他步驟都一樣。

        由上圖可知,散點圖沒有接近一條直線,因此資料集1和資料集2來自不同的分佈集。

 

        上圖是本人所從事專案資料的普通QQ圖,散點圖接近一條直線,因此可以認為資料集是來自同一分佈。

參考:https://blog.csdn.net/hzwwpgmwy/article/details/79178485