直方圖法、Kn近鄰估計法、Parzen窗法

原文地址:http://blog.csdn.net/angel_yuaner/article/details/47951111

當需要估計的概率密度函數的形式未知,比如我們並不能知道樣本的分佈形式時,我們就無法用最大似然估計方法或貝葉斯估計方法來進行參數估計,而應該用非參數估計方法。這裏就介紹三種非參數估計方法。 
需要知道的是,作爲非參數方法的共同問題是對樣本數量需求較大,只要樣本數目足夠大衆可以保證收斂於任何複雜的位置密度,但是計算量和存儲量都比較大。當樣本數很少時,如果能夠對密度函數有先驗認識,則參數估計能取得更好的估計效果。

一、直方圖法 
首先來考慮最簡單的情況,樣本x是一維的,那麼我們將x的取值範圍分成k個等間隔的區間,統計每個區間內樣本的個數,由此計算每個區間的概率密度。沒錯,就是咱們小學做的那樣。 
這裏寫圖片描述 
現在考慮複雜一點的情況,當xd維向量的時候,我們對每個維度的量都分成k個等間隔的區間,於是我們將整個空間分成了kd個小空間,每個小空間的體積定義爲:V=di=1valuei,其中valuei爲第i維分量的每個區間的大小。 
假設總樣本數爲N,每個小空間內樣本數爲qi,那麼每個小空間的概率密度(注意不是概率)也可以計算出來了,爲qiNV

可以注意到,小區間的大小選擇與估計的效果是密切相連的。如果區域選擇過大,會導致最終估計出來的概率密度函數非常粗糙;如果區域的選擇過小,可能會導致有些區域內根本沒有樣本或者樣本非常少,這樣會導致估計出來的概率密度函數很不連續。所以,隨着樣本數的增加,區域的體積應該儘可能小,同時又必須保證區域內有充分多的樣本,但是每個區域的樣本數有必須是總樣本數的很小的一部分。

所以說,固定區域大小的直方圖法只是最簡單的非參數估計方法,要想有更好的估計,需要採用能夠根據樣本分佈調整區域大小的方法。下面介紹的KN近鄰估計法就是一種採用可變大小區域的密度估計方法。

二、KN近鄰估計法 
該方法的基本思想是:根據總樣本確定一個參數kN,即在中樣本數爲N時我們要求每個區域內擁有的樣本的個數。在求x處的密度估計p^(x)時,我們調整包含x的區域的體積,直到區域內恰好落入kN個樣本,並用下式來估計p^(x): 

p^(x)=kN/NV

這樣,在樣本密度比較高的區域的體積就會比較小,而在密度低的區域的體積則會自動增大,這樣就能夠較好的兼顧在高密度區域估計的分辨率和在低密度區域估計的連續性。

爲了取得好的估計效果,需要選擇合適的kNN的關係,比如可以選擇kN=a×N,其中a爲參數。

三、Parzen窗法 
Parzen窗法是另外一種在取值空間中進行取樣估計的方法,或者說可以看作是用核函數對樣本在取值空間中進行插值。

假設xRd是一d維的向量,並假設每一個區域是一個超立方體,它在每一維上的棱長都是h,則小區域的體積爲:V=hd

定義如下d維單位方窗函數: 

ϕ([u1,u2,,ud])T={1|uj|120

這個函數在以原點爲中心的d維單位超立方體內取值爲1,其他地方都取值爲0.這樣,如果要考察一個樣本xi是否在這個x爲中心、h爲棱長的超立方體內,可以通過計算ϕ(xxih)來判定。這樣,樣本χ中落在以x爲中心的超立方體內的樣本數就可以寫成: 
kN=i=1Nϕ(xxih)

將其帶入p^(x)=kNV中可以得到任意一點x的密度估計: 
p^(x)=1NVi=1Nϕ(xxih)=1Ni=1N1Vϕ(xxih)

在上式中定義核函數(或者叫窗函數和): 

K(x,xi)=1Vϕ(xxih)

核函數反應了一個觀測樣本xi對在x處的概率密度估計的貢獻,與樣本xix的距離有關。而概率密度估計就是在這一點上把所有觀測樣本的貢獻進行平均: 
p^(x)=1Ni=1NK(x,xi)

合法的核函數應該滿足密度函數的要求,即: 
K(x,xi)0K(x,xi)dx=1

這種用窗函數(核函數)估計概率密度的方法就是Parzen窗法,或者叫核密度估計

常見的幾種核函數: 
(1)方窗: 

k(x,xi)={1hd|xjxji|h20

其中h爲超立方體的棱長 
(2)高斯窗(正態窗) 
k(x,xi)=1(2π)dρ2d|Q|exp{12(xxi)TQ1(xxi)ρ2}

即以樣本xi爲均值、協方差矩陣爲Σ=ρ2Q的正態分佈 
一維情況爲: 
k(x,xi)=12πσexp{(xxi)22σ2}

(3)超球窗 
k(x,xi)={V1||xxi||ρ0

其中V是超球體的體積,ρ是超球體的半徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章