使用MathNet.Numerics查找Critical Chi Square Value

时间:2017-10-05 15:41:59

标签: c# chi-squared mathnet

所以我希望使用显着性水平和自由度获得 Critical Chi-Square Value 。我尝试使用MathNet.Numerics但无法找到使用哪种方法来获得 Critical Chi-Square Value

这是我所指的documentation,任何有关将我重定向到正确文档的帮助都会有所帮助。

我如何计算Excel中的值是使用公式 = CHISQ.INV.RT(A2,B2)

2 个答案:

答案 0 :(得分:0)

您需要的函数是InvCDF(),其用法如下:

MathNet.Numerics.Distributions.ChiSquared.InvCDF(degreesOfFreedom, probability);

答案 1 :(得分:0)

我终于可以解决这个问题,所以我想分享我的解决方法。

我使用了MathNet库,要使用与您提供的Excel功能相同的功能,请记住以下几点:在此库中,它不存在= CHISQ.INV.RT本身,而是在C#中,您需要使用InvCDF(在Excel中等于= CHISQ.INV),但是必须使用间隔的相反部分(0, 1),因此该参数应为0.95。

其逻辑在于Excel中的功能描述。

  • “ CHISQ.INV”描述为“返回卡方分布的尾概率的倒数”,这等效于ChiSquared.InvCDF(C#)。
  • li>
  • “ CHISQ.INV.RT”描述为“返回卡方分布的右尾概率的倒数”,MathNet库中不存在此数。

示例:

在Excel中编写

=CHISQ.INV.RT(0.05, 9)

在C#中编写

ChiSquared.InvCDF(9, 0.95);

在两种情况下答案都是16.9189776

请注意,已切换参数顺序。

我希望我能帮上忙。