我是新来的,我的英语不是很好,所以我会尽可能地解释。
我正在ASP.NET
和C#
进行关于隐写分析的网络应用程序。
我正在寻找互联网一个函数来计算观察到的显着性水平,或卡方检验中的p值
对于我的算法,我在Java中找到它:
这是mi搜索的结果:
chi[block]= chiSquareTest(expectedValues, pod);
chiSquareTest(double[] expected, long[] observed)
我的问题是,C#
中是否有任何返回相同参数的等效函数?
提前谢谢你,
安娜。
答案 0 :(得分:3)
MathNet nugetpackage包含ChiSquared分布 - 您可以获得累积或反向累积。
ChiSquared c = new ChiSquared(degreesOfFreedom);
return c.CumulativeDistribution(testValue);
答案 1 :(得分:0)
我怀疑是否有内置功能。
您应该尝试查找包含该功能的库或自己实现它。 快速搜索给了我这个 http://www.alglib.net/specialfunctions/distributions/chisquare.php
和
http://www.codeproject.com/Articles/432194/How-to-Calculate-the-Chi-Squared-P-Value
答案 2 :(得分:0)
我知道这是一个老问题,但是我认为我还是会发布。
Accord.NET框架具有一个库和一个NuGet软件包Accord.Statistics,该软件包具有一个ChiSquareTest
class,可以在问题中提到的类似庄园中使用:>
ChiSquareTest chiSquareTest = new ChiSquareTest(observedArray, expectedArray, DOF);
chiSquareTest.PValue; // gets p-value
chiSquareTest.Significant; // true if statistically significant
唯一的是,您必须计算自由度-自由度。