樣本數據集在構建機器學習模型的過程中具有重要的作用,樣本數據集包括訓練集、驗證集、測試集,其中訓練集和驗證集的作用是對學習模型進行參數擇優,測試集是測試該模型的泛化能力。
正負樣本數據集符合獨立同分布是構建機器學習模型的前提,從概率角度分析,樣本數據獨立同分布是正負樣本數據是從某一特定的數據分布隨機抽取得到的,且正負樣本的分布是不一樣的。舉例來說,若我們用非洲的西瓜作為訓練集,然后用中國的西瓜作為測試集,則數據集可能不滿足同分布這一前提;拋硬幣是最簡單的獨立同分布;用較專業的學術用語來舉例,若訓練數據集符合正態分布,測試集符合均勻分布,那么數據集不滿足獨立同分布這一前提。
本文用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