2016-07-07 11 views
1

ヒストグラムをプロットし、ヒストグラムにポアソン分布をフィットさせたいと思います。これを行うために、xとyのヒストグラム座標ベクトルをラムダを推定するpoissfit()関数に渡しました。例えばデータへのポアソン分布を適合させる

、ここで私がやったことです:

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(私のヒストグラムは周波数ヒストグラムなので私のラムダはとても小さいと思います)。私が使用してポアソンPDFをプロットします

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

そして、私は結果のオーバーレイプロットを得る:

enter image description here

はしかし、私はこのフィット分布は少し奇妙に見えると思います。それは非常に "ポアソン"のようには見えません。誰かが私が何かを間違ってやっているのか知っていますか

+0

私はあなたのラムダが0.013にある間0:50、恐らく0:0.01のようなあなたのx範囲が大きすぎる(すなわち、データのステップサイズが大きすぎるので、ディストリビューションのフィネスを見ていない) :10と結果が良いかどうかを確認してください。 – GameOfThrows

+0

@GameOfTrowsは '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

関連する問題