2016-07-07 143 views
1

我繪製了一個直方圖,並希望將泊松分佈擬合到直方圖中。爲此,我已將x和y直方圖座標向量傳遞給poissfit()函數來估計lambda。將泊松分佈擬合爲數據

例如,這裏是我做了什麼:

expecteddata = cat(2,x,y) 
[l,lci] = poissfit(expecteddata) 

我的輸出看起來像這樣:

l = 

    44.3766 0.0130 


lci = 

    42.8887 0.0003 
    45.8645 0.0724 

我假設的拉姆達我密謀興趣會是0.013(我認爲我的lambda非常小,因爲我的直方圖是頻率直方圖)。我用繪製泊松PDF:

x = 0:50 
y = poisspdf(x,0.013); 
plot(x,y,'r') 

而且我得到的疊加導致劇情:

enter image description here

不過,我認爲這個擬合分佈看起來有點古怪。它似乎並不像「泊松」一樣。有誰知道我是否做錯了什麼?

+0

我認爲你的x範圍太大(即數據步長太大,所以你沒有看到分佈的細節),0:50而你的lambda在0.013,也許嘗試像0:0.01 :10,看看結果是否更好。 – GameOfThrows

+0

@GameOfThrows而不是使用'x = 0:50',我實際上使用了我的直方圖中的x值。 – interstellar

+0

是的,我認爲分辨率太低(如果你知道我的意思),你的分配看起來是正確的,你真的想要更高的分辨率,比如0:0.01:10。 – GameOfThrows

回答

2

「我繪製了一個直方圖,並想將泊松分佈擬合到直方圖上。」

我的理解是你需要將泊松分佈擬合到現有的測量數據直方圖上。我相信你可以使用fitdist()函數。

例如,如果您的數據是x

[n,bin]=hist(x,100); 
m=n/trapz(bin,n); 
bar(bin,m,'w'); 
hold on 
pd=fitdist(x,'poisson'); 
y=pdf(pd,bin); 
plot(bin,y,'k'); 
hold off; 

會給你一個適合它的泊松分佈曲線的直方圖。

+0

當我嘗試這種方法時,我得到一個紅線在0 ... – interstellar

+0

Ohhhhh。我看到我的問題。當我計算頻率之前應該使用數據時,我正在使用'fitdist'中x的頻率。 – interstellar