【機器學習】QQ-plot深入理解與實現_機器學習

來源:互聯網
上載者:User
QQ-plot深入理解與實現 26 JUN June 26, 2013

最近在看關於CSI(Channel State Information)相關的論文,發現論文中用到了QQ-plot。Sigh。我承認我是第一次見到這個名詞,異常陌生。維基百科給出了如下定義:

“在統計學中,QQ-plot(Q代表分位元Quantile)是一種通過畫出分位元來比較兩個機率分布的圖形方法。首先選定區間長度,點(x,y)對應於第一個分布(x軸)的分位元和第二個分布(y軸)相同的分位元。因此畫出的是一條含參數的曲線,參數為區間個數。如果被比較的兩個分布比較相似,則其QQ圖近似地位於y=x上。如果兩個分布線性相關,則QQ圖上的點近似地落在一條直線上,但並不一定是y=x這條線。QQ圖同樣可以用來估計一個分布的位置參數。”

這段話剛開始看的時候,的確不是很清楚,難以理解。我也在網上找了一些資料,最有用的當屬網上的一本線上電子書《Online Statistics Education: An Interactive Multimedia Course of Study》,裡面的Chanpter8專門有講解QQ-plot。本文中主要借鑒了這門書中的內容,以更淺顯易懂的語言來講清楚QQ-plot,我學習的過程中也用Matlab做了一些實驗,文中將代碼一併附上。

QQ-plot其實是Quantile-Quantile Plot的縮寫,Quantile分位現在理解沒有關係,看到最後你就會理解它的意思了。QQ-plot的目的是什麼呢。是為了驗證兩組資料的分布是否相同或者相似,因此在實際中很多情況都會用到。為了講清楚QQ-plot,我們先來介紹另外兩種以圖形的方式評價資料分布情況的方法:長條圖(histogram)和 經驗累積分布函數(empirical cumulative distribution function, eCDF)。

我們考慮一個隨機變數X服從[0,1]區間內均勻分布,我們任取n個資料{  x1,x2...,xn x1,x2...,xn }。本例中n=100,長條圖頻率分布如圖1所示。長條圖的機率分布與bins的個數有關(bins為10,5,3)。不同的bins對應的圖形也不同,圖bins=10的時候還呈現鋸齒狀,但是bins=3的時候就趨於平穩,所以根據長條圖來看累積分布不是很靠譜。隨後,我們又使用eCDF對資料進行分析,如圖2所示。黃色部分即為eCDF與理論CDF的誤差,根據大數定理,當n取值越大,誤差越小。

圖1. 長條圖統計

圖2. eCDF vs 理論CDF

相關代碼: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 data = unifrnd(0,1,1,100)'; %產生100個再[0,1]均勻分布的隨機數 figure subplot(3,1,1); hist(data,10); %bins=10 xlabel( 'x' ); ylabel( 'Frequency' ); subplot(3,1,2); hist(data,5); %bins=5 xlabel( 'x' ); ylabel( 'Frequency' ); subplot(3,1,3); hist(data,3); %bins=3 xlabel( 'x' ); ylabel( 'Frequency' ); theory_y=data; figure [F,X]=ecdf(data); %ECDF plot(X,F, '-k' , 'LineWidth' ,3); hold on; plot(data,theory_y, '-b' , 'LineWidth' ,3); legend( 'Empirical CDF' , 'Theoretical CDF' ,2); hold on; %------兩曲線之間填充顏色------- theory_y=sort(theory_y);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.