我必須爲泊松分佈生成數據。我的範圍是n = 1000到100K。其中n是數據元素的數量; k從1到n不等。它說使用lambda作爲n/2Java中的泊松分佈(正確性?)
我從來沒有拿過統計數據,也不知道如何在這裏得到正確的曲線。我可以餵它lambda爲n/2,但我是否從0-n變化K?我試過這個(把k作爲參數傳入),當我繪製數據時,它會上升,而不是魚尾。我做錯了什麼,或者我做得對嗎?
謝謝
我在Knuth的java中有這樣的代碼。
static double poissonRandomNumber(int lambda) {
double L = Math.exp(-lambda);
int k = 0;
double p = 1;
do {
k = k + 1;
double u = Math.random();
p = p * u;
} while (p > L);
return k - 1;
}
您需要知道什麼函數爲泊松分佈開始:http://en.wikipedia.org/wiki/Poisson_distribution。如果您可以使用庫,請嘗試Apache Commons Math:https://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/distribution/PoissonDistribution.html – duffymo 2014-09-25 19:50:19
該函數的給定爲f (K,λ)= Pr(k)=λ^ ke^lambda/k! e =自然對數2.71 ...我不知道該怎麼做,我不知道我在這裏做什麼。我試圖插入圖片中的forumla,並沒有採取。 – 2014-09-25 20:03:23
這與我發佈的鏈接一致。 – duffymo 2014-09-25 20:05:05