1. 程式人生 > 實用技巧 >核密度估計(Kernel Density Estimation)和累積分佈函式 (Cumulative Distribution Function)

核密度估計(Kernel Density Estimation)和累積分佈函式 (Cumulative Distribution Function)

核密度估計

核密度估計是採用平滑的峰值函式(“核”)來擬合觀察到的資料點,從而對真實的概率分佈曲線進行模擬,含義類似於資料直方圖。

核密度估計(Kernel density estimation),是一種用於估計概率密度函式的非引數方法,為獨立同分布的 n n n個樣本點,設其概率密度函式為 f f f,核密度估計如下:

f ^ h ( x ) = 1 n ∑ i = 1 n K h ( x − x i ) = 1 n h ∑ i = 1 n K ( x − x i h ) \hat{f}_{h}(x)=\frac{1}{n} \sum_{i=1}^{n} K_{h}\left(x-x_{i}\right)=\frac{1}{n h} \sum_{i=1}^{n} K\left(\frac{x-x_{i}}{h}\right)

f^h(x)=n1i=1nKh(xxi)=nh1i=1nK(hxxi)

其中 K ( . ) K(.) K(.)為核函式(滿足性質:非負、積分為1,符合概率密度性質,並且均值為0); h > 0 h>0 h>0為一個平滑引數,稱作頻寬(bandwidth)或者視窗;

有很多種核函式,uniform,triangular, biweight, triweight, Epanechnikov,normal 等,函式形式如下:

累積分佈函式

從數學上來說,累積分佈函式(Cumulative Distribution Function, 簡稱CDF)是概率分佈函式的積分;而在繪製累積分佈函式的時候,由於真實的概率分佈函式未知,因此往往定義為直方圖分佈的積分:

cdf ⁡ ( x ) ≈ ∫ − ∞ x d t histo ⁡ ( t ) \operatorname{cdf}(x) \approx \int_{-\infty}^{x} \mathrm{d} t \operatorname{histo}(t) cdf(x)xdthisto(t)

與直方圖、核密度估計相比,累積分佈函式存在以下幾個特點:

  • 累積分佈函式是X軸單調遞增函式。
  • 累積分佈函式更加平滑,影象中噪音更小。
  • 累積分佈函式沒有引入頻寬等外部概念,因此不會丟失任何資料資訊。對於給定的資料集,累積分佈函式是唯一的。
  • 累積分佈函式一般都經過歸一化處理,單調遞增且趨近於1。

例項

以-4到4之間分佈的10000個數據點為例,繪製成直方圖,核密度估計和累積分佈函式如下所示:

直方圖

核密度估計

累積分佈函式