2013-09-25 41 views
1

我們在我們的代碼庫中有一個PRNG,我們認爲它有一個錯誤來生成符合給定正態分佈的數字。C#的正常性測試?

是否有一個正常性測試的C#實現,我可以在我的單元測試套件中利用它來斷言該模塊的行爲是否符合預期?

我更傾向於將一些有類似簽名:

bool NormalityTest.IsNormal(IEnumerable<int> samples) 
+0

一切都很重要,或是隨機性也很重要嗎? – Alan

+0

好Q ......如果你在C#(DIEHARD等)中有一些隨機性測試,那也會有幫助......但這個問題的目的是「這組樣本值看起來正常」的問題。 – gap

回答

1

Math.Net有分佈函數和隨機數取樣。它可能是使用最廣泛的數學庫,非常紮實。

http://numerics.mathdotnet.com/

http://mathnetnumerics.codeplex.com/wikipage?title=Probability%20Distributions&referringTitle=Documentation

+1

你推薦使用這個軟件包的哪些功能?從http://en.wikipedia.org/wiki/Normality_test,我試圖找到像Lilliefors測試。 – gap

+0

您的PRNG是否繼承了.net的'Random'類? – EkoostikMartin

+0

不...爲什麼會這麼重要? – gap

0

我不知道正常的測試數據的任何c-implementation的。我有同樣的問題,並建立自己的例程。 This web-page幫了我很多。它是爲在Excel中執行測試而編寫的,但它爲您提供了所有必要的係數(Royston)和邏輯。

+0

這絕對是正確的想法....希望我能從我的nunit測試中獲得它。 – gap