function [x,cumpr]=my_empirical_dist(data)
% generate empirical distribution function
% input:
% data is a vector
% output:
% x is sample observation vector
% cumpr is cumulative probability vector
if min(size(data))~=1
error('data must be a vector')
end
n=length(data);
data=reshape(data,n,1);
data=sort(data);
[x,a,b]=unique(data);
frequency=[a(1);diff(a)];
cumpr=cumsum(frequency)/n;
經驗分佈函數
對樣本值進行從大到小排序,可得到x(1)⋯x(n)x(1)⋯x(n)的有序樣本。定義
Fn(x)=⎧⎩⎨⎪⎪0,kn,1,x<x(1),當x(k)≤x<x(k+1),k=1,2,...,n−1,當x≥x(n)
Fn(x)={0,x<x(1),kn,當x(k)≤x<x(k+1),k=1,2,...,n−1,1,當x≥x(n)
爲經驗分佈函數,其滿足分佈函數的性質:
單調不減
有界性
右連續性
下面給個例子:下面有容量爲5的樣本數據:
351 347 355 344 351
經排序可得有序樣本:
x(1)=344x(2)=347x(3)=351x(4)=351x(5)=355x(1)=344x(2)=347x(3)=351x(4)=351x(5)=355
其經驗分佈函數爲
Fn(x)=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪0,0.2,0.4,0.8,1,x<344,344≤x<347,347≤x<351,351≤x<355,當x≥355
Fn(x)={0,x<344,0.2,344≤x<347,0.4,347≤x<351,0.8,351≤x<355,1,當x≥355
可以看得到經驗分佈函數爲階梯函數。想象一下當樣本數增多時,經驗分佈函數的階梯數不斷增多,最後會趨近於一個光滑分佈函數的形狀(但並不光滑)。爲什麼 要定義經驗分佈函數呢?接下來介紹一個最重要的定理:格里紋科定理。
設x1,x2,...xnx1,x2,...xn是取自總體分佈函數爲F(x)的樣本,Fn(x)Fn(x)是其經驗分佈函數,當n→∞n→∞時,有
P(sup−∞<x<∞|Fn(x)−F(x)|→0)=1P(sup−∞<x<∞|Fn(x)−F(x)|→0)=1
也即是說當n足夠大時,經驗分佈函數是總體分佈函數F(x)的一個良好的近似。格里紋科定理表明,當樣本數足夠多時,用樣本估計總體是合理的,這即是數理統計的基礎。
下面舉個例子,在R裏不斷生成標準正態隨機數,我們觀察經驗分佈函數的圖像:
當n=10時:
當n=20時:
當n=50時:
當n=100時:
當n=1000時:
可以看到隨着樣本數增加,經驗分佈函數逐漸趨向於一條光滑的分佈函數曲線。理論上來說也是由格里紋科定理保證的。
0 廢話前言
在閱讀統計學習方法時,遇到經驗分佈,對於數學渣渣來說,有必要去深究一下,然後發現是如此的簡單。
1 正文
簡介(數學語言)
經驗分佈函數是與樣本經驗測度相關的分佈函數。 該分佈函數是在n個數據點中的每一個上都跳躍1 / n的階梯函數。 其在測量變量的任何指定值處的值是小於或等於指定值的測量變量的觀測值的數。
經驗分佈函數是對樣本中生成點的累積分佈函數的估計。 根據Glivenko-Cantelli定理,它以概率1收斂到該基礎分佈。 同時也存在一些結果來量化經驗分佈函數與潛在的累積分佈函數的收斂速度。
舉個例子(說人話)
設 x1,x2,⋯,xn 是總體 X 的一組容量爲 n 的樣本觀測值,將它們按從小到大的順序重新排列爲對於任意實數 x,定義函數
則稱 Fn(x) 爲總體 X 的經驗分佈函數。它還可以簡記爲 Fn(x)=1/n⋅ {x1,x2,⋯,xn},其中 {x1,x2,⋯,xn} 表示 x1,x2,⋯,xn 中不大於 x 的個數。
另外一種常見的表示形式爲 :
因此,求經驗分佈函數
在一點x處的值,只要求出隨機變量X的n個觀測值
中小於或等於x的個數,再除以觀測次數n即可。由此可見,
就是在n次重複獨立實驗中事件
出現的頻率。
經驗分佈函數
的圖形(如下圖所示)是一條呈跳躍上升的。如果樣本觀測值
中沒有重複的數值,則每一跳躍爲1/n,若有重複L次的值,則按1/n的L倍跳躍上升。圖中圓滑曲線是總體X的理論分佈函數F(x)的圖形。若把經驗分佈函數的圖形連成折線,那麼它實際就是累積頻率直方圖的上邊。
這和概率分佈函數的性質是一致的。
2 總結
經典統計推斷主要的思想就是用樣本來推斷總體的狀態,因爲總體是未知的,我們只能通過多次試驗的樣本(即實際值)來推斷總體。
經驗分佈函數是在這一思想下的一種方法,通過樣本分佈函數來估計總體的分佈函數。
因此在最大熵模型中就運用經驗分佈