1

我是新来的,我的英语不是很好,所以我会尽量解释清楚。我正在做一个关于隐写分析ASP.NET的网络应用程序。C#我在网上寻找一个计算观察到的显着性水平的函数,或者我的算法的卡方检验中的 p 值,我在 Java 中找到了它:

这是mi搜索的结果:

chi[block]= chiSquareTest(expectedValues, pod);

chiSquareTest(double[] expected, long[] observed)

  • 返回观察到的显着性水平或 p 值,
  • 与卡方拟合优度检验比较相关
  • 观察到的频率计数到预期数组中的频率。

我的问题是,是否有任何等效函数C#返回相同的参数?

先感谢您,

安娜。

4

3 回答 3

4

MathNet nugetpackage 包含 ChiSquared 分布 - 您可以获得累积或逆累积。

ChiSquared c = new ChiSquared(degreesOfFreedom);
return c.CumulativeDistribution(testValue);
于 2017-04-16T19:23:34.197 回答
0

我怀疑是否有内置功能。

您应该尝试寻找包含该函数的库或自己实现它。快速搜索返回给我这个 http://www.alglib.net/specialfunctions/distributions/chisquare.php

http://www.codeproject.com/Articles/432194/How-to-Calculate-the-Chi-Squared-P-Value

于 2014-03-27T10:05:01.647 回答
0

我知道这是一个老问题,但我想我还是会发布。

Accord.NET框架有一个库和 NuGet 包Accord.Statistics一个ChiSquareTest ,可以在您的问题中提到的类似庄园中使用:

ChiSquareTest chiSquareTest = new ChiSquareTest(observedArray, expectedArray, DOF);
chiSquareTest.PValue; // gets p-value
chiSquareTest.Significant; // true if statistically significant

唯一的事情是你必须计算你的自由度 - 自由度。

于 2019-08-07T21:44:48.600 回答