C罗登顶历史正赛射手王:C#的正态性测试(normality test excel)

我们在我们的代码库中有一个 PRNG,我们认为它在产生符合给定正态分布的数字的方法中有一个错误。

是否有一个正常测试的 C # 实现,我可以利用我的单元测试套件来断言这个模块的行为如期望 / 预期?

我的 preference 将有一个签名,如:

bool NormalityTest.IsNormal(IEnumerable<int> samples)
1

Math.Net 具有分布函数和随机数采样。它可能是使用最广泛的数学库,非常坚固。

http://numerics.mathdotnet.com/ http://mathnetnumerics.codeplex.com/wikipage?le=Probability%20Distributions&referringTitle=Doentation
1

你可以试试这个:http://accord-framework.net/docs/html/T_Accord_Statistics_Testing_ShapiroWilkTest.htm

向下滚动到示例:

// Let's say we would like to determine whether a set
// of observations come from a normal distribution:
double[] samples =
{
    0.11, 7.87, 4.61, 10.14, 7.95, 3.14, 0.46, 4.43,
    0.21, 4.75, 0.71, 1.52, 3.24, 0.93, 0.42, 4.97,
    9.53, 4.55, 0.47, 6.66
};
// For this, we can use the Shapiro-Wilk test. This test tests the null hypothesis 
// that samples come from a Normal distribution, vs. the alternative hypothesis that 
// the samples do not come from such distribution. In other words, suld this test
// come out significant, it means our samples do not come from a Normal distribution.
// Create a new Shapiro-Wilk test:
var sw = new ShapiroWilkTest(samples);
double W = sw.Statistic; // suld be 0.90050
double p = sw.PValue;    // suld be 0.04209
bool significant = sw.Significant; // suld be true
// The test is significant, therefore we suld reject the null 
// hypothesis that the samples come from a Normal distribution.
0

我不知道任何c-implementation的测试数据是否正常。我也有同样的问题,并建立了自己的例程。This web-page帮助了我很多。它是为在 Excel 中执行测试而编写的,但它为您提供了所有必要的系数(Royston)和逻辑。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(295)
Linux切换文件夹:搜索并替换文件和文件夹名称
上一篇
怎么修复lsp:如何使用nvimLSP应用多个自动修复
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(80条)